From 95ad217ccc5bcafe553e759a528549695e3bb405 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Sat, 5 Sep 2015 15:51:44 +0200 Subject: [PATCH] =?utf8?q?Continued=20a=20bit:=20-=20renamed=20getGenders(?= =?utf8?q?)=20to=20allGenders()=20-=20tried=20to=20get=20initial=20context?= =?utf8?q?=20and=20lookup=20bean=20-=20the=20EJB=20methods=20allGenders()?= =?utf8?q?=20and=20selectableGenders()=20may=20now=20work=3F=20Signed-off-?= =?utf8?q?by:Roland=20H=C3=A4der=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- lib/jshop-ejb.jar | Bin 99138 -> 0 bytes nbproject/genfiles.properties | 2 +- nbproject/project.xml | 16 +++---- .../beans/controller/PizzaServiceWebBean.java | 42 +++++++++++------- .../beans/enums/DataWebBean.java | 6 ++- .../beans/enums/PizzaServiceDataWebBean.java | 39 +++++++++++++--- 6 files changed, 71 insertions(+), 34 deletions(-) delete mode 100644 lib/jshop-ejb.jar diff --git a/lib/jshop-ejb.jar b/lib/jshop-ejb.jar deleted file mode 100644 index 0ba207f13c26a94ceedbe943f8ed3350cacd5521..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99138 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 diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties index b37418b1..76bf3058 100644 --- a/nbproject/genfiles.properties +++ b/nbproject/genfiles.properties @@ -1,4 +1,4 @@ -build.xml.data.CRC32=f043d149 +build.xml.data.CRC32=ff1dc0da build.xml.script.CRC32=82213886 build.xml.stylesheet.CRC32=651128d4@1.68.1.1 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. diff --git a/nbproject/project.xml b/nbproject/project.xml index 257793f7..53d981ae 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -14,6 +14,14 @@ ${file.reference.jcoreee.jar} WEB-INF/lib + + ${file.reference.jshop-core.jar} + WEB-INF/lib + + + ${reference.PizzaService-lib.jar} + WEB-INF/lib + ${file.reference.cdi-api.jar} WEB-INF/lib @@ -42,14 +50,6 @@ ${file.reference.log4j-web-2.3.jar} WEB-INF/lib - - ${file.reference.jshop-core.jar} - WEB-INF/lib - - - ${reference.PizzaService-lib.jar} - WEB-INF/lib - ${file.reference.jshop-ejb.jar} WEB-INF/lib diff --git a/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaServiceWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaServiceWebBean.java index e69bba25..6949560f 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaServiceWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaServiceWebBean.java @@ -26,7 +26,10 @@ import javax.annotation.PostConstruct; import javax.enterprise.context.SessionScoped; import javax.faces.FacesException; import javax.inject.Named; +import javax.naming.InitialContext; +import javax.naming.NamingException; import org.mxchange.jcoreee.beans.BaseFrameworkBean; +import org.mxchange.jshop.beans.shop.ShopSessionBeanRemote; import org.mxchange.jshopcore.exceptions.CategoryTitleAlreadyUsedException; import org.mxchange.jshopcore.exceptions.ProductTitleAlreadyUsedException; import org.mxchange.jshopcore.model.category.Category; @@ -45,6 +48,11 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe */ private static final long serialVersionUID = 58137539530279L; + /** + * Remote bean + */ + private final ShopSessionBeanRemote remote; + /** * Initializer block */ @@ -55,9 +63,17 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe /** * Default constructor + * + * @throws javax.naming.NamingException Something happened here? */ - public PizzaServiceWebBean () { + public PizzaServiceWebBean () throws NamingException { this.getLogger().trace("CALLED!"); //NOI18N + + // Get initial context + InitialContext context = new InitialContext(); + + // Try to lookup the bean + this.remote = (ShopSessionBeanRemote) context.lookup("ejb/stateless-shop"); } @Override @@ -68,20 +84,12 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe // Super call super.init(); - - try { - // Call init method - this.app.init(); - } catch (final SQLException | IOException ex) { - // Continue to throw - throw new FacesException(ex); - } } @Override public Iterator getAvailableProductsIterator () throws RemoteException { try { - return this.app.getAvailableProductsIterator(); + return this.remote.getAvailableProductsIterator(); } catch (final IOException | SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { // Continue to throw throw new RemoteException("getAvailableProductsIterator() failed", ex); @@ -91,7 +99,7 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe @Override public Iterator getAllProductsIterator () throws RemoteException { try { - return this.app.getAllProductsIterator(); + return this.remote.getAllProductsIterator(); } catch (final IOException | SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { // Continue to throw throw new RemoteException("getAllProductsIterator() failed.", ex); @@ -101,7 +109,7 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe @Override public Deque getAvailableProducts () throws RemoteException { try { - return this.app.getAvailableProducts(); + return this.remote.getAvailableProducts(); } catch (final IOException | SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { // Continue to throw throw new RemoteException("getAvailableProducts() failed.", ex); @@ -111,7 +119,7 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe @Override public Deque getAllProducts () throws RemoteException { try { - return this.app.getAllProducts(); + return this.remote.getAllProducts(); } catch (final IOException | SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { // Continue to throw throw new RemoteException("getAllProducts() failed", ex); @@ -121,7 +129,7 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe @Override public Iterator getAllCategoriesIterator () throws RemoteException { try { - return this.app.getAllCategoriesIterator(); + return this.remote.getAllCategoriesIterator(); } catch (final IOException | SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { // Continue to throw throw new RemoteException("getAllCategoriesIterator() failed.", ex); @@ -131,7 +139,7 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe @Override public Deque getAllCategories () throws RemoteException { try { - return this.app.getAllCategories(); + return this.remote.getAllCategories(); } catch (final IOException | SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { // Continue to throw throw new RemoteException("getAllCategories() failed.", ex); @@ -141,7 +149,7 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe @Override public void doAdminAddCategory (final Category category) throws RemoteException, CategoryTitleAlreadyUsedException { try { - this.app.doAdminAddCategory(category); + this.remote.doAdminAddCategory(category); } catch (final IOException | SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { // Continue to throw throw new RemoteException("doAdminAddCategory() failed.", ex); @@ -151,7 +159,7 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe @Override public void doAdminAddProduct (final Product product) throws RemoteException, ProductTitleAlreadyUsedException { try { - this.app.doAdminAddProduct(product); + this.remote.doAdminAddProduct(product); } catch (final IOException | SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { // Continue to throw throw new RemoteException("doAdminAddProduct() failed.", ex); diff --git a/src/java/org/mxchange/pizzaapplication/beans/enums/DataWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/enums/DataWebBean.java index 5fe8435d..076b02b2 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/enums/DataWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/enums/DataWebBean.java @@ -26,16 +26,18 @@ import org.mxchange.jcoreee.beans.FrameworkBean; * @author Roland Haeder */ public interface DataWebBean extends FrameworkBean { + /** * Getter for all genders as array * * @return All genders as array */ - public Gender[] getGenders (); + public Gender[] allGenders (); + /** * Getter for only selectable genders as array, UNKNOWN is not selectable * * @return All genders as array */ - public List getSelectableGenders (); + public List selectableGenders (); } diff --git a/src/java/org/mxchange/pizzaapplication/beans/enums/PizzaServiceDataWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/enums/PizzaServiceDataWebBean.java index 87ed577b..86f77a90 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/enums/PizzaServiceDataWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/enums/PizzaServiceDataWebBean.java @@ -17,12 +17,14 @@ package org.mxchange.pizzaapplication.beans.enums; import java.text.MessageFormat; -import java.util.Arrays; import java.util.List; import javax.enterprise.context.ApplicationScoped; import javax.inject.Named; +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.jshop.beans.data.ShopDataBeanRemote; /** * A customer bean which hides the customer instance @@ -38,23 +40,41 @@ public class PizzaServiceDataWebBean extends BaseFrameworkBean implements DataWe */ private static final long serialVersionUID = 835482364189L; + /** + * Remote bean + */ + private final ShopDataBeanRemote remote; + + /** + * Default constructor + * + * @throws javax.naming.NamingException If something happens? + */ + public PizzaServiceDataWebBean () throws NamingException { + // Get initial context + InitialContext context = new InitialContext(); + + // Try to lookup bean + this.remote = (ShopDataBeanRemote) context.lookup("ejb/stateless-data"); + } + @Override - public Gender[] getGenders () { + public Gender[] allGenders () { // Trace message - this.getLogger().trace(MessageFormat.format("Genders={0} - EXIT!", Arrays.toString(Gender.values()))); + this.getLogger().trace("CALLED!"); // Return it - return Gender.values(); + return this.getRemote().allGenders(); } @Override - public List getSelectableGenders () { + public List selectableGenders () { // Trace message this.getLogger().trace("CALLED!"); //NOI18N // Init array // TODO Call EJB here? - List genders = null; + List genders = this.getRemote().selectableGenders(); // Trace message this.getLogger().trace(MessageFormat.format("genders={0} - EXIT!", genders)); //NOI18N @@ -62,4 +82,11 @@ public class PizzaServiceDataWebBean extends BaseFrameworkBean implements DataWe // Return it return genders; } + + /** + * @return the remote + */ + private ShopDataBeanRemote getRemote () { + return this.remote; + } } -- 2.39.5