]> git.mxchange.org Git - jjobs-war.git/blobdiff - src/java/org/mxchange/jjobs/beans/phone/JobsAdminPhoneWebRequestBean.java
Please cherry-pick:
[jjobs-war.git] / src / java / org / mxchange / jjobs / beans / phone / JobsAdminPhoneWebRequestBean.java
index bb1b02683f337785d4733689f029fbc435e5cc18..cc089f358f34a7e3053ee42822d7b13ad46d330c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016, 2017 Roland Häder
+ * Copyright (C) 2016 - 2020 Free Software Foundation
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as
 package org.mxchange.jjobs.beans.phone;
 
 import java.text.MessageFormat;
-import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
-import javax.annotation.PostConstruct;
+import javax.ejb.EJB;
 import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Event;
 import javax.enterprise.event.Observes;
 import javax.enterprise.inject.Any;
-import javax.faces.view.facelets.FaceletException;
+import javax.faces.application.FacesMessage;
 import javax.inject.Inject;
 import javax.inject.Named;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import org.mxchange.jcountry.data.Country;
-import org.mxchange.jjobs.beans.BaseJobsController;
-import org.mxchange.jjobs.beans.helper.JobsWebRequestHelperController;
+import org.mxchange.jcountry.model.data.Country;
+import org.mxchange.jjobs.beans.BaseJobsBean;
 import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent;
 import org.mxchange.jphone.events.fax.deleted.AdminDeletedFaxNumberEvent;
 import org.mxchange.jphone.events.fax.deleted.AdminFaxNumberDeletedEvent;
@@ -55,14 +51,14 @@ import org.mxchange.jphone.events.mobile.remove.AdminMobileNumberRemovedFromList
 import org.mxchange.jphone.events.mobile.remove.AdminRemoveMobileNumberFromListEvent;
 import org.mxchange.jphone.events.mobile.updated.AdminMobileNumberUpdatedEvent;
 import org.mxchange.jphone.events.mobile.updated.AdminUpdatedMobileNumberEvent;
-import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
-import org.mxchange.jphone.phonenumbers.fax.FaxNumber;
-import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
-import org.mxchange.jphone.phonenumbers.landline.LandLineNumber;
-import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
-import org.mxchange.jphone.phonenumbers.mobile.MobileNumber;
-import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider;
-import org.mxchange.jphone.phonenumbers.phone.AdminPhoneSessionBeanRemote;
+import org.mxchange.jphone.model.phonenumbers.fax.DialableFaxNumber;
+import org.mxchange.jphone.model.phonenumbers.fax.FaxNumber;
+import org.mxchange.jphone.model.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jphone.model.phonenumbers.landline.LandLineNumber;
+import org.mxchange.jphone.model.phonenumbers.mobile.DialableMobileNumber;
+import org.mxchange.jphone.model.phonenumbers.mobile.MobileNumber;
+import org.mxchange.jphone.model.phonenumbers.mobileprovider.MobileProvider;
+import org.mxchange.jphone.model.phonenumbers.phone.AdminPhoneSessionBeanRemote;
 
 /**
  * Administrative controller (bean) for phone numbers
@@ -71,12 +67,7 @@ import org.mxchange.jphone.phonenumbers.phone.AdminPhoneSessionBeanRemote;
  */
 @Named ("adminPhoneController")
 @RequestScoped
-public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements JobsAdminPhoneWebRequestController {
-
-       /**
-        * Call-stack position
-        */
-       private static final short THREAD_STACK = 5;
+public class JobsAdminPhoneWebRequestBean extends BaseJobsBean implements JobsAdminPhoneWebRequestController {
 
        /**
         * Serial number
@@ -86,14 +77,9 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
        /**
         * Remote EJB for phone number (administrative)
         */
+       @EJB (lookup = "java:global/jjobs-ejb/adminPhone!org.mxchange.jphone.model.phonenumbers.phone.AdminPhoneSessionBeanRemote")
        private AdminPhoneSessionBeanRemote adminPhoneBean;
 
-       /**
-        * Bean helper
-        */
-       @Inject
-       private JobsWebRequestHelperController beanHelper;
-
        /**
         * fax number
         */
@@ -165,7 +151,7 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
         * Generic hone controller
         */
        @Inject
-       private JobsPhoneWebApplicationController phoneController;
+       private JobsPhoneWebRequestController phoneController;
 
        /**
         * Country (for dial prefix)
@@ -175,12 +161,12 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
        /**
         * When the phone entry has been created (persisted)
         */
-       private Calendar phoneEntryCreated;
+       private Date phoneEntryCreated;
 
        /**
         * When the phone entry has been updated
         */
-       private Calendar phoneEntryUpdated;
+       private Date phoneEntryUpdated;
 
        /**
         * Phone id (aka primary key)
@@ -221,9 +207,6 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
        public JobsAdminPhoneWebRequestBean () {
                // Call super constructor
                super();
-
-               // String caller = MessageFormat.format("{0}.{1}", Thread.currentThread().getStackTrace()[3].getClassName(), Thread.currentThread().getStackTrace()[3].getMethodName());
-               // System.out.println(MessageFormat.format("{0}: Constructed, caller: {1}", this.getClass().getSimpleName(), caller));
        }
 
        /**
@@ -378,9 +361,8 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
        /**
         * Deletes given fax entry data
         * <p>
-        * @return Redirect outcome
         */
-       public String deleteFaxData () {
+       public void deleteFaxData () {
                // Get fax number from bean helper
                DialableFaxNumber number = this.createFaxNumber();
 
@@ -422,17 +404,12 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
 
                // Fire event
                this.faxNumberDeletedEvent.fire(new AdminFaxNumberDeletedEvent(number));
-
-               // All fine, redirect
-               return "admin_list_fax"; //NOI18N
        }
 
        /**
         * Deletes given land-line entry data
-        * <p>
-        * @return Redirect outcome
         */
-       public String deleteLandLineData () {
+       public void deleteLandLineData () {
                // Get land-line number from helper
                DialableLandLineNumber number = this.createLandLineNumber();
 
@@ -474,17 +451,12 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
 
                // Fire event
                this.landLineNumberDeletedEvent.fire(new AdminLandLineNumberDeletedEvent(number));
-
-               // All fine, redirect
-               return "admin_list_landline"; //NOI18N
        }
 
        /**
         * Deletes given mobile entry data
-        * <p>
-        * @return Redirect outcome
         */
-       public String deleteMobileData () {
+       public void deleteMobileData () {
                // Get mobile number from helper
                DialableMobileNumber number = this.createMobileNumber();
 
@@ -520,9 +492,6 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
 
                // Fire event
                this.mobileNumberDeletedEvent.fire(new AdminMobileNumberDeletedEvent(number));
-
-               // All fine, redirect
-               return "admin_list_mobile"; //NOI18N
        }
 
        /**
@@ -570,7 +539,7 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
                // Is the mobile provider and number the same?
                if ((Objects.equals(this.getPhoneCountry(), number.getPhoneCountry())) && (Objects.equals(this.getPhoneAreaCode(), number.getPhoneAreaCode())) && (Objects.equals(this.getPhoneNumber(), number.getPhoneNumber()))) {
                        // Show message
-                       this.showFacesMessage("form_edit_fax:faxNumber", "ERROR_ADMIN_NO_CHANGE_ENTERED"); //NOI18N
+                       this.showFacesMessage("form_edit_fax:faxNumber", "ERROR_ADMIN_NO_CHANGE_ENTERED", FacesMessage.SEVERITY_WARN); //NOI18N
 
                        // No difference in both together, no need to edit
                        return ""; //NOI18N
@@ -636,7 +605,7 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
                // Is the mobile provider and number the same?
                if ((Objects.equals(this.getPhoneCountry(), number.getPhoneCountry())) && (Objects.equals(this.getPhoneAreaCode(), number.getPhoneAreaCode())) && (Objects.equals(this.getPhoneNumber(), number.getPhoneNumber()))) {
                        // Show message
-                       this.showFacesMessage("form_edit_landline:landLineNumber", "ERROR_ADMIN_NO_CHANGE_ENTERED"); //NOI18N
+                       this.showFacesMessage("form_edit_landline:landLineNumber", "ERROR_ADMIN_NO_CHANGE_ENTERED", FacesMessage.SEVERITY_WARN); //NOI18N
 
                        // No difference in both together, no need to edit
                        return ""; //NOI18N
@@ -692,9 +661,8 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
                        // Throw NPE again
                        throw new NullPointerException(MessageFormat.format("mobileNumber.phoneNumber={0} is not valid.", number.getPhoneNumber())); //NOI18N
                } else if (this.getMobileProvider() == null) {
-                       // Not provided
-                       this.showFacesMessage("form_edit_mobile:mobileProvider", "ERROR_ADMIN_NO_MOBILE_PROVIDER_SELECTED"); //NOI18N
-                       return ""; //NOI18N
+                       // Throw NPE again
+                       throw new NullPointerException("this.mobileProvider is null"); //NOI18N
                } else if (this.getMobileProvider().getProviderId() == null) {
                        // Throw NPE again ...
                        throw new NullPointerException("this.mobileProvider.providerId is null"); //NOI18N
@@ -702,15 +670,14 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
                        // Invalid id number
                        throw new IllegalArgumentException(MessageFormat.format("this.mobileProvider.providerId={0} is not valid.", this.getMobileProvider().getProviderId())); //NOI18N
                } else if (this.getPhoneNumber() == null) {
-                       // Not provided
-                       this.showFacesMessage("form_edit_mobile:mobileNumber", "ERROR_ADMIN_EMPTY_MOBILE_NUMBER"); //NOI18N
-                       return ""; //NOI18N
+                       // Throw NPE
+                       throw new NullPointerException("this.phoneNumber is null"); //NOI18N
                }
 
                // Is the mobile provider and number the same?
                if ((Objects.equals(this.getMobileProvider(), number.getMobileProvider())) && (Objects.equals(this.getPhoneNumber(), number.getPhoneNumber()))) {
                        // Show message
-                       this.showFacesMessage("form_edit_mobile:mobileNumber", "ERROR_ADMIN_NO_CHANGE_ENTERED"); //NOI18N
+                       this.showFacesMessage("form_edit_mobile:mobileNumber", "ERROR_ADMIN_NO_CHANGE_ENTERED", FacesMessage.SEVERITY_WARN); //NOI18N
 
                        // No difference in both together, no need to edit
                        return ""; //NOI18N
@@ -844,7 +811,7 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
         * @return Phone entry created timestamp
         */
        @SuppressWarnings ("ReturnOfDateField")
-       public Calendar getPhoneEntryCreated () {
+       public Date getPhoneEntryCreated () {
                return this.phoneEntryCreated;
        }
 
@@ -854,7 +821,7 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
         * @param phoneEntryCreated Phone entry created timestamp
         */
        @SuppressWarnings ("AssignmentToDateFieldFromParameter")
-       public void setPhoneEntryCreated (final Calendar phoneEntryCreated) {
+       public void setPhoneEntryCreated (final Date phoneEntryCreated) {
                this.phoneEntryCreated = phoneEntryCreated;
        }
 
@@ -864,7 +831,7 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
         * @return Phone entry updated timestamp
         */
        @SuppressWarnings ("ReturnOfDateField")
-       public Calendar getPhoneEntryUpdated () {
+       public Date getPhoneEntryUpdated () {
                return this.phoneEntryUpdated;
        }
 
@@ -874,7 +841,7 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
         * @param phoneEntryUpdated Phone entry updated timestamp
         */
        @SuppressWarnings ("AssignmentToDateFieldFromParameter")
-       public void setPhoneEntryUpdated (final Calendar phoneEntryUpdated) {
+       public void setPhoneEntryUpdated (final Date phoneEntryUpdated) {
                this.phoneEntryUpdated = phoneEntryUpdated;
        }
 
@@ -914,24 +881,6 @@ public class JobsAdminPhoneWebRequestBean extends BaseJobsController implements
                this.phoneNumber = phoneNumber;
        }
 
-       /**
-        * Post-construction method
-        */
-       @PostConstruct
-       public void init () {
-               // Try it
-               try {
-                       // Get initial context
-                       Context context = new InitialContext();
-
-                       // Try to lookup the beans
-                       this.adminPhoneBean = (AdminPhoneSessionBeanRemote) context.lookup("java:global/jjobs-ejb/adminPhone!org.mxchange.jphone.phonenumbers.phone.AdminPhoneSessionBeanRemote"); //NOI18N
-               } catch (final NamingException e) {
-                       // Throw it again
-                       throw new FaceletException(e);
-               }
-       }
-
        /**
         * Returns an instance of a DialableFaxNumber from all fields stored in this
         * bean.