From c59f450807dba231849f079a789736b4b3adc22b Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Mon, 7 Sep 2015 15:31:03 +0200 Subject: [PATCH] =?utf8?q?Well,=20if=20that=20is=20EJB,=20it=20sucks=20som?= =?utf8?q?ehow:=20Logging=20not=20allowed=20and=20a=20complexer=20class=20?= =?utf8?q?structure=20leaves=20strange=20errors=20behind:=20--------------?= =?utf8?q?--------------------------=20Caused=20by:=20java.lang.NoClassDef?= =?utf8?q?FoundError:=20[Lorg/mxchange/jcore/model/contact/gender/Gender;?= =?utf8?q?=20=09at=20java.lang.Class.getDeclaredMethods0(Native=20Method)?= =?utf8?q?=20=09at=20java.lang.Class.privateGetDeclaredMethods(Class.java:?= =?utf8?q?2570)=20=09at=20java.lang.Class.privateGetPublicMethods(Class.ja?= =?utf8?q?va:2690)=20=09at=20java.lang.Class.getMethods(Class.java:1467)?= =?utf8?q?=20=09at=20org.glassfish.ejb.deployment.descriptor.EjbDescriptor?= =?utf8?q?.addAllInterfaceMethodsIn(EjbDescriptor.java:2577)=20=09at=20org?= =?utf8?q?.glassfish.ejb.deployment.descriptor.EjbDescriptor.getLocalRemot?= =?utf8?q?eBusinessMethodDescriptors(EjbDescriptor.java:2530)=20=09...=205?= =?utf8?q?3=20more=20Caused=20by:=20java.lang.ClassNotFoundException:=20or?= =?utf8?q?g.mxchange.jcore.model.contact.gender.Gender=20-----------------?= =?utf8?q?-----------------------=20Signed-off-by:Roland=20H=C3=A4der=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- lib/jcore.jar | Bin 29196 -> 29138 bytes lib/jcoreee.jar | Bin 20447 -> 19652 bytes lib/jshop-core.jar | Bin 28048 -> 28048 bytes lib/jshop-ee-lib.jar | Bin 5699 -> 5427 bytes lib/jshop-ejb.jar | Bin 99138 -> 11545 bytes nbproject/build-impl.xml | 9 ---- nbproject/genfiles.properties | 6 +-- nbproject/project.properties | 5 +- nbproject/project.xml | 12 ----- .../beans/basket/PizzaBasketWebBean.java | 4 +- .../basket/PizzaServiceBasketWebBean.java | 1 - .../beans/controller/PizzaServiceWebBean.java | 45 +----------------- .../beans/controller/PizzaWebBean.java | 29 +---------- .../beans/customer/CustomerWebBean.java | 4 +- .../customer/PizzaServiceCustomerWebBean.java | 1 - .../beans/data/DataWebBean.java | 4 +- .../beans/data/PizzaServiceDataWebBean.java | 11 ----- web/WEB-INF/faces-config.xml | 4 +- web/WEB-INF/web.xml | 2 +- 19 files changed, 16 insertions(+), 121 deletions(-) diff --git a/lib/jcore.jar b/lib/jcore.jar index e5e79d680b3b7d3ac93636320b4098e7f4ee8fd7..c7c6f6cf569623195a065aefc56bf4572cea8b01 100644 GIT binary patch delta 1054 zcmY+CZAep57=Yh%-QD~ux9c`@Tc$0YAF0byvt^DnhpohN{m6noe%R(dbOeD?lvGBa zX0K5Mf`MfJl&l~M`XVZdG7%D_`jI7MWw_{1g`M|gVi(SR?)$vwyyv}#b83tYy=U;4vX zs|@)}#%4pQJRfA1Al#5)tHB6yEE#mn3}&_ntZXslF)KQau8gI?pcw!pXqkJiHrM5% zeHA4V0F4~%_875$fr9M;HI5o%G)4_1YCw+@##PLKchnAyXqMx8_1b~x1#yh`u&p*d zS$h9?SZeRF~MQWbrr=Y(&{AQN9$kzJY6f|x30EXI delta 1247 zcmZ{je`r%z6vw~!H7}`6wRz9JM4P8gs9B6{V{CPucBMhB!9}yo7W^^6mcf?vhixf^ zWo(vi%Gl~3(^Ig{`G;En(m$Ln8;A_YrWS`LHPh)MDy@^mfy@wnltK9=%rVr$+rv^)PHWLW6ppdQ8qAm-8O_ zQ(vZjivpaa;Ot9*A5elHu>e1#5@!*?7;10`a2vR z8T70d!cP9ifZqk!1T^R}x4>+xLh;KLMtpPk3fb|I(UM7vUz?*g_LKfC3iEi`i}>Dv z%kqbV=Pg}FXsg9v7G1ZqZg|Nm%fDaszL))X5;iNov1!Q3{^M zJD7?vF3X@qLAst1PsbTU={1a7>9-gatuaP#Ya`=AYXd`TThC~2Ys%ghI^DKmCSRRw z=g8Z>j#cS)Q%TIFmV`lP!X7d@bRX-=yUoc#0kAEV4Vr$2`)`*_i3=&?E#d{7Ce&dn zW2QB8LOAH0>6(>{3#B-3`e&eiso3GqDz??ztHSTKxAgSn>VmP4^MBv8Qb)7B)hC5)6*=OGpcK2QtJFb{ zw$I}O6?K}*fzVV`qoz*lm?;^3wkWIhRTR>rO8tKh5;&nAxGT%Bt;{XAB%8w3Rc-C9 z>-msbUW??4ZUx@clh1v9#kO2?| z=(bkPN%^O>ntviG-cIrTYm#m}DCQVVk!L&41??`+)5N&r5&H8+mSdJNn994BFb0QdQp0pYTtkXU$_b(% zs#BXF-Ub$nZi8$9N64B1n)EZR3i{;~WbQErk{uC+9)Q8z$tS6;u^;HMk^(?EeNzFt^Ev_|87VJh+UQdyb#+AdP z*zFa!NS&Gq)W32BKQ?CA`;XL>`9OWF=y>c*WY>S^LQ+0I+kdg}RVm^&eO03&LyUeq KwEu4loc#yRpvbTQ delta 1303 zcmY*ZO>7fa5T3W|-6b2_apI(L$cESrwVf2@$07+KQfN@tYivWJ@Ox;BoOG$SgmrKX z_=Y%e=%EtP2q6j*6669BQczmKsg)3?=7Iz#IB)`q9yoA795^tuj={F{-Z%5U`P(;d z{N%cLbxZi?aeqh*?4l#7g`x#Ek8G?PKP5ntajpM zrKKyWg91Br=!Iw#_#mdiw;J?muoLenDNWALS^{F&lIX+2=nQtLBZ#3CX4P)-9iCF- zM+J1vpL5I38T**C;w&uL)2>@A7s^i2T@kP||6AdFp)zE2Hu9crLB92gw{@lw5|$eT;$tq2~Z$XeZ4_rGHZmc9D#PM=Aq64yWq8l`r0%REp%4@;zB{Wbrk9)iG1&D7G9UWauOFE^^*ZvIN}_H%MTY9)SAC zm#}svjmSG9c@1to0u?KYkq>I1YtXELUx3eXow5Kq*?&xcZdMlUWv`hU1V}$zJXcz@ z)6SADpsk@VgWPEWU%G}H>X9*(Z-VcZFHra>`c`MEb!)`XWROKueW@G&YR46RzmY&h zWlV)f1B^~|)5EdB1@HXN-9eqt?@jGx9pB7M(12mg^hRRQ9OlET<^;o2bDANXwitd) z^MK$@%fQF!-7J1gA7z-ea#doE;hps}!=cPP!|luohEJIj!N#G&g#+_ZK5DpP`mow> z?b4nm97*@!)dRhrVdeRUb-D`RHCeMFT)R}#$*{9F`54t(u{qnud3&>lwAoU}?x-<; z5c9eNTXQii#>4n3+g43-9zBkYDi-Ak#U}bp3E82+hNk;xHLGjYc40GcDeS4 zm9XBQlCv8$JiPWbgg7|v<+~zl=uU)jGVj$mn>VDNrni^?-pF?cBM^ZUb@`gb{+|IF CYaMC; diff --git a/lib/jshop-core.jar b/lib/jshop-core.jar index 1828f72b08b683d7e72dd4fc04c2082fdecd7705..9bfd620240d83aced9c3aa454f99d0e03d43ad0f 100644 GIT binary patch delta 563 zcmbPmn{mQzMxFp~W)?061`Y-WhU$qtnoNJICYn!Y0ITp<3O&GXGKHcAzh}GfeImP@a^{Ia$m6JV@nl^Y36AzF4}0b=cZ6 za)ZPjJiJ*!bg%Cwu!)WljbQmB(U(EulV>Jc0z+%^l|-=5#gYs_f*wiW;Al>A2Jr+^ zWhOsKG6FFrl0n{@oSYm0q7r}-7n8wCc~XMFA}LWIY7c}bkm?6f77C)arv`#3uCz!H zm6`??+>;gt;)$e}f~fBF5)j3hkpQBSGh#s0!HiT8rIDEeqWUtyavw7DLA=B)Fz;{{ eSWYt=ta3s&Sl>GcFEl3!q;h9Y9Eg(4Ee8PO4XC#O delta 563 zcmbPmn{mQzMxFp~W)?061`Y;>=dKfZG?|{cPBfp+1Y}=O0Fj?Gf#hUaMq?1A#jH8` z11}FZl9tJn7%f3kXBizp6hD(IhzetJ0#UP=yg<}52v3XI4x&VVa)CYTWP==b6w4=X zWOf9}e_{3nQk(5r1erl}5PKUVh`z;f1I*vTa~4cD3tZy`iAT#dvViD&O1@xmUA668 zApSE0b1+}t*0HP9r5*L%fN_kR(z#=J8AZibUCy?p~Q5FiKwx}RJuX->Z)OaX*@yuPp=+T3|SuC_5lf3!f%zSU&n>XLPW2K{kv6M^j z0eAr1#l=8^3dP0lC5rx93!i@`aAtAR#laxG93GN>4qwQ54lz2+;U(>6%T(ENlU?p& z+aOd8H~Ix@wxCz%Ya7(>zIo8;0^l~p)`?!yg*&ufn=)^jx;?EMR^B$V_H8qrwOF6h z#D0h`RDSpR*r6pK0pK=@f$i*xr9^Ty`uGRBol9p3k3A9Bo} zlsP&6^b=jh>Q-HB#y=j6OVA)eRDuHpH1^rAF%pb6`UY-IS~CTEIyWmpBLS~rXL4p? zE^o1h;2+Y&8suRTV`=%-KH2(|5^=Ll<>CYZ5nCk!1ql>^Kpm)1y%)lhFfu4;Q137a zL;z~r+Ifmy|BZ*-n$eujkIu6bLW|*-z$@{-$v5Vcc7C=nFqJ-QX0rs2w2wG_&ziZ6 zZWQu%F4LFTyG6ifOwZ*ft)!i`2t@JTfH>rdR+4PUhfj(Gi>8S?Z|arHQdduk7dx9T|#QpgdU5xT%v&q9|G9)+*) z#YFhh7R1ag&gv>>QH%SYRGYqLtdtCcFh~zzI{h|00T7vBR(e}7-?lA^}YlzW%rL)_$v!n V<(>bJL=MU-3hF+7#AAhX{sL9r<2e8T delta 1139 zcmZuwO-vI}5T3WC-R&Q2TUt16py4@ldgPi?A z@(vz6X)wmb1Y|ROcAz zF%{VW1b~gmyd%W@jLbLQ=5YT$$kz1`t~5Z7Gl-F926Lo^!3ybQ;ODv-Jmwndh+sC{ zht8;TBU0UQ<-*6SivX}lS4mY%Y+T8-%2K*Mo|3ZJw||~J$D?Cl<-x)O&x1g~7E^L+ zT#hDFG6CmSz=Sj<5jaHek_w^Vq|3bbT#ce8!jseSaVedU!xM2um1Q|Rib=BJs47j$ zmlgFQ%V{A%fI~B3PCzWel>_s38LB(_uRRU4BZFBNT_a)o$Xu4sn8rD>Bl$P;YyA)J zpZ|Q+PXPS+7nUlrll6A&Xfn-dmF&5$^oQ7Hv_Ty>!EOrq~R?EW+4y z&K8SdCJb6PSLF8EKN zypid+oY9g>I?F?lfHjs(q$MqI?G_j?Wb*SeQIXhLqWqVV9q+U z!m}{@m7_1YU~{3dH^;;HJv&;n5R14l`^ALe)wJK!py%1@NbI#f1MwEG6GgX`E_)8^ xWJ6;b$YoZYJR$_>caK9S8~V~f9=0R7j(&1@X~txs0k2RjVv)wMf!~OX`4<*kG{yh` diff --git a/lib/jshop-ejb.jar b/lib/jshop-ejb.jar index 0ba207f13c26a94ceedbe943f8ed3350cacd5521..b96ffadf01ae3df634966c213c84db826f561fc5 100644 GIT binary patch literal 11545 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 diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml index 5002b9e3..cd59461d 100644 --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -881,17 +881,11 @@ exists or setup the property manually. For example like this: - - - - - - @@ -1046,7 +1040,6 @@ exists or setup the property manually. For example like this: - @@ -1061,7 +1054,6 @@ exists or setup the property manually. For example like this: - @@ -1476,7 +1468,6 @@ exists or setup the property manually. For example like this: --> - diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties index fd79f48e..2ae24f4c 100644 --- a/nbproject/genfiles.properties +++ b/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -build.xml.data.CRC32=e1e3912d +build.xml.data.CRC32=1edfee4e 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. # 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=e1e3912d -nbproject/build-impl.xml.script.CRC32=c4215d75 +nbproject/build-impl.xml.data.CRC32=1edfee4e +nbproject/build-impl.xml.script.CRC32=055d9dec nbproject/build-impl.xml.stylesheet.CRC32=99ea4b56@1.68.1.1 diff --git a/nbproject/project.properties b/nbproject/project.properties index 76570c08..a21586fd 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -68,8 +68,7 @@ javac.classpath=\ ${file.reference.gf-client.jar}:\ ${file.reference.log4j-api-2.3.jar}:\ ${file.reference.log4j-core-2.3.jar}:\ - ${file.reference.log4j-web-2.3.jar}:\ - ${reference.jshop-ee-lib.jar} + ${file.reference.log4j-web-2.3.jar} # Space-separated list of extra javac options javac.compilerargs=-Xlint:unchecked -Xlint:deprecation javac.debug=true @@ -98,10 +97,8 @@ javadoc.windowtitle=Pizza-Service Application lib.dir=${web.docbase.dir}/WEB-INF/lib persistence.xml.dir=${conf.dir} platform.active=default_platform -project.jshop-ee-lib=../jshop-ee-lib project.license=gpl30 project.PizzaService-lib=../pizzaservice-lib -reference.jshop-ee-lib.jar=${project.jshop-ee-lib}/dist/jshop-ee-lib.jar reference.PizzaService-lib.jar=${project.PizzaService-lib}/dist/PizzaService-lib.jar resource.dir=setup run.test.classpath=\ diff --git a/nbproject/project.xml b/nbproject/project.xml index 158fd82f..dee8330a 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -46,10 +46,6 @@ ${file.reference.log4j-web-2.3.jar} WEB-INF/lib - - ${reference.jshop-ee-lib.jar} - WEB-INF/lib - @@ -71,14 +67,6 @@ clean jar - - jshop-ee-lib - jar - - jar - clean - jar - diff --git a/src/java/org/mxchange/pizzaapplication/beans/basket/PizzaBasketWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/basket/PizzaBasketWebBean.java index 55bd4087..68ffc3bc 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/basket/PizzaBasketWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/basket/PizzaBasketWebBean.java @@ -16,14 +16,14 @@ */ package org.mxchange.pizzaapplication.beans.basket; -import org.mxchange.jcoreee.beans.FrameworkBean; +import java.io.Serializable; /** * An interface for a basket * * @author Roland Haeder */ -public interface PizzaBasketWebBean extends FrameworkBean { +public interface PizzaBasketWebBean extends Serializable { /** * Checks whether the basket is empty * diff --git a/src/java/org/mxchange/pizzaapplication/beans/basket/PizzaServiceBasketWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/basket/PizzaServiceBasketWebBean.java index e8da93ea..2c770994 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/basket/PizzaServiceBasketWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/basket/PizzaServiceBasketWebBean.java @@ -76,7 +76,6 @@ public class PizzaServiceBasketWebBean extends BaseFrameworkBean implements Pizz return (!this.isEmpty()); } - @Override @PostConstruct public void init () throws RuntimeException { // Call super init first diff --git a/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaServiceWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaServiceWebBean.java index d6e49ac4..c85f8264 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaServiceWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaServiceWebBean.java @@ -19,9 +19,7 @@ package org.mxchange.pizzaapplication.beans.controller; import java.io.IOException; import java.rmi.RemoteException; import java.util.Deque; -import java.util.Iterator; import javax.annotation.PostConstruct; -import javax.ejb.EJB; import javax.enterprise.context.SessionScoped; import javax.faces.FacesException; import javax.inject.Named; @@ -50,25 +48,15 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe /** * Remote bean */ - @EJB + //@EJB private final ShopSessionBeanRemote shop; - /** - * Initializer block - */ - { - // Get new application instance - this.getLogger().debug("INITIALIZER!"); //NOI18N - } - /** * Default constructor * * @throws javax.naming.NamingException Something happened here? */ public PizzaServiceWebBean () throws NamingException { - this.getLogger().trace("CALLED!"); //NOI18N - // Get initial context InitialContext context = new InitialContext(); @@ -76,33 +64,12 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe this.shop = (ShopSessionBeanRemote) context.lookup("ejb/stateless-shop"); //NOI18N } - @Override @PostConstruct public void init () throws RuntimeException { // Call super init first super.genericInit(); } - @Override - public Iterator getAvailableProductsIterator () throws FacesException { - try { - return this.getShop().getAvailableProductsIterator(); - } catch (final RemoteException ex) { - // Continue to throw - throw new FacesException(ex); - } - } - - @Override - public Iterator getAllProductsIterator () throws FacesException { - try { - return this.getShop().getAllProductsIterator(); - } catch (final RemoteException ex) { - // Continue to throw - throw new FacesException(ex); - } - } - @Override public Deque getAvailableProducts () throws FacesException { try { @@ -123,16 +90,6 @@ public class PizzaServiceWebBean extends BaseFrameworkBean implements PizzaWebBe } } - @Override - public Iterator getAllCategoriesIterator () throws FacesException { - try { - return this.getShop().getAllCategoriesIterator(); - } catch (final RemoteException ex) { - // Continue to throw - throw new FacesException(ex); - } - } - @Override public Deque getAllCategories () throws FacesException { try { diff --git a/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaWebBean.java index fb92bcc9..8c248e50 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/controller/PizzaWebBean.java @@ -16,10 +16,9 @@ */ package org.mxchange.pizzaapplication.beans.controller; +import java.io.Serializable; import java.util.Deque; -import java.util.Iterator; import javax.faces.view.facelets.FaceletException; -import org.mxchange.jcoreee.beans.FrameworkBean; import org.mxchange.jshopcore.model.category.Category; import org.mxchange.jshopcore.model.product.Product; @@ -28,31 +27,7 @@ import org.mxchange.jshopcore.model.product.Product; * * @author Roland Haeder */ -public interface PizzaWebBean extends FrameworkBean { - - /** - * Some "getter" for an iterator of only available products - * - * @return Only available products - * @throws javax.faces.view.facelets.FaceletException If anything went wrong - */ - public Iterator getAvailableProductsIterator () throws FaceletException; - - /** - * Some "getter" for an iterator of all products - * - * @return All products - * @throws javax.faces.view.facelets.FaceletException If anything went wrong - */ - public Iterator getAllProductsIterator () throws FaceletException; - - /** - * Some "getter" for an iterator of all categories - * - * @return All categories - * @throws javax.faces.view.facelets.FaceletException If anything went wrong - */ - public Iterator getAllCategoriesIterator () throws FaceletException; +public interface PizzaWebBean extends Serializable { /** * Some "getter" for a linked list of only available products diff --git a/src/java/org/mxchange/pizzaapplication/beans/customer/CustomerWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/customer/CustomerWebBean.java index fe9dec1b..f2934771 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/customer/CustomerWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/customer/CustomerWebBean.java @@ -16,12 +16,12 @@ */ package org.mxchange.pizzaapplication.beans.customer; -import org.mxchange.jcoreee.beans.FrameworkBean; +import java.io.Serializable; /** * An interface for customer beans * * @author Roland Haeder */ -public interface CustomerWebBean extends FrameworkBean { +public interface CustomerWebBean extends Serializable { } diff --git a/src/java/org/mxchange/pizzaapplication/beans/customer/PizzaServiceCustomerWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/customer/PizzaServiceCustomerWebBean.java index d0fb08ad..04ed6ffd 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/customer/PizzaServiceCustomerWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/customer/PizzaServiceCustomerWebBean.java @@ -57,7 +57,6 @@ public class PizzaServiceCustomerWebBean extends BaseFrameworkBean implements Cu this.customer = (CustomerSessionBeanRemote) context.lookup("ejb/stateless-consumer"); } - @Override @PostConstruct public void init () throws RuntimeException { // Call super init first diff --git a/src/java/org/mxchange/pizzaapplication/beans/data/DataWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/data/DataWebBean.java index 6393c84c..c75c80a9 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/data/DataWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/data/DataWebBean.java @@ -16,16 +16,16 @@ */ package org.mxchange.pizzaapplication.beans.data; +import java.io.Serializable; import java.util.List; import org.mxchange.jcore.model.contact.gender.Gender; -import org.mxchange.jcoreee.beans.FrameworkBean; /** * An interface for data beans * * @author Roland Haeder */ -public interface DataWebBean extends FrameworkBean { +public interface DataWebBean extends Serializable { /** * Getter for all genders as array diff --git a/src/java/org/mxchange/pizzaapplication/beans/data/PizzaServiceDataWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/data/PizzaServiceDataWebBean.java index dd4f0d86..b4476b84 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/data/PizzaServiceDataWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/data/PizzaServiceDataWebBean.java @@ -16,7 +16,6 @@ */ package org.mxchange.pizzaapplication.beans.data; -import java.text.MessageFormat; import java.util.List; import javax.annotation.PostConstruct; import javax.ejb.EJB; @@ -63,25 +62,16 @@ public class PizzaServiceDataWebBean extends BaseFrameworkBean implements DataWe @Override public Gender[] allGenders () { - // Trace message - this.getLogger().trace("CALLED!"); //NOI18N - // Return it return this.getData().allGenders(); } @Override public List selectableGenders () { - // Trace message - this.getLogger().trace("CALLED!"); //NOI18N - // Init array // TODO Call EJB here? List genders = this.getData().selectableGenders(); - // Trace message - this.getLogger().trace(MessageFormat.format("genders={0} - EXIT!", genders)); //NOI18N - // Return it return genders; } @@ -95,7 +85,6 @@ public class PizzaServiceDataWebBean extends BaseFrameworkBean implements DataWe return this.data; } - @Override @PostConstruct public void init () throws RuntimeException { // Call super method diff --git a/web/WEB-INF/faces-config.xml b/web/WEB-INF/faces-config.xml index 019e6f13..1010e3f5 100644 --- a/web/WEB-INF/faces-config.xml +++ b/web/WEB-INF/faces-config.xml @@ -5,10 +5,10 @@ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"> PrivacyTermsCheckboxValidator - org.mxchange.jcoreejb.validator.bool.privacy_terms.PrivacyTermsCheckboxValidator + org.mxchange.jcoreee.validator.bool.privacy_terms.PrivacyTermsCheckboxValidator NameValidator - org.mxchange.jcoreejb.validator.string.names.NameValidator + org.mxchange.jcoreee.validator.string.names.NameValidator diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml index f187d0ca..2e94dad3 100644 --- a/web/WEB-INF/web.xml +++ b/web/WEB-INF/web.xml @@ -7,7 +7,7 @@ A servlet filter for setting character encoding to UTF-8 Utf8ServletFilter - org.mxchange.jcoreejb.filter.servlet.utf8.Utf8ServletFilter + org.mxchange.jcoreee.filter.servlet.utf8.Utf8ServletFilter A servlet filter for logging -- 2.39.5