]> git.mxchange.org Git - pizzaservice-war.git/blobdiff - src/java/org/mxchange/pizzaapplication/beans/customer/PizzaAdminCustomerWebRequestBean.java
Continued a bit:
[pizzaservice-war.git] / src / java / org / mxchange / pizzaapplication / beans / customer / PizzaAdminCustomerWebRequestBean.java
index e423bffb91f168385212df9296a57a8a814574cb..0c16549d1112d5ec0009c8fb8dc74a4784c2548f 100644 (file)
@@ -16,6 +16,7 @@
  */
 package org.mxchange.pizzaapplication.beans.customer;
 
+import java.text.MessageFormat;
 import javax.annotation.PostConstruct;
 import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Event;
@@ -29,14 +30,16 @@ import javax.naming.NamingException;
 import org.mxchange.jcontacts.contact.Contact;
 import org.mxchange.jcontacts.contact.gender.Gender;
 import org.mxchange.jcontacts.exceptions.ContactAlreadyAddedException;
-import org.mxchange.jcustomercore.events.AdminAddedCustomerEvent;
-import org.mxchange.jcustomercore.events.CustomerAdminAddedEvent;
+import org.mxchange.jcustomercore.events.customer.added.AdminAddedCustomerEvent;
+import org.mxchange.jcustomercore.events.customer.added.CustomerAdminAddedEvent;
 import org.mxchange.jcustomercore.exceptions.CustomerAlreadyRegisteredException;
 import org.mxchange.jcustomercore.model.customer.Customer;
 import org.mxchange.jcustomercore.model.customer.status.CustomerAccountStatus;
+import org.mxchange.pizzaapplication.beans.BasePizzaController;
 import org.mxchange.pizzaapplication.beans.contact.PizzaAdminContactWebRequestController;
-import org.mxchange.pizzaapplication.beans.helper.PizzaAdminWebRequestController;
 import org.mxchange.pizzaapplication.model.customer.PizzaAdminCustomerSessionBeanRemote;
+import org.mxchange.pizzaapplication.model.customer.PizzaCustomer;
+import org.mxchange.pizzaapplication.beans.helper.PizzaWebRequestController;
 
 /**
  * Administrative customer bean (controller)
@@ -45,7 +48,7 @@ import org.mxchange.pizzaapplication.model.customer.PizzaAdminCustomerSessionBea
  */
 @Named ("adminCustomerController")
 @RequestScoped
-public class PizzaAdminCustomerWebRequestBean implements PizzaAdminCustomerWebRequestController {
+public class PizzaAdminCustomerWebRequestBean extends BasePizzaController implements PizzaAdminCustomerWebRequestController {
 
        /**
         * Serial number
@@ -67,7 +70,7 @@ public class PizzaAdminCustomerWebRequestBean implements PizzaAdminCustomerWebRe
         * Admin helper instance
         */
        @Inject
-       private PizzaAdminWebRequestController adminHelper;
+       private PizzaWebRequestController adminHelper;
 
        /**
         * An event being fired when an administrator has added a new customer
@@ -92,7 +95,7 @@ public class PizzaAdminCustomerWebRequestBean implements PizzaAdminCustomerWebRe
                        Context context = new InitialContext();
 
                        // Try to lookup
-                       this.adminCustomerBean = (PizzaAdminCustomerSessionBeanRemote) context.lookup("java:global/PizzaService-ejb/admincustomer!org.mxchange.pizzaapplication.model.customer.PizzaAdminCustomerSessionBeanRemote"); //NOI18N
+                       this.adminCustomerBean = (PizzaAdminCustomerSessionBeanRemote) context.lookup("java:global/pizzaservice-ejb/admincustomer!org.mxchange.pizzaapplication.model.customer.PizzaAdminCustomerSessionBeanRemote"); //NOI18N
                } catch (final NamingException e) {
                        // Throw again
                        throw new FaceletException(e);
@@ -133,6 +136,9 @@ public class PizzaAdminCustomerWebRequestBean implements PizzaAdminCustomerWebRe
                        if (this.adminHelper.getContact() instanceof Contact) {
                                // Link customer
                                updatedCustomer = this.adminCustomerBean.linkCustomer(customer);
+
+                               // Remove contact instance
+                               this.adminHelper.setContact(null);
                        } else {
                                // Add new customer instance
                                updatedCustomer = this.adminCustomerBean.addCustomer(customer);
@@ -142,9 +148,6 @@ public class PizzaAdminCustomerWebRequestBean implements PizzaAdminCustomerWebRe
                        throw new FaceletException(ex);
                }
 
-               // Add customer to list
-               this.customerController.addCustomer(updatedCustomer);
-
                // Fire event
                this.customerAddedEvent.fire(new CustomerAdminAddedEvent(updatedCustomer));
 
@@ -152,6 +155,32 @@ public class PizzaAdminCustomerWebRequestBean implements PizzaAdminCustomerWebRe
                return "admin_list_customer"; //NOI18N
        }
 
+       @Override
+       public void copyCustomerToController (final Customer customer) {
+               // Parameters must be valid
+               if (null == customer) {
+                       // Throw NPE
+                       throw new NullPointerException("customer is null"); //NOI18N
+               } else if (customer.getCustomerId() == null) {
+                       // Throw again ...
+                       throw new NullPointerException("customer.customerId is null"); //NOI18N
+               } else if (customer.getCustomerId() < 1) {
+                       // Invalid id number
+                       throw new IllegalArgumentException(MessageFormat.format("customer.customerId={0} is not valid", customer.getCustomerId())); //NOI18N
+               } else if (customer.getCustomerContact() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("customer.customerContact is null"); //NOI18N
+               } else if (customer.getCustomerContact().getContactId() == null) {
+                       // .. and again
+                       throw new NullPointerException("customer.customerContact.contactId is null"); //NOI18N
+               } else if (customer.getCustomerContact().getContactId() < 1) {
+                       // Invalid id
+                       throw new IllegalArgumentException(MessageFormat.format("customer.customerContact.contactId={0} is not valid", customer.getCustomerContact().getContactId())); //NOI18N
+               }
+
+               // @TODO Set all data
+       }
+
        /**
         * Post-initialization of this class
         */