X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Fjava%2Forg%2Fmxchange%2Fjjobs%2Fvalidator%2Fbusiness%2Fbasicdata%2FJobsCompanyNameValidator.java;h=ba6297bdf0c2fa55dd505a10920ab42d0c0d5822;hb=564dd9b71a13ae0127b3648ba8b0492b19f16631;hp=f922b8e8663e0f707457b985b20161a504d87bee;hpb=71af705cba00ac4cb88971049f9abe1e2c9f33e9;p=jjobs-war.git diff --git a/src/java/org/mxchange/jjobs/validator/business/basicdata/JobsCompanyNameValidator.java b/src/java/org/mxchange/jjobs/validator/business/basicdata/JobsCompanyNameValidator.java index f922b8e8..ba6297bd 100644 --- a/src/java/org/mxchange/jjobs/validator/business/basicdata/JobsCompanyNameValidator.java +++ b/src/java/org/mxchange/jjobs/validator/business/basicdata/JobsCompanyNameValidator.java @@ -17,13 +17,15 @@ 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/jjobs-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