]> git.mxchange.org Git - pizzaservice-war.git/blobdiff - src/java/org/mxchange/pizzaapplication/beans/customer/CustomerWebBean.java
Auto-formatted whole project
[pizzaservice-war.git] / src / java / org / mxchange / pizzaapplication / beans / customer / CustomerWebBean.java
index 9c4425a52090a8ad74d11df714df4ad98dece8be..f61d35203afe94e67e56ea501d9a404587e15f9d 100644 (file)
  */
 package org.mxchange.pizzaapplication.beans.customer;
 
-import javax.annotation.PostConstruct;
 import javax.enterprise.context.SessionScoped;
+import javax.faces.view.facelets.FaceletException;
 import javax.inject.Named;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import org.mxchange.jcore.model.contact.gender.Gender;
-import org.mxchange.jcoreee.beans.BaseFrameworkBean;
+import org.mxchange.jcontacts.contact.Contact;
+import org.mxchange.jcontacts.contact.UserContact;
+import org.mxchange.jcontacts.contact.gender.Gender;
+import org.mxchange.jshopcore.model.customer.Customer;
 import org.mxchange.jshopcore.model.customer.CustomerSessionBeanRemote;
+import org.mxchange.jshopcore.model.customer.ShopCustomer;
 
 /**
  * A customer bean which hides the customer instance
- *
+ * <p>
  * @author Roland Haeder<roland@mxchange.org>
  */
-@Named("customer")
+@Named ("customerController")
 @SessionScoped
-public class CustomerWebBean extends BaseFrameworkBean implements CustomerWebController {
+public class CustomerWebBean implements CustomerWebController {
+
        /**
         * Serial number
         */
        private static final long serialVersionUID = 542_145_347_916L;
 
-       /**
-        * Remote customer bean
-        */
-       private final CustomerSessionBeanRemote customerBean;
-
+       /////////////////////// Properties /////////////////////
        /**
         * Cellphone number
         */
@@ -59,25 +59,20 @@ public class CustomerWebBean extends BaseFrameworkBean implements CustomerWebCon
         */
        private String comment;
 
-       /**
-        * Company name
-        */
-       private String companyName;
-
        /**
         * Country code
         */
        private String countryCode;
 
        /**
-        * Email address
+        * Remote customer bean
         */
-       private String emailAddress;
+       private final CustomerSessionBeanRemote customerBean;
 
        /**
-        * Gender instance
+        * Email address
         */
-       private Gender gender;
+       private String emailAddress;
 
        /**
         * Family name
@@ -94,10 +89,15 @@ public class CustomerWebBean extends BaseFrameworkBean implements CustomerWebCon
         */
        private String firstName;
 
+       /**
+        * Gender instance
+        */
+       private Gender gender;
+
        /**
         * House number
         */
-       private Long houseNumber;
+       private Short houseNumber;
 
        /**
         * Phone number
@@ -112,128 +112,146 @@ public class CustomerWebBean extends BaseFrameworkBean implements CustomerWebCon
        /**
         * ZIP code
         */
-       private Long zipCode;
+       private Integer zipCode;
 
        /**
         * Default constructor
-        *
-        * @throws javax.naming.NamingException If something happens?
         */
-       public CustomerWebBean () throws NamingException {
-               // Get initial context
-               Context context = new InitialContext();
-
+       public CustomerWebBean () {
                // Set gender to UNKNOWN
                this.gender = Gender.UNKNOWN;
 
-               // Try to lookup
-               this.customerBean = (CustomerSessionBeanRemote) context.lookup("ejb/stateless-customer");
-       }
-
-       @PostConstruct
-       public void init () throws RuntimeException {
-               // Call super init first
-               super.genericInit();
-       }
-
-       @Override
-       public Gender getGender () {
-               return this.gender;
+               // Try it
+               try {
+                       // Get initial context
+                       Context context = new InitialContext();
+
+                       // Try to lookup
+                       this.customerBean = (CustomerSessionBeanRemote) context.lookup("ejb/stateless-customer");
+               } catch (final NamingException e) {
+                       // Throw again
+                       throw new FaceletException(e);
+               }
        }
 
        @Override
-       public void setGender (final Gender gender) {
-               this.gender = gender;
+       public Customer createCustomerInstance () {
+               // Trace message
+               //this.getLogger().logTrace("createInstance: CALLED!");
+
+               // Required personal data must be set
+               assert (this.isRequiredPersonalDataSet()) : "not all personal data is set"; //NOI18N
+
+               // Create new customer instance
+               Customer customer = new ShopCustomer();
+
+               // Create new contact
+               Contact contact = new UserContact(this.getGender(), this.getFirstName(), this.getFamilyName());
+               contact.setStreet(this.getStreet());
+               contact.setHouseNumber(this.getHouseNumber());
+               contact.setZipCode(this.getZipCode());
+               contact.setCity(this.getCity());
+               contact.setPhoneNumber(this.getPhoneNumber());
+               contact.setFaxNumber(this.getFaxNumber());
+               contact.setCellphoneNumber(this.getCellphoneNumber());
+
+               // Set contact in customer
+               customer.setContact(contact);
+
+               // Trace message
+               //this.getLogger().logTrace(MessageFormat.format("createInstance: customer={0} - EXIT!", customer));
+               // Return it
+               return customer;
        }
 
        @Override
-       public String getCompanyName () {
-               return this.companyName;
+       public String getCellphoneNumber () {
+               return this.cellphoneNumber;
        }
 
        @Override
-       public void setCompanyName (final String companyName) {
-               this.companyName = companyName;
+       public void setCellphoneNumber (final String cellphoneNumber) {
+               this.cellphoneNumber = cellphoneNumber;
        }
 
        @Override
-       public String getFirstName () {
-               return this.firstName;
+       public String getCity () {
+               return this.city;
        }
 
        @Override
-       public void setFirstName (final String firstName) {
-               this.firstName = firstName;
+       public void setCity (final String city) {
+               this.city = city;
        }
 
        @Override
-       public String getFamilyName () {
-               return this.familyName;
+       public String getCountryCode () {
+               return this.countryCode;
        }
 
        @Override
-       public void setFamilyName (final String familyName) {
-               this.familyName = familyName;
+       public void setCountryCode (final String countryCode) {
+               this.countryCode = countryCode;
        }
 
        @Override
-       public String getStreet () {
-               return this.street;
+       public String getEmailAddress () {
+               return this.emailAddress;
        }
 
        @Override
-       public void setStreet (final String street) {
-               this.street = street;
+       public void setEmailAddress (final String emailAddress) {
+               this.emailAddress = emailAddress;
        }
 
        @Override
-       public Long getHouseNumber () {
-               return this.houseNumber;
+       public String getFamilyName () {
+               return this.familyName;
        }
 
        @Override
-       public void setHouseNumber (final Long houseNumber) {
-               this.houseNumber = houseNumber;
+       public void setFamilyName (final String familyName) {
+               this.familyName = familyName;
        }
 
        @Override
-       public Long getZipCode () {
-               return this.zipCode;
+       public String getFaxNumber () {
+               return this.faxNumber;
        }
 
        @Override
-       public void setZipCode (final Long zipCode) {
-               this.zipCode = zipCode;
+       public void setFaxNumber (final String faxNumber) {
+               this.faxNumber = faxNumber;
        }
 
        @Override
-       public String getCity () {
-               return this.city;
+       public String getFirstName () {
+               return this.firstName;
        }
 
        @Override
-       public void setCity (final String city) {
-               this.city = city;
+       public void setFirstName (final String firstName) {
+               this.firstName = firstName;
        }
 
        @Override
-       public String getCountryCode () {
-               return this.countryCode;
+       public Gender getGender () {
+               return this.gender;
        }
 
        @Override
-       public void setCountryCode (final String countryCode) {
-               this.countryCode = countryCode;
+       public void setGender (final Gender gender) {
+               this.gender = gender;
        }
 
        @Override
-       public String getEmailAddress () {
-               return this.emailAddress;
+       public Short getHouseNumber () {
+               return this.houseNumber;
        }
 
        @Override
-       public void setEmailAddress (final String emailAddress) {
-               this.emailAddress = emailAddress;
+       public void setHouseNumber (final Short houseNumber) {
+               this.houseNumber = houseNumber;
        }
 
        @Override
@@ -247,22 +265,27 @@ public class CustomerWebBean extends BaseFrameworkBean implements CustomerWebCon
        }
 
        @Override
-       public String getFaxNumber () {
-               return this.faxNumber;
+       public String getStreet () {
+               return this.street;
        }
 
        @Override
-       public void setFaxNumber (final String faxNumber) {
-               this.faxNumber = faxNumber;
+       public void setStreet (final String street) {
+               this.street = street;
        }
 
        @Override
-       public String getCellphoneNumber () {
-               return this.cellphoneNumber;
+       public Integer getZipCode () {
+               return this.zipCode;
        }
 
        @Override
-       public void setCellphoneNumber (final String cellphoneNumber) {
-               this.cellphoneNumber = cellphoneNumber;
+       public void setZipCode (final Integer zipCode) {
+               this.zipCode = zipCode;
+       }
+
+       @Override
+       public boolean isRequiredPersonalDataSet () {
+               return ((this.getGender() != null) && (this.getFirstName() != null) && (this.getFamilyName() != null) && (this.getStreet() != null) && (this.getHouseNumber() != null) && (this.getZipCode() != null) && (this.getCity() != null));
        }
 }