import javax.annotation.PostConstruct;
import javax.enterprise.context.RequestScoped;
import javax.enterprise.event.Event;
+import javax.enterprise.event.Observes;
import javax.enterprise.inject.Any;
import javax.faces.context.FacesContext;
import javax.faces.view.facelets.FaceletException;
import org.mxchange.jcontacts.contact.title.PersonalTitle;
import org.mxchange.jcontacts.events.contact.add.AdminAddedContactEvent;
import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent;
+import org.mxchange.jcontacts.events.contact.helper.created.ObservableHelperCreatedContactEvent;
import org.mxchange.jcontacts.events.contact.update.AdminUpdatedContactEvent;
import org.mxchange.jcontacts.events.contact.update.ObservableAdminUpdatedContactEvent;
import org.mxchange.jcontacts.exceptions.ContactAlreadyAddedException;
private AddressbookContactWebSessionController contactController;
/**
- * Contact id
+ * Country instance
*/
- private Long contactId;
+ private Country contactCountry;
/**
- * Country instance
+ * Contact id
*/
- private Country contactCountry;
+ private Long contactId;
/**
* Email address
return "admin_list_contact"; //NOI18N
}
- @Override
- public void copyContactToController (final Contact contact) {
+ /**
+ * Observer for events being fired when a bean helper has successfully
+ * created a contact instance.
+ * <p>
+ * @param event Event being fired
+ */
+ public void afterHelperCreatedContactEvent (@Observes final ObservableHelperCreatedContactEvent event) {
// Log message
- //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("AdminContactController::copyContactToController(): contact={0} - CALLED!", contact)); //NOI18N
+ //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("AdminContactController::afterHelperCreatedContactEvent(): contact={0} - CALLED!", contact)); //NOI18N
- // The contact instance must be valid
- if (null == contact) {
+ // The event instance must be valid
+ if (null == event) {
// Throw NPE again
- throw new NullPointerException("contact is null"); //NOI18N
- } else if (contact.getContactId() == null) {
+ throw new NullPointerException("event is null"); //NOI18N
+ } else if (event.getCreatedContact() == null) {
// Throw NPE again
- throw new NullPointerException("contact.contactId is null"); //NOI18N //NOI18N
- } else if (contact.getContactId() < 1) {
+ throw new NullPointerException("event.createdContact is null"); //NOI18N //NOI18N
+ } else if (event.getCreatedContact().getContactId() == null) {
+ // Throw NPE again
+ throw new NullPointerException("event.createdContact.contactId is null"); //NOI18N //NOI18N
+ } else if (event.getCreatedContact().getContactId() < 1) {
// Not valid
- throw new IllegalStateException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
+ throw new IllegalStateException(MessageFormat.format("event.createdContact.contactId={0} is not valid.", event.getCreatedContact().getContactId())); //NOI18N
}
+ // Get contact instance from event
+ Contact contact = event.getCreatedContact();
+
// Set all fields: contact
this.setContactId(contact.getContactId());
this.setAcademicTitle(contact.getContactTitle());
}
// Log message
- //* NOISY-DEBUG: */ System.out.println("AdminContactController::copyContactToController(): EXIT!"); //NOI18N
+ //* NOISY-DEBUG: */ System.out.println("AdminContactController::afterHelperCreatedContactEvent(): EXIT!"); //NOI18N
}
@Override
// Create new instance
Contact contact = new UserContact(this.getPersonalTitle(), this.getFirstName(), this.getFamilyName());
+ // Is contact id set?
+ if (this.getContactId() instanceof Long) {
+ // Set it, too
+ contact.setContactId(this.getContactId());
+ }
+
// Add all others
contact.setContactTitle(this.getAcademicTitle());
contact.setContactBirthday(this.getBirthday());
*/
public String editContactData () {
// Get contact instance
- Contact contact = this.beanHelper.getContact();
+ Contact contact = this.createContactInstance();
// Check if contact instance is in helper and valid
if (null == contact) {
this.comment = comment;
}
+ /**
+ * Getter for contactCountry instance
+ * <p>
+ * @return Country instance
+ */
+ public Country getContactCountry () {
+ return this.contactCountry;
+ }
+
+ /**
+ * Setter for contactCountry instance
+ * <p>
+ * @param contactCountry Country instance
+ */
+ public void setContactCountry (final Country contactCountry) {
+ this.contactCountry = contactCountry;
+ }
+
/**
* Getter for contact id
* <p>
throw new UnsupportedOperationException("Setting controller type is not supported."); //NOI18N
}
- /**
- * Getter for contactCountry instance
- * <p>
- * @return Country instance
- */
- public Country getContactCountry () {
- return this.contactCountry;
- }
-
- /**
- * Setter for contactCountry instance
- * <p>
- * @param contactCountry Country instance
- */
- public void setContactCountry (final Country contactCountry) {
- this.contactCountry = contactCountry;
- }
-
/**
* Getter for email address
* <p>
*/
Contact createContactInstance ();
- /**
- * Copies given contact's data to this controller
- * <p>
- * @param contact Contact instance
- */
- void copyContactToController (final Contact contact);
-
/**
* Getter for controller type
* <p>
this.clear();
}
- @Override
- public List<Contact> allFaxNumberContacts () {
+ /**
+ * Getter for all contacts having current fax number linked
+ * <p>
+ * @return List of all linked contacts
+ */
+ public List<Contact> allCurrentFaxNumberContacts () {
// Get id
DialableFaxNumber faxNumber = this.beanHelper.getFaxNumber();
// "Walk" through all contacts
for (final Contact contact : this.contactController.allContacts()) {
// Is mobile instance the same?
- if (Objects.equals(contact.getContactFaxNumber(), this.beanHelper.getFaxNumber())) {
+ if (Objects.equals(contact.getContactFaxNumber(), faxNumber)) {
// Found one
list.add(contact);
}
}
}
- @Override
- public List<Contact> allLandLineNumberContacts () {
+ /**
+ * Getter for all contacts having current land-line number linked
+ * <p>
+ * @return List of all linked contacts
+ */
+ public List<Contact> allCurrentLandLineNumberContacts () {
// Get id
DialableLandLineNumber landLineNumber = this.beanHelper.getLandLineNumber();
// "Walk" through all contacts
for (final Contact contact : this.contactController.allContacts()) {
// Is mobile instance the same?
- if (Objects.equals(contact.getContactLandLineNumber(), this.beanHelper.getLandLineNumber())) {
+ if (Objects.equals(contact.getContactLandLineNumber(), landLineNumber)) {
// Found one
list.add(contact);
}
}
}
- @Override
- public List<Contact> allMobileNumberContacts () {
+ /**
+ * Getter for all contacts having current mobile number linked
+ * <p>
+ * @return List of all linked contacts
+ */
+ public List<Contact> allCurrentMobileNumberContacts () {
// Get id
DialableMobileNumber mobileNumber = this.beanHelper.getMobileNumber();
// "Walk" through all contacts
for (final Contact contact : this.contactController.allContacts()) {
// Is mobile instance the same?
- if (Objects.equals(contact.getContactMobileNumber(), this.beanHelper.getMobileNumber())) {
+ if (Objects.equals(contact.getContactMobileNumber(), mobileNumber)) {
// Found one
list.add(contact);
}
package org.mxchange.addressbook.beans.contact.phone;
import java.io.Serializable;
-import java.util.List;
-import org.mxchange.jcontacts.contact.Contact;
/**
* An interface for user beans
*/
public interface AddressbookContactPhoneWebSessionController extends Serializable {
- /**
- * Getter for all contacts having current fax number linked
- * <p>
- * @return List of all linked contacts
- */
- List<Contact> allFaxNumberContacts ();
-
- /**
- * Getter for all contacts having current land-line number linked
- * <p>
- * @return List of all linked contacts
- */
- List<Contact> allLandLineNumberContacts ();
-
- /**
- * Getter for all contacts having current mobile number linked
- * <p>
- * @return List of all linked contacts
- */
- List<Contact> allMobileNumberContacts ();
-
}
import org.mxchange.addressbook.beans.user.AddressbookAdminUserWebRequestController;
import org.mxchange.addressbook.beans.user.AddressbookUserWebSessionController;
import org.mxchange.jcontacts.contact.Contact;
+import org.mxchange.jcontacts.events.contact.helper.created.HelperCreatedContactEvent;
+import org.mxchange.jcontacts.events.contact.helper.created.ObservableHelperCreatedContactEvent;
import org.mxchange.jphone.events.helper.fax.created.HelperCreatedFaxNumberEvent;
import org.mxchange.jphone.events.helper.fax.created.ObservableHelperCreatedFaxNumberEvent;
import org.mxchange.jphone.events.helper.landline.created.HelperCreatedLandLineNumberEvent;
*/
private Contact contact;
+ /**
+ * Event for when a contact instance was created
+ */
+ @Any
+ @Inject
+ private Event<ObservableHelperCreatedContactEvent> contactCreatedEvent;
+
/**
* Fax number
*/
private DialableFaxNumber faxNumber;
/**
- * Land-line number
+ * Event for when a fax number instance was created
*/
- private DialableLandLineNumber landLineNumber;
+ @Any
+ @Inject
+ private Event<ObservableHelperCreatedFaxNumberEvent> faxNumberCreatedEvent;
/**
- * Mobile number
+ * Land-line number
*/
- private DialableMobileNumber mobileNumber;
+ private DialableLandLineNumber landLineNumber;
/**
- * User instance
+ * Event for when a land-line number instance was created
*/
- private User user;
+ @Any
+ @Inject
+ private Event<ObservableHelperCreatedLandLineNumberEvent> landLineNumberCreatedEvent;
/**
- * Regular user controller
+ * Mobile number
*/
- @Inject
- private AddressbookUserWebSessionController userController;
+ private DialableMobileNumber mobileNumber;
/**
- * Event for when a user instance was created
+ * Event for when a mobile number instance was created
*/
@Any
@Inject
- private Event<ObservableHelperCreatedUserEvent> userCreatedEvent;
+ private Event<ObservableHelperCreatedMobileNumberEvent> mobileNumberCreatedEvent;
/**
- * Event for when a fax number instance was created
+ * User instance
*/
- @Any
- @Inject
- private Event<ObservableHelperCreatedFaxNumberEvent> faxNumberCreatedEvent;
+ private User user;
/**
- * Event for when a land-line number instance was created
+ * Regular user controller
*/
- @Any
@Inject
- private Event<ObservableHelperCreatedLandLineNumberEvent> landLineNumberCreatedEvent;
+ private AddressbookUserWebSessionController userController;
/**
- * Event for when a mobile number instance was created
+ * Event for when a user instance was created
*/
@Any
@Inject
- private Event<ObservableHelperCreatedMobileNumberEvent> mobileNumberCreatedEvent;
+ private Event<ObservableHelperCreatedUserEvent> userCreatedEvent;
/**
* Default constructor
// System.out.println(MessageFormat.format("{0}: Constructed, caller: {1}", this.getClass().getSimpleName(), caller));
}
- @Override
+ /**
+ * Copies currently set contact instances data to adminContactController
+ */
public void copyContactToController () {
// String caller = MessageFormat.format("{0}.{1}", Thread.currentThread().getStackTrace()[THREAD_STACK].getClassName(), Thread.currentThread().getStackTrace()[THREAD_STACK].getMethodName());
// System.out.println(MessageFormat.format("{0}.copyContactToController: CALLED, caller: {2}", this.getClass().getSimpleName(), this.contact, caller));
this.setPhoneInstances(this.getContact());
// Set all fields: user
- this.adminContactController.copyContactToController(this.getContact());
+ this.contactCreatedEvent.fire(new HelperCreatedContactEvent(this.getContact()));
}
- @Override
+ /**
+ * Copies currently set fax number's data to admin phone controller
+ */
public void copyFaxNumberToController () {
// Validate fax instance
if (this.getFaxNumber() == null) {
this.faxNumberCreatedEvent.fire(new HelperCreatedFaxNumberEvent(this.getFaxNumber()));
}
- @Override
+ /**
+ * Copies currently set land-line number's data to admin phone controller
+ */
public void copyLandLineNumberToController () {
// Validate land-line instance
if (this.getLandLineNumber() == null) {
this.landLineNumberCreatedEvent.fire(new HelperCreatedLandLineNumberEvent(this.getLandLineNumber()));
}
- @Override
+ /**
+ * Copies currently set mobile number's data to admin phone controller
+ */
public void copyMobileNumberToController () {
// Validate mobile instance
if (this.getMobileNumber() == null) {
this.mobileNumberCreatedEvent.fire(new HelperCreatedMobileNumberEvent(this.getMobileNumber()));
}
- @Override
+ /**
+ * Copies currently set user instances data to adminUserController
+ */
public void copyUserToController () {
// Log message
//* NOISY-DEBUG: */ System.out.println("AdminHelper::copyUserToController - CALLED!"); //NOI18N
this.userCreatedEvent.fire(new HelperCreatedUserEvent(this.getUser()));
}
- @Override
+ /**
+ * Getter for contact instance
+ * <p>
+ * @return Contact instance
+ */
public Contact getContact () {
- // String caller = MessageFormat.format("{0}.{1}", Thread.currentThread().getStackTrace()[THREAD_STACK].getClassName(), Thread.currentThread().getStackTrace()[THREAD_STACK].getMethodName());
- // System.out.println(MessageFormat.format("{0}: Returning this.contact={1}, caller: {2}", this.getClass().getSimpleName(), this.contact, caller));
return this.contact;
}
- @Override
+ /**
+ * Setter for contact instance
+ * <p>
+ * @param contact Contact instance
+ */
public void setContact (final Contact contact) {
// String caller = MessageFormat.format("{0}.{1}", Thread.currentThread().getStackTrace()[THREAD_STACK].getClassName(), Thread.currentThread().getStackTrace()[THREAD_STACK].getMethodName());
// System.out.println(MessageFormat.format("{0}: Setting contact={1}, previous: {2}, caller: {3}", this.getClass().getSimpleName(), contact, this.contact, caller));
this.contact = contact;
}
- @Override
+ /**
+ * Returns a message key depending on if this contact is a user and/or a
+ * contact. If this contact is unused, a default key is returned.
+ * <p>
+ * @param contact Contact instance to check
+ * <p>
+ * @return Message key
+ */
public String getContactUsageMessageKey (final Contact contact) {
// The contact must be valid
if (null == contact) {
return messageKey;
}
- @Override
+ /**
+ * Getter for dialable fax number
+ * <p>
+ * @return Dialable fax number
+ */
public DialableFaxNumber getFaxNumber () {
return this.faxNumber;
}
- @Override
+ /**
+ * Setter for dialable fax number
+ * <p>
+ * @param faxNumber Dialable fax number
+ */
public void setFaxNumber (final DialableFaxNumber faxNumber) {
this.faxNumber = faxNumber;
}
- @Override
+ /**
+ * Getter for dialable land-line number
+ * <p>
+ * @return Dialable land-line number
+ */
public DialableLandLineNumber getLandLineNumber () {
return this.landLineNumber;
}
- @Override
+ /**
+ * Setter for dialable land-line number
+ * <p>
+ * @param landLineNumber Dialable land-line number
+ */
public void setLandLineNumber (final DialableLandLineNumber landLineNumber) {
this.landLineNumber = landLineNumber;
}
- @Override
+ /**
+ * Getter for dialable mobile number
+ * <p>
+ * @return Dialable mobile number
+ */
public DialableMobileNumber getMobileNumber () {
return this.mobileNumber;
}
- @Override
+ /**
+ * Setter for dialable mobile number
+ * <p>
+ * @param mobileNumber Dialable mobile number
+ */
public void setMobileNumber (final DialableMobileNumber mobileNumber) {
this.mobileNumber = mobileNumber;
}
- @Override
+ /**
+ * Getter for user instance
+ * <p>
+ * @return User instance
+ */
public User getUser () {
return this.user;
}
- @Override
+ /**
+ * Setter for user instance
+ * <p>
+ * @param user User instance
+ */
public void setUser (final User user) {
this.user = user;
}
package org.mxchange.addressbook.beans.helper;
import java.io.Serializable;
-import org.mxchange.jcontacts.contact.Contact;
-import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
-import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
-import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
-import org.mxchange.jusercore.model.user.User;
/**
* An interface for general bean helper
*/
public interface AddressbookWebRequestHelperController extends Serializable {
- /**
- * Copies currently set fax number's data to admin phone controller
- */
- void copyFaxNumberToController ();
-
- /**
- * Copies currently set land-line number's data to admin phone controller
- */
- void copyLandLineNumberToController ();
-
- /**
- * Copies currently set mobile number's data to admin phone controller
- */
- void copyMobileNumberToController ();
-
- /**
- * Copies currently set contact instance's data to adminContactController
- */
- void copyContactToController ();
-
- /**
- * Copies currently set user instance's data to adminUserController
- */
- void copyUserToController ();
-
- /**
- * Returns a message key depending on if this contact is a user and/or a
- * contact. If this contact is unused, a default key is returned.
- * <p>
- * @param contact Contact instance to check
- * <p>
- * @return Message key
- */
- String getContactUsageMessageKey (final Contact contact);
-
- /**
- * Getter for contact instance
- * <p>
- * @return Contact instance
- */
- Contact getContact ();
-
- /**
- * Setter for contact instance
- * <p>
- * @param contact Contact instance
- */
- void setContact (final Contact contact);
-
- /**
- * Getter for user instance
- * <p>
- * @return User instance
- */
- User getUser ();
-
- /**
- * Setter for user instance
- * <p>
- * @param user User instance
- */
- void setUser (final User user);
-
- /**
- * Getter for dialable mobile number
- * <p>
- * @return Dialable mobile number
- */
- DialableMobileNumber getMobileNumber ();
-
- /**
- * Setter for dialable mobile number
- * <p>
- * @param mobileNumber Dialable mobile number
- */
- void setMobileNumber (final DialableMobileNumber mobileNumber);
-
- /**
- * Getter for dialable land-line number
- * <p>
- * @return Dialable land-line number
- */
- DialableLandLineNumber getLandLineNumber ();
-
- /**
- * Setter for dialable land-line number
- * <p>
- * @param landLine Dialable land-line number
- */
- void setLandLineNumber (final DialableLandLineNumber landLine);
-
- /**
- * Getter for dialable fax number
- * <p>
- * @return Dialable fax number
- */
- DialableFaxNumber getFaxNumber ();
-
- /**
- * Setter for dialable fax number
- * <p>
- * @param faxNumber Dialable fax number
- */
- void setFaxNumber (final DialableFaxNumber faxNumber);
-
}
package org.mxchange.addressbook.beans.phone;
import java.text.MessageFormat;
+import java.util.Calendar;
import java.util.List;
import java.util.Objects;
import javax.annotation.PostConstruct;
import javax.enterprise.context.RequestScoped;
import javax.enterprise.event.Event;
+import javax.enterprise.event.Observes;
import javax.enterprise.inject.Any;
import javax.faces.view.facelets.FaceletException;
import javax.inject.Inject;
import org.mxchange.jphone.events.fax.removed.AdminRemoveFaxNumberFromListEvent;
import org.mxchange.jphone.events.fax.updated.AdminFaxNumberUpdatedEvent;
import org.mxchange.jphone.events.fax.updated.AdminUpdatedFaxNumberEvent;
+import org.mxchange.jphone.events.helper.fax.created.ObservableHelperCreatedFaxNumberEvent;
+import org.mxchange.jphone.events.helper.landline.created.ObservableHelperCreatedLandLineNumberEvent;
+import org.mxchange.jphone.events.helper.mobile.created.ObservableHelperCreatedMobileNumberEvent;
import org.mxchange.jphone.events.landline.deleted.AdminDeletedLandLineNumberEvent;
import org.mxchange.jphone.events.landline.deleted.AdminLandLineNumberDeletedEvent;
import org.mxchange.jphone.events.landline.removed.AdminLandLineNumberRemovedFromListEvent;
import org.mxchange.jphone.events.mobile.updated.AdminMobileNumberUpdatedEvent;
import org.mxchange.jphone.events.mobile.updated.AdminUpdatedMobileNumberEvent;
import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
+import org.mxchange.jphone.phonenumbers.fax.FaxNumber;
import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jphone.phonenumbers.landline.LandLineNumber;
import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
+import org.mxchange.jphone.phonenumbers.mobile.MobileNumber;
import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider;
import org.mxchange.jphone.phonenumbers.phone.AdminPhoneSessionBeanRemote;
*/
private Country phoneCountry;
+ /**
+ * When the phone entry has been created (persisted)
+ */
+ private Calendar phoneEntryCreated;
+
+ /**
+ * When the phone entry has been updated
+ */
+ private Calendar phoneEntryUpdated;
+
+ /**
+ * Phone id (aka primary key)
+ */
+ private Long phoneId;
+
/**
* Phone number
*/
// System.out.println(MessageFormat.format("{0}: Constructed, caller: {1}", this.getClass().getSimpleName(), caller));
}
+ /**
+ * Observes events being fired when a bean helper has successfully created a
+ * fax number instance.
+ * <p>
+ * @param event Event being fired
+ */
+ public void afterHelperCreatedFaxNumberEvent (@Observes final ObservableHelperCreatedFaxNumberEvent event) {
+ // The event instance must be valid
+ if (null == event) {
+ // Throw NPE
+ throw new NullPointerException("event is null"); //NOI18N
+ } else if (event.getFaxNumber() == null) {
+ // Throw NPE again
+ throw new NullPointerException("event.faxNumber is null"); //NOI18N
+ } else if (event.getFaxNumber().getPhoneId() == null) {
+ // Throw NPE yet again
+ throw new NullPointerException("event.faxNumber.phoneId is null"); //NOI18N
+ } else if (event.getFaxNumber().getPhoneId() < 1) {
+ // Throw NPE yet again
+ throw new NullPointerException(MessageFormat.format("event.faxNumber.phoneId={0} is invalid", event.getFaxNumber().getPhoneId())); //NOI18N
+ }
+
+ // Get fax number from event
+ DialableFaxNumber number = event.getFaxNumber();
+
+ // Copy all data to this bean
+ this.setPhoneId(number.getPhoneId());
+ this.setPhoneCountry(number.getPhoneCountry());
+ this.setPhoneAreaCode(number.getPhoneAreaCode());
+ this.setPhoneNumber(number.getPhoneNumber());
+ this.setPhoneEntryCreated(number.getPhoneEntryCreated());
+ this.setPhoneEntryUpdated(number.getPhoneEntryUpdated());
+ }
+
+ /**
+ * Observes events being fired when a bean helper has successfully created a
+ * land-line number instance.
+ * <p>
+ * @param event Event being fired
+ */
+ public void afterHelperCreatedLandLineNumberEvent (@Observes final ObservableHelperCreatedLandLineNumberEvent event) {
+ // The event instance must be valid
+ if (null == event) {
+ // Throw NPE
+ throw new NullPointerException("event is null"); //NOI18N
+ } else if (event.getLandLineNumber() == null) {
+ // Throw NPE again
+ throw new NullPointerException("event.landLineNumber is null"); //NOI18N
+ } else if (event.getLandLineNumber().getPhoneId() == null) {
+ // Throw NPE yet again
+ throw new NullPointerException("event.landLineNumber.phoneId is null"); //NOI18N
+ } else if (event.getLandLineNumber().getPhoneId() < 1) {
+ // Throw NPE yet again
+ throw new NullPointerException(MessageFormat.format("event.landLineNumber.phoneId={0} is invalid", event.getLandLineNumber().getPhoneId())); //NOI18N
+ }
+
+ // Get fax number from event
+ DialableLandLineNumber number = event.getLandLineNumber();
+
+ // Copy all data to this bean
+ this.setPhoneId(number.getPhoneId());
+ this.setPhoneCountry(number.getPhoneCountry());
+ this.setPhoneAreaCode(number.getPhoneAreaCode());
+ this.setPhoneNumber(number.getPhoneNumber());
+ this.setPhoneEntryCreated(number.getPhoneEntryCreated());
+ this.setPhoneEntryUpdated(number.getPhoneEntryUpdated());
+ }
+
+ /**
+ * Observes events being fired when a bean helper has successfully created a
+ * mobile number instance.
+ * <p>
+ * @param event Event being fired
+ */
+ public void afterHelperCreatedMobileNumberEvent (@Observes final ObservableHelperCreatedMobileNumberEvent event) {
+ // The event instance must be valid
+ if (null == event) {
+ // Throw NPE
+ throw new NullPointerException("event is null"); //NOI18N
+ } else if (event.getMobileNumber() == null) {
+ // Throw NPE again
+ throw new NullPointerException("event.mobileNumber is null"); //NOI18N
+ } else if (event.getMobileNumber().getPhoneId() == null) {
+ // Throw NPE yet again
+ throw new NullPointerException("event.mobileNumber.phoneId is null"); //NOI18N
+ } else if (event.getMobileNumber().getPhoneId() < 1) {
+ // Throw NPE yet again
+ throw new NullPointerException(MessageFormat.format("event.mobileNumber.phoneId={0} is invalid", event.getMobileNumber().getPhoneId())); //NOI18N
+ }
+
+ // Get fax number from event
+ DialableMobileNumber number = event.getMobileNumber();
+
+ // Copy all data to this bean
+ this.setPhoneId(number.getPhoneId());
+ this.setMobileProvider(number.getMobileProvider());
+ this.setPhoneNumber(number.getPhoneNumber());
+ this.setPhoneEntryCreated(number.getPhoneEntryCreated());
+ this.setPhoneEntryUpdated(number.getPhoneEntryUpdated());
+ }
+
/**
* Returns a list of all unused ("non-linked") land-line numbers
* <p>
*/
public String deleteFaxData () {
// Get fax number from bean helper
- DialableFaxNumber number = this.beanHelper.getFaxNumber();
+ DialableFaxNumber number = this.createFaxNumber();
// Is all data set
if (number == null) {
*/
public String deleteLandLineData () {
// Get land-line number from helper
- DialableLandLineNumber number = this.beanHelper.getLandLineNumber();
+ DialableLandLineNumber number = this.createLandLineNumber();
// Is all data set
if (number == null) {
*/
public String deleteMobileData () {
// Get mobile number from helper
- DialableMobileNumber number = this.beanHelper.getMobileNumber();
+ DialableMobileNumber number = this.createMobileNumber();
// Is all data set
if (number == null) {
*/
public String doChangeFaxNumber () {
// Get fax number from bean helper
- DialableFaxNumber number = this.beanHelper.getFaxNumber();
+ DialableFaxNumber number = this.createFaxNumber();
// Is all data set
if (number == null) {
*/
public String doChangeLandLineNumber () {
// Get land-line number from helper
- DialableLandLineNumber number = this.beanHelper.getLandLineNumber();
+ DialableLandLineNumber number = this.createLandLineNumber();
// Is all data set
if (number == null) {
*/
public String doUpdateMobileNumber () {
// Get mobile number from helper
- DialableMobileNumber number = this.beanHelper.getMobileNumber();
+ DialableMobileNumber number = this.createMobileNumber();
// Is all data set
if (number == null) {
this.phoneCountry = phoneCountry;
}
+ /**
+ * Getter for phone entry created timestamp
+ * <p>
+ * @return Phone entry created timestamp
+ */
+ @SuppressWarnings ("ReturnOfDateField")
+ public Calendar getPhoneEntryCreated () {
+ return this.phoneEntryCreated;
+ }
+
+ /**
+ * Setter for phone entry created timestamp
+ * <p>
+ * @param phoneEntryCreated Phone entry created timestamp
+ */
+ @SuppressWarnings ("AssignmentToDateFieldFromParameter")
+ public void setPhoneEntryCreated (final Calendar phoneEntryCreated) {
+ this.phoneEntryCreated = phoneEntryCreated;
+ }
+
+ /**
+ * Getter for phone entry updated timestamp
+ * <p>
+ * @return Phone entry updated timestamp
+ */
+ @SuppressWarnings ("ReturnOfDateField")
+ public Calendar getPhoneEntryUpdated () {
+ return this.phoneEntryUpdated;
+ }
+
+ /**
+ * Setter for phone entry updated timestamp
+ * <p>
+ * @param phoneEntryUpdated Phone entry updated timestamp
+ */
+ @SuppressWarnings ("AssignmentToDateFieldFromParameter")
+ public void setPhoneEntryUpdated (final Calendar phoneEntryUpdated) {
+ this.phoneEntryUpdated = phoneEntryUpdated;
+ }
+
+ /**
+ * Getter for phone id
+ * <p>
+ * @return Phone id
+ */
+ public Long getPhoneId () {
+ return this.phoneId;
+ }
+
+ /**
+ * Setter for phone id
+ * <p>
+ * @param phoneId Phone id
+ */
+ public void setPhoneId (final Long phoneId) {
+ this.phoneId = phoneId;
+ }
+
/**
* Getter for dial number without prefix
* <p>
}
}
+ /**
+ * Returns an instance of a DialableFaxNumber from all fields stored in this
+ * bean.
+ * <p>
+ * @return An instance of a DialableFaxNumber class
+ */
+ private DialableFaxNumber createFaxNumber () {
+ // Initialize it
+ DialableFaxNumber number = new FaxNumber(this.getPhoneCountry(), this.getPhoneAreaCode(), this.getPhoneNumber());
+
+ // Add all other data
+ number.setPhoneEntryCreated(this.getPhoneEntryCreated());
+ number.setPhoneEntryUpdated(this.getPhoneEntryUpdated());
+
+ // Is id number set?
+ if (this.getPhoneId() instanceof Long) {
+ // Set it
+ number.setPhoneId(this.getPhoneId());
+ }
+
+ // Return it
+ return number;
+ }
+
+ /**
+ * Returns an instance of a DialableLandLineNumber from all fields stored in
+ * this bean.
+ * <p>
+ * @return An instance of a DialableLandLineNumber class
+ */
+ private DialableLandLineNumber createLandLineNumber () {
+ // Initialize it
+ DialableLandLineNumber number = new LandLineNumber(this.getPhoneCountry(), this.getPhoneAreaCode(), this.getPhoneNumber());
+
+ // Add all other data
+ number.setPhoneEntryCreated(this.getPhoneEntryCreated());
+ number.setPhoneEntryUpdated(this.getPhoneEntryUpdated());
+
+ // Is id number set?
+ if (this.getPhoneId() instanceof Long) {
+ // Set it
+ number.setPhoneId(this.getPhoneId());
+ }
+
+ // Return it
+ return number;
+ }
+
+ /**
+ * Returns an instance of a DialableMobileNumber from all fields stored in
+ * this bean.
+ * <p>
+ * @return An instance of a DialableMobileNumber class
+ */
+ private DialableMobileNumber createMobileNumber () {
+ // Initialize it
+ DialableMobileNumber number = new MobileNumber(this.getMobileProvider(), this.getPhoneNumber());
+
+ // Add all other data
+ number.setPhoneEntryCreated(this.getPhoneEntryCreated());
+ number.setPhoneEntryUpdated(this.getPhoneEntryUpdated());
+
+ // Is id number set?
+ if (this.getPhoneId() instanceof Long) {
+ // Set it
+ number.setPhoneId(this.getPhoneId());
+ }
+
+ // Return it
+ return number;
+ }
+
}
import org.mxchange.jusercore.events.user.clear.password.ObservableClearUserPasswordEvent;
import org.mxchange.jusercore.events.user.clear.username.ObservableClearUserNameEvent;
import org.mxchange.jusercore.events.user.delete.ObservableAdminDeletedUserEvent;
-import org.mxchange.jusercore.events.user.helper.created.ObservableHelperCreatedUserEvent;
import org.mxchange.jusercore.events.user.linked.ObservableAdminLinkedUserEvent;
import org.mxchange.jusercore.events.user.locked.ObservableAdminLockedUserEvent;
import org.mxchange.juserlogincore.events.user.password_change.ObservableUpdatedUserPasswordEvent;
import org.mxchange.juserlogincore.events.registration.ObservableUserRegisteredEvent;
import org.mxchange.juserlogincore.exceptions.UserPasswordMismatchException;
import org.mxchange.juserlogincore.login.UserLoginUtils;
+import org.mxchange.jusercore.events.user.helper.created.ObservableHelperCreatedContactEvent;
/**
* A user bean (controller)
* <p>
* @param event User created event
*/
- public void afterHelperCreatedUserEvent (@Observes final ObservableHelperCreatedUserEvent event) {
+ public void afterHelperCreatedUserEvent (@Observes final ObservableHelperCreatedContactEvent event) {
// Is the instance valid?
if (null == event) {
// Throw NPE
import org.mxchange.addressbook.beans.BaseAddressbookController;
import org.mxchange.addressbook.beans.helper.AddressbookWebRequestHelperController;
import org.mxchange.addressbook.beans.user.AddressbookUserWebSessionController;
+import org.mxchange.jcoreee.events.helper.clear.HelperCleanupEvent;
+import org.mxchange.jcoreee.events.helper.clear.ObservableHelperCleanupEvent;
import org.mxchange.jcoreee.utils.FacesUtils;
import org.mxchange.jusercore.exceptions.UserStatusConfirmedException;
import org.mxchange.jusercore.exceptions.UserStatusLockedException;
@Inject
private AddressbookWebRequestHelperController beanHelper;
+ /**
+ * Event being fired when a bean helper should be cleaned
+ */
+ @Inject
+ @Any
+ private Event<ObservableHelperCleanupEvent> cleanHelperEvent;
+
/**
* Confirmation key
*/
// Is the user instance null?
if ((null == user) || (user.getUserAccountStatus() != UserAccountStatus.UNCONFIRMED)) {
// Then clear this bean and the helper
- this.beanHelper.setUser(null);
+ this.cleanHelperEvent.fire(new HelperCleanupEvent());
} else {
// Try to confirm it
this.confirmUserAccount(user);
<ui:param name="isShowPage" value="#{true}" />
</ui:include>
- <h:dataTable id="contact_fax_link" var="contact" value="#{contactPhoneController.allFaxNumberContacts()}" summary="#{msg.TABLE_SUMMARY_ADMIN_SHOW_ADMINISTRATIVE_LINKS}" headerClass="table_header_column" styleClass="table_medium">
+ <h:dataTable id="contact_fax_link" var="contact" value="#{contactPhoneController.allCurrentFaxNumberContacts()}" summary="#{msg.TABLE_SUMMARY_ADMIN_SHOW_ADMINISTRATIVE_LINKS}" headerClass="table_header_column" styleClass="table_medium">
<f:facet name="header">
<h:outputFormat value="#{msg.ADMIN_HEADER_SHOW_FAX_NUMBER_LINKS}">
<f:param value="#{beanHelper.faxNumber.phoneId}" />
<ui:param name="isShowPage" value="#{true}" />
</ui:include>
- <h:dataTable id="contact_landline_link" var="contact" value="#{contactPhoneController.allLandLineNumberContacts()}" summary="#{msg.TABLE_SUMMARY_ADMIN_SHOW_ADMINISTRATIVE_LINKS}" headerClass="table_header_column" styleClass="table_medium">
+ <h:dataTable id="contact_landline_link" var="contact" value="#{contactPhoneController.allCurrentLandLineNumberContacts()}" summary="#{msg.TABLE_SUMMARY_ADMIN_SHOW_ADMINISTRATIVE_LINKS}" headerClass="table_header_column" styleClass="table_medium">
<f:facet name="header">
<h:outputFormat value="#{msg.ADMIN_HEADER_SHOW_LAND_LINE_NUMBER_LINKS}">
<f:param value="#{beanHelper.landLineNumber.phoneId}" />
<ui:param name="isShowPage" value="#{true}" />
</ui:include>
- <h:dataTable id="contact_mobile_link" var="contact" value="#{contactPhoneController.allMobileNumberContacts()}" summary="#{msg.TABLE_SUMMARY_ADMIN_SHOW_ADMINISTRATIVE_LINKS}" headerClass="table_header_column" styleClass="table_medium">
+ <h:dataTable id="contact_mobile_link" var="contact" value="#{contactPhoneController.allCurrentMobileNumberContacts()}" summary="#{msg.TABLE_SUMMARY_ADMIN_SHOW_ADMINISTRATIVE_LINKS}" headerClass="table_header_column" styleClass="table_medium">
<f:facet name="header">
<h:outputFormat value="#{msg.ADMIN_HEADER_SHOW_MOBILE_NUMBER_LINKS}">
<f:param value="#{beanHelper.mobileNumber.phoneId}" />