]> git.mxchange.org Git - pizzaservice-core.git/commitdiff
Better compatibility to Linux/MacOS + updated jcore (towards EJBs) and added some...
authorRoland Haeder <roland@mxchange.org>
Fri, 4 Sep 2015 13:11:43 +0000 (15:11 +0200)
committerRoland Haeder <roland@mxchange.org>
Fri, 4 Sep 2015 13:12:06 +0000 (15:12 +0200)
Signed-off-by:Roland Häder <roland@mxchange.org>

13 files changed:
PizzaService-ejb/lib/jcore.jar
PizzaService-ejb/lib/jsfcore.jar
PizzaService-ejb/nbproject/project.properties
PizzaService-ejb/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaBean.java
PizzaService-ejb/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaServiceBean.java
PizzaService-ejb/src/java/org/mxchange/pizzaapplication/beans/customer/ShopCustomerSessionBean.java [new file with mode: 0644]
PizzaService-ejb/src/java/org/mxchange/pizzaapplication/beans/data/ShopDataBean.java
PizzaService-ejb/src/java/org/mxchange/pizzaapplication/beans/pizzaservice/PizzaServiceSessionBean.java
PizzaService-ejb/src/java/org/mxchange/pizzaapplication/tags/basket/MiniBasketTag.java
nbproject/build-impl.xml
nbproject/genfiles.properties
nbproject/project.properties
nbproject/project.xml

index 01a404f97a84fd8344e0f5c4435b19dea669b71c..a12ac5b19d5bcc7db279d9eb1a63371754fe22ac 100644 (file)
Binary files a/PizzaService-ejb/lib/jcore.jar and b/PizzaService-ejb/lib/jcore.jar differ
index 6a08207d685f67536bc10780d87102398d4c07d9..e9671bc00386241b8d0f4b0bfafbba675c1c937b 100644 (file)
Binary files a/PizzaService-ejb/lib/jsfcore.jar and b/PizzaService-ejb/lib/jsfcore.jar differ
index 0599d14f10866dfa0e81d00290f8e8386997532a..d5df609c474ab3bac97f0e3540b90e321316e231 100644 (file)
@@ -21,15 +21,15 @@ dist.javadoc.dir=${dist.dir}/javadoc
 endorsed.classpath=\
     ${libs.javaee-endorsed-api-6.0.classpath}
 excludes=
-file.reference.cdi-api.jar=lib\\cdi-api.jar
-file.reference.commons-codec-1.10.jar=lib\\commons-codec-1.10.jar
-file.reference.commons-lang3-3.4.jar=lib\\commons-lang3-3.4.jar
-file.reference.jcore.jar=lib\\jcore.jar
-file.reference.jsfcore.jar=lib\\jsfcore.jar
-file.reference.jshop.jar=lib\\jshop.jar
-file.reference.log4j-api-2.3.jar=lib\\log4j-api-2.3.jar
-file.reference.log4j-core-2.3.jar=lib\\log4j-core-2.3.jar
-file.reference.log4j-web-2.3.jar=lib\\log4j-web-2.3.jar
+file.reference.cdi-api.jar=lib/cdi-api.jar
+file.reference.commons-codec-1.10.jar=lib/commons-codec-1.10.jar
+file.reference.commons-lang3-3.4.jar=lib/commons-lang3-3.4.jar
+file.reference.jcore.jar=lib/jcore.jar
+file.reference.jsfcore.jar=lib/jsfcore.jar
+file.reference.jshop.jar=lib/jshop.jar
+file.reference.log4j-api-2.3.jar=lib/log4j-api-2.3.jar
+file.reference.log4j-core-2.3.jar=lib/log4j-core-2.3.jar
+file.reference.log4j-web-2.3.jar=lib/log4j-web-2.3.jar
 includes=**
 j2ee.compile.on.save=true
 j2ee.deploy.on.save=true
@@ -94,6 +94,9 @@ run.test.classpath=\
 # (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value):
 runmain.jvmargs=
 source.encoding=UTF-8
+source.reference.jcore.jar=../../jcore/src
+source.reference.jsfcore.jar=../../jsfcore/src/
+source.reference.jshop.jar=../../jshop/src/
 source.root=src
 src.dir=${source.root}/java
 test.src.dir=test
index e30767662bcc0a26af042743e853c3cf57ad0561..8fb5b2d5c07583ed8835838ac5f247c31ab91471 100644 (file)
  */
 package org.mxchange.pizzaapplication.beans.controller;
 
+import java.rmi.RemoteException;
 import java.util.Deque;
 import java.util.Iterator;
 import javax.faces.FacesException;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
 import org.mxchange.jshop.beans.FrameworkBean;
 import org.mxchange.jshop.category.Category;
-import org.mxchange.jshop.exceptions.CategoryTitleAlreadyUsedException;
-import org.mxchange.jshop.exceptions.ProductTitleAlreadyUsedException;
 import org.mxchange.jshop.item.AddableBasketItem;
 import org.mxchange.jshop.product.Product;
 
@@ -38,55 +35,55 @@ public interface PizzaBean extends FrameworkBean {
         * 
         * @throws FacesException If something was wrong
         */
-       public void init () throws FacesException;
+       public void init () throws RuntimeException;
 
        /**
         * Some "getter" for an iterator of only available products
         * 
         * @return Only available products
-        * @throws javax.servlet.ServletException If anything went wrong
+        * @throws java.rmi.RemoteException If anything went wrong
         */
-       public Iterator<Product> getAvailableProductsIterator () throws ServletException;
+       public Iterator<Product> getAvailableProductsIterator () throws RemoteException;
 
        /**
         * Some "getter" for an iterator of all products
         *
         * @return All products
-        * @throws javax.servlet.ServletException If anything went wrong
+        * @throws java.rmi.RemoteException If anything went wrong
         */
-       public Iterator<Product> getAllProductsIterator () throws ServletException;
+       public Iterator<Product> getAllProductsIterator () throws RemoteException;
 
        /**
         * Some "getter" for an iterator of all categories
         *
         * @return All categories
-        * @throws javax.servlet.ServletException If anything went wrong
+        * @throws java.rmi.RemoteException If anything went wrong
         */
-       public Iterator<Category> getAllCategoriesIterator () throws ServletException;
+       public Iterator<Category> getAllCategoriesIterator () throws RemoteException;
 
        /**
         * Some "getter" for a linked list of only available products
         * 
         * @return Only available products
-        * @throws javax.servlet.ServletException If anything went wrong
+        * @throws java.rmi.RemoteException If anything went wrong
         */
-       public Deque<Product> getAvailableProducts () throws ServletException;
+       public Deque<Product> getAvailableProducts () throws RemoteException;
 
        /**
         * Some "getter" for a linked list of all products
         *
         * @return All products
-        * @throws javax.servlet.ServletException If anything went wrong
+        * @throws java.rmi.RemoteException If anything went wrong
         */
-       public Deque<Product> getAllProducts () throws ServletException;
+       public Deque<Product> getAllProducts () throws RemoteException;
 
        /**
         * Some "getter" for a linked list of all categories
         *
         * @return All categories
-        * @throws javax.servlet.ServletException If anything went wrong
+        * @throws java.rmi.RemoteException If anything went wrong
         */
-       public Deque<Category> getAllCategories () throws ServletException;
+       public Deque<Category> getAllCategories () throws RemoteException;
 
        /**
         * Generates a link for category's parent category. If none is given, the method will return only a small
@@ -115,49 +112,47 @@ public interface PizzaBean extends FrameworkBean {
         * 
         * @param product Product instance to check
         * @return Human-readable version of product availability
-        * @throws javax.servlet.ServletException If something unexpected happened
+        * @throws java.rmi.RemoteException If something unexpected happened
         * @deprecated Old lost code
         */
        @Deprecated
-       public String getPrintableProduktCategory (final Product product) throws ServletException;
+       public String getPrintableProduktCategory (final Product product) throws RemoteException;
 
        /**
         * Adds given category data from request to database
         *
-        * @param request Request instance
-        * @throws javax.servlet.ServletException If something unexpected happened
-        * @throws org.mxchange.jshop.exceptions.CategoryTitleAlreadyUsedException If the given title is already used
+        * @param category Category instance
+        * @throws java.rmi.RemoteException If something unexpected happened
         */
-       public void doAdminAddCategory (final ServletRequest request) throws ServletException, CategoryTitleAlreadyUsedException;
+       public void doAdminAddCategory (final Category category) throws RemoteException;
 
        /**
         * Adds given product data from request to database
         *
-        * @param request Request instance
-        * @throws javax.servlet.ServletException If something unexpected happened
-        * @throws org.mxchange.jshop.exceptions.ProductTitleAlreadyUsedException If the given product title is already used
+        * @param product Product instance
+        * @throws java.rmi.RemoteException If something unexpected happened
         */
-       public void doAdminAddProduct (final ServletRequest request) throws ServletException, ProductTitleAlreadyUsedException;
+       public void doAdminAddProduct (final Product product) throws RemoteException;
 
        /**
         * Handles admin product form requests
         *
-        * @throws ServletException If something unexpected happened
+        * @throws java.rmi.RemoteException If something unexpected happened
         */
-       public void doAdminHandleProductForms () throws ServletException;
+       public void doAdminHandleProductForms () throws RemoteException;
 
        /**
         * Handles admin category form requests
         * 
-        * @throws ServletException If something unexpected happened
+        * @throws java.rmi.RemoteException If something unexpected happened
         */
-       public void doAdminHandleCategoryForms () throws ServletException;
+       public void doAdminHandleCategoryForms () throws RemoteException;
 
        /**
         * Some "getter" for a product from given item
         * @param item Item instance
         * @return A Product instance
-        * @throws javax.servlet.ServletException If something bad happens
+        * @throws java.rmi.RemoteException If something bad happens
         */
-       public Product getProduct (final AddableBasketItem item) throws ServletException;
+       public Product getProduct (final AddableBasketItem item) throws RemoteException;
 }
index 76cedd683624a4a01e89958df7cafb2dc8fb2b8d..369b1b9f22d4d1722fd528bb97409f376a1b6e0f 100644 (file)
@@ -18,16 +18,12 @@ package org.mxchange.pizzaapplication.beans.controller;
 
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
+import java.rmi.RemoteException;
 import java.sql.SQLException;
-import java.text.MessageFormat;
 import java.util.Deque;
 import java.util.Iterator;
 import javax.annotation.PostConstruct;
-import javax.enterprise.context.SessionScoped;
-import javax.faces.FacesException;
-import javax.inject.Named;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
+import javax.ejb.Stateless;
 import org.mxchange.jcore.exceptions.BadTokenException;
 import org.mxchange.jcore.exceptions.CorruptedDatabaseFileException;
 import org.mxchange.jcore.exceptions.UnsupportedDatabaseBackendException;
@@ -45,8 +41,7 @@ import org.mxchange.pizzaapplication.application.PizzaServiceApplication;
  *
  * @author Roland Haeder
  */
-@Named("controller")
-@SessionScoped
+@Stateless(name="controller", mappedName = "ejb/stateless-controller")
 public class PizzaServiceBean extends BaseFrameworkBean implements PizzaBean {
        /**
         * Serial id
@@ -76,22 +71,16 @@ public class PizzaServiceBean extends BaseFrameworkBean implements PizzaBean {
 
        @Override
        @PostConstruct
-       public void init () throws FacesException {
+       public void init () throws RuntimeException {
                // Trace message
-               this.getLogger().trace(MessageFormat.format("application={0} - CALLED!", this.getApplication())); //NOI18N
-
-               // Must not be null
-               if (this.getApplication() == null) {
-                       // Abort here
-                       throw new NullPointerException("application is null"); //NOI18N
-               }
+               this.getLogger().trace("CALLED!"); //NOI18N
 
                try {
                        // Call init method
-                       this.app.init(this.getApplication());
+                       this.app.init();
                } catch (final UnsupportedDatabaseBackendException | SQLException | IOException | BadTokenException ex) {
                        // Continue to throw
-                       throw new FacesException(ex);
+                       throw new RuntimeException(ex);
                }
        }
 
@@ -102,124 +91,126 @@ public class PizzaServiceBean extends BaseFrameworkBean implements PizzaBean {
        }
 
        @Override
-       public Iterator<Product> getAvailableProductsIterator () throws ServletException {
+       public Iterator<Product> getAvailableProductsIterator () throws RemoteException {
                try {
                        return this.app.getAvailableProductsIterator();
                } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("getAvailableProductsIterator() failed.", ex);
                }
        }
 
        @Override
-       public Iterator<Product> getAllProductsIterator () throws ServletException {
+       public Iterator<Product> getAllProductsIterator () throws RemoteException {
                try {
                        return this.app.getAllProductsIterator();
                } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("getAllProductsIterator() failed.", ex);
                }
        }
 
        @Override
-       public Deque<Product> getAvailableProducts () throws ServletException {
+       public Deque<Product> getAvailableProducts () throws RemoteException {
                try {
                        return this.app.getAvailableProducts();
                } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("getAvailableProducts() failed.", ex);
                }
        }
 
        @Override
-       public Deque<Product> getAllProducts () throws ServletException {
+       public Deque<Product> getAllProducts () throws RemoteException {
                try {
                        return this.app.getAllProducts();
                } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("getAllProducts() failed.", ex);
                }
        }
 
        @Override
-       public Iterator<Category> getAllCategoriesIterator () throws ServletException {
+       public Iterator<Category> getAllCategoriesIterator () throws RemoteException {
                try {
                        return this.app.getAllCategoriesIterator();
                } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("getAllCategoriesIterator() failed.", ex);
                }
        }
 
        @Override
-       public Deque<Category> getAllCategories () throws ServletException {
+       public Deque<Category> getAllCategories () throws RemoteException {
                try {
                        return this.app.getAllCategories();
                } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("getAllCategories() failed.", ex);
                }
        }
 
        @Override
-       public void doAdminAddCategory (final ServletRequest request) throws ServletException, CategoryTitleAlreadyUsedException {
+       public void doAdminAddCategory (final Category category) throws RemoteException {
                try {
-                       this.app.doAdminAddCategory(request);
-               } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
+                       this.app.doAdminAddCategory(category);
+               } catch (final CategoryTitleAlreadyUsedException | IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("doAdminAddCategory() failed.", ex);
                }
        }
 
        @Override
-       public void doAdminAddProduct (final ServletRequest request) throws ServletException, ProductTitleAlreadyUsedException {
+       public void doAdminAddProduct (final Product product) throws RemoteException {
                try {
-                       this.app.doAdminAddProduct(request);
-               } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
+                       this.app.doAdminAddProduct(product);
+               } catch (final ProductTitleAlreadyUsedException | IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("doAdminAddProduct() failed.", ex);
                }
        }
 
        @Override
        @Deprecated
-       public String getPrintableProduktCategory (final Product product) throws ServletException {
+       public String getPrintableProduktCategory (final Product product) throws RemoteException {
                try {
                        return this.app.getPrintableProductCategory(product);
                } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("getPrintableProduktCategory() failed.", ex);
                }
        }
 
        @Override
-       public void doAdminHandleProductForms () throws ServletException {
+       @Deprecated
+       public void doAdminHandleProductForms () throws RemoteException {
                try {
-                       this.app.doAdminHandleProductForms(this.getRequest(), this.getResponse());
+                       this.app.doAdminHandleProductForms();
                } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException | ProductTitleAlreadyUsedException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("doAdminHandleProductForms() failed.", ex);
                }
        }
 
        @Override
-       public void doAdminHandleCategoryForms () throws ServletException {
+       @Deprecated
+       public void doAdminHandleCategoryForms () throws RemoteException {
                try {
-                       this.app.doAdminHandleCategoryForms(this.getRequest(), this.getResponse());
+                       this.app.doAdminHandleCategoryForms();
                } catch (final IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException | CategoryTitleAlreadyUsedException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("doAdminHandleCategoryForms() failed.", ex);
                }
        }
 
        @Override
-       public Product getProduct (final AddableBasketItem item) throws ServletException {
+       public Product getProduct (final AddableBasketItem item) throws RemoteException {
                try {
                        // Deligate to application
                        return this.app.getProduct(item);
                } catch (IOException | BadTokenException | SQLException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Continue to throw
-                       throw new ServletException(ex);
+                       throw new RemoteException("getProduct() failed.", ex);
                }
        }
 
diff --git a/PizzaService-ejb/src/java/org/mxchange/pizzaapplication/beans/customer/ShopCustomerSessionBean.java b/PizzaService-ejb/src/java/org/mxchange/pizzaapplication/beans/customer/ShopCustomerSessionBean.java
new file mode 100644 (file)
index 0000000..7ec4c77
--- /dev/null
@@ -0,0 +1,310 @@
+/*
+ * Copyright (C) 2015 Roland Haeder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.pizzaapplication.beans.customer;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Iterator;
+import java.util.Map;
+import javax.ejb.Stateless;
+import javax.servlet.ServletException;
+import org.mxchange.jcore.client.Client;
+import org.mxchange.jcore.contact.Contact;
+import org.mxchange.jcore.contact.gender.Gender;
+import org.mxchange.jshop.beans.BaseFrameworkBean;
+import org.mxchange.jshop.beans.remote.customer.CustomerSessionBeanRemote;
+import org.mxchange.jshop.customer.ShopCustomer;
+
+/**
+ * A customer bean which hides the customer instance
+ *
+ * @author Roland Haeder
+ */
+@Stateless(name="customer", mappedName = "ejb/stateless-customer")
+public class ShopCustomerSessionBean extends BaseFrameworkBean implements CustomerSessionBeanRemote {
+       /**
+        * Serial number
+        */
+       private static final long serialVersionUID = 542145347916L;
+
+       /**
+        * Contact instance
+        */
+       private Contact contact;
+
+       /**
+        * Default constructor
+        */
+       public ShopCustomerSessionBean () {
+               // Instance customer
+               Contact customer = new ShopCustomer();
+
+               // And set it here
+               this.setContact(customer);
+       }
+
+       @Override
+       public String getBirthday () {
+               // Deligate to "hidden" object
+               return this.getContact().getBirthday();
+       }
+
+       @Override
+       public void setBirthday (final String birthday) {
+               // Deligate to "hidden" object
+               this.getContact().setBirthday(birthday);
+       }
+
+       @Override
+       public String getCellphoneNumber () {
+               // Deligate to "hidden" object
+               return this.getContact().getCellphoneNumber();
+       }
+
+       @Override
+       public void setCellphoneNumber (final String cellphoneNumber) {
+               // Deligate to "hidden" object
+               this.getContact().setCellphoneNumber(cellphoneNumber);
+       }
+
+       @Override
+       public String getCity () {
+               // Deligate to "hidden" object
+               return this.getContact().getCity();
+       }
+
+       @Override
+       public void setCity (final String city) {
+               // Deligate to "hidden" object
+               this.getContact().setCity(city);
+       }
+
+       @Override
+       public String getComment () {
+               // Deligate to "hidden" object
+               return this.getContact().getComment();
+       }
+
+       @Override
+       public void setComment (final String comment) {
+               // Deligate to "hidden" object
+               this.getContact().setComment(comment);
+       }
+
+       @Override
+       public String getCompanyName () {
+               // Deligate to "hidden" object
+               return this.getContact().getCompanyName();
+       }
+
+       @Override
+       public void setCompanyName (final String companyName) {
+               // Deligate to "hidden" object
+               this.getContact().setCompanyName(companyName);
+       }
+
+       @Override
+       public String getCountryCode () {
+               // Deligate to "hidden" object
+               return this.getContact().getCountryCode();
+       }
+
+       @Override
+       public void setCountryCode (final String countryCode) {
+               // Deligate to "hidden" object
+               this.getContact().setCountryCode(countryCode);
+       }
+
+       @Override
+       public String getEmailAddress () {
+               // Deligate to "hidden" object
+               return this.getContact().getEmailAddress();
+       }
+
+       @Override
+       public void setEmailAddress (final String emailAddress) {
+               // Deligate to "hidden" object
+               this.getContact().setEmailAddress(emailAddress);
+       }
+
+       @Override
+       public String getFamilyName () {
+               // Trace call
+               //* NOISY-DEBUG: */ this.getLogger().trace("CALLED!");
+
+               // Deligate to "hidden" object
+               return this.getContact().getFamilyName();
+       }
+
+       @Override
+       public void setFamilyName (final String familyName) {
+               // Trace call
+               //* NOISY-DEBUG: */ this.getLogger().trace(MessageFormat.format("familyName={0} - CALLED!", familyName));
+
+               // Deligate to "hidden" object
+               this.getContact().setFamilyName(familyName);
+       }
+
+       @Override
+       public String getFaxNumber () {
+               // Deligate to "hidden" object
+               return this.getContact().getFaxNumber();
+       }
+
+       @Override
+       public void setFaxNumber (final String faxNumber) {
+               // Deligate to "hidden" object
+               this.getContact().setFaxNumber(faxNumber);
+       }
+
+       @Override
+       public Gender getGender () {
+               // Deligate to "hidden" object
+               return this.getContact().getGender();
+       }
+
+       @Override
+       public void setGender (final Gender gender) {
+               // Deligate to "hidden" object
+               this.getContact().setGender(gender);
+       }
+
+       @Override
+       public Long getHouseNumber () {
+               // Deligate to "hidden" object
+               return this.getContact().getHouseNumber();
+       }
+
+       @Override
+       public void setHouseNumber (final Long houseNumber) {
+               // Deligate to "hidden" object
+               this.getContact().setHouseNumber(houseNumber);
+       }
+
+       @Override
+       public String getPhoneNumber () {
+               // Deligate to "hidden" object
+               return this.getContact().getPhoneNumber();
+       }
+
+       @Override
+       public void setPhoneNumber (final String phoneNumber) {
+               // Deligate to "hidden" object
+               this.getContact().setPhoneNumber(phoneNumber);
+       }
+
+       @Override
+       public String getStreet () {
+               // Deligate to "hidden" object
+               return this.getContact().getStreet();
+       }
+
+       @Override
+       public void setStreet (final String street) {
+               // Deligate to "hidden" object
+               this.getContact().setStreet(street);
+       }
+
+       @Override
+       public String getFirstName () {
+               // Deligate to "hidden" object
+               return this.getContact().getFirstName();
+       }
+
+       @Override
+       public void setFirstName (final String firstName) {
+               // Deligate to "hidden" object
+               this.getContact().setFirstName(firstName);
+       }
+
+       @Override
+       public String getTranslatedGender () {
+               // Deligate to "hidden" object
+               return this.getContact().getTranslatedGender();
+       }
+
+       @Override
+       public Long getZipCode () {
+               // Deligate to "hidden" object
+               return this.getContact().getZipCode();
+       }
+
+       @Override
+       public void setZipCode (final Long zipCode) {
+               // Deligate to "hidden" object
+               this.getContact().setZipCode(zipCode);
+       }
+
+       @Override
+       public boolean isOwnContact () {
+               throw new UnsupportedOperationException("Not supported yet."); //NOI18N
+       }
+
+       @Override
+       public Iterator<Map.Entry<Field, Object>> iterator () throws ServletException {
+               try {
+                       // Deligate to "hidden" object
+                       return this.getContact().iterator();
+               } catch (final NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
+                       // Continue to throw
+                       throw new ServletException(ex);
+               }
+       }
+
+       @Override
+       public void show (final Client client) {
+               throw new UnsupportedOperationException("Not supported yet."); //NOI18N
+       }
+
+       @Override
+       public Object getValueFromColumn (final String columnName) throws ServletException {
+               try {
+                       // Deligate to "hidden" object
+                       return this.getContact().getValueFromColumn(columnName);
+               } catch (final IllegalArgumentException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
+                       // Continue to throw
+                       throw new ServletException(ex);
+               }
+       }
+
+       @Override
+       public void setValueFromColumn (final String columnName, final Object value) throws ServletException {
+               try {
+                       // Deligate to "hidden" object
+                       this.getContact().setValueFromColumn(columnName, value);
+               } catch (final NoSuchMethodException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
+                       // Continue to throw
+                       throw new ServletException(ex);
+               }
+       }
+
+       /**
+        * Setter for Contact instance
+        * @param contact Contact instance to set
+        */
+       private void setContact (final Contact contact) {
+               this.contact = contact;
+       }
+
+       /**
+        * Getter for Contact instance
+        * @return Contact instance
+        */
+       private Contact getContact () {
+               return this.contact;
+       }
+}
index 0dbf7f5c104915b17e5fff8cae21ad5c4aa2f9ea..136ee4f2da7433d0f31b956727ddb1490da59c76 100644 (file)
 package org.mxchange.pizzaapplication.beans.data;
 
 import java.text.MessageFormat;
-import java.util.LinkedList;
 import java.util.List;
 import javax.ejb.Stateful;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Named;
-import org.mxchange.jcore.contact.Gender;
+import org.mxchange.jcore.contact.gender.Gender;
+import org.mxchange.jcore.contact.gender.GenderUtil;
 import org.mxchange.jshop.beans.BaseFrameworkBean;
-import org.mxchange.jshop.beans.data.ShopDataBeanRemote;
+import org.mxchange.jshop.beans.remote.data.ShopDataBeanRemote;
 
 /**
  * A bean for static data
  *
  * @author Roland Haeder
  */
-@Named("data")
-@Stateful
-@ApplicationScoped
+@Stateful(name="data",mappedName = "ejb/stateful-data")
 public class ShopDataBean extends BaseFrameworkBean implements ShopDataBeanRemote {
        /**
         * Serial number
@@ -45,23 +41,8 @@ public class ShopDataBean extends BaseFrameworkBean implements ShopDataBeanRemot
                // Trace message
                this.getLogger().trace("CALLED!"); //NOI18N
 
-               // Init list
-               List<Gender> list = new LinkedList<>();
-
-               // Walk through all genders
-               for (final Gender gender : Gender.values()) {
-                       // Debug log
-                       this.getLogger().debug(MessageFormat.format("gender={0}", gender)); //NOI18N
-
-                       // Is it not UNKNOWN
-                       if (!gender.equals(Gender.UNKNOWN)) {
-                               // Add it
-                               boolean added = list.add(gender);
-
-                               // Has it been added?
-                               assert(added) : MessageFormat.format("gender {0} not added.", gender); //NOI18N
-                       }
-               }
+               // Deligate call
+               List<Gender> list = GenderUtil.selectableGenders();
 
                // Trace message
                this.getLogger().trace(MessageFormat.format("list={0} - EXIT!", list)); //NOI18N
index 6a7a6f23ce5eb1bbfcca06a1c0e839769dae7b76..d67ea8172edf090a1e601ed3f625c1d88ee26e63 100644 (file)
@@ -19,18 +19,15 @@ package org.mxchange.pizzaapplication.beans.pizzaservice;
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import java.sql.SQLException;
-import java.text.MessageFormat;
 import java.util.Deque;
 import javax.annotation.PostConstruct;
 import javax.ejb.Stateless;
-import javax.faces.FacesException;
-import javax.inject.Named;
 import javax.servlet.ServletException;
 import org.mxchange.jcore.exceptions.BadTokenException;
 import org.mxchange.jcore.exceptions.CorruptedDatabaseFileException;
 import org.mxchange.jcore.exceptions.UnsupportedDatabaseBackendException;
 import org.mxchange.jshop.beans.BaseFrameworkBean;
-import org.mxchange.jshop.beans.shop.ShopSessionBeanRemote;
+import org.mxchange.jshop.beans.remote.shop.ShopSessionBeanRemote;
 import org.mxchange.jshop.category.Category;
 import org.mxchange.jshop.product.Product;
 import org.mxchange.pizzaapplication.application.PizzaApplication;
@@ -41,8 +38,7 @@ import org.mxchange.pizzaapplication.application.PizzaServiceApplication;
  *
  * @author Roland Haeder
  */
-@Named ("shop")
-@Stateless
+@Stateless (name="shop", mappedName = "ejb/stateless-shop")
 public class PizzaServiceSessionBean extends BaseFrameworkBean implements ShopSessionBeanRemote {
 
        /**
@@ -72,22 +68,16 @@ public class PizzaServiceSessionBean extends BaseFrameworkBean implements ShopSe
        }
 
        @PostConstruct
-       public void init () throws FacesException {
+       public void init () throws RuntimeException {
                // Trace message
-               this.getLogger().trace(MessageFormat.format("application={0} - CALLED!", this.getApplication())); //NOI18N
-
-               // Must not be null
-               if (this.getApplication() == null) {
-                       // Abort here
-                       throw new NullPointerException("application is null"); //NOI18N
-               }
+               this.getLogger().trace("CALLED!"); //NOI18N
 
                try {
                        // Call init method
-                       this.app.init(this.getApplication());
+                       this.app.init();
                } catch (final UnsupportedDatabaseBackendException | SQLException | IOException | BadTokenException ex) {
                        // Continue to throw
-                       throw new FacesException(ex);
+                       throw new RuntimeException(ex);
                }
        }
 
index eff5214ecb8c6cff05be938142a5043201ff6585..a7b826ab9888fd09bc9ffbeae87109c8d3a43273 100644 (file)
@@ -17,8 +17,8 @@
 package org.mxchange.pizzaapplication.tags.basket;
 
 import java.io.IOException;
+import java.rmi.RemoteException;
 import java.text.MessageFormat;
-import javax.servlet.ServletException;
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.BodyTagSupport;
 import org.apache.logging.log4j.LogManager;
@@ -134,7 +134,7 @@ public class MiniBasketTag extends BodyTagSupport implements BasketTag {
                                out.append("  </div>\n"); //NOI18N
                                out.append("</div>\n"); //NOI18N
                        }
-               } catch (final ServletException ex) {
+               } catch (final RemoteException ex) {
                        // Continue to throw
                        throw new JspException(ex);
                }
index 2f206fe272e88e92994d9a03c142fae4387c65dd..277898f2c501b2ec847939b3f8064679a4f2695a 100644 (file)
@@ -205,10 +205,6 @@ exists or setup the property manually. For example like this:
             <property location="${build.dir}" name="dist.ear.dir"/>
             <property name="deploy.on.save" value="${build.deploy.on.save}"/>
         </ant>
-        <ant antfile="${project.PizzaService-war}/build.xml" inheritall="false" target="dist-ear">
-            <property location="${build.dir}" name="dist.ear.dir"/>
-            <property name="deploy.on.save" value="${build.deploy.on.save}"/>
-        </ant>
     </target>
     <target depends="init,deps-jar,deps-j2ee-archive" name="pre-pre-compile"/>
     <target name="pre-compile">
@@ -221,7 +217,6 @@ exists or setup the property manually. For example like this:
         </copy>
     </target>
     <target depends="init,deps-jar,pre-pre-compile,pre-compile" name="-do-compile-deps">
-        <copyfiles files="${reference.PizzaService-war.dist-ear}" todir="${build.dir}//"/>
         <copyfiles files="${reference.PizzaService-ejb.dist-ear}" todir="${build.dir}//"/>
     </target>
     <target name="post-compile">
@@ -300,7 +295,6 @@ exists or setup the property manually. For example like this:
     <target name="-run-deploy-am" unless="no.deps">
         <!-- Task to deploy to the Access Manager runtime. -->
         <ant antfile="${project.PizzaService-ejb}/build.xml" inheritall="false" target="-run-deploy-am"/>
-        <ant antfile="${project.PizzaService-war}/build.xml" inheritall="false" target="-run-deploy-am"/>
     </target>
     <target depends="-init-cos,dist-directory-deploy,pre-run-deploy,-pre-nbmodule-run-deploy,-run-deploy-nb,-init-deploy-ant,-deploy-ant,-run-deploy-am,-post-nbmodule-run-deploy,post-run-deploy" name="run-deploy"/>
     <target if="netbeans.home" name="-run-deploy-nb">
@@ -629,10 +623,6 @@ exists or setup the property manually. For example like this:
             <property location="${build.dir}" name="dist.ear.dir"/>
             <property name="deploy.on.save" value="${build.deploy.on.save}"/>
         </ant>
-        <ant antfile="${project.PizzaService-war}/build.xml" inheritall="false" target="clean-ear">
-            <property location="${build.dir}" name="dist.ear.dir"/>
-            <property name="deploy.on.save" value="${build.deploy.on.save}"/>
-        </ant>
     </target>
     <target depends="init" name="do-clean">
         <delete dir="${build.dir}"/>
index 67a5eceba1ea8def0e4d8c61220952898f589fa2..949b84dfdd33b49747939c648a1ac96ffc2ab84f 100644 (file)
@@ -1,8 +1,8 @@
-build.xml.data.CRC32=f13244bf
+build.xml.data.CRC32=d066c1f0
 build.xml.script.CRC32=8e3e9528
 build.xml.stylesheet.CRC32=a5d15b16@1.49.1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=f13244bf
-nbproject/build-impl.xml.script.CRC32=8247d3f3
+nbproject/build-impl.xml.data.CRC32=d066c1f0
+nbproject/build-impl.xml.script.CRC32=ec434f5f
 nbproject/build-impl.xml.stylesheet.CRC32=5eea63a6@1.49.1
index 6489550a7df6f1b1baff560fe75938fa84056547..f42dda95c0ab1b8549449fce109c045d6bd665c5 100644 (file)
@@ -1,7 +1,6 @@
 build.classes.excludes=**/*.java,**/*.form,**/.nbattrs
 build.dir=build
 build.generated.dir=${build.dir}/generated
-client.module.uri=PizzaService-war
 client.urlPart=
 debug.classpath=${javac.classpath}::${jar.content.additional}:${run.classpath}
 display.browser=true
@@ -22,7 +21,6 @@ j2ee.platform.wsit.classpath=
 j2ee.server.type=gfv3ee6
 jar.compress=false
 jar.content.additional=\
-    ${reference.PizzaService-war.dist-ear}:\
     ${reference.PizzaService-ejb.dist-ear}
 jar.name=PizzaService.ear
 javac.debug=true
@@ -33,9 +31,7 @@ meta.inf=src/conf
 no.dependencies=false
 platform.active=default_platform
 project.PizzaService-ejb=PizzaService-ejb
-project.PizzaService-war=PizzaService-war
 reference.PizzaService-ejb.dist-ear=${project.PizzaService-ejb}/dist/PizzaService-ejb.jar
-reference.PizzaService-war.dist-ear=${project.PizzaService-war}/dist/PizzaService-war.war
 resource.dir=setup
 run.classpath=
 source.root=.
index da8c8e30e13ce794c1997c3cfe0b7b5fe1045d40..b552f0e0f84a460ac096942c8ad4a585e5ffbd36 100644 (file)
@@ -7,10 +7,6 @@
             <minimum-ant-version>1.6.5</minimum-ant-version>
             <web-module-libraries/>
             <web-module-additional-libraries>
-                <library>
-                    <file>${reference.PizzaService-war.dist-ear}</file>
-                    <path-in-war>/</path-in-war>
-                </library>
                 <library>
                     <file>${reference.PizzaService-ejb.dist-ear}</file>
                     <path-in-war>/</path-in-war>
                 <clean-target>clean-ear</clean-target>
                 <id>dist-ear</id>
             </reference>
-            <reference>
-                <foreign-project>PizzaService-war</foreign-project>
-                <artifact-type>j2ee_ear_archive</artifact-type>
-                <script>build.xml</script>
-                <target>dist-ear</target>
-                <clean-target>clean-ear</clean-target>
-                <id>dist-ear</id>
-            </reference>
         </references>
     </configuration>
 </project>