]> git.mxchange.org Git - jjobs-war.git/blobdiff - src/java/org/mxchange/jjobs/validator/business/basicdata/JobsCompanyNameValidator.java
Please cherry-pick:
[jjobs-war.git] / src / java / org / mxchange / jjobs / validator / business / basicdata / JobsCompanyNameValidator.java
index a5230f64e825ef0fa91aa1687dba7dbc39733fb0..ba6297bdf0c2fa55dd505a10920ab42d0c0d5822 100644 (file)
 package org.mxchange.jjobs.validator.business.basicdata;
 
 import java.text.MessageFormat;
-import javax.ejb.EJB;
 import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.validator.FacesValidator;
 import javax.faces.validator.ValidatorException;
-import org.mxchange.jcontactsbusiness.basicdata.BusinessDataSessionBeanRemote;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import org.mxchange.jcontactsbusiness.model.basicdata.BusinessDataSessionBeanRemote;
 import org.mxchange.jcoreee.validator.string.BaseStringValidator;
 
 /**
@@ -35,26 +37,39 @@ import org.mxchange.jcoreee.validator.string.BaseStringValidator;
 public class JobsCompanyNameValidator extends BaseStringValidator {
 
        /**
-        * Serial number
+        * Business contact EJB
         */
-       private static final long serialVersionUID = 57_283_657_476_561L;
+       private static BusinessDataSessionBeanRemote BASIC_DATA_BEAN;
 
        /**
-        * Business contact EJB
+        * Serial number
         */
-       @EJB (lookup = "java:global/jfinancials-ejb/businessData!org.mxchange.jcontactsbusiness.basicdata.BusinessDataSessionBeanRemote")
-       private BusinessDataSessionBeanRemote basicDataBean;
+       private static final long serialVersionUID = 57_283_657_476_561L;
 
        @Override
        public void validate (final FacesContext context, final UIComponent component, final Object value) throws ValidatorException {
+               // Is the instance there?
+               if (BASIC_DATA_BEAN == null) {
+                       try {
+                               // Not yet, attempt lookup
+                               final Context initial = new InitialContext();
+
+                               // Lookup EJB
+                               BASIC_DATA_BEAN = (BusinessDataSessionBeanRemote) initial.lookup("java:global/jjobs-ejb/businessData!org.mxchange.jcontactsbusiness.basicdata.BusinessDataSessionBeanRemote");
+                       } catch (final NamingException ex) {
+                               // Throw it again
+                               throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Cannot lookup EJB", ex.getMessage()), ex);
+                       }
+               }
+
                // All accepted, required fields
-               String[] requiredFields = {"companyName"}; //NOI18N
+               final String[] requiredFields = {"companyName"}; //NOI18N
 
                // Pre-validation (example: not null, not a string, empty string ...)
                super.preValidate(context, component, value, requiredFields, false);
 
                // Convert name to string (now securely checked in BaseStringValidator)
-               String companyName = (String) value;
+               final String companyName = (String) value;
 
                // Default is to check on existing names
                Boolean checkExisting = Boolean.TRUE;
@@ -62,7 +77,7 @@ public class JobsCompanyNameValidator extends BaseStringValidator {
                // Is attribute "allowEmptyValue" set?
                if (component.getAttributes().containsKey("checkExisting")) { //NOI18N
                        // Get attribute
-                       Object attribute = component.getAttributes().get("checkExisting"); //NOI18N
+                       final Object attribute = component.getAttributes().get("checkExisting"); //NOI18N
 
                        // Make sure, it is Boolean as no String is accepted anymore
                        if (!(attribute instanceof String)) {
@@ -75,18 +90,18 @@ public class JobsCompanyNameValidator extends BaseStringValidator {
                }
 
                // Check if name is already used
-               Boolean nameExists = this.basicDataBean.isCompanyNameUsed(companyName);
+               final Boolean nameExists = BASIC_DATA_BEAN.isCompanyNameUsed(companyName);
 
                // Is the user id valid?
                if ((!nameExists) && (checkExisting)) {
                        // Format message
-                       String message = MessageFormat.format("No basic data found with comany name {0}.", companyName);
+                       final String message = MessageFormat.format("No basic data found with comany name {0}.", companyName);
 
                        // Name does not exist
                        throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_WARN, message, message)); //NOI18N
                } else if ((nameExists) && (!checkExisting)) {
                        // Format message
-                       String message = MessageFormat.format("Found basic data with comany name {0}.", companyName);
+                       final String message = MessageFormat.format("Found basic data with comany name {0}.", companyName);
 
                        // Name already exists
                        throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_WARN, message, message)); //NOI18N