From 084cbc34236f2b7458aa92bf3ed215508f11915b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Mon, 25 Apr 2016 15:37:38 +0200 Subject: [PATCH] Continued with administrative customer stuff: - added loading of full customer list on post-init phase - added EJB (remote interface) for calling customer business methods - added new depencies jcustomer-core/jcustomer-lib MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../RateCalcAdminCustomerWebRequestBean.java | 37 +++++++++- ...CalcAdminCustomerWebRequestController.java | 16 +++++ web/admin/customer/admin_customer_list.xhtml | 69 ++++++++++++++++++- 3 files changed, 120 insertions(+), 2 deletions(-) diff --git a/src/java/de/chotime/jratecalc/beans/customer/RateCalcAdminCustomerWebRequestBean.java b/src/java/de/chotime/jratecalc/beans/customer/RateCalcAdminCustomerWebRequestBean.java index ba669e09..dd6c4b5f 100644 --- a/src/java/de/chotime/jratecalc/beans/customer/RateCalcAdminCustomerWebRequestBean.java +++ b/src/java/de/chotime/jratecalc/beans/customer/RateCalcAdminCustomerWebRequestBean.java @@ -16,12 +16,17 @@ */ package de.chotime.jratecalc.beans.customer; +import de.chotime.jratecalc.model.customer.RateCalcAdminCustomerSessionBeanRemote; +import java.util.Collections; +import java.util.List; +import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; import javax.faces.view.facelets.FaceletException; import javax.inject.Named; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; +import org.mxchange.jcustomercore.model.customer.Customer; /** * Administrative customer bean (controller) @@ -37,6 +42,16 @@ public class RateCalcAdminCustomerWebRequestBean implements RateCalcAdminCustome */ private static final long serialVersionUID = 12_487_062_487_527_913L; + /** + * Customer EJB + */ + private RateCalcAdminCustomerSessionBeanRemote adminCustomerBean; + + /** + * A list of all customers + */ + private List customerList; + /** * Default constructor */ @@ -47,11 +62,31 @@ public class RateCalcAdminCustomerWebRequestBean implements RateCalcAdminCustome Context context = new InitialContext(); // Try to lookup - //this.userBean = (UserSessionBeanRemote) context.lookup("java:global/jratecalc-ejb/user!org.mxchange.jusercore.model.user.UserSessionBeanRemote"); //NOI18N + this.adminCustomerBean = (RateCalcAdminCustomerSessionBeanRemote) context.lookup("java:global/jratecalc-ejb/admincustomer!de.chotime.model.customer.RateCalcAdminCustomerSessionBeanRemote"); //NOI18N } catch (final NamingException e) { // Throw again throw new FaceletException(e); } } + @Override + public List allCustomers () { + // Return it + return Collections.unmodifiableList(this.customerList); + } + + @Override + public boolean hasCustomers () { + return (!this.allCustomers().isEmpty()); + } + + /** + * Post-initialization of this class + */ + @PostConstruct + public void init () { + // Initialize customer list + this.customerList = this.adminCustomerBean.allCustomers(); + } + } diff --git a/src/java/de/chotime/jratecalc/beans/customer/RateCalcAdminCustomerWebRequestController.java b/src/java/de/chotime/jratecalc/beans/customer/RateCalcAdminCustomerWebRequestController.java index 2e3ea8bf..bc50cd53 100644 --- a/src/java/de/chotime/jratecalc/beans/customer/RateCalcAdminCustomerWebRequestController.java +++ b/src/java/de/chotime/jratecalc/beans/customer/RateCalcAdminCustomerWebRequestController.java @@ -17,6 +17,8 @@ package de.chotime.jratecalc.beans.customer; import java.io.Serializable; +import java.util.List; +import org.mxchange.jcustomercore.model.customer.Customer; /** * An interface for user beans @@ -25,4 +27,18 @@ import java.io.Serializable; */ public interface RateCalcAdminCustomerWebRequestController extends Serializable { + /** + * All customer + *

+ * @return A list of all customer profiles + */ + List allCustomers (); + + /** + * Checks whether customers are registered + *

+ * @return Whether customers are registered + */ + boolean hasCustomers (); + } diff --git a/web/admin/customer/admin_customer_list.xhtml b/web/admin/customer/admin_customer_list.xhtml index b6731ae6..f8d6b7c9 100644 --- a/web/admin/customer/admin_customer_list.xhtml +++ b/web/admin/customer/admin_customer_list.xhtml @@ -16,7 +16,74 @@ - Here goes your content. + + + #{msg.ADMIN_LIST__CUSTOMER_ID} + + + + + + + + #{msg.ADMIN_LIST__CUSTOMER_NUMBER} + + + + + + #{msg.ADMIN_LIST__CUSTOMER_GENDER} + + + + + + #{msg.ADMIN_LIST__CUSTOMER_FIRST_NAME} + + + + + + #{msg.ADMIN_LIST__CUSTOMER_FAMILY_NAME} + + + + + + #{msg.ADMIN_LIST__CUSTOMER_ACCOUNT_STATUS} + + + + + + #{msg.ADMIN_LIST__CUSTOMER_PROFILE_MODE} + + + + + + #{msg.ADMIN_LIST__CUSTOMER_CREATED} + + + + + + + +

+ +
+ #{msg.ADMIN_ADD__CUSTOMER_TITLE} +
+ + + + +
+
-- 2.39.5