*/
package org.mxchange.pizzaapplication.beans.customer;
+import java.text.MessageFormat;
import javax.annotation.PostConstruct;
import javax.enterprise.context.RequestScoped;
import javax.enterprise.event.Event;
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)
*/
@Named ("adminCustomerController")
@RequestScoped
-public class PizzaAdminCustomerWebRequestBean implements PizzaAdminCustomerWebRequestController {
+public class PizzaAdminCustomerWebRequestBean extends BasePizzaController implements PizzaAdminCustomerWebRequestController {
/**
* Serial number
* Admin helper instance
*/
@Inject
- private PizzaAdminWebRequestController adminHelper;
+ private PizzaWebRequestController adminHelper;
/**
* An event being fired when an administrator has added a new customer
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);
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);
throw new FaceletException(ex);
}
- // Add customer to list
- this.customerController.addCustomer(updatedCustomer);
-
// Fire event
this.customerAddedEvent.fire(new CustomerAdminAddedEvent(updatedCustomer));
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
*/