]> git.mxchange.org Git - pizzaservice-war.git/commitdiff
Continued a bit:
authorRoland Häder <roland@mxchange.org>
Wed, 27 Apr 2016 10:02:05 +0000 (12:02 +0200)
committerRoland Haeder <roland@mxchange.org>
Wed, 27 Apr 2016 20:19:28 +0000 (22:19 +0200)
- added additional check if the contact is really in the selectableContacts list
- need to call EJB business method linkCustomer() (like for users, linkUser())
- customers don't have user profiles: customer != user

src/java/org/mxchange/pizzaapplication/beans/customer/PizzaAdminCustomerWebRequestBean.java
src/java/org/mxchange/pizzaapplication/beans/customer/PizzaCustomerWebSessionBean.java
src/java/org/mxchange/pizzaapplication/beans/user/PizzaUserWebSessionBean.java
web/admin/customer/admin_customer_list.xhtml

index 4bdd3fbedf8dafd123594d7f7b3f9c218847860b..e423bffb91f168385212df9296a57a8a814574cb 100644 (file)
@@ -129,8 +129,14 @@ public class PizzaAdminCustomerWebRequestBean implements PizzaAdminCustomerWebRe
                Customer updatedCustomer;
 
                try {
-                       // Add customer and return updated
-                       updatedCustomer = this.adminCustomerBean.addCustomer(customer);
+                       // Add/link customer and return updated
+                       if (this.adminHelper.getContact() instanceof Contact) {
+                               // Link customer
+                               updatedCustomer = this.adminCustomerBean.linkCustomer(customer);
+                       } else {
+                               // Add new customer instance
+                               updatedCustomer = this.adminCustomerBean.addCustomer(customer);
+                       }
                } catch (final CustomerAlreadyRegisteredException | ContactAlreadyAddedException ex) {
                        // Throw again
                        throw new FaceletException(ex);
index 1d910236fce8b71e38bc0917f5bfc6e6babab7c2..de95565350304bf514c0682f80eb354bed2417f8 100644 (file)
@@ -148,8 +148,14 @@ public class PizzaCustomerWebSessionBean implements PizzaCustomerWebSessionContr
                } else if (event.getAddedCustomer().getCustomerId() < 1) {
                        // Not valid
                        throw new IllegalArgumentException(MessageFormat.format("event.addedCustomer.customerId={0} is not valid", event.getAddedCustomer().getCustomerId())); //NOI18N //NOI18N
+               } else if (!this.selectableContacts.contains(event.getAddedCustomer().getCustomerContact())) {
+                       // Contact not in selectable list found
+                       throw new IllegalStateException(MessageFormat.format("event.addedCustomer.customerId={0} is not in selectableContacts list.", event.getAddedCustomer().getCustomerContact().getContactId()));
                }
 
+               // Remove this contact from selectable list
+               assert (this.selectableContacts.remove(event.getAddedCustomer().getCustomerContact())) : "contact was not removed"; //NOI18N
+
                // Call other method
                this.addCustomer(event.getAddedCustomer());
        }
index ce8c1b7476e91d67388d21be307649612a1c4661..ec7f0e4539afb9e1daf2392b1b91554b7491dc53 100644 (file)
@@ -165,6 +165,45 @@ public class PizzaUserWebSessionBean implements PizzaUserWebSessionController {
                }
        }
 
+       @Override
+       public void afterAdminAddedUserEvent (@Observes final AdminAddedUserEvent event) {
+               // Trace message
+               System.out.println(MessageFormat.format("ContactWebBean:afterAdminAddedUserEvent: event={0} - CALLED!", event)); //NOI18N
+
+               // The event must be valid
+               if (null == event) {
+                       // Throw NPE
+                       throw new NullPointerException("event is null"); //NOI18N
+               } else if (event.getAddedUser() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("event.addedUser is null"); //NOI18N
+               } else if (event.getAddedUser().getUserId() == null) {
+                       // userId is null
+                       throw new NullPointerException("event.addedUser.userId is null"); //NOI18N
+               } else if (event.getAddedUser().getUserId() < 1) {
+                       // Not avalid id
+                       throw new IllegalArgumentException(MessageFormat.format("userId of user={0} is not valid: {1}", event.getAddedUser(), event.getAddedUser().getUserId())); //NOI18N
+               } else if (event.getAddedUser().getUserContact() == null) {
+                       // userId is null
+                       throw new NullPointerException("event.addedUser.userContact is null"); //NOI18N
+               } else if (event.getAddedUser().getUserContact().getContactId() == null) {
+                       // userId is null
+                       throw new NullPointerException("event.addedUser.userContact.contactId is null"); //NOI18N
+               } else if (event.getAddedUser().getUserContact().getContactId() < 1) {
+                       // userId is null
+                       throw new IllegalArgumentException(MessageFormat.format("event.addedUser.userContact.contactId={0} is not valid", event.getAddedUser().getUserContact().getContactId())); //NOI18N
+               } else if (!this.selectableContacts.contains(event.getAddedUser().getUserContact())) {
+                       // Contact not in selectable list found
+                       throw new IllegalStateException(MessageFormat.format("event.addedUser.userContact.contactId={0} is not in selectableContacts list.", event.getAddedUser().getUserContact().getContactId()));
+               }
+
+               // Remove this contact from selectable list
+               assert (this.selectableContacts.remove(event.getAddedUser().getUserContact())) : "contact was not removed"; //NOI18N
+
+               // Add user to local list
+               this.userList.add(event.getAddedUser());
+       }
+
        @Override
        public void afterRegistrationEvent (final @Observes UserRegisteredEvent event) {
                // Trace message
@@ -216,42 +255,6 @@ public class PizzaUserWebSessionBean implements PizzaUserWebSessionController {
                System.out.println("UserWebBean:afterRegistration: EXIT!"); //NOI18N
        }
 
-       @Override
-       public void afterAdminAddedUserEvent (@Observes final AdminAddedUserEvent event) {
-               // Trace message
-               System.out.println(MessageFormat.format("ContactWebBean:afterAdminAddedUserEvent: event={0} - CALLED!", event)); //NOI18N
-
-               // The event must be valid
-               if (null == event) {
-                       // Throw NPE
-                       throw new NullPointerException("event is null"); //NOI18N
-               } else if (event.getAddedUser() == null) {
-                       // Throw NPE again
-                       throw new NullPointerException("event.addedUser is null"); //NOI18N
-               } else if (event.getAddedUser().getUserId() == null) {
-                       // userId is null
-                       throw new NullPointerException("event.addedUser.userId is null"); //NOI18N
-               } else if (event.getAddedUser().getUserId() < 1) {
-                       // Not avalid id
-                       throw new IllegalArgumentException(MessageFormat.format("userId of user={0} is not valid: {1}", event.getAddedUser(), event.getAddedUser().getUserId())); //NOI18N
-               } else if (event.getAddedUser().getUserContact() == null) {
-                       // userId is null
-                       throw new NullPointerException("event.addedUser.userContact is null"); //NOI18N
-               } else if (event.getAddedUser().getUserContact().getContactId() == null) {
-                       // userId is null
-                       throw new NullPointerException("event.addedUser.userContact.contactId is null"); //NOI18N
-               } else if (event.getAddedUser().getUserContact().getContactId() < 1) {
-                       // userId is null
-                       throw new IllegalArgumentException(MessageFormat.format("event.addedUser.userContact.contactId={0} is not valid", event.getAddedUser().getUserContact().getContactId())); //NOI18N
-               }
-
-               // Remove this contact from selectable list
-               assert(this.selectableContacts.remove(event.getAddedUser().getUserContact())) : "contact was not removed"; //NOI18N
-
-               // Add user to local list
-               this.userList.add(event.getAddedUser());
-       }
-
        @Override
        public void afterUserLogin (final @Observes UserLoggedInEvent event) {
                // Trace message
@@ -282,6 +285,27 @@ public class PizzaUserWebSessionBean implements PizzaUserWebSessionController {
                System.out.println(MessageFormat.format("UserWebBean:afterUserLogin: this.visibleUserList.size()={0} - EXIT!", this.visibleUserList.size())); //NOI18N
        }
 
+       @Override
+       public void afterUserUpdatedPersonalData (@Observes final UpdatedUserPersonalDataEvent event) {
+               // Check parameter
+               if (null == event) {
+                       // Throw NPE
+                       throw new NullPointerException("event is null"); //NOI18N
+               } else if (event.getUpdatedUser() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("event.updatedUser is null"); //NOI18N
+               } else if (event.getUpdatedUser().getUserId() == null) {
+                       // ... and again
+                       throw new NullPointerException("event.updatedUser.userId is null"); //NOI18N
+               } else if (event.getUpdatedUser().getUserId() < 1) {
+                       // Invalid value
+                       throw new IllegalArgumentException(MessageFormat.format("event.updatedUser.userId={0} is in valid", event.getUpdatedUser().getUserId())); //NOI18N
+               }
+
+               // All fine, so update list
+               this.updateList(event.getUpdatedUser());
+       }
+
        @Override
        public List<User> allUsers () {
                // Return it
@@ -505,27 +529,6 @@ public class PizzaUserWebSessionBean implements PizzaUserWebSessionController {
                return isFound;
        }
 
-       @Override
-       public void afterUserUpdatedPersonalData (@Observes final UpdatedUserPersonalDataEvent event) {
-               // Check parameter
-               if (null == event) {
-                       // Throw NPE
-                       throw new NullPointerException("event is null"); //NOI18N
-               } else if (event.getUpdatedUser() == null) {
-                       // Throw NPE again
-                       throw new NullPointerException("event.updatedUser is null"); //NOI18N
-               } else if (event.getUpdatedUser().getUserId() == null) {
-                       // ... and again
-                       throw new NullPointerException("event.updatedUser.userId is null"); //NOI18N
-               } else if (event.getUpdatedUser().getUserId() < 1) {
-                       // Invalid value
-                       throw new IllegalArgumentException(MessageFormat.format("event.updatedUser.userId={0} is in valid", event.getUpdatedUser().getUserId())); //NOI18N
-               }
-
-               // All fine, so update list
-               this.updateList(event.getUpdatedUser());
-       }
-
        @Override
        public boolean isRequiredChangePersonalDataSet () {
                return ((this.getUserProfileMode() != null) &&
@@ -601,29 +604,6 @@ public class PizzaUserWebSessionBean implements PizzaUserWebSessionController {
                return Collections.unmodifiableList(this.selectableContacts);
        }
 
-       /**
-        * Adds user's name and email address to bean's internal list. It also
-        * updates the public user list if the user has decided to ha   }
-        * <p>
-        * @param user User instance
-        */
-       private void addUserNameEmailAddress (final User user) {
-               // Make sure the entry is not added yet
-               if (this.userNameList.contains(user.getUserName())) {
-                       // Abort here
-                       throw new IllegalArgumentException(MessageFormat.format("User name {0} already added.", user.getUserName())); //NOI18N
-               } else if (this.contactController.isEmailAddressRegistered(user.getUserContact())) {
-                       // Already added
-                       throw new IllegalArgumentException(MessageFormat.format("Email address {0} already added.", user.getUserContact().getContactEmailAddress())); //NOI18N
-               }
-
-               // Add user name
-               this.userNameList.add(user.getUserName());
-
-               // Add email addres
-               this.contactController.addEmailAddress(user.getUserContact().getContactEmailAddress());
-       }
-
        /**
         * Updates list with given user instance
         * <p>
@@ -663,6 +643,29 @@ public class PizzaUserWebSessionBean implements PizzaUserWebSessionController {
                this.userList.add(user);
        }
 
+       /**
+        * Adds user's name and email address to bean's internal list. It also
+        * updates the public user list if the user has decided to ha   }
+        * <p>
+        * @param user User instance
+        */
+       private void addUserNameEmailAddress (final User user) {
+               // Make sure the entry is not added yet
+               if (this.userNameList.contains(user.getUserName())) {
+                       // Abort here
+                       throw new IllegalArgumentException(MessageFormat.format("User name {0} already added.", user.getUserName())); //NOI18N
+               } else if (this.contactController.isEmailAddressRegistered(user.getUserContact())) {
+                       // Already added
+                       throw new IllegalArgumentException(MessageFormat.format("Email address {0} already added.", user.getUserContact().getContactEmailAddress())); //NOI18N
+               }
+
+               // Add user name
+               this.userNameList.add(user.getUserName());
+
+               // Add email addres
+               this.contactController.addEmailAddress(user.getUserContact().getContactEmailAddress());
+       }
+
        /**
         * Clears this bean
         */
index 4143970430667d0d18cd9f681b8841cffb94461b..1b22d862e39fda00e09d8524029f026a3e59e595 100644 (file)
                                        <h:outputText styleClass="#{customer.customerAccountStatus.styleClass}" value="#{msg[customer.customerAccountStatus.messageKey]}" />
                                </h:column>
 
-                               <h:column>
-                                       <f:facet name="header">#{msg.ADMIN_LIST_CUSTOMER_PROFILE_MODE}</f:facet>
-
-                                       <h:outputText value="#{msg[customer.customerProfileMode.messageKey]}" />
-                               </h:column>
-
                                <h:column>
                                        <f:facet name="header">#{msg.ADMIN_LIST_CUSTOMER_CREATED}</f:facet>