From e0c42678ef855eaf67d9758190c3968f30d9ddf2 Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Fri, 25 Sep 2015 10:47:05 +0200 Subject: [PATCH] =?utf8?q?Continued:=20-=20introduced=20AbstractWebBean=20?= =?utf8?q?which=20currently=20only=20initializes=20the=20resource=20bundle?= =?utf8?q?=20(i18n)=20-=20fixed=20all=20(=3F)=20attributes=20as=20the=20li?= =?utf8?q?bs=20has=20changed=20a=20lot=20-=20renamed=20bundle=20back=20to?= =?utf8?q?=20de=5FDE=20-=20updated=20jars=20Signed-off-by:Roland=20H=C3=A4?= =?utf8?q?der=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- lib/jcoreee.jar | Bin 17542 -> 17745 bytes lib/jshop-core.jar | Bin 45469 -> 46076 bytes lib/jshop-ee-lib.jar | Bin 7157 -> 7308 bytes ...dle.properties => bundle_de_DE.properties} | 0 .../beans/AbstractWebBean.java | 73 ++++++++++++++++++ .../beans/basket/BasketWebBean.java | 44 +++++------ .../beans/basket/BasketWebController.java | 4 +- .../beans/category/AdminCategoryWebBean.java | 14 ++-- .../category/AdminCategoryWebController.java | 10 +-- .../beans/product/AdminProductWebBean.java | 63 +++++++-------- .../product/AdminProductWebController.java | 25 +++--- .../beans/shop/ShopWebBean.java | 6 +- .../admin/admin_category_selection_box.tpl | 4 +- .../admin_parent_category_selection_box.tpl | 2 +- web/WEB-INF/templates/basket/full_basket.tpl | 6 +- web/admin/category.xhtml | 6 +- web/admin/product.xhtml | 16 ++-- web/basket.xhtml | 6 +- web/customer/checkout_done.xhtml | 2 +- web/index.xhtml | 4 +- 20 files changed, 180 insertions(+), 105 deletions(-) rename src/java/org/mxchange/localization/{bundle.properties => bundle_de_DE.properties} (100%) create mode 100644 src/java/org/mxchange/pizzaapplication/beans/AbstractWebBean.java diff --git a/lib/jcoreee.jar b/lib/jcoreee.jar index 7b5dcd35bc09e8d300d9a88d15fc9ecce1151152..1b1ad2a1e6da411ce125c30ebcb4f0de5b875363 100644 GIT binary patch delta 2942 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 LdW%kV$-Msol!^q4 diff --git a/lib/jshop-core.jar b/lib/jshop-core.jar index df70d7dea2a62f435da72a95346b4f0b1bff546a..3758a7bc625cfaa0a01c983d39d8494c8343fdd2 100644 GIT binary patch delta 8623 zcmdT}X>e56l|Jva=-11Wx+SzC(1Oqow1foOcR-eegxG~xq?VAeus|TSFxY@3FW?ws zgRe~z91?8g;1xsKPRb^B?AWQw*d80#Y&Ef6i9J)!%p|Fl%au$rWt;iVy{&GwEO}~b zeoc41_wKv*Z1>!A&OPV8^Z%lM@moEzy~PsYAhHqtW@Fiz$ehTJHkLKM5xe{RZX()! zroJtqIMUHD)aUi}?OIZQxIC?JY01)pt`#L`u4G#nE7MvYrsr)4-Op` z*PBxO=UuucsXXo;iI7xc{I$dTL4mKEKqXUj$ES%0p0Y9}KPc%A7pSxk4elE06|Xm> zN*Yltz(;Ru1*dhQ)4KS0Wrnz(V~FmQXyHk!bTZ?$L%aHh`gV!#iUm&haOi!!V%!#m z@g`s2UXgTnr7H@9{GxdH#QSk8#D>CX|HXOnnw0Ue^7-yxm_&RPiz_*KqV}1{(YL;O z`Bki05#8&cRO&EjtAljvu+swSG-#WRwmWDJ?Qr0Ir$Jo~vQxK{ywtlyL&4|p)iA+K+6s6wNN0rC5TiQ+dYiN+y=4uie_M#{fx z_S;QrqqQ2&`EwWkQP(~eNtp+8^C*Hc zDS=9;lq?iOOQ@FWpiIKOke1r(hX|- zD>*0!BRbs#m?ml#UuAX}EoiTyRohD z2+(K>@a7gv24&K6mICnn;0 zRAW#rkJK>?Zsk;OPy@fLRH}xF<@!JO?9jAYv9559ML$#^9xePbxzU8yn+$3;X%V%U zta5|eOenlvxck$ThkByKse4KtCat6OCbaDlXA(SOYf)2}Q;JWDs-0%g@qOa;!%6$*POTtO!1~0BguUI~7ni6slttS#itcO6gP_ zrohIipOl@O>m-`%6yB1i>Rty$(MAVF(nf?234yp)LC$5hjcSQx>y1aV_NA~%|h0Ns4CH#PVpLm9(%S}tgrfy2B^1_=22=B zr9r6}go+cO;6>2WLOe6@zNio0oJGm#nm>$1kQh0PrZat!UY%T>A4UfZ19XxAvlJH) zJtT1oFjCly^>d;Dd2wGZ_V0+#UjcS(%LGr1fRUA;Wnz@z$EAoDaB-f5giop|&{l}% zn$&WJQnr#BfFgwN3MoJ(#$2S`pt+wF#r4Dc^}n-X-DH zWUN6stk^AhRWw?yxPY=pzC$s2FOYc!9Xf^Bo|utsqhbr#YCyA=t$CyQFOqpRh^~}> zKO{LdizLcEG!6?q2VhQ>#F#G0nHeQ%CXU~XEbgj{ouY%Y;QZ}bIK$55oDqX&;B1@D z`Oz6Uw<+rZ=Wrd^rt9DWBzbHWNtA8tFi=)|yY!Y=w0IAIm17$SG{OVZ*|PuC5}|g! zih(*fwA-`yQ130`T29Xm~~;8)aTqF0TI|VR>j$hak$~DO{{U zE>;A?WKfs6nB?-n*{NKP&d3GJBVosmP359OUPviZxrDoWxrl0?%H_n2TsRZtMZ9n# zVKg)s70zbnQh;1SbJt<1+8GnNstUwLdtUx)5KZ{NsJHezHGp4A;9#o5+vmcPK z!1)=zU?Xjkjmt%Mr+P8)P_)_7UomY3ogd@&b}A!3K@`6~%xDITmmIoibC_u;+Kk9h%eJ z&2X9(m|#Ap$k}rQu-e5ZJ2Nxkl+{+~kkF^W=qh zV-SW#w?edhxJ)sO7K{Ru;1-t}$X=)i=C=wH&7y9&MltYmX@_X-p0BMJd%8U`-~L|r z2d)^dLR&sfuh@f3fUjjFwC9V(EBkv4E?QB6ioe{v$Z)CZQ(Rr2=^r?7O_zA5mb|(3 z9jqH)!1Drcug@NFvx976)E6IRhaP$i>NRMWL46!n#V>t-6Ja8a6otJD#g9fdN2v_6 zt5+Qth%YzS`d1(PzCIgsF>v5>@yPi$@zPL^ICuLm=Oghqk?^=p&YC%C#|{A{$OKTV z>&y~6eRlEO9oI%PXkMqZN`OE`(NJ85RFH+@Im45q$kt+^DV_3qq2Rd+fpzvs~ldHja3Scav|8QGs3EPS}CI(!>Z7|lQ%{QKbdkV+RPV91dqvBS}EgC zh)eH`TvRNr7RuQ*EXS8S}8b|hPdpVkxL88FeptRmX3zF41vq=EL_wY zYe<~h7!&gksrv<*qf)03+uLSji<&Qh9G*JO39XjW>JdnCbQVdJfoL*V>R*$@I$e_S z86@GlT9+x-MjG9OCeNoGPaRKd9uitBOJqT4o?PeSkm$rL5~*ZvGhmf{Sy3yob`+Z} zpxS{kowiD|<~ZJoQP}Y|+D;2pD=d&VzI%u3#a9tdU-cJ`Ra^egCs+Qnci$f&H-+lb?4PbhknG;JgRL>2TjrzgOIATbNpS@wE3( zZ)h|(Q0vwm^!5*Ud-@0ZeTUI2-a8d18t$uI8XFkz!qL?f0NcKi0e}zmap48Ex)hjr zeRcI@YAODFUy98hKo=kP7Ko2ZyTubHlk8@ovt7J)a^8Z-Ne=sm`g{8{nj8)0s&j)7 zGC^gIyF}Wd)&AQ1k7^0=p_7TJa}aNxnwJodXy2}C`LMCiP9-~Hf_TF9K&>Mt2r4SR zTQ~i@!)XSGeIjKj#j2=^_a8`c@RkyI{ouQ)(~d}|j(*luI(x=E@ZeVoh+!s7xWGhk ztu#5aHL+#pit*FswKe25v0H92=!8l4(zgt{&&2L}zf7A=xY0U!;AbME-DJYjx0$f= z9VYFhE|a>+%SSs%s}bnLSSQYZifp3oN|dd4yr(|6NeryALS{;V~BG*2aRGoAH#}_gW;WWI*MR! zP|(}}L5&ZMSpZ;8-75kSn#roI`S^@lfgMR?QTRx_ltHQSBqX_i3SVoGuT@T*cS2P? zPv;xhqe6U7&&ZdPZY6YRkE+3r5ZI#_T}ko?Bsn{aB+7O*b`vHh^NSGUb2BpT!2ZCn zTt$Vr`~X}o%)&((gvLH5F?r_?ahaHr3tUmcaupTg@)Wo{Jqs7*BpUm##N;X}#O3mg zT;S#smaC``7eBbXFbfyyVyL1Tk!UORhgDJWKc)m#MTJ;rOd(|tnt`29B|yT0FDSg} zR^Lqg6-}pGWGvy`w;#iB?>(pyR3m)z%`Nk7PKHzQwG4;l9HU&K^*dYtUq$#dQFHDO zvMTXB`uH5#`1=dzb#4gX#nSLkjN+w>%jL*t7n6(Lgu3`(sl7$hV=ck&l8xvN{vv}d zH~pdRQ&BT9U*hkaNY(}uNT?H(MwJ_gOit%_3v9)ZQ?_VL%e;- zA!#^XcK-F}utL735}X+SfPoj`TU@F*@^p-((fVYvuG`SPM7(2<7Nt+B?pM&g-GS}~ zQT?P6E$kz0P&A^6@gJE0%)&R@Ldk#E$t&-;v8nLY90vHXTU>Ro2~rIEU>gQ##z{fd z_uCjrHS~#=3E zHc3*RencArPG|ry3@%!fJf}1fI)9z6iSbnmmd_mHMAdUj>d~)WTK{d>0$+UmJNcU! zzp;+tVYbmizpRLd&VcxUF!Y-k|F=yN7^gy_|FW`@W0#ZlvtHRf))yz<3(yEZ$CygP zcL0u1D`y;jXfYLN=?IQ66i~3DK~+;4g25U#kHc?POG=^YWV*;Z?~}5rWHC(whlS}d zit*bAc51P}c;N=Ir* delta 8144 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. + */ +package org.mxchange.pizzaapplication.beans; + +import java.io.Serializable; +import java.util.ResourceBundle; + +/** + * An abstract web web bean for web applications. This class currently only + * handles loading the resource bundle (i18n). + * + * @author Roland Haeder + */ +public abstract class AbstractWebBean implements Serializable { + + /** + * Serial number + */ + private static final long serialVersionUID = 48_475_834_783_473_187L; + + /** + * Bundle instance + */ + private final ResourceBundle bundle; + + /** + * Protectd constructor + */ + protected AbstractWebBean () { + // Load resource bundle + this.bundle = ResourceBundle.getBundle("org/mxchange/localization/bundle"); + } + + /** + * Getter for bundle instance + * + * @return Bundle instance + */ + protected ResourceBundle getBundle () { + return this.bundle; + } + + /** + * Getter for message from given key + * + * @param key Key to get message from + * @return Message + */ + protected String getMessageStringFromKey (final String key) { + // Is the bundle loaded? + if (this.getBundle() == null) { + // Abort here + throw new NullPointerException("bundle is null"); //NOI18N + } + + // Return message + return this.getBundle().getString(key); + } +} diff --git a/src/java/org/mxchange/pizzaapplication/beans/basket/BasketWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/basket/BasketWebBean.java index 1d62d65f..d1e88221 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/basket/BasketWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/basket/BasketWebBean.java @@ -40,7 +40,7 @@ import org.mxchange.jshopcore.model.product.Product; */ @Named ("basketController") @SessionScoped -public class BasketWebBean implements BasketWebController { +public class BasketWebBean implements BasketWebController { /** * Serial number @@ -59,9 +59,9 @@ public class BasketWebBean implements BasketWebController { /////////////////////// Properties ///////////////////// /** - * Ordered amount + * Ordered orderedAmount */ - private Long amount; + private Long orderedAmount; /** * Current item @@ -99,14 +99,14 @@ public class BasketWebBean implements BasketWebController { } // Generate item instance - AddableBasketItem item = new BasketItem(product, this.getAmount()); + AddableBasketItem item = new BasketItem(product, this.getOrderedAmount()); - // Is amount set? - if (this.getAmount() == null) { + // Is orderedAmount set? + if (this.getOrderedAmount() == null) { // Trace message - //this.getLogger().logTrace("addItem: amount not specified, returning null ... - EXIT!"); + //this.getLogger().logTrace("addItem: orderedAmount not specified, returning null ... - EXIT!"); - // No amount specified?! + // No orderedAmount specified?! return null; } @@ -120,8 +120,8 @@ public class BasketWebBean implements BasketWebController { // Deligate to model this.basket.addItem(item); - // Remove amount - this.setAmount(null); + // Remove orderedAmount + this.setOrderedAmount(null); // Trace message //this.getLogger().logTrace(MessageFormat.format("addItem: item {0} - has been added to basket. - EXIT!", item)); @@ -158,16 +158,16 @@ public class BasketWebBean implements BasketWebController { if (this.getCurrentItem() == null) { // Current item is null throw new NullPointerException("currentItem is null"); //NOI18N - } else if (this.getCurrentItem().getProduct() == null) { + } else if (this.getCurrentItem().getItemProduct() == null) { // Product is null throw new NullPointerException("currentItem.product is null"); //NOI18N - } else if (this.getCurrentItem().getAmount() == null) { + } else if (this.getCurrentItem().getOrderedAmount() == null) { // Amount is null throw new NullPointerException("currentItem.amount is null"); //NOI18N } // Caculate item's price - Float totalPrice = (this.getCurrentItem().getProduct().getPrice() * this.getCurrentItem().getAmount()); + Float totalPrice = (this.getCurrentItem().getItemProduct().getProductPrice() * this.getCurrentItem().getOrderedAmount()); // Trace message //this.getLogger().logTrace(MessageFormat.format("calculateCurrentItemPrice: totalPrice={0} - EXIT!", totalPrice)); @@ -193,7 +193,7 @@ public class BasketWebBean implements BasketWebController { // Is it a product? if (item.isProductType()) { // Caculate item's price - totalPrice = (item.getProduct().getPrice() * item.getAmount()); + totalPrice = (item.getItemProduct().getProductPrice() * item.getOrderedAmount()); } // Trace message @@ -266,13 +266,13 @@ public class BasketWebBean implements BasketWebController { } @Override - public Long getAmount () { - return this.amount; + public Long getOrderedAmount () { + return this.orderedAmount; } @Override - public void setAmount (final Long amount) { - this.amount = amount; + public void setOrderedAmount (final Long orderedAmount) { + this.orderedAmount = orderedAmount; } @Override @@ -308,9 +308,9 @@ public class BasketWebBean implements BasketWebController { if (null == item) { // item is null throw new NullPointerException("item is null"); - } else if ((item.isProductType()) && (item.getProduct().equals(product))) { + } else if ((item.isProductType()) && (item.getItemProduct().equals(product))) { // Found it - itemAmount = item.getAmount(); + itemAmount = item.getOrderedAmount(); break; } } @@ -404,10 +404,10 @@ public class BasketWebBean implements BasketWebController { // Get type switch (item.getItemType()) { case "product": // Sellable product //NOI18N - assert (item.getProduct() instanceof Product) : MessageFormat.format("item {0} has no product instance set.", item); //NOI18N + assert (item.getItemProduct() instanceof Product) : MessageFormat.format("item {0} has no product instance set.", item); //NOI18N // Get title - lastItem = item.getProduct().getTitle(); + lastItem = item.getItemProduct().getProductTitle(); break; default: // Not supported diff --git a/src/java/org/mxchange/pizzaapplication/beans/basket/BasketWebController.java b/src/java/org/mxchange/pizzaapplication/beans/basket/BasketWebController.java index b7fce984..eccff4bf 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/basket/BasketWebController.java +++ b/src/java/org/mxchange/pizzaapplication/beans/basket/BasketWebController.java @@ -86,14 +86,14 @@ public interface BasketWebController extends Serializable { * * @return Item amount property */ - public Long getAmount (); + public Long getOrderedAmount (); /** * Setter for item amount property * * @param amount Item amount property */ - public void setAmount (final Long amount); + public void setOrderedAmount (final Long amount); /** * Getter for current item diff --git a/src/java/org/mxchange/pizzaapplication/beans/category/AdminCategoryWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/category/AdminCategoryWebBean.java index 2db3a58e..3232a844 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/category/AdminCategoryWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/category/AdminCategoryWebBean.java @@ -58,9 +58,9 @@ public class AdminCategoryWebBean implements AdminCategoryWebController { /////////////////////// Properties ///////////////////// /** - * Category title + * Category categoryTitle */ - private String title; + private String categoryTitle; /** * Parent category @@ -90,7 +90,7 @@ public class AdminCategoryWebBean implements AdminCategoryWebController { // Create category Category category = new ProductCategory(); category.setParentCategory(this.getParentCategory()); - category.setTitle(this.getTitle()); + category.setCategoryTitle(this.getCategoryTitle()); // Deligate to remote bean this.categoryBean.doAdminAddCategory(category); @@ -104,13 +104,13 @@ public class AdminCategoryWebBean implements AdminCategoryWebController { } @Override - public String getTitle () { - return this.title; + public String getCategoryTitle () { + return this.categoryTitle; } @Override - public void setTitle (final String title) { - this.title = title; + public void setCategoryTitle (final String categoryTitle) { + this.categoryTitle = categoryTitle; } @Override diff --git a/src/java/org/mxchange/pizzaapplication/beans/category/AdminCategoryWebController.java b/src/java/org/mxchange/pizzaapplication/beans/category/AdminCategoryWebController.java index 8ea0703d..f749293a 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/category/AdminCategoryWebController.java +++ b/src/java/org/mxchange/pizzaapplication/beans/category/AdminCategoryWebController.java @@ -49,16 +49,16 @@ public interface AdminCategoryWebController { public void setParentCategory (final Category parentCategory); /** - * Getter for title + * Getter for category title * * @return the title */ - public String getTitle (); + public String getCategoryTitle (); /** - * Setter for title + * Setter for category title * - * @param title the title to set + * @param categoryTitle the title to set */ - public void setTitle (final String title); + public void setCategoryTitle (final String categoryTitle); } diff --git a/src/java/org/mxchange/pizzaapplication/beans/product/AdminProductWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/product/AdminProductWebBean.java index 0b0645a8..8c6b654c 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/product/AdminProductWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/product/AdminProductWebBean.java @@ -26,6 +26,7 @@ import javax.naming.InitialContext; import javax.naming.NamingException; import org.mxchange.jshopcore.exceptions.CannotAddProductException; import org.mxchange.jshopcore.exceptions.ProductTitleAlreadyUsedException; +import org.mxchange.jshopcore.model.category.Category; import org.mxchange.jshopcore.model.product.AdminProductSessionBeanRemote; import org.mxchange.jshopcore.model.product.GenericProduct; import org.mxchange.jshopcore.model.product.Product; @@ -61,22 +62,22 @@ public class AdminProductWebBean implements AdminProductWebController { /** * Available */ - private Boolean available; + private Boolean productAvailability; /** - * Category id + * Category instance */ - private Long id; + private Category productCategory; /** - * Property price + * Property productPrice */ - private Float price; + private Float productPrice; /** - * Property title + * Property productTitle */ - private String title; + private String productTitle; /** * Default constructor @@ -102,10 +103,10 @@ public class AdminProductWebBean implements AdminProductWebController { Product product = new GenericProduct(); // Add all - product.setAvailable(this.getAvailable()); - product.setId(this.getId()); - product.setPrice(this.getPrice()); - product.setTitle(this.getTitle()); + product.setProductAvailability(this.getProductAvailability()); + product.setProductCategory(this.getProductCategory()); + product.setProductPrice(this.getProductPrice()); + product.setProductTitle(this.getProductTitle()); // Call bean this.productBean.doAdminAddProduct(product); @@ -114,10 +115,10 @@ public class AdminProductWebBean implements AdminProductWebController { this.controller.addProduct(product); // Set all to null - this.setAvailable(Boolean.FALSE); - this.setId(null); - this.setPrice(null); - this.setTitle(null); + this.setProductAvailability(Boolean.FALSE); + this.setProductCategory(null); + this.setProductPrice(null); + this.setProductTitle(null); } catch (final ProductTitleAlreadyUsedException | CannotAddProductException ex) { // Continue to throw throw new FaceletException(ex); @@ -131,42 +132,42 @@ public class AdminProductWebBean implements AdminProductWebController { } @Override - public void setAvailable (final Boolean available) { - this.available = available; + public void setProductAvailability (final Boolean productAvailability) { + this.productAvailability = productAvailability; } @Override - public Long getId () { - return id; + public Category getProductCategory () { + return productCategory; } @Override - public void setId (final Long id) { - this.id = id; + public void setProductCategory (final Category productCategory) { + this.productCategory = productCategory; } @Override - public Float getPrice () { - return this.price; + public Float getProductPrice () { + return this.productPrice; } @Override - public void setPrice (final Float price) { - this.price = price; + public void setProductPrice (final Float productPrice) { + this.productPrice = productPrice; } @Override - public String getTitle () { - return this.title; + public String getProductTitle () { + return this.productTitle; } @Override - public void setTitle (final String title) { - this.title = title; + public void setProductTitle (final String productTitle) { + this.productTitle = productTitle; } @Override - public Boolean getAvailable () { - return this.available; + public Boolean getProductAvailability () { + return this.productAvailability; } } diff --git a/src/java/org/mxchange/pizzaapplication/beans/product/AdminProductWebController.java b/src/java/org/mxchange/pizzaapplication/beans/product/AdminProductWebController.java index 90fa3dea..0942bff8 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/product/AdminProductWebController.java +++ b/src/java/org/mxchange/pizzaapplication/beans/product/AdminProductWebController.java @@ -18,6 +18,7 @@ package org.mxchange.pizzaapplication.beans.product; import java.util.List; import javax.faces.view.facelets.FaceletException; +import org.mxchange.jshopcore.model.category.Category; import org.mxchange.jshopcore.model.product.Product; /** @@ -48,54 +49,54 @@ public interface AdminProductWebController { * * @return Product's available property */ - public Boolean getAvailable (); + public Boolean getProductAvailability (); /** * Setter for product's available property * * @param available Product's available property */ - public void setAvailable (final Boolean available); + public void setProductAvailability (final Boolean available); /** - * Getter for product's category id + * Getter for product's category * - * @return Product's category id + * @return Product's category */ - public Long getId (); + public Category getProductCategory (); /** - * Setter for product's category id + * Setter for product's category instance * - * @param id Product's category id + * @param productCategory Product's category instance */ - public void setId (final Long id); + public void setProductCategory (final Category productCategory); /** * Getter for product's price property * * @return Product's price property */ - public Float getPrice (); + public Float getProductPrice (); /** * Setter for product's price property * * @param price Product's price property */ - public void setPrice (final Float price); + public void setProductPrice (final Float price); /** * Getter for product's title property * * @return Product's title */ - public String getTitle (); + public String getProductTitle (); /** * Setter for product's title property * * @param title Product's title */ - public void setTitle (final String title); + public void setProductTitle (final String title); } diff --git a/src/java/org/mxchange/pizzaapplication/beans/shop/ShopWebBean.java b/src/java/org/mxchange/pizzaapplication/beans/shop/ShopWebBean.java index 9b233a73..52e59682 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/shop/ShopWebBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/shop/ShopWebBean.java @@ -27,12 +27,12 @@ import javax.inject.Named; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; -import org.mxchange.jcoreee.BaseEeSystem; import org.mxchange.jshopcore.model.category.Category; import org.mxchange.jshopcore.model.category.CategorySessionBeanRemote; import org.mxchange.jshopcore.model.category.ProductCategory; import org.mxchange.jshopcore.model.product.Product; import org.mxchange.jshopcore.model.product.ProductSessionBeanRemote; +import org.mxchange.pizzaapplication.beans.AbstractWebBean; /** * General shop controller @@ -41,7 +41,7 @@ import org.mxchange.jshopcore.model.product.ProductSessionBeanRemote; */ @Named ("controller") @ApplicationScoped -public class ShopWebBean extends BaseEeSystem implements ShopWebController { +public class ShopWebBean extends AbstractWebBean implements ShopWebController { /** * Serial number @@ -67,7 +67,7 @@ public class ShopWebBean extends BaseEeSystem implements ShopWebController { @Override public void addProduct (final Product product) { // Is the product available? - if (product.getAvailable()) { + if (product.getProductAvailability()) { // Add it this.availableProducts.add(product); } diff --git a/web/WEB-INF/templates/admin/admin_category_selection_box.tpl b/web/WEB-INF/templates/admin/admin_category_selection_box.tpl index 3141b802..d91cc209 100644 --- a/web/WEB-INF/templates/admin/admin_category_selection_box.tpl +++ b/web/WEB-INF/templates/admin/admin_category_selection_box.tpl @@ -4,8 +4,8 @@ xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets"> - - + + diff --git a/web/WEB-INF/templates/admin/admin_parent_category_selection_box.tpl b/web/WEB-INF/templates/admin/admin_parent_category_selection_box.tpl index ef9e7100..15ce79e4 100644 --- a/web/WEB-INF/templates/admin/admin_parent_category_selection_box.tpl +++ b/web/WEB-INF/templates/admin/admin_parent_category_selection_box.tpl @@ -5,6 +5,6 @@ xmlns:ui="http://java.sun.com/jsf/facelets"> - + diff --git a/web/WEB-INF/templates/basket/full_basket.tpl b/web/WEB-INF/templates/basket/full_basket.tpl index 8ddeea95..81ff9316 100644 --- a/web/WEB-INF/templates/basket/full_basket.tpl +++ b/web/WEB-INF/templates/basket/full_basket.tpl @@ -10,7 +10,7 @@ #{msg.GUEST_ITEM_TITLE} - #{item.product.title} + #{item.itemProduct.productTitle} @@ -19,7 +19,7 @@
- + @@ -30,7 +30,7 @@ #{msg.CHANGE_ITEM_AMOUNT} - + diff --git a/web/admin/category.xhtml b/web/admin/category.xhtml index 021b989a..dbf05089 100644 --- a/web/admin/category.xhtml +++ b/web/admin/category.xhtml @@ -23,13 +23,13 @@ #{msg.SELECT_ENTRY} - #{cat.id}: + #{cat.categoryId}: #{msg.ADMIN_ENTER_CATEGORY_TITLE} - #{cat.title} + #{cat.categoryTitle} @@ -63,7 +63,7 @@
- +
diff --git a/web/admin/product.xhtml b/web/admin/product.xhtml index 33b0a9d7..cbce503d 100644 --- a/web/admin/product.xhtml +++ b/web/admin/product.xhtml @@ -23,27 +23,27 @@ Produktnummer: - #{product.id}: + #{product.productId}: #{msg.ADMIN_ENTER_PRODUCT_TITLE} - #{product.title} + #{product.productTitle} #{msg.SINGLE_ITEM_PRICE} - #{product.price} + #{product.productPrice} #{msg.CATEGORY} - #{product.categoryId} + #{product.productCategory.categoryId} #{msg.IS_AVAILABLE} - #{product.available} + #{product.productAvailability} @@ -72,7 +72,7 @@
- +
@@ -85,7 +85,7 @@
- +
@@ -109,7 +109,7 @@
- + diff --git a/web/basket.xhtml b/web/basket.xhtml index e3c253c2..ab56ee25 100644 --- a/web/basket.xhtml +++ b/web/basket.xhtml @@ -23,7 +23,7 @@ #{msg.GUEST_ITEM_TITLE} - #{item.product.title} + #{item.itemProduct.productTitle} @@ -32,7 +32,7 @@
- + @@ -45,7 +45,7 @@ - + diff --git a/web/customer/checkout_done.xhtml b/web/customer/checkout_done.xhtml index 4d1b8621..2d1ddad5 100644 --- a/web/customer/checkout_done.xhtml +++ b/web/customer/checkout_done.xhtml @@ -20,7 +20,7 @@ Rechnung abrufen: - + diff --git a/web/index.xhtml b/web/index.xhtml index 5e10ffb6..895fa113 100644 --- a/web/index.xhtml +++ b/web/index.xhtml @@ -34,7 +34,7 @@
- #{product.title} + #{product.productTitle}
@@ -44,7 +44,7 @@ - + -- 2.39.5