From: Roland Häder Date: Thu, 3 Aug 2017 19:43:01 +0000 (+0200) Subject: WIP: Please cherry-pick: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=09b70e33f319ca7dd5befe1ea84c9dc29c253281;p=jfinancials-war.git WIP: Please cherry-pick: - renamed methods to make them more clear (current fax/land-line/mobile number) - these methods and also getter/setter in bean helper are for JSF views only and should not be callable by other beans - so this change breaks a lot again and I again need to rewrite it - so more controller interfaces are now empty, maybe one day some methods will come back, but ... - anyway, doing a lot CDI calls (in some methods +10 calls each) is really not good as CDI does take some time - better reimplement it in CDI events which are more flexible as more beans can be reached than only those which are hard-coded in - sorted members again Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/jfinancials/beans/contact/FinancialsAdminContactWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/contact/FinancialsAdminContactWebRequestBean.java index d09bae2c..1e99aac9 100644 --- a/src/java/org/mxchange/jfinancials/beans/contact/FinancialsAdminContactWebRequestBean.java +++ b/src/java/org/mxchange/jfinancials/beans/contact/FinancialsAdminContactWebRequestBean.java @@ -22,6 +22,7 @@ import java.util.Iterator; 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; @@ -38,6 +39,7 @@ import org.mxchange.jcontacts.contact.UserContact; 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; @@ -117,14 +119,14 @@ public class FinancialsAdminContactWebRequestBean extends BaseFinancialsControll private FinancialsContactWebSessionController contactController; /** - * Contact id + * Country instance */ - private Long contactId; + private Country contactCountry; /** - * Country instance + * Contact id */ - private Country contactCountry; + private Long contactId; /** * Email address @@ -307,23 +309,34 @@ public class FinancialsAdminContactWebRequestBean extends BaseFinancialsControll 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. + *

+ * @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()); @@ -367,7 +380,7 @@ public class FinancialsAdminContactWebRequestBean extends BaseFinancialsControll } // Log message - //* NOISY-DEBUG: */ System.out.println("AdminContactController::copyContactToController(): EXIT!"); //NOI18N + //* NOISY-DEBUG: */ System.out.println("AdminContactController::afterHelperCreatedContactEvent(): EXIT!"); //NOI18N } @Override @@ -398,6 +411,12 @@ public class FinancialsAdminContactWebRequestBean extends BaseFinancialsControll // 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()); @@ -481,7 +500,7 @@ public class FinancialsAdminContactWebRequestBean extends BaseFinancialsControll */ 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) { @@ -638,6 +657,24 @@ public class FinancialsAdminContactWebRequestBean extends BaseFinancialsControll this.comment = comment; } + /** + * Getter for contactCountry instance + *

+ * @return Country instance + */ + public Country getContactCountry () { + return this.contactCountry; + } + + /** + * Setter for contactCountry instance + *

+ * @param contactCountry Country instance + */ + public void setContactCountry (final Country contactCountry) { + this.contactCountry = contactCountry; + } + /** * Getter for contact id *

@@ -667,24 +704,6 @@ public class FinancialsAdminContactWebRequestBean extends BaseFinancialsControll throw new UnsupportedOperationException("Setting controller type is not supported."); //NOI18N } - /** - * Getter for contactCountry instance - *

- * @return Country instance - */ - public Country getContactCountry () { - return this.contactCountry; - } - - /** - * Setter for contactCountry instance - *

- * @param contactCountry Country instance - */ - public void setContactCountry (final Country contactCountry) { - this.contactCountry = contactCountry; - } - /** * Getter for email address *

diff --git a/src/java/org/mxchange/jfinancials/beans/contact/FinancialsAdminContactWebRequestController.java b/src/java/org/mxchange/jfinancials/beans/contact/FinancialsAdminContactWebRequestController.java index d1485868..a52d835a 100644 --- a/src/java/org/mxchange/jfinancials/beans/contact/FinancialsAdminContactWebRequestController.java +++ b/src/java/org/mxchange/jfinancials/beans/contact/FinancialsAdminContactWebRequestController.java @@ -38,13 +38,6 @@ public interface FinancialsAdminContactWebRequestController extends Serializable */ Contact createContactInstance (); - /** - * Copies given contact's data to this controller - *

- * @param contact Contact instance - */ - void copyContactToController (final Contact contact); - /** * Getter for controller type *

diff --git a/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionBean.java b/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionBean.java index e33f0ecb..0e456a3d 100644 --- a/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionBean.java +++ b/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionBean.java @@ -245,8 +245,12 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll this.clear(); } - @Override - public List allFaxNumberContacts () { + /** + * Getter for all contacts having current fax number linked + *

+ * @return List of all linked contacts + */ + public List allCurrentFaxNumberContacts () { // Get id DialableFaxNumber faxNumber = this.beanHelper.getFaxNumber(); @@ -261,7 +265,7 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll // "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); } @@ -275,8 +279,12 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll } } - @Override - public List allLandLineNumberContacts () { + /** + * Getter for all contacts having current land-line number linked + *

+ * @return List of all linked contacts + */ + public List allCurrentLandLineNumberContacts () { // Get id DialableLandLineNumber landLineNumber = this.beanHelper.getLandLineNumber(); @@ -291,7 +299,7 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll // "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); } @@ -305,8 +313,12 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll } } - @Override - public List allMobileNumberContacts () { + /** + * Getter for all contacts having current mobile number linked + *

+ * @return List of all linked contacts + */ + public List allCurrentMobileNumberContacts () { // Get id DialableMobileNumber mobileNumber = this.beanHelper.getMobileNumber(); @@ -321,7 +333,7 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll // "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); } diff --git a/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionController.java b/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionController.java index 56657843..4ba4867c 100644 --- a/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionController.java +++ b/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionController.java @@ -17,8 +17,6 @@ package org.mxchange.jfinancials.beans.contact.phone; import java.io.Serializable; -import java.util.List; -import org.mxchange.jcontacts.contact.Contact; /** * An interface for user beans @@ -27,25 +25,4 @@ import org.mxchange.jcontacts.contact.Contact; */ public interface FinancialsContactPhoneWebSessionController extends Serializable { - /** - * Getter for all contacts having current fax number linked - *

- * @return List of all linked contacts - */ - List allFaxNumberContacts (); - - /** - * Getter for all contacts having current land-line number linked - *

- * @return List of all linked contacts - */ - List allLandLineNumberContacts (); - - /** - * Getter for all contacts having current mobile number linked - *

- * @return List of all linked contacts - */ - List allMobileNumberContacts (); - } diff --git a/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperBean.java b/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperBean.java index ea30857b..defc264d 100644 --- a/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperBean.java +++ b/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperBean.java @@ -23,6 +23,8 @@ import javax.enterprise.inject.Any; import javax.inject.Inject; import javax.inject.Named; 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.jfinancials.beans.BaseFinancialsController; import org.mxchange.jfinancials.beans.contact.FinancialsAdminContactWebRequestController; import org.mxchange.jfinancials.beans.phone.FinancialsAdminPhoneWebRequestController; @@ -83,59 +85,66 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp */ private Contact contact; + /** + * Event for when a contact instance was created + */ + @Any + @Inject + private Event 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 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 landLineNumberCreatedEvent; /** - * Regular user controller + * Mobile number */ - @Inject - private FinancialsUserWebSessionController 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 userCreatedEvent; + private Event mobileNumberCreatedEvent; /** - * Event for when a fax number instance was created + * User instance */ - @Any - @Inject - private Event faxNumberCreatedEvent; + private User user; /** - * Event for when a land-line number instance was created + * Regular user controller */ - @Any @Inject - private Event landLineNumberCreatedEvent; + private FinancialsUserWebSessionController userController; /** - * Event for when a mobile number instance was created + * Event for when a user instance was created */ @Any @Inject - private Event mobileNumberCreatedEvent; + private Event userCreatedEvent; /** * Default constructor @@ -148,7 +157,9 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp // 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)); @@ -169,10 +180,12 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp 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) { @@ -211,7 +224,9 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp 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) { @@ -250,7 +265,9 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp 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) { @@ -283,7 +300,9 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp 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 @@ -313,21 +332,34 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp this.userCreatedEvent.fire(new HelperCreatedUserEvent(this.getUser())); } - @Override + /** + * Getter for contact instance + *

+ * @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 + *

+ * @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. + *

+ * @param contact Contact instance to check + *

+ * @return Message key + */ public String getContactUsageMessageKey (final Contact contact) { // The contact must be valid if (null == contact) { @@ -357,42 +389,74 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp return messageKey; } - @Override + /** + * Getter for dialable fax number + *

+ * @return Dialable fax number + */ public DialableFaxNumber getFaxNumber () { return this.faxNumber; } - @Override + /** + * Setter for dialable fax number + *

+ * @param faxNumber Dialable fax number + */ public void setFaxNumber (final DialableFaxNumber faxNumber) { this.faxNumber = faxNumber; } - @Override + /** + * Getter for dialable land-line number + *

+ * @return Dialable land-line number + */ public DialableLandLineNumber getLandLineNumber () { return this.landLineNumber; } - @Override + /** + * Setter for dialable land-line number + *

+ * @param landLineNumber Dialable land-line number + */ public void setLandLineNumber (final DialableLandLineNumber landLineNumber) { this.landLineNumber = landLineNumber; } - @Override + /** + * Getter for dialable mobile number + *

+ * @return Dialable mobile number + */ public DialableMobileNumber getMobileNumber () { return this.mobileNumber; } - @Override + /** + * Setter for dialable mobile number + *

+ * @param mobileNumber Dialable mobile number + */ public void setMobileNumber (final DialableMobileNumber mobileNumber) { this.mobileNumber = mobileNumber; } - @Override + /** + * Getter for user instance + *

+ * @return User instance + */ public User getUser () { return this.user; } - @Override + /** + * Setter for user instance + *

+ * @param user User instance + */ public void setUser (final User user) { this.user = user; } diff --git a/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperController.java b/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperController.java index 63ddb53c..48a8d03a 100644 --- a/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperController.java +++ b/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperController.java @@ -17,11 +17,6 @@ package org.mxchange.jfinancials.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 @@ -30,109 +25,4 @@ import org.mxchange.jusercore.model.user.User; */ public interface FinancialsWebRequestHelperController 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. - *

- * @param contact Contact instance to check - *

- * @return Message key - */ - String getContactUsageMessageKey (final Contact contact); - - /** - * Getter for contact instance - *

- * @return Contact instance - */ - Contact getContact (); - - /** - * Setter for contact instance - *

- * @param contact Contact instance - */ - void setContact (final Contact contact); - - /** - * Getter for user instance - *

- * @return User instance - */ - User getUser (); - - /** - * Setter for user instance - *

- * @param user User instance - */ - void setUser (final User user); - - /** - * Getter for dialable mobile number - *

- * @return Dialable mobile number - */ - DialableMobileNumber getMobileNumber (); - - /** - * Setter for dialable mobile number - *

- * @param mobileNumber Dialable mobile number - */ - void setMobileNumber (final DialableMobileNumber mobileNumber); - - /** - * Getter for dialable land-line number - *

- * @return Dialable land-line number - */ - DialableLandLineNumber getLandLineNumber (); - - /** - * Setter for dialable land-line number - *

- * @param landLine Dialable land-line number - */ - void setLandLineNumber (final DialableLandLineNumber landLine); - - /** - * Getter for dialable fax number - *

- * @return Dialable fax number - */ - DialableFaxNumber getFaxNumber (); - - /** - * Setter for dialable fax number - *

- * @param faxNumber Dialable fax number - */ - void setFaxNumber (final DialableFaxNumber faxNumber); - } diff --git a/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java index 63d8a5d0..2dd12c2b 100644 --- a/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java +++ b/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java @@ -17,11 +17,13 @@ package org.mxchange.jfinancials.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; @@ -38,6 +40,9 @@ import org.mxchange.jphone.events.fax.removed.AdminFaxNumberRemovedFromListEvent 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; @@ -51,8 +56,11 @@ import org.mxchange.jphone.events.mobile.remove.AdminRemoveMobileNumberFromListE 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; @@ -164,6 +172,21 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController */ 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 */ @@ -203,6 +226,107 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController // 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. + *

+ * @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. + *

+ * @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. + *

+ * @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 *

@@ -258,7 +382,7 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController */ 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) { @@ -310,7 +434,7 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController */ 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) { @@ -362,7 +486,7 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController */ public String deleteMobileData () { // Get mobile number from helper - DialableMobileNumber number = this.beanHelper.getMobileNumber(); + DialableMobileNumber number = this.createMobileNumber(); // Is all data set if (number == null) { @@ -408,7 +532,7 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController */ 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) { @@ -474,7 +598,7 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController */ 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) { @@ -540,7 +664,7 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController */ public String doUpdateMobileNumber () { // Get mobile number from helper - DialableMobileNumber number = this.beanHelper.getMobileNumber(); + DialableMobileNumber number = this.createMobileNumber(); // Is all data set if (number == null) { @@ -714,6 +838,64 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController this.phoneCountry = phoneCountry; } + /** + * Getter for phone entry created timestamp + *

+ * @return Phone entry created timestamp + */ + @SuppressWarnings ("ReturnOfDateField") + public Calendar getPhoneEntryCreated () { + return this.phoneEntryCreated; + } + + /** + * Setter for phone entry created timestamp + *

+ * @param phoneEntryCreated Phone entry created timestamp + */ + @SuppressWarnings ("AssignmentToDateFieldFromParameter") + public void setPhoneEntryCreated (final Calendar phoneEntryCreated) { + this.phoneEntryCreated = phoneEntryCreated; + } + + /** + * Getter for phone entry updated timestamp + *

+ * @return Phone entry updated timestamp + */ + @SuppressWarnings ("ReturnOfDateField") + public Calendar getPhoneEntryUpdated () { + return this.phoneEntryUpdated; + } + + /** + * Setter for phone entry updated timestamp + *

+ * @param phoneEntryUpdated Phone entry updated timestamp + */ + @SuppressWarnings ("AssignmentToDateFieldFromParameter") + public void setPhoneEntryUpdated (final Calendar phoneEntryUpdated) { + this.phoneEntryUpdated = phoneEntryUpdated; + } + + /** + * Getter for phone id + *

+ * @return Phone id + */ + public Long getPhoneId () { + return this.phoneId; + } + + /** + * Setter for phone id + *

+ * @param phoneId Phone id + */ + public void setPhoneId (final Long phoneId) { + this.phoneId = phoneId; + } + /** * Getter for dial number without prefix *

@@ -750,4 +932,76 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController } } + /** + * Returns an instance of a DialableFaxNumber from all fields stored in this + * bean. + *

+ * @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. + *

+ * @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. + *

+ * @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; + } + } diff --git a/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java b/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java index 407deacc..ed53c8e9 100644 --- a/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java +++ b/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java @@ -42,7 +42,6 @@ import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent; 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.jusercore.events.user.unlocked.ObservableAdminUnlockedUserEvent; @@ -61,6 +60,7 @@ import org.mxchange.juserlogincore.events.registration.ObservableUserRegisteredE import org.mxchange.juserlogincore.events.user.password_change.ObservableUpdatedUserPasswordEvent; 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) @@ -338,7 +338,7 @@ public class FinancialsUserWebSessionBean extends BaseFinancialsController imple *

* @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 diff --git a/src/java/org/mxchange/jfinancials/beans/user/confirmlink/FinancialsConfirmationLinkWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/user/confirmlink/FinancialsConfirmationLinkWebRequestBean.java index d6eef90e..5be7a7d4 100644 --- a/src/java/org/mxchange/jfinancials/beans/user/confirmlink/FinancialsConfirmationLinkWebRequestBean.java +++ b/src/java/org/mxchange/jfinancials/beans/user/confirmlink/FinancialsConfirmationLinkWebRequestBean.java @@ -30,6 +30,8 @@ import javax.inject.Named; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; +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.jfinancials.beans.BaseFinancialsController; import org.mxchange.jfinancials.beans.helper.FinancialsWebRequestHelperController; @@ -62,6 +64,13 @@ public class FinancialsConfirmationLinkWebRequestBean extends BaseFinancialsCont @Inject private FinancialsWebRequestHelperController beanHelper; + /** + * Event being fired when a bean helper should be cleaned + */ + @Inject + @Any + private Event cleanHelperEvent; + /** * Confirmation key */ @@ -172,7 +181,7 @@ public class FinancialsConfirmationLinkWebRequestBean extends BaseFinancialsCont // 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); diff --git a/web/admin/fax/admin_fax_show.xhtml b/web/admin/fax/admin_fax_show.xhtml index 9b28b3fa..376c04b9 100644 --- a/web/admin/fax/admin_fax_show.xhtml +++ b/web/admin/fax/admin_fax_show.xhtml @@ -25,7 +25,7 @@ - + diff --git a/web/admin/landline/admin_landline_show.xhtml b/web/admin/landline/admin_landline_show.xhtml index dd860e22..ee7fe755 100644 --- a/web/admin/landline/admin_landline_show.xhtml +++ b/web/admin/landline/admin_landline_show.xhtml @@ -25,7 +25,7 @@ - + diff --git a/web/admin/mobile/admin_mobile_show.xhtml b/web/admin/mobile/admin_mobile_show.xhtml index fa622389..f4119d9d 100644 --- a/web/admin/mobile/admin_mobile_show.xhtml +++ b/web/admin/mobile/admin_mobile_show.xhtml @@ -25,7 +25,7 @@ - +