]> git.mxchange.org Git - jfinancials-war.git/commitdiff
updated jar(s)
authorRoland Häder <roland@mxchange.org>
Sat, 5 Aug 2017 13:39:55 +0000 (15:39 +0200)
committerRoland Häder <roland@mxchange.org>
Sat, 5 Aug 2017 14:56:03 +0000 (16:56 +0200)
Signed-off-by: Roland Häder <roland@mxchange.org>
lib/jcontacts-core.jar
src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsAdminContactPhoneWebRequestBean.java
src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionBean.java
src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperBean.java
src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java
src/java/org/mxchange/jfinancials/beans/user/FinancialsAdminUserWebRequestBean.java
src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java
src/java/org/mxchange/jfinancials/beans/user/confirmlink/FinancialsConfirmationLinkWebRequestBean.java

index cc784e847746496bf43a5958662382e959948c7a..6a65754310366e7309c5ac5f9a7959c91d865d1d 100644 (file)
Binary files a/lib/jcontacts-core.jar and b/lib/jcontacts-core.jar differ
index 828aa197debd6d37e0258cb0533a9ae046189924..ebded58c48036c1e37c66530ede66a779a9092db 100644 (file)
@@ -17,6 +17,7 @@
 package org.mxchange.jfinancials.beans.contact.phone;
 
 import java.text.MessageFormat;
+import java.util.Calendar;
 import javax.annotation.PostConstruct;
 import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Event;
@@ -30,6 +31,7 @@ import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import org.mxchange.jcontacts.contact.Contact;
 import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent;
+import org.mxchange.jcontacts.events.contact.helper.created.ObservableHelperCreatedContactEvent;
 import org.mxchange.jcontacts.events.contact.update.ObservableAdminUpdatedContactEvent;
 import org.mxchange.jcontacts.events.fax.linked.AdminLinkedFaxNumberEvent;
 import org.mxchange.jcontacts.events.fax.linked.ObservableAdminLinkedFaxNumberEvent;
@@ -48,6 +50,7 @@ import org.mxchange.jcountry.data.Country;
 import org.mxchange.jfinancials.beans.BaseFinancialsController;
 import org.mxchange.jfinancials.beans.helper.FinancialsWebRequestHelperController;
 import org.mxchange.jfinancials.beans.phone.FinancialsAdminPhoneWebRequestController;
+import org.mxchange.jphone.events.mobile.created.ObservableHelperCreatedMobileNumberEvent;
 import org.mxchange.jphone.exceptions.PhoneNumberAlreadyLinkedException;
 import org.mxchange.jphone.exceptions.PhoneNumberNotLinkedException;
 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
@@ -58,6 +61,8 @@ import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
 import org.mxchange.jphone.phonenumbers.mobile.MobileNumber;
 import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider;
 import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent;
+import org.mxchange.jphone.events.landline.created.ObservableCreatedLandLineNumberEvent;
+import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent;
 
 /**
  * An administrative contact phone controller (bean)
@@ -78,6 +83,11 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
         */
        private static final long serialVersionUID = 542_145_347_916L;
 
+       /**
+        * Administrative EJB for phone number
+        */
+       private AdminContactsPhoneSessionBeanRemote adminContactPhoneBean;
+
        /**
         * Event being fired when a fax number has been linked
         */
@@ -99,11 +109,6 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
        @Any
        private Event<ObservableAdminLinkedMobileNumberEvent> adminLinkedMobileNumberEvent;
 
-       /**
-        * Administrative EJB for phone number
-        */
-       private AdminContactsPhoneSessionBeanRemote adminPhoneBean;
-
        /**
         * Administrative phone controller
         */
@@ -117,25 +122,9 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
        private FinancialsWebRequestHelperController beanHelper;
 
        /**
-        * Event being fired when a fax number has been unlinked
-        */
-       @Inject
-       @Any
-       private Event<ObservableAdminUnlinkedFaxNumberEvent> faxNumberUnlinkedEvent;
-
-       /**
-        * Event being fired when a land-line number has been unlinked
+        * Contact instance
         */
-       @Inject
-       @Any
-       private Event<ObservableAdminUnlinkedLandLineNumberEvent> landLineNumberUnlinkedEvent;
-
-       /**
-        * Event being fired when admin unlinks mobile from contact
-        */
-       @Inject
-       @Any
-       private Event<ObservableAdminUnlinkedMobileNumberEvent> mobileNumberUnlinkedEvent;
+       private Contact contact;
 
        /**
         * Area code (city dial prefix) for fax number
@@ -152,6 +141,13 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
         */
        private Long faxNumber;
 
+       /**
+        * Event being fired when a fax number has been unlinked
+        */
+       @Inject
+       @Any
+       private Event<ObservableAdminUnlinkedFaxNumberEvent> faxNumberUnlinkedEvent;
+
        /**
         * Area code (city dial prefix) for land-line number
         */
@@ -168,15 +164,44 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
        private Long landLineNumber;
 
        /**
-        * Mobile provider
+        * Event being fired when a land-line number has been unlinked
         */
-       private MobileProvider mobileProvider;
+       @Inject
+       @Any
+       private Event<ObservableAdminUnlinkedLandLineNumberEvent> landLineNumberUnlinkedEvent;
 
        /**
         * Mobile number
         */
        private Long mobileNumber;
 
+       /**
+        * Event being fired when administrator unlinks mobile from contact
+        */
+       @Inject
+       @Any
+       private Event<ObservableAdminUnlinkedMobileNumberEvent> mobileNumberUnlinkedEvent;
+
+       /**
+        * Mobile provider
+        */
+       private MobileProvider mobileProvider;
+
+       /**
+        * When fax number has been created
+        */
+       private Calendar phoneEntryCreated;
+
+       /**
+        * When fax number has been updated
+        */
+       private Calendar phoneEntryUpdated;
+
+       /**
+        * Phone id (primary key)
+        */
+       private Long phoneId;
+
        /**
         * Default constructor
         */
@@ -264,6 +289,136 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                this.clear();
        }
 
+       /**
+        * 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::afterHelperCreatedContactEvent(): contact={0} - CALLED!", contact)); //NOI18N
+
+               // The event instance must be valid
+               if (null == event) {
+                       // Throw NPE again
+                       throw new NullPointerException("event is null"); //NOI18N
+               } else if (event.getCreatedContact() == null) {
+                       // Throw NPE again
+                       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("event.createdContact.contactId={0} is not valid.", event.getCreatedContact().getContactId())); //NOI18N
+               }
+
+               // Set it here
+               this.setContact(event.getCreatedContact());
+       }
+
+       /**
+        * 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 ObservableCreatedFaxNumberEvent 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.setFaxCountry(number.getPhoneCountry());
+               this.setFaxAreaCode(number.getPhoneAreaCode());
+               this.setFaxNumber(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 ObservableCreatedLandLineNumberEvent 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.setLandLineCountry(number.getPhoneCountry());
+               this.setLandLineAreaCode(number.getPhoneAreaCode());
+               this.setLandLineNumber(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.setMobileNumber(number.getPhoneNumber());
+               this.setPhoneEntryCreated(number.getPhoneEntryCreated());
+               this.setPhoneEntryUpdated(number.getPhoneEntryUpdated());
+       }
+
        /**
         * Links fax number to contact from bean helper as "main fax number".
         * <p>
@@ -271,18 +426,18 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
         */
        public String doLinkMainFaxNumber () {
                // Get contact from helper
-               Contact contact = this.beanHelper.getContact();
+               Contact targetContact = this.getContact();
 
                // Is all data properly set?
-               if (null == contact) {
+               if (null == targetContact) {
                        // Throw NPE
-                       throw new NullPointerException("contact is null"); //NOI18N
-               } else if (contact.getContactId() == null) {
+                       throw new NullPointerException("targetContact is null"); //NOI18N
+               } else if (targetContact.getContactId() == null) {
                        // Throw it again
-                       throw new NullPointerException("contact.contactId is null"); //NOI18N
-               } else if (contact.getContactId() < 1) {
+                       throw new NullPointerException("targetContact.contactId is null"); //NOI18N
+               } else if (targetContact.getContactId() < 1) {
                        // Is not valid
-                       throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N
+                       throw new IllegalArgumentException(MessageFormat.format("targetContact.contactId={0} is not valid", targetContact.getContactId())); //NOI18N
                } else if (this.getFaxCountry() == null) {
                        // Throw NPE again
                        throw new NullPointerException("this.faxCountry is null"); //NOI18N
@@ -313,7 +468,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                // Try it again
                try {
                        // Link it, too
-                       updatedContact = this.adminPhoneBean.linkNewFaxNumberWithContact(contact, number);
+                       updatedContact = this.adminContactPhoneBean.linkNewFaxNumberWithContact(targetContact, number);
                } catch (final PhoneNumberAlreadyLinkedException ex) {
                        // Throw again as cause
                        this.showFacesMessage("form_add_contact_fax:faxNumber", ex); //NOI18N
@@ -335,18 +490,18 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
         */
        public String doLinkMainLandLineNumber () {
                // Get contact from helper
-               Contact contact = this.beanHelper.getContact();
+               Contact targetContact = this.getContact();
 
                // Is all data properly set?
-               if (null == contact) {
+               if (null == targetContact) {
                        // Throw NPE
-                       throw new NullPointerException("contact is null"); //NOI18N
-               } else if (contact.getContactId() == null) {
+                       throw new NullPointerException("targetContact is null"); //NOI18N
+               } else if (targetContact.getContactId() == null) {
                        // Throw it again
-                       throw new NullPointerException("contact.contactId is null"); //NOI18N
-               } else if (contact.getContactId() < 1) {
+                       throw new NullPointerException("targetContact.contactId is null"); //NOI18N
+               } else if (targetContact.getContactId() < 1) {
                        // Is not valid
-                       throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N
+                       throw new IllegalArgumentException(MessageFormat.format("targetContact.contactId={0} is not valid", targetContact.getContactId())); //NOI18N
                } else if (this.getLandLineCountry() == null) {
                        // Throw NPE again
                        throw new NullPointerException("this.landLineCountry is null"); //NOI18N
@@ -377,7 +532,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                // Try it again
                try {
                        // Link it, too
-                       updatedContact = this.adminPhoneBean.linkNewLandLineNumberWithContact(contact, number);
+                       updatedContact = this.adminContactPhoneBean.linkNewLandLineNumberWithContact(targetContact, number);
                } catch (final PhoneNumberAlreadyLinkedException ex) {
                        // Throw again as cause
                        this.showFacesMessage("form_add_contact_landLine:landLineNumber", ex); //NOI18N
@@ -398,18 +553,18 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
         */
        public String doLinkMainMobileNumber () {
                // Get contact from helper
-               Contact contact = this.beanHelper.getContact();
+               Contact targetContact = this.getContact();
 
                // Is all data properly set?
-               if (null == contact) {
+               if (null == targetContact) {
                        // Throw NPE
-                       throw new NullPointerException("contact is null"); //NOI18N
-               } else if (contact.getContactId() == null) {
+                       throw new NullPointerException("targetContact is null"); //NOI18N
+               } else if (targetContact.getContactId() == null) {
                        // Throw it again
-                       throw new NullPointerException("contact.contactId is null"); //NOI18N
-               } else if (contact.getContactId() < 1) {
+                       throw new NullPointerException("targetContact.contactId is null"); //NOI18N
+               } else if (targetContact.getContactId() < 1) {
                        // Is not valid
-                       throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N
+                       throw new IllegalArgumentException(MessageFormat.format("targetContact.contactId={0} is not valid", targetContact.getContactId())); //NOI18N
                } else if (this.getMobileProvider() == null) {
                        // Throw NPE
                        throw new NullPointerException("this.mobileProvider is null"); //NOI18N
@@ -434,7 +589,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                // Try it again
                try {
                        // Link it, too
-                       updatedContact = this.adminPhoneBean.linkNewMobileNumberWithContact(contact, number);
+                       updatedContact = this.adminContactPhoneBean.linkNewMobileNumberWithContact(targetContact, number);
                } catch (final PhoneNumberAlreadyLinkedException ex) {
                        // Throw again as cause
                        this.showFacesMessage("form_add_contact_mobile:mobileNumber", ex); //NOI18N
@@ -448,6 +603,24 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                return "admin_show_contact"; //NOI18N
        }
 
+       /**
+        * Getter for contact instance
+        * <p>
+        * @return Contact instance
+        */
+       public Contact getContact () {
+               return this.contact;
+       }
+
+       /**
+        * Setter for contact instance
+        * <p>
+        * @param contact Contact instance
+        */
+       public void setContact (final Contact contact) {
+               this.contact = contact;
+       }
+
        /**
         * Getter for fax area code
         * <p>
@@ -556,6 +729,24 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                this.landLineNumber = landLineNumber;
        }
 
+       /**
+        * Getter for mobile number
+        * <p>
+        * @return Mobile number
+        */
+       public Long getMobileNumber () {
+               return this.mobileNumber;
+       }
+
+       /**
+        * Setter for mobile number
+        * <p>
+        * @param mobileNumber Mobile number
+        */
+       public void setMobileNumber (final Long mobileNumber) {
+               this.mobileNumber = mobileNumber;
+       }
+
        /**
         * Getter for mobile provider
         * <p>
@@ -575,21 +766,21 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
        }
 
        /**
-        * Getter for mobile number
+        * Setter for phone id
         * <p>
-        * @return Mobile number
+        * @return Phone id
         */
-       public Long getMobileNumber () {
-               return this.mobileNumber;
+       public Long getPhoneId () {
+               return this.phoneId;
        }
 
        /**
-        * Setter for mobile number
+        * Getter for phone id
         * <p>
-        * @param mobileNumber Mobile number
+        * @param phoneId Phone id
         */
-       public void setMobileNumber (final Long mobileNumber) {
-               this.mobileNumber = mobileNumber;
+       public void setPhoneId (final Long phoneId) {
+               this.phoneId = phoneId;
        }
 
        /**
@@ -603,7 +794,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                        Context context = new InitialContext();
 
                        // Try to lookup the beans
-                       this.adminPhoneBean = (AdminContactsPhoneSessionBeanRemote) context.lookup("java:global/jfinancials-ejb/adminContactPhone!org.mxchange.jcontacts.phone.AdminContactsPhoneSessionBeanRemote"); //NOI18N
+                       this.adminContactPhoneBean = (AdminContactsPhoneSessionBeanRemote) context.lookup("java:global/jfinancials-ejb/adminContactPhone!org.mxchange.jcontacts.phone.AdminContactsPhoneSessionBeanRemote"); //NOI18N
                } catch (final NamingException e) {
                        // Throw again
                        throw new FaceletException(e);
@@ -616,31 +807,34 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
         * @return Redirect outcome
         */
        public String unlinkFaxContactData () {
+               // Create fax number instance
+               DialableFaxNumber number = this.createFaxNumber();
+
                // Is all data set
-               if (this.beanHelper.getFaxNumber() == null) {
+               if (number == null) {
                        // Not set, throw NPE
-                       throw new NullPointerException("this.beanHelper.faxNumber is null"); //NOI18N
-               } else if (this.beanHelper.getFaxNumber().getPhoneId() == null) {
+                       throw new NullPointerException("number is null"); //NOI18N
+               } else if (number.getPhoneId() == null) {
                        // Throw NPE again
-                       throw new NullPointerException("this.beanHelper.faxNumber.phoneId is null"); //NOI18N
-               } else if (this.beanHelper.getFaxNumber().getPhoneId() < 1) {
+                       throw new NullPointerException("number.phoneId is null"); //NOI18N
+               } else if (number.getPhoneId() < 1) {
                        // Invalid number
-                       throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.faxNumber.phoneId={0} is not valid", this.beanHelper.getFaxNumber().getPhoneId())); //NOI18N
-               } else if (this.beanHelper.getFaxNumber().getPhoneNumber() == null) {
+                       throw new IllegalArgumentException(MessageFormat.format("number.phoneId={0} is not valid", number.getPhoneId())); //NOI18N
+               } else if (number.getPhoneNumber() == null) {
                        // Throw NPE again
-                       throw new NullPointerException("this.beanHelper.faxNumber.phoneNumber is null"); //NOI18N
-               } else if (this.beanHelper.getFaxNumber().getPhoneNumber() < 1) {
+                       throw new NullPointerException("number.phoneNumber is null"); //NOI18N
+               } else if (number.getPhoneNumber() < 1) {
                        // Throw it again ...
-                       throw new NullPointerException(MessageFormat.format("this.beanHelper.faxNumber.phoneNumber={0} is not valid.", this.beanHelper.getFaxNumber().getPhoneNumber())); //NOI18N
-               } else if (this.beanHelper.getContact() == null) {
+                       throw new NullPointerException(MessageFormat.format("number.phoneNumber={0} is not valid.", number.getPhoneNumber())); //NOI18N
+               } else if (this.getContact() == null) {
                        // ... and throw again
-                       throw new NullPointerException("this.beanHelper.contact is null"); //NOI18N
-               } else if (this.beanHelper.getContact().getContactId() == null) {
+                       throw new NullPointerException("this.contact is null"); //NOI18N
+               } else if (this.getContact().getContactId() == null) {
                        // ... and again ...
-                       throw new NullPointerException("this.beanHelper.contact.contactId is null"); //NOI18N
-               } else if (this.beanHelper.getContact().getContactId() < 1) {
+                       throw new NullPointerException("this.contact.contactId is null"); //NOI18N
+               } else if (this.getContact().getContactId() < 1) {
                        // Invalid id number
-                       throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.contact.contactId={0} is invalid.", this.beanHelper.getContact().getContactId())); //NOI18N
+                       throw new IllegalArgumentException(MessageFormat.format("this.contact.contactId={0} is invalid.", this.getContact().getContactId())); //NOI18N
                }
 
                // Init contact instance
@@ -648,7 +842,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
 
                try {
                        // Unlink it and return contact without fax instance
-                       updatedContact = this.adminPhoneBean.unlinkFaxDataFromContact(this.beanHelper.getContact(), this.beanHelper.getFaxNumber());
+                       updatedContact = this.adminContactPhoneBean.unlinkFaxDataFromContact(this.getContact(), number);
                } catch (final PhoneNumberNotLinkedException ex) {
                        // Did not work
                        this.showFacesMessage("form_unlink_contact_fax:faxNumberId", ex); //NOI18N
@@ -656,7 +850,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                }
 
                // Fire event
-               this.faxNumberUnlinkedEvent.fire(new AdminUnlinkedFaxNumberEvent(updatedContact, this.beanHelper.getFaxNumber()));
+               this.faxNumberUnlinkedEvent.fire(new AdminUnlinkedFaxNumberEvent(updatedContact, number));
 
                // All fine here
                return "admin_show_contact"; //NOI18N
@@ -668,31 +862,34 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
         * @return Redirect outcome
         */
        public String unlinkLandLineContactData () {
+               // Create fax number instance
+               DialableLandLineNumber number = this.createLandLineNumber();
+
                // Is all data set
-               if (this.beanHelper.getLandLineNumber() == null) {
+               if (number == null) {
                        // Not set, throw NPE
-                       throw new NullPointerException("this.beanHelper.landLineNumber is null"); //NOI18N
-               } else if (this.beanHelper.getLandLineNumber().getPhoneId() == null) {
+                       throw new NullPointerException("number is null"); //NOI18N
+               } else if (number.getPhoneId() == null) {
                        // Throw NPE again
-                       throw new NullPointerException("this.beanHelper.landLineNumber.phoneId is null"); //NOI18N
-               } else if (this.beanHelper.getLandLineNumber().getPhoneId() < 1) {
+                       throw new NullPointerException("number.phoneId is null"); //NOI18N
+               } else if (number.getPhoneId() < 1) {
                        // Invalid number
-                       throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.landLineNumber.phoneId={0} is not valid", this.beanHelper.getLandLineNumber().getPhoneId())); //NOI18N
-               } else if (this.beanHelper.getLandLineNumber().getPhoneNumber() == null) {
+                       throw new IllegalArgumentException(MessageFormat.format("number.phoneId={0} is not valid", number.getPhoneId())); //NOI18N
+               } else if (number.getPhoneNumber() == null) {
                        // Throw NPE again
-                       throw new NullPointerException("this.beanHelper.landLineNumber.phoneNumber is null"); //NOI18N
-               } else if (this.beanHelper.getLandLineNumber().getPhoneNumber() < 1) {
+                       throw new NullPointerException("number.phoneNumber is null"); //NOI18N
+               } else if (number.getPhoneNumber() < 1) {
                        // Throw it again ...
-                       throw new NullPointerException(MessageFormat.format("this.beanHelper.landLineNumber.phoneNumber={0} is not valid.", this.beanHelper.getLandLineNumber().getPhoneNumber())); //NOI18N
-               } else if (this.beanHelper.getContact() == null) {
+                       throw new NullPointerException(MessageFormat.format("number.phoneNumber={0} is not valid.", number.getPhoneNumber())); //NOI18N
+               } else if (this.getContact() == null) {
                        // ... and throw again
-                       throw new NullPointerException("this.beanHelper.contact is null"); //NOI18N
-               } else if (this.beanHelper.getContact().getContactId() == null) {
+                       throw new NullPointerException("this.contact is null"); //NOI18N
+               } else if (this.getContact().getContactId() == null) {
                        // ... and again ...
-                       throw new NullPointerException("this.beanHelper.contact.contactId is null"); //NOI18N
-               } else if (this.beanHelper.getContact().getContactId() < 1) {
+                       throw new NullPointerException("this.contact.contactId is null"); //NOI18N
+               } else if (this.getContact().getContactId() < 1) {
                        // Invalid id number
-                       throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.contact.contactId={0} is invalid.", this.beanHelper.getContact().getContactId())); //NOI18N
+                       throw new IllegalArgumentException(MessageFormat.format("this.contact.contactId={0} is invalid.", this.getContact().getContactId())); //NOI18N
                }
 
                // Init contact instance
@@ -700,7 +897,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
 
                try {
                        // Unlink it and return contact without landLine instance
-                       updatedContact = this.adminPhoneBean.unlinkLandLineDataFromContact(this.beanHelper.getContact(), this.beanHelper.getLandLineNumber());
+                       updatedContact = this.adminContactPhoneBean.unlinkLandLineDataFromContact(this.getContact(), number);
                } catch (final PhoneNumberNotLinkedException ex) {
                        // Did not work
                        this.showFacesMessage("form_unlink_contact_landLine:landLineNumberId", ex); //NOI18N
@@ -708,7 +905,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                }
 
                // Fire event
-               this.landLineNumberUnlinkedEvent.fire(new AdminUnlinkedLandLineNumberEvent(updatedContact, this.beanHelper.getLandLineNumber()));
+               this.landLineNumberUnlinkedEvent.fire(new AdminUnlinkedLandLineNumberEvent(updatedContact, number));
 
                // All fine here
                return "admin_show_contact"; //NOI18N
@@ -720,40 +917,43 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
         * @return Redirect outcome
         */
        public String unlinkMobileContactData () {
+               // Create fax number instance
+               DialableMobileNumber number = this.createMobileNumber();
+
                // Is all data set
-               if (this.beanHelper.getMobileNumber() == null) {
+               if (number == null) {
                        // Not set, throw NPE
-                       throw new NullPointerException("this.beanHelper.mobileNumber is null"); //NOI18N
-               } else if (this.beanHelper.getMobileNumber().getPhoneId() == null) {
+                       throw new NullPointerException("number is null"); //NOI18N
+               } else if (number.getPhoneId() == null) {
                        // Throw NPE again
-                       throw new NullPointerException("this.beanHelper.mobileNumber.phoneId is null"); //NOI18N
-               } else if (this.beanHelper.getMobileNumber().getPhoneId() < 1) {
+                       throw new NullPointerException("number.phoneId is null"); //NOI18N
+               } else if (number.getPhoneId() < 1) {
                        // Invalid number
-                       throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.mobileNumber.phoneId={0} is not valid", this.beanHelper.getMobileNumber().getPhoneId())); //NOI18N
-               } else if (this.beanHelper.getMobileNumber().getMobileProvider() == null) {
+                       throw new IllegalArgumentException(MessageFormat.format("number.phoneId={0} is not valid", number.getPhoneId())); //NOI18N
+               } else if (number.getMobileProvider() == null) {
                        // Throw NPE
-                       throw new NullPointerException("this.beanHelper.mobileNumber.mobileProvider is null"); //NOI18N
-               } else if (this.beanHelper.getMobileNumber().getMobileProvider().getProviderId() == null) {
+                       throw new NullPointerException("number.mobileProvider is null"); //NOI18N
+               } else if (number.getMobileProvider().getProviderId() == null) {
                        // ... throw again
-                       throw new NullPointerException("this.beanHelper.mobileNumber.mobileProvider.providerId is null"); //NOI18N
-               } else if (this.beanHelper.getMobileNumber().getMobileProvider().getProviderId() < 1) {
+                       throw new NullPointerException("number.mobileProvider.providerId is null"); //NOI18N
+               } else if (number.getMobileProvider().getProviderId() < 1) {
                        // Id not valid
-                       throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.mobileNumber.mobileProvider.providerId={0} is not valid.", this.beanHelper.getMobileNumber().getMobileProvider().getProviderId())); //NOI18N
-               } else if (this.beanHelper.getMobileNumber().getPhoneNumber() == null) {
+                       throw new IllegalArgumentException(MessageFormat.format("number.mobileProvider.providerId={0} is not valid.", number.getMobileProvider().getProviderId())); //NOI18N
+               } else if (number.getPhoneNumber() == null) {
                        // Throw NPE again
-                       throw new NullPointerException("this.beanHelper.mobileNumber.phoneNumber is null"); //NOI18N
-               } else if (this.beanHelper.getMobileNumber().getPhoneNumber() < 1) {
+                       throw new NullPointerException("number.phoneNumber is null"); //NOI18N
+               } else if (number.getPhoneNumber() < 1) {
                        // Throw it again ...
-                       throw new NullPointerException(MessageFormat.format("this.beanHelper.mobileNumber.phoneNumber={0} is not valid.", this.beanHelper.getMobileNumber().getPhoneNumber())); //NOI18N
-               } else if (this.beanHelper.getContact() == null) {
+                       throw new NullPointerException(MessageFormat.format("number.phoneNumber={0} is not valid.", number.getPhoneNumber())); //NOI18N
+               } else if (this.getContact() == null) {
                        // ... and throw again
-                       throw new NullPointerException("this.beanHelper.contact is null"); //NOI18N
-               } else if (this.beanHelper.getContact().getContactId() == null) {
+                       throw new NullPointerException("this.contact is null"); //NOI18N
+               } else if (this.getContact().getContactId() == null) {
                        // ... and again ...
-                       throw new NullPointerException("this.beanHelper.contact.contactId is null"); //NOI18N
-               } else if (this.beanHelper.getContact().getContactId() < 1) {
+                       throw new NullPointerException("this.contact.contactId is null"); //NOI18N
+               } else if (this.getContact().getContactId() < 1) {
                        // Invalid id number
-                       throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.contact.contactId={0} is invalid.", this.beanHelper.getContact().getContactId())); //NOI18N
+                       throw new IllegalArgumentException(MessageFormat.format("this.contact.contactId={0} is invalid.", this.getContact().getContactId())); //NOI18N
                }
 
                // Init contact instance
@@ -761,7 +961,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
 
                try {
                        // Unlink it and return contact without mobile instance
-                       updatedContact = this.adminPhoneBean.unlinkMobileDataFromContact(this.beanHelper.getContact(), this.beanHelper.getMobileNumber());
+                       updatedContact = this.adminContactPhoneBean.unlinkMobileDataFromContact(this.getContact(), number);
                } catch (final PhoneNumberNotLinkedException ex) {
                        // Did not work
                        this.showFacesMessage("form_unlink_contact_mobile:mobileNumberId", ex); //NOI18N
@@ -769,7 +969,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                }
 
                // Fire event
-               this.mobileNumberUnlinkedEvent.fire(new AdminUnlinkedMobileNumberEvent(updatedContact, this.beanHelper.getMobileNumber()));
+               this.mobileNumberUnlinkedEvent.fire(new AdminUnlinkedMobileNumberEvent(updatedContact, number));
 
                // All fine here
                return "admin_show_contact"; //NOI18N
@@ -782,4 +982,115 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon
                // Clear all data
        }
 
+       /**
+        * Creates an instance of a DialableFaxNumber class
+        * <p>
+        * @return DialableFaxNumber class
+        */
+       private DialableFaxNumber createFaxNumber () {
+               // Instanciate it
+               DialableFaxNumber number = new FaxNumber(this.getFaxCountry(), this.getFaxAreaCode(), this.getFaxNumber());
+
+               // Set all other fields
+               number.setPhoneEntryCreated(this.getPhoneEntryCreated());
+               number.setPhoneEntryUpdated(this.getPhoneEntryUpdated());
+
+               // Is id number there?
+               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.getLandLineCountry(), this.getLandLineAreaCode(), this.getLandLineNumber());
+
+               // 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.getMobileNumber());
+
+               // 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;
+       }
+
+       /**
+        * Getter for phone entry created
+        * <p>
+        * @param faxNumberEntryCreated Phone entry created
+        */
+       @SuppressWarnings ("ReturnOfDateField")
+       private Calendar getPhoneEntryCreated () {
+               return this.phoneEntryCreated;
+       }
+
+       /**
+        * Setter for phone entry created
+        * <p>
+        * @param phoneEntryCreated Phone entry created
+        */
+       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
+       private void setPhoneEntryCreated (final Calendar phoneEntryCreated) {
+               this.phoneEntryCreated = phoneEntryCreated;
+       }
+
+       /**
+        * Getter for phone entry updated
+        * <p>
+        * @return Phone entry updated
+        */
+       @SuppressWarnings ("ReturnOfDateField")
+       private Calendar getPhoneEntryUpdated () {
+               return this.phoneEntryUpdated;
+       }
+
+       /**
+        * Setter for phone entry updated
+        * <p>
+        * @param phoneEntryUpdated Phone entry updated
+        */
+       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
+       private void setPhoneEntryUpdated (final Calendar phoneEntryUpdated) {
+               this.phoneEntryUpdated = phoneEntryUpdated;
+       }
+
 }
index 0e456a3d2b3f39a6ac6fe593e40c44420037648b..b6f940c0ceee9d6ac8a8e5404296f340639d5b9d 100644 (file)
@@ -35,11 +35,14 @@ import org.mxchange.jcontacts.events.mobile.unlinked.ObservableAdminUnlinkedMobi
 import org.mxchange.jfinancials.beans.BaseFinancialsController;
 import org.mxchange.jfinancials.beans.contact.FinancialsContactWebSessionController;
 import org.mxchange.jfinancials.beans.helper.FinancialsWebRequestHelperController;
+import org.mxchange.jphone.events.mobile.created.ObservableHelperCreatedMobileNumberEvent;
 import org.mxchange.jphone.phonenumbers.DialableNumber;
 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.events.user.add.ObservableAdminAddedUserEvent;
+import org.mxchange.jphone.events.landline.created.ObservableCreatedLandLineNumberEvent;
+import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent;
 
 /**
  * A general contact bean (controller)
@@ -74,6 +77,21 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll
         */
        private final Map<DialableNumber, List<Contact>> contacts;
 
+       /**
+        * fax number
+        */
+       private DialableFaxNumber faxNumber;
+
+       /**
+        * land-line number
+        */
+       private DialableLandLineNumber landLineNumber;
+
+       /**
+        * Chosen mobile number
+        */
+       private DialableMobileNumber mobileNumber;
+
        /**
         * Default constructor
         */
@@ -245,6 +263,84 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll
                this.clear();
        }
 
+       /**
+        * 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 ObservableCreatedFaxNumberEvent 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
+               }
+
+               // Set it here
+               this.setFaxNumber(event.getFaxNumber());
+       }
+
+       /**
+        * 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 ObservableCreatedLandLineNumberEvent 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
+               }
+
+               // Set it here
+               this.setLandLineNumber(event.getLandLineNumber());
+       }
+
+       /**
+        * 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
+               }
+
+               // Set it here
+               this.setMobileNumber(event.getMobileNumber());
+       }
+
        /**
         * Getter for all contacts having current fax number linked
         * <p>
@@ -252,12 +348,12 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll
         */
        public List<Contact> allCurrentFaxNumberContacts () {
                // Get id
-               DialableFaxNumber faxNumber = this.beanHelper.getFaxNumber();
+               DialableFaxNumber number = this.getFaxNumber();
 
                // Is cache there?
-               if (this.contacts.containsKey(faxNumber)) {
+               if (this.contacts.containsKey(number)) {
                        // Return cached version
-                       return this.contacts.get(faxNumber);
+                       return this.contacts.get(number);
                } else {
                        // Ask bean
                        List<Contact> list = new LinkedList<>();
@@ -265,14 +361,14 @@ 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(), faxNumber)) {
+                               if (Objects.equals(contact.getContactFaxNumber(), number)) {
                                        // Found one
                                        list.add(contact);
                                }
                        }
 
                        // Store result in cache
-                       this.contacts.put(faxNumber, list);
+                       this.contacts.put(number, list);
 
                        // Return now-cached list
                        return list;
@@ -286,12 +382,12 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll
         */
        public List<Contact> allCurrentLandLineNumberContacts () {
                // Get id
-               DialableLandLineNumber landLineNumber = this.beanHelper.getLandLineNumber();
+               DialableLandLineNumber number = this.getLandLineNumber();
 
                // Is cache there?
-               if (this.contacts.containsKey(landLineNumber)) {
+               if (this.contacts.containsKey(number)) {
                        // Return cached version
-                       return this.contacts.get(landLineNumber);
+                       return this.contacts.get(number);
                } else {
                        // Ask bean
                        List<Contact> list = new LinkedList<>();
@@ -299,14 +395,14 @@ 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(), landLineNumber)) {
+                               if (Objects.equals(contact.getContactLandLineNumber(), number)) {
                                        // Found one
                                        list.add(contact);
                                }
                        }
 
                        // Store result in cache
-                       this.contacts.put(landLineNumber, list);
+                       this.contacts.put(number, list);
 
                        // Return now-cached list
                        return list;
@@ -320,12 +416,12 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll
         */
        public List<Contact> allCurrentMobileNumberContacts () {
                // Get id
-               DialableMobileNumber mobileNumber = this.beanHelper.getMobileNumber();
+               DialableMobileNumber number = this.getMobileNumber();
 
                // Is cache there?
-               if (this.contacts.containsKey(mobileNumber)) {
+               if (this.contacts.containsKey(number)) {
                        // Return cached version
-                       return this.contacts.get(mobileNumber);
+                       return this.contacts.get(number);
                } else {
                        // Ask bean
                        List<Contact> list = new LinkedList<>();
@@ -333,20 +429,74 @@ 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(), mobileNumber)) {
+                               if (Objects.equals(contact.getContactMobileNumber(), number)) {
                                        // Found one
                                        list.add(contact);
                                }
                        }
 
                        // Store result in cache
-                       this.contacts.put(mobileNumber, list);
+                       this.contacts.put(number, list);
 
                        // Return now-cached list
                        return list;
                }
        }
 
+       /**
+        * Getter for chosen fax number
+        * <p>
+        * @return fax number
+        */
+       public DialableFaxNumber getFaxNumber () {
+               return this.faxNumber;
+       }
+
+       /**
+        * Setter for chosen fax number
+        * <p>
+        * @param faxNumber fax number
+        */
+       public void setFaxNumber (final DialableFaxNumber faxNumber) {
+               this.faxNumber = faxNumber;
+       }
+
+       /**
+        * Getter for chosen land-line number
+        * <p>
+        * @return land-line number
+        */
+       public DialableLandLineNumber getLandLineNumber () {
+               return this.landLineNumber;
+       }
+
+       /**
+        * Setter for chosen land-line number
+        * <p>
+        * @param landLineNumber land-line number
+        */
+       public void setLandLineNumber (final DialableLandLineNumber landLineNumber) {
+               this.landLineNumber = landLineNumber;
+       }
+
+       /**
+        * Getter for chosen mobile number
+        * <p>
+        * @return mobile number
+        */
+       public DialableMobileNumber getMobileNumber () {
+               return this.mobileNumber;
+       }
+
+       /**
+        * Setter for chosen mobile number
+        * <p>
+        * @param mobileNumber mobile number
+        */
+       public void setMobileNumber (final DialableMobileNumber mobileNumber) {
+               this.mobileNumber = mobileNumber;
+       }
+
        /**
         * Clears this bean
         */
index defc264da19b37105fb00345e49db998355c3896..4eb13abd227d32baca2c8304171d64c7d7a55e25 100644 (file)
@@ -30,18 +30,18 @@ import org.mxchange.jfinancials.beans.contact.FinancialsAdminContactWebRequestCo
 import org.mxchange.jfinancials.beans.phone.FinancialsAdminPhoneWebRequestController;
 import org.mxchange.jfinancials.beans.user.FinancialsAdminUserWebRequestController;
 import org.mxchange.jfinancials.beans.user.FinancialsUserWebSessionController;
-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;
-import org.mxchange.jphone.events.helper.landline.created.ObservableHelperCreatedLandLineNumberEvent;
-import org.mxchange.jphone.events.helper.mobile.created.HelperCreatedMobileNumberEvent;
-import org.mxchange.jphone.events.helper.mobile.created.ObservableHelperCreatedMobileNumberEvent;
+import org.mxchange.jphone.events.fax.created.CreatedFaxNumberEvent;
+import org.mxchange.jphone.events.landline.created.CreatedLandLineNumberEvent;
+import org.mxchange.jphone.events.mobile.created.HelperCreatedMobileNumberEvent;
+import org.mxchange.jphone.events.mobile.created.ObservableHelperCreatedMobileNumberEvent;
 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.events.user.helper.created.HelperCreatedUserEvent;
-import org.mxchange.jusercore.events.user.helper.created.ObservableHelperCreatedUserEvent;
+import org.mxchange.jusercore.events.user.created.CreatedUserEvent;
 import org.mxchange.jusercore.model.user.User;
+import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent;
+import org.mxchange.jphone.events.landline.created.ObservableCreatedLandLineNumberEvent;
+import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent;
 
 /**
  * A general helper for beans
@@ -102,7 +102,7 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp
         */
        @Any
        @Inject
-       private Event<ObservableHelperCreatedFaxNumberEvent> faxNumberCreatedEvent;
+       private Event<ObservableCreatedFaxNumberEvent> faxNumberCreatedEvent;
 
        /**
         * Land-line number
@@ -114,7 +114,7 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp
         */
        @Any
        @Inject
-       private Event<ObservableHelperCreatedLandLineNumberEvent> landLineNumberCreatedEvent;
+       private Event<ObservableCreatedLandLineNumberEvent> landLineNumberCreatedEvent;
 
        /**
         * Mobile number
@@ -144,7 +144,7 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp
         */
        @Any
        @Inject
-       private Event<ObservableHelperCreatedUserEvent> userCreatedEvent;
+       private Event<ObservableCreatedUserEvent> userCreatedEvent;
 
        /**
         * Default constructor
@@ -152,18 +152,142 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp
        public FinancialsWebRequestHelperBean () {
                // Call super constructor
                super();
+       }
 
-               // String caller = MessageFormat.format("{0}.{1}", Thread.currentThread().getStackTrace()[3].getClassName(), Thread.currentThread().getStackTrace()[3].getMethodName());
-               // System.out.println(MessageFormat.format("{0}: Constructed, caller: {1}", this.getClass().getSimpleName(), caller));
+       /**
+        * Getter for contact instance
+        * <p>
+        * @return Contact instance
+        */
+       public Contact getContact () {
+               return this.contact;
        }
 
        /**
-        * Copies currently set contact instances data to adminContactController
+        * Setter for contact instance
+        * <p>
+        * @param contact Contact instance
         */
-       public void copyContactToController () {
+       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}.copyContactToController: CALLED, caller: {2}", this.getClass().getSimpleName(), this.contact, caller));
+               // System.out.println(MessageFormat.format("{0}: Setting contact={1}, previous: {2}, caller: {3}", this.getClass().getSimpleName(), contact, this.contact, caller));
+               this.contact = contact;
+       }
+
+       /**
+        * 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) {
+                       // Throw NPE
+                       throw new NullPointerException("contact is null"); //NOI18N
+               } else if (contact.getContactId() == null) {
+                       // Throw again ...
+                       throw new NullPointerException("contact.contactId is null"); //NOI18N
+               } else if (contact.getContactId() < 1) {
+                       // Not valid
+                       throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N
+               }
+
+               // Default key is "unused"
+               String messageKey = "CONTACT_IS_UNUSED"; //NOI18N
+
+               // Check user contact
+               boolean isUserContact = this.userController.isContactFound(contact);
+
+               // Check user first
+               if (isUserContact) {
+                       // Only user
+                       messageKey = "CONTACT_IS_USER"; //NOI18N
+               }
+
+               // Return message key
+               return messageKey;
+       }
+
+       /**
+        * Getter for dialable fax number
+        * <p>
+        * @return Dialable fax number
+        */
+       public DialableFaxNumber getFaxNumber () {
+               return this.faxNumber;
+       }
+
+       /**
+        * Setter for dialable fax number
+        * <p>
+        * @param faxNumber Dialable fax number
+        */
+       public void setFaxNumber (final DialableFaxNumber faxNumber) {
+               this.faxNumber = faxNumber;
+       }
+
+       /**
+        * Getter for dialable land-line number
+        * <p>
+        * @return Dialable land-line number
+        */
+       public DialableLandLineNumber getLandLineNumber () {
+               return this.landLineNumber;
+       }
+
+       /**
+        * Setter for dialable land-line number
+        * <p>
+        * @param landLineNumber Dialable land-line number
+        */
+       public void setLandLineNumber (final DialableLandLineNumber landLineNumber) {
+               this.landLineNumber = landLineNumber;
+       }
+
+       /**
+        * Getter for dialable mobile number
+        * <p>
+        * @return Dialable mobile number
+        */
+       public DialableMobileNumber getMobileNumber () {
+               return this.mobileNumber;
+       }
+
+       /**
+        * Setter for dialable mobile number
+        * <p>
+        * @param mobileNumber Dialable mobile number
+        */
+       public void setMobileNumber (final DialableMobileNumber mobileNumber) {
+               this.mobileNumber = mobileNumber;
+       }
+
+       /**
+        * Getter for user instance
+        * <p>
+        * @return User instance
+        */
+       public User getUser () {
+               return this.user;
+       }
+
+       /**
+        * Setter for user instance
+        * <p>
+        * @param user User instance
+        */
+       public void setUser (final User user) {
+               this.user = user;
+       }
 
+       /**
+        * Notifies other controllers (backing beans) if a contact id has been
+        * successfully converted to a Contact instance.
+        */
+       public void notifyControllerContactConverted () {
                // Validate contact instance
                if (this.getContact() == null) {
                        // Throw NPE
@@ -184,9 +308,10 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp
        }
 
        /**
-        * Copies currently set fax number's data to admin phone controller
+        * Notifies other controllers (backing beans) if a phone id has been
+        * successfully converted to a DialableFaxNumber instance.
         */
-       public void copyFaxNumberToController () {
+       public void notifyControllerFaxNumberConverted () {
                // Validate fax instance
                if (this.getFaxNumber() == null) {
                        // Throw NPE
@@ -221,13 +346,14 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp
                }
 
                // Fire event
-               this.faxNumberCreatedEvent.fire(new HelperCreatedFaxNumberEvent(this.getFaxNumber()));
+               this.faxNumberCreatedEvent.fire(new CreatedFaxNumberEvent(this.getFaxNumber()));
        }
 
        /**
-        * Copies currently set land-line number's data to admin phone controller
+        * Notifies other controllers (backing beans) if a phone id has been
+        * successfully converted to a DialableLandLineNumber instance.
         */
-       public void copyLandLineNumberToController () {
+       public void notifyControllerLandLineNumberConverted () {
                // Validate land-line instance
                if (this.getLandLineNumber() == null) {
                        // Throw NPE
@@ -262,13 +388,14 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp
                }
 
                // Fire event
-               this.landLineNumberCreatedEvent.fire(new HelperCreatedLandLineNumberEvent(this.getLandLineNumber()));
+               this.landLineNumberCreatedEvent.fire(new CreatedLandLineNumberEvent(this.getLandLineNumber()));
        }
 
        /**
-        * Copies currently set mobile number's data to admin phone controller
+        * Notifies other controllers (backing beans) if a phone id has been
+        * successfully converted to a DialableMobileNumber instance.
         */
-       public void copyMobileNumberToController () {
+       public void notifyControllerMobileNumberConverted () {
                // Validate mobile instance
                if (this.getMobileNumber() == null) {
                        // Throw NPE
@@ -301,12 +428,10 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp
        }
 
        /**
-        * Copies currently set user instances data to adminUserController
+        * Notifies other controllers (backing beans) if a user id has been
+        * successfully converted to a User instance.
         */
-       public void copyUserToController () {
-               // Log message
-               //* NOISY-DEBUG: */ System.out.println("AdminHelper::copyUserToController - CALLED!"); //NOI18N
-
+       public void notifyControllerUserConverted () {
                // Validate user instance
                if (this.getUser() == null) {
                        // Throw NPE
@@ -329,136 +454,7 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp
                this.setPhoneInstances(userContact);
 
                // Fire event
-               this.userCreatedEvent.fire(new HelperCreatedUserEvent(this.getUser()));
-       }
-
-       /**
-        * Getter for contact instance
-        * <p>
-        * @return Contact instance
-        */
-       public Contact getContact () {
-               return this.contact;
-       }
-
-       /**
-        * 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;
-       }
-
-       /**
-        * 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) {
-                       // Throw NPE
-                       throw new NullPointerException("contact is null"); //NOI18N
-               } else if (contact.getContactId() == null) {
-                       // Throw again ...
-                       throw new NullPointerException("contact.contactId is null"); //NOI18N
-               } else if (contact.getContactId() < 1) {
-                       // Not valid
-                       throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N
-               }
-
-               // Default key is "unused"
-               String messageKey = "CONTACT_IS_UNUSED"; //NOI18N
-
-               // Check user contact
-               boolean isUserContact = this.userController.isContactFound(contact);
-
-               // Check user first
-               if (isUserContact) {
-                       // Only user
-                       messageKey = "CONTACT_IS_USER"; //NOI18N
-               }
-
-               // Return message key
-               return messageKey;
-       }
-
-       /**
-        * Getter for dialable fax number
-        * <p>
-        * @return Dialable fax number
-        */
-       public DialableFaxNumber getFaxNumber () {
-               return this.faxNumber;
-       }
-
-       /**
-        * Setter for dialable fax number
-        * <p>
-        * @param faxNumber Dialable fax number
-        */
-       public void setFaxNumber (final DialableFaxNumber faxNumber) {
-               this.faxNumber = faxNumber;
-       }
-
-       /**
-        * Getter for dialable land-line number
-        * <p>
-        * @return Dialable land-line number
-        */
-       public DialableLandLineNumber getLandLineNumber () {
-               return this.landLineNumber;
-       }
-
-       /**
-        * Setter for dialable land-line number
-        * <p>
-        * @param landLineNumber Dialable land-line number
-        */
-       public void setLandLineNumber (final DialableLandLineNumber landLineNumber) {
-               this.landLineNumber = landLineNumber;
-       }
-
-       /**
-        * Getter for dialable mobile number
-        * <p>
-        * @return Dialable mobile number
-        */
-       public DialableMobileNumber getMobileNumber () {
-               return this.mobileNumber;
-       }
-
-       /**
-        * Setter for dialable mobile number
-        * <p>
-        * @param mobileNumber Dialable mobile number
-        */
-       public void setMobileNumber (final DialableMobileNumber mobileNumber) {
-               this.mobileNumber = mobileNumber;
-       }
-
-       /**
-        * Getter for user instance
-        * <p>
-        * @return User instance
-        */
-       public User getUser () {
-               return this.user;
-       }
-
-       /**
-        * Setter for user instance
-        * <p>
-        * @param user User instance
-        */
-       public void setUser (final User user) {
-               this.user = user;
+               this.userCreatedEvent.fire(new CreatedUserEvent(this.getUser()));
        }
 
        /**
index 2dd12c2bcdd05b574ddd2cc671821b07d3e03866..42ca1e3c433732c4e9a79ea3ac9d1381447a0903 100644 (file)
@@ -40,9 +40,7 @@ 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.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;
@@ -63,6 +61,8 @@ 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;
+import org.mxchange.jphone.events.landline.created.ObservableCreatedLandLineNumberEvent;
+import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent;
 
 /**
  * Administrative bean (controller) for phone numbers
@@ -232,7 +232,7 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController
         * <p>
         * @param event Event being fired
         */
-       public void afterHelperCreatedFaxNumberEvent (@Observes final ObservableHelperCreatedFaxNumberEvent event) {
+       public void afterHelperCreatedFaxNumberEvent (@Observes final ObservableCreatedFaxNumberEvent event) {
                // The event instance must be valid
                if (null == event) {
                        // Throw NPE
@@ -266,7 +266,7 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController
         * <p>
         * @param event Event being fired
         */
-       public void afterHelperCreatedLandLineNumberEvent (@Observes final ObservableHelperCreatedLandLineNumberEvent event) {
+       public void afterHelperCreatedLandLineNumberEvent (@Observes final ObservableCreatedLandLineNumberEvent event) {
                // The event instance must be valid
                if (null == event) {
                        // Throw NPE
index c6d75f028e5751333918e267cb5d7302bb8c40d4..1ba7832d6238e8adbc3169c407a2e2cad9fabbcc 100644 (file)
@@ -41,7 +41,6 @@ import org.mxchange.jusercore.events.user.add.AdminAddedUserEvent;
 import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent;
 import org.mxchange.jusercore.events.user.delete.AdminDeletedUserEvent;
 import org.mxchange.jusercore.events.user.delete.ObservableAdminDeletedUserEvent;
-import org.mxchange.jusercore.events.user.helper.created.ObservableHelperCreatedUserEvent;
 import org.mxchange.jusercore.events.user.linked.AdminLinkedUserEvent;
 import org.mxchange.jusercore.events.user.linked.ObservableAdminLinkedUserEvent;
 import org.mxchange.jusercore.events.user.locked.AdminLockedUserEvent;
@@ -66,6 +65,7 @@ import org.mxchange.juserlogincore.container.login.UserLoginContainer;
 import org.mxchange.juserlogincore.events.registration.ObservableUserRegisteredEvent;
 import org.mxchange.juserlogincore.exceptions.UserPasswordRepeatMismatchException;
 import org.mxchange.juserlogincore.login.UserLoginUtils;
+import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent;
 
 /**
  * A user bean (controller)
@@ -105,6 +105,11 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
        @Inject
        private FinancialsWebRequestHelperController beanHelper;
 
+       /**
+        * Contact instance
+        */
+       private Contact contact;
+
        /**
         * Regular contact controller
         */
@@ -112,7 +117,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
        private FinancialsContactWebSessionController contactController;
 
        /**
-        * Event being fired when admin has deleted user
+        * Event being fired when administrator has deleted user
         */
        @Inject
        @Any
@@ -131,6 +136,11 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
        @Any
        private Event<ObservableAdminUpdatedUserDataEvent> updatedUserDataEvent;
 
+       /**
+        * User instance
+        */
+       private User user;
+
        /**
         * General user EJB
         */
@@ -210,9 +220,6 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
         * @return Redirect outcome
         */
        public String addUser () {
-               // Get contact from bean helper to "cache" it locally
-               Contact contact = this.beanHelper.getContact();
-
                // As the form cannot validate the data (required="true"), check it here
                if (this.getUserName() == null) {
                        // Throw NPE
@@ -220,47 +227,47 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                } else if (this.getUserName().isEmpty()) {
                        // Is empty
                        throw new IllegalArgumentException("userName is null"); //NOI18N
-               } else if (contact == null) {
+               } else if (this.getContact() == null) {
                        // No contact instance set, so test required fields: gender, first name and family name
                        this.adminContactController.validateContactData();
                }
 
                // Create new user instance
-               User user = new LoginUser();
+               User newUser = new LoginUser();
 
                // Set user name, CONFIRMED and INVISIBLE
-               user.setUserName(this.getUserName());
-               user.setUserMustChangePassword(this.getUserMustChangePassword());
-               user.setUserAccountStatus(UserAccountStatus.CONFIRMED);
-               user.setUserProfileMode(ProfileMode.INVISIBLE);
+               newUser.setUserName(this.getUserName());
+               newUser.setUserMustChangePassword(this.getUserMustChangePassword());
+               newUser.setUserAccountStatus(UserAccountStatus.CONFIRMED);
+               newUser.setUserProfileMode(ProfileMode.INVISIBLE);
 
                // Copy user locale
-               user.setUserLocale(this.localizationController.getLocale());
+               newUser.setUserLocale(this.localizationController.getLocale());
 
                // Init instance
                Contact userContact;
 
                // Is a contact instance in helper set?
-               if (contact instanceof Contact) {
+               if (this.getContact() instanceof Contact) {
                        // Then use it for contact linking
-                       userContact = contact;
+                       userContact = this.getContact();
                } else {
                        // Create contact instance
                        userContact = this.contactController.createContactInstance();
                }
 
                // Set contact in user
-               user.setUserContact(userContact);
+               newUser.setUserContact(userContact);
 
                // Init variable for password
                String password = null;
 
                // Is the user name or email address used already?
                // @TODO Add password length check
-               if (this.userController.isUserNameRegistered(user)) {
+               if (this.userController.isUserNameRegistered(newUser)) {
                        // User name is already used
-                       throw new FaceletException(new UserNameAlreadyRegisteredException(user));
-               } else if ((contact == null) && (this.contactController.isEmailAddressRegistered(user.getUserContact()))) {
+                       throw new FaceletException(new UserNameAlreadyRegisteredException(newUser));
+               } else if ((this.getContact() == null) && (this.contactController.isEmailAddressRegistered(newUser.getUserContact()))) {
                        // Email address is already used
                        this.showFacesMessage("admin_add_user:emailAddress", "ERROR_EMAIL_ADDRESS_ALREADY_USED"); //NOI18N
 
@@ -275,7 +282,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                        password = UserLoginUtils.createRandomPassword(FinancialsUserWebSessionController.MINIMUM_PASSWORD_LENGTH);
                } else if (!this.isSamePasswordEntered()) {
                        // Both passwords don't match
-                       throw new FaceletException(new UserPasswordRepeatMismatchException(user));
+                       throw new FaceletException(new UserPasswordRepeatMismatchException(newUser));
                } else {
                        // Both match, so get it from this bean
                        password = this.getUserPassword();
@@ -286,19 +293,19 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                assert (password.length() >= FinancialsUserWebSessionController.MINIMUM_PASSWORD_LENGTH) : "Password is not long enough."; //NOI18N
 
                // Encrypt password and set it
-               user.setUserEncryptedPassword(UserLoginUtils.encryptPassword(password));
+               newUser.setUserEncryptedPassword(UserLoginUtils.encryptPassword(password));
 
                try {
                        // Now, that all is set, call EJB
-                       if (contact instanceof Contact) {
+                       if (this.getContact() instanceof Contact) {
                                // Link contact with this user
-                               User updatedUser = this.adminUserBean.linkUser(user);
+                               User updatedUser = this.adminUserBean.linkUser(newUser);
 
                                // Fire event
                                this.userLinkedEvent.fire(new AdminLinkedUserEvent(updatedUser));
                        } else {
                                // Add new contact
-                               User updatedUser = this.adminUserBean.addUser(user);
+                               User updatedUser = this.adminUserBean.addUser(newUser);
 
                                // Fire event
                                this.addedUserEvent.fire(new AdminAddedUserEvent(updatedUser));
@@ -309,7 +316,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                }
 
                // Clear helper
-               this.beanHelper.setContact(null);
+               this.setContact(null);
 
                // Clear this bean
                this.clear();
@@ -325,7 +332,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
         * <p>
         * @param event User created event
         */
-       public void afterHelperCreatedUserEvent (@Observes final ObservableHelperCreatedUserEvent event) {
+       public void afterHelperCreatedUserEvent (@Observes final ObservableCreatedUserEvent event) {
                // Is the instance valid?
                if (null == event) {
                        // Throw NPE
@@ -341,12 +348,8 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                        throw new NullPointerException(MessageFormat.format("event.createdUser.userId={0} is not valid", event.getCreatedUser().getUserId())); //NOI18N
                }
 
-               // Get user instance
-               User user = event.getCreatedUser();
-
-               // Set all fields here
-               this.setUserName(user.getUserName());
-               this.setUserLockReason(user.getUserLastLockedReason());
+               // Set whole user
+               this.setUser(event.getCreatedUser());
        }
 
        /**
@@ -384,31 +387,28 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
         * @return Redirect outcome
         */
        public String deleteUserData () {
-               // Get user instance into local variable
-               User user = this.beanHelper.getUser();
-
                // Is the user instance valid and CONFIRMED?
-               if (null == user) {
+               if (this.getUser() == null) {
                        // Throw NPE
                        throw new NullPointerException("user is null"); //NOI18N
-               } else if (user.getUserId() == null) {
+               } else if (this.getUser().getUserId() == null) {
                        // Throw again
                        throw new NullPointerException("user.userId is null"); //NOI18N
-               } else if (user.getUserId() < 1) {
+               } else if (this.getUser().getUserId() < 1) {
                        // Invalid id number
-                       throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", user.getUserId())); //NOI18N
+                       throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", this.getUser().getUserId())); //NOI18N
                }
 
                try {
                        // All fine, delete it
-                       this.adminUserBean.deleteUser(user, this.getUserDeleteReason());
+                       this.adminUserBean.deleteUser(this.getUser(), this.getUserDeleteReason());
                } catch (final UserNotFoundException ex) {
                        // Should not happen, so throw again
                        throw new FaceletException(ex);
                }
 
                // Fire event
-               this.deleteUserEvent.fire(new AdminDeletedUserEvent(user, this.getUserDeleteReason()));
+               this.deleteUserEvent.fire(new AdminDeletedUserEvent(this.getUser(), this.getUserDeleteReason()));
 
                // Redirect
                return "admin_list_user"; //NOI18N
@@ -420,22 +420,19 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
         * @return Redirect outcome
         */
        public String editUserData () {
-               // Get user instance
-               User user = this.beanHelper.getUser();
-
                // Null password means not setting it
                String encryptedPassword = null;
 
                // Check if user instance is in helper and valid
-               if (null == user) {
+               if (this.getUser() == null) {
                        // Throw NPE
                        throw new NullPointerException("beanHelper.user is null"); //NOI18N
-               } else if (user.getUserId() == null) {
+               } else if (this.getUser().getUserId() == null) {
                        // Throw NPE again
                        throw new NullPointerException("beanHelper.user.userId is null"); //NOI18N
-               } else if (user.getUserId() < 1) {
+               } else if (this.getUser().getUserId() < 1) {
                        // Invalid id
-                       throw new IllegalStateException(MessageFormat.format("beanHelper.user.userId={0} is invalid", user.getUserId())); //NOI18N
+                       throw new IllegalStateException(MessageFormat.format("beanHelper.user.userId={0} is invalid", this.getUser().getUserId())); //NOI18N
                } else if (this.getUserName() == null) {
                        // Not all required fields are set
                        throw new NullPointerException("this.userName is null"); //NOI18N
@@ -450,7 +447,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                        // Not same password entered
                        this.showFacesMessage("form_edit_user:userPassword", "ADMIN_USER_PASSWORD_REPEAT_DIFFERENT"); //NOI18N
                        return ""; //NOI18N
-               } else if ((!Objects.equals(user.getUserName(), this.getUserName())) && (this.userBean.ifUserNameExists(this.getUserName()))) {
+               } else if ((!Objects.equals(this.getUser().getUserName(), this.getUserName())) && (this.userBean.ifUserNameExists(this.getUserName()))) {
                        // Clear all fields
                        this.clear();
 
@@ -459,7 +456,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                        return ""; //NOI18N
                } else if (this.isSamePasswordEntered()) {
                        // Same password entered, create container
-                       if ((Objects.equals(user.getUserMustChangePassword(), this.getUserMustChangePassword())) && (UserLoginUtils.ifPasswordMatches(new UserLoginContainer(user, this.getUserPassword())))) {
+                       if ((Objects.equals(this.getUser().getUserMustChangePassword(), this.getUserMustChangePassword())) && (UserLoginUtils.ifPasswordMatches(new UserLoginContainer(this.getUser(), this.getUserPassword())))) {
                                // Clear password fields
                                this.setUserPassword(null);
                                this.setUserPasswordRepeat(null);
@@ -474,17 +471,17 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                }
 
                // Set user name and flag
-               user.setUserName(this.getUserName());
-               user.setUserMustChangePassword(this.getUserMustChangePassword());
+               this.getUser().setUserName(this.getUserName());
+               this.getUser().setUserMustChangePassword(this.getUserMustChangePassword());
 
                // Is a password set?
                if (encryptedPassword != null) {
                        // Set it as well
-                       user.setUserEncryptedPassword(encryptedPassword);
+                       this.getUser().setUserEncryptedPassword(encryptedPassword);
                }
 
                // Call EJB for updating user data
-               User updatedUser = this.userBean.updateUserData(user);
+               User updatedUser = this.userBean.updateUserData(this.getUser());
 
                // Fire event
                this.updatedUserDataEvent.fire(new AdminUpdatedUserDataEvent(updatedUser));
@@ -493,6 +490,42 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                return "admin_list_user"; //NOI18N
        }
 
+       /**
+        * Getter for contact instance
+        * <p>
+        * @return Contact instance
+        */
+       public Contact getContact () {
+               return this.contact;
+       }
+
+       /**
+        * Setter for contact instance
+        * <p>
+        * @param contact Contact instance
+        */
+       public void setContact (final Contact contact) {
+               this.contact = contact;
+       }
+
+       /**
+        * Getter for user instance
+        * <p>
+        * @return User instance
+        */
+       public User getUser () {
+               return this.user;
+       }
+
+       /**
+        * Setter for user instance
+        * <p>
+        * @param user User instance
+        */
+       public void setUser (final User user) {
+               this.user = user;
+       }
+
        /**
         * Getter for user delete reason
         * <p>
@@ -627,25 +660,22 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
         * @return Redirect outcome
         */
        public String lockUserAccount () {
-               // Get user instance
-               User user = this.beanHelper.getUser();
-
                // Is the user instance valid and CONFIRMED?
-               if (null == user) {
+               if (this.getUser() == null) {
                        // Throw NPE
-                       throw new NullPointerException("user is null"); //NOI18N
-               } else if (user.getUserId() == null) {
+                       throw new NullPointerException("this.user is null"); //NOI18N
+               } else if (this.getUser().getUserId() == null) {
                        // Throw again
-                       throw new NullPointerException("user.userId is null"); //NOI18N
-               } else if (user.getUserId() < 1) {
+                       throw new NullPointerException("this.user.userId is null"); //NOI18N
+               } else if (this.getUser().getUserId() < 1) {
                        // Invalid id number
-                       throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", user.getUserId())); //NOI18N
-               } else if (user.getUserAccountStatus() == UserAccountStatus.LOCKED) {
+                       throw new IllegalArgumentException(MessageFormat.format("this.user.userId={0} is not valid", this.getUser().getUserId())); //NOI18N
+               } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.LOCKED) {
                        // User account is locked
-                       throw new FacesException(new UserStatusLockedException(user));
-               } else if (user.getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) {
+                       throw new FacesException(new UserStatusLockedException(this.getUser()));
+               } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) {
                        // User account is locked
-                       throw new FaceletException(new UserStatusUnconfirmedException(user));
+                       throw new FaceletException(new UserStatusUnconfirmedException(this.getUser()));
                } else if (this.getUserLockReason() == null) {
                        // Throw NPE again
                        throw new NullPointerException("this.userLockReason is null"); //NOI18N
@@ -662,7 +692,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                        String baseUrl = FacesUtils.generateBaseUrl();
 
                        // Call EJB to lock account
-                       updatedUser = this.adminUserBean.lockUserAccount(user, this.getUserLockReason(), baseUrl);
+                       updatedUser = this.adminUserBean.lockUserAccount(this.getUser(), this.getUserLockReason(), baseUrl);
                } catch (final UserStatusLockedException | UserStatusUnconfirmedException | UserNotFoundException ex) {
                        // Throw again
                        throw new FaceletException(ex);
@@ -685,25 +715,22 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
         * @return Redirect outcome
         */
        public String unlockUserAccount () {
-               // Get user instance
-               User user = this.beanHelper.getUser();
-
                // Is the user instance valid and CONFIRMED?
-               if (null == user) {
+               if (this.getUser() == null) {
                        // Throw NPE
-                       throw new NullPointerException("user is null"); //NOI18N
-               } else if (user.getUserId() == null) {
+                       throw new NullPointerException("this.user is null"); //NOI18N
+               } else if (this.getUser().getUserId() == null) {
                        // Throw again
-                       throw new NullPointerException("user.userId is null"); //NOI18N
-               } else if (user.getUserId() < 1) {
+                       throw new NullPointerException("this.user.userId is null"); //NOI18N
+               } else if (this.getUser().getUserId() < 1) {
                        // Invalid id number
-                       throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", user.getUserId())); //NOI18N
-               } else if (user.getUserAccountStatus() == UserAccountStatus.CONFIRMED) {
+                       throw new IllegalArgumentException(MessageFormat.format("this.user.userId={0} is not valid", this.getUser().getUserId())); //NOI18N
+               } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.CONFIRMED) {
                        // User account is locked
-                       throw new FacesException(new UserStatusConfirmedException(user));
-               } else if (user.getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) {
+                       throw new FacesException(new UserStatusConfirmedException(this.getUser()));
+               } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) {
                        // User account is locked
-                       throw new FaceletException(new UserStatusUnconfirmedException(user));
+                       throw new FaceletException(new UserStatusUnconfirmedException(this.getUser()));
                }
 
                // Init updated user instance
@@ -714,7 +741,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
                        String baseUrl = FacesUtils.generateBaseUrl();
 
                        // Call EJB to unlock account
-                       updatedUser = this.adminUserBean.unlockUserAccount(user, baseUrl);
+                       updatedUser = this.adminUserBean.unlockUserAccount(this.getUser(), baseUrl);
                } catch (final UserStatusConfirmedException | UserStatusUnconfirmedException | UserNotFoundException ex) {
                        // Throw again
                        throw new FaceletException(ex);
@@ -735,11 +762,10 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController
         */
        private void clear () {
                // Clear all data
-               // - other data
-               this.setUserName(null);
-               this.setUserPassword(null);
-               this.setUserPasswordRepeat(null);
+               this.setContact(null);
+               this.setUserLockReason(null);
                this.setUserMustChangePassword(null);
+               this.setUserName(null);
        }
 
        /**
index ed53c8e9106159196bd81e4f620be9a787cf0181..4b9da1b376f503e3d5d81bc80549fc5d798c1290 100644 (file)
@@ -60,7 +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;
+import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent;
 
 /**
  * A user bean (controller)
@@ -338,7 +338,7 @@ public class FinancialsUserWebSessionBean extends BaseFinancialsController imple
         * <p>
         * @param event User created event
         */
-       public void afterHelperCreatedUserEvent (@Observes final ObservableHelperCreatedContactEvent event) {
+       public void afterHelperCreatedUserEvent (@Observes final ObservableCreatedUserEvent event) {
                // Is the instance valid?
                if (null == event) {
                        // Throw NPE
index 5be7a7d45a4521ada8cdac85127ba14c5a97f7fe..dffd27d58275dc8e46aa327e36a2fbf6833b58f8 100644 (file)
@@ -36,6 +36,8 @@ import org.mxchange.jcoreee.utils.FacesUtils;
 import org.mxchange.jfinancials.beans.BaseFinancialsController;
 import org.mxchange.jfinancials.beans.helper.FinancialsWebRequestHelperController;
 import org.mxchange.jfinancials.beans.user.FinancialsUserWebSessionController;
+import org.mxchange.jusercore.events.user.created.CreatedUserEvent;
+import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent;
 import org.mxchange.jusercore.exceptions.UserStatusConfirmedException;
 import org.mxchange.jusercore.exceptions.UserStatusLockedException;
 import org.mxchange.jusercore.model.user.User;
@@ -94,6 +96,13 @@ public class FinancialsConfirmationLinkWebRequestBean extends BaseFinancialsCont
        @Inject
        private FinancialsUserWebSessionController userController;
 
+       /**
+        * Event for when a user instance was created
+        */
+       @Any
+       @Inject
+       private Event<ObservableCreatedUserEvent> userCreatedEvent;
+
        /**
         * Default constructor
         */
@@ -250,11 +259,8 @@ public class FinancialsConfirmationLinkWebRequestBean extends BaseFinancialsCont
                // Debug message
                System.out.println(MessageFormat.format("{0}.confirmUserAccount: updatedUser={1}", this.getClass().getSimpleName(), updatedUser)); //NOI18N
 
-               // Set it again in helper
-               this.beanHelper.setUser(updatedUser);
-
-               // ... and copy it to the controller
-               this.beanHelper.copyUserToController();
+               // Fire event
+               this.userCreatedEvent.fire(new CreatedUserEvent(updatedUser));
 
                // Trace message
                System.out.println(MessageFormat.format("{0}.confirmUserAccount: EXIT!", this.getClass().getSimpleName())); //NOI18N