From: Roland Häder Date: Fri, 1 Sep 2017 22:22:54 +0000 (+0200) Subject: Please cherry-pick: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=a4135cd91fadbae68fbdc10e3e6cfeef1cc674e4;p=jfinancials-war.git Please cherry-pick: - I accidently (oversaw it) used Converter which is JSF 2.3 (beta currently) way, now I could revert it, but better is to stay. - made all converters/validators that invoke business methods (EJB) managed so the annotation EJB will work again. Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/jfinancials/converter/business/basicdata/FinancialsBusinessContactConverter.java b/src/java/org/mxchange/jfinancials/converter/business/basicdata/FinancialsBusinessContactConverter.java index 1a9ecaee..6c2d275f 100644 --- a/src/java/org/mxchange/jfinancials/converter/business/basicdata/FinancialsBusinessContactConverter.java +++ b/src/java/org/mxchange/jfinancials/converter/business/basicdata/FinancialsBusinessContactConverter.java @@ -16,15 +16,12 @@ */ package org.mxchange.jfinancials.converter.business.basicdata; -import java.text.MessageFormat; +import javax.ejb.EJB; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import javax.faces.convert.FacesConverter; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; import org.mxchange.jcontactsbusiness.basicdata.BusinessBasicData; import org.mxchange.jcontactsbusiness.basicdata.BusinessDataSessionBeanRemote; import org.mxchange.jcontactsbusiness.exceptions.basicdata.BusinessDataNotFoundException; @@ -34,13 +31,14 @@ import org.mxchange.jcontactsbusiness.exceptions.basicdata.BusinessDataNotFoundE *

* @author Roland Häder */ -@FacesConverter (value = "BusinessContactConverter") +@FacesConverter (value = "BusinessContactConverter", managed = true) public class FinancialsBusinessContactConverter implements Converter { /** * Business contact EJB */ - private static BusinessDataSessionBeanRemote BASIC_DATA_BEAN; + @EJB (lookup = "java:global/jfinancials-ejb/businessData!org.mxchange.jcontactsbusiness.basicdata.BusinessDataSessionBeanRemote") + private BusinessDataSessionBeanRemote basicDataBean; /** * Default constructor @@ -59,22 +57,6 @@ public class FinancialsBusinessContactConverter implements Converter * @author Roland Häder */ -@FacesConverter (value = "CompanyEmployeeConverter") +@FacesConverter (value = "CompanyEmployeeConverter", managed = true) public class FinancialsCompanyEmployeeConverter implements Converter { /** * CompanyEmployee EJB */ - private static CompanyEmployeeSessionBeanRemote COMPANY_EMPLOYEE_BEAN; + @EJB (lookup = "java:global/jfinancials-ejb/companyEmployee!org.mxchange.jcontactsbusiness.employee.CompanyEmployeeSessionBeanRemote") + private CompanyEmployeeSessionBeanRemote companyEmployeeBean; /** * Default constructor @@ -59,22 +57,6 @@ public class FinancialsCompanyEmployeeConverter implements Converter { return null; } - // Is the bean there? - // @TODO Requires this synchronization or is it (sync) confusing the container? - if (null == FinancialsCompanyEmployeeConverter.COMPANY_EMPLOYEE_BEAN) { - // Try to get it - try { - // Get initial context - Context initialContext = new InitialContext(); - - // ... and user controller - FinancialsCompanyEmployeeConverter.COMPANY_EMPLOYEE_BEAN = (CompanyEmployeeSessionBeanRemote) initialContext.lookup("java:global/jfinancials-ejb/companyEmployee!org.mxchange.jcontactsbusiness.employee.CompanyEmployeeSessionBeanRemote"); //NOI18N - } catch (final NamingException ex) { - // Continue to throw it - throw new ConverterException(MessageFormat.format("initialContext.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N - } - } - // Init instance Employee companyEmployee = null; @@ -83,7 +65,7 @@ public class FinancialsCompanyEmployeeConverter implements Converter { Long employeeId = Long.valueOf(submittedValue); // Try to get user instance from it - companyEmployee = FinancialsCompanyEmployeeConverter.COMPANY_EMPLOYEE_BEAN.findCompanyEmployeeById(employeeId); + companyEmployee = this.companyEmployeeBean.findCompanyEmployeeById(employeeId); } catch (final NumberFormatException ex) { // Throw again throw new ConverterException(ex); diff --git a/src/java/org/mxchange/jfinancials/converter/business/headquarters/FinancialsCompanyHeadquartersConverter.java b/src/java/org/mxchange/jfinancials/converter/business/headquarters/FinancialsCompanyHeadquartersConverter.java index a596dbc7..ecc13107 100644 --- a/src/java/org/mxchange/jfinancials/converter/business/headquarters/FinancialsCompanyHeadquartersConverter.java +++ b/src/java/org/mxchange/jfinancials/converter/business/headquarters/FinancialsCompanyHeadquartersConverter.java @@ -16,15 +16,12 @@ */ package org.mxchange.jfinancials.converter.business.headquarters; -import java.text.MessageFormat; +import javax.ejb.EJB; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import javax.faces.convert.FacesConverter; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; import org.mxchange.jcontactsbusiness.exceptions.headquarters.CompanyHeadquartersNotFoundException; import org.mxchange.jcontactsbusiness.headquarters.CompanyHeadquartersSessionBeanRemote; import org.mxchange.jcontactsbusiness.headquarters.HeadquartersData; @@ -34,13 +31,14 @@ import org.mxchange.jcontactsbusiness.headquarters.HeadquartersData; *

* @author Roland Häder */ -@FacesConverter (value = "CompanyHeadquartersConverter") +@FacesConverter (value = "CompanyHeadquartersConverter", managed = true) public class FinancialsCompanyHeadquartersConverter implements Converter { /** * CompanyEmployee EJB */ - private static CompanyHeadquartersSessionBeanRemote COMPANY_HEADQUARTERS_BEAN; + @EJB (lookup = "java:global/jfinancials-ejb/companyEmployee!org.mxchange.jcontactsbusiness.headquarters.CompanyHeadquartersSessionBeanRemote") + private CompanyHeadquartersSessionBeanRemote companyHeadquartersBean; /** * Default constructor @@ -59,22 +57,6 @@ public class FinancialsCompanyHeadquartersConverter implements Converter * @author Roland Häder */ -@FacesConverter (value = "ContactConverter") +@FacesConverter (value = "ContactConverter", managed = true) public class FinancialsContactConverter implements Converter { /** * Contact EJB */ - private static ContactSessionBeanRemote CONTACT_BEAN; + @EJB (lookup = "java:global/jfinancials-ejb/contact!org.mxchange.jcontacts.contact.ContactSessionBeanRemote") + private ContactSessionBeanRemote contactBean; /** * Default constructor @@ -59,22 +57,6 @@ public class FinancialsContactConverter implements Converter { return null; } - // Is the bean there? - // @TODO Requires this synchronization or is it (sync) confusing the container? - if (null == FinancialsContactConverter.CONTACT_BEAN) { - // Try to get it - try { - // Get initial context - Context initialContext = new InitialContext(); - - // ... and user controller - FinancialsContactConverter.CONTACT_BEAN = (ContactSessionBeanRemote) initialContext.lookup("java:global/jfinancials-ejb/contact!org.mxchange.jcontacts.contact.ContactSessionBeanRemote"); //NOI18N - } catch (final NamingException ex) { - // Continue to throw it - throw new ConverterException(MessageFormat.format("initialContext.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N - } - } - // Init instance Contact contact = null; @@ -83,7 +65,7 @@ public class FinancialsContactConverter implements Converter { Long contactId = Long.valueOf(submittedValue); // Try to get user instance from it - contact = FinancialsContactConverter.CONTACT_BEAN.findContactById(contactId); + contact = this.contactBean.findContactById(contactId); } catch (final NumberFormatException ex) { // Throw again throw new ConverterException(ex); diff --git a/src/java/org/mxchange/jfinancials/converter/country/FinancialsCountryConverter.java b/src/java/org/mxchange/jfinancials/converter/country/FinancialsCountryConverter.java index f7d56830..b7689982 100644 --- a/src/java/org/mxchange/jfinancials/converter/country/FinancialsCountryConverter.java +++ b/src/java/org/mxchange/jfinancials/converter/country/FinancialsCountryConverter.java @@ -16,17 +16,14 @@ */ package org.mxchange.jfinancials.converter.country; -import java.text.MessageFormat; import java.util.List; import java.util.Objects; +import javax.ejb.EJB; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import javax.faces.convert.FacesConverter; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; import org.mxchange.jcountry.data.Country; import org.mxchange.jcountry.data.CountrySingletonBeanRemote; @@ -35,13 +32,14 @@ import org.mxchange.jcountry.data.CountrySingletonBeanRemote; *

* @author Roland Häder */ -@FacesConverter (value = "CountryConverter") +@FacesConverter (value = "CountryConverter", managed = true) public class FinancialsCountryConverter implements Converter { /** * Country bean */ - private static CountrySingletonBeanRemote COUNTRY_BEAN; + @EJB (lookup = "java:global/jfinancials-ejb/country!org.mxchange.jcountry.data.CountrySingletonBeanRemote") + private CountrySingletonBeanRemote countryBean; /** * Default constructor @@ -60,24 +58,8 @@ public class FinancialsCountryConverter implements Converter { return null; } - // Is the bean there? - // @TODO Requires this synchronization or is it (sync) confusing the container? - if (null == FinancialsCountryConverter.COUNTRY_BEAN) { - // Try to get it - try { - // Get initial context - Context initialContext = new InitialContext(); - - // ... and country bean - FinancialsCountryConverter.COUNTRY_BEAN = (CountrySingletonBeanRemote) initialContext.lookup("java:global/jfinancials-ejb/country!org.mxchange.jcountry.data.CountrySingletonBeanRemote"); //NOI18N - } catch (final NamingException ex) { - // Continue to throw it - throw new ConverterException(MessageFormat.format("initialContext.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N - } - } - // Get full list - List countryList = FinancialsCountryConverter.COUNTRY_BEAN.allCountries(); + List countryList = this.countryBean.allCountries(); // Init value Country country = null; diff --git a/src/java/org/mxchange/jfinancials/converter/fax/FinancialsFaxNumberConverter.java b/src/java/org/mxchange/jfinancials/converter/fax/FinancialsFaxNumberConverter.java index b2c21469..41a269bf 100644 --- a/src/java/org/mxchange/jfinancials/converter/fax/FinancialsFaxNumberConverter.java +++ b/src/java/org/mxchange/jfinancials/converter/fax/FinancialsFaxNumberConverter.java @@ -16,15 +16,12 @@ */ package org.mxchange.jfinancials.converter.fax; -import java.text.MessageFormat; +import javax.ejb.EJB; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import javax.faces.convert.FacesConverter; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; import org.mxchange.jphone.exceptions.PhoneEntityNotFoundException; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.phone.PhoneSessionBeanRemote; @@ -34,13 +31,14 @@ import org.mxchange.jphone.phonenumbers.phone.PhoneSessionBeanRemote; *

* @author Roland Häder */ -@FacesConverter (value = "FaxNumberConverter") +@FacesConverter (value = "FaxNumberConverter", managed = true) public class FinancialsFaxNumberConverter implements Converter { /** * Phone EJB */ - private static PhoneSessionBeanRemote PHONE_BEAN; + @EJB(lookup = "java:global/jfinancials-ejb/phone!org.mxchange.jphone.phonenumbers.phone.PhoneSessionBeanRemote") + private PhoneSessionBeanRemote phoneBean; /** * Default constructor @@ -62,22 +60,6 @@ public class FinancialsFaxNumberConverter implements Converter * @author Roland Häder */ -@FacesConverter (value = "LandLineNumberConverter") +@FacesConverter (value = "LandLineNumberConverter", managed = true) public class FinancialsLandLineNumberConverter implements Converter { /** * Phone EJB */ - private static PhoneSessionBeanRemote PHONE_BEAN; + @EJB(lookup = "java:global/jfinancials-ejb/phone!org.mxchange.jphone.phonenumbers.phone.PhoneSessionBeanRemote") + private PhoneSessionBeanRemote phoneBean; /** * Default constructor @@ -59,22 +57,6 @@ public class FinancialsLandLineNumberConverter implements Converter * @author Roland Häder */ -@FacesConverter (value = "MobileNumberConverter") +@FacesConverter (value = "MobileNumberConverter", managed = true) public class FinancialsMobileNumberConverter implements Converter { /** * Phone EJB */ - private static PhoneSessionBeanRemote PHONE_BEAN; + @EJB (lookup = "java:global/jfinancials-ejb/phone!org.mxchange.jphone.phonenumbers.phone.PhoneSessionBeanRemote") + private PhoneSessionBeanRemote phoneBean; /** * Default constructor @@ -59,22 +57,6 @@ public class FinancialsMobileNumberConverter implements Converter providerList = FinancialsMobileProviderConverter.MOBILE_PROVIDER_BEAN.allMobileProvider(); + List providerList = this.mobileProviderBean.allMobileProvider(); // Init value MobileProvider provider = null; diff --git a/src/java/org/mxchange/jfinancials/converter/user/FinancialsUserConverter.java b/src/java/org/mxchange/jfinancials/converter/user/FinancialsUserConverter.java index a4cdd0a2..32d3e1e2 100644 --- a/src/java/org/mxchange/jfinancials/converter/user/FinancialsUserConverter.java +++ b/src/java/org/mxchange/jfinancials/converter/user/FinancialsUserConverter.java @@ -16,15 +16,12 @@ */ package org.mxchange.jfinancials.converter.user; -import java.text.MessageFormat; +import javax.ejb.EJB; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import javax.faces.convert.FacesConverter; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; import org.mxchange.jusercore.exceptions.UserNotFoundException; import org.mxchange.jusercore.model.user.User; import org.mxchange.jusercore.model.user.UserSessionBeanRemote; @@ -34,13 +31,14 @@ import org.mxchange.jusercore.model.user.UserSessionBeanRemote; *

* @author Roland Häder */ -@FacesConverter (value = "UserConverter") +@FacesConverter (value = "UserConverter", managed = true) public class FinancialsUserConverter implements Converter { /** * User EJB */ - private static UserSessionBeanRemote USER_BEAN; + @EJB(lookup = "java:global/jfinancials-ejb/user!org.mxchange.jusercore.model.user.UserSessionBeanRemote") + private UserSessionBeanRemote userBean; /** * Default constructor @@ -59,22 +57,6 @@ public class FinancialsUserConverter implements Converter { return null; } - // Is the bean there? - // @TODO Requires this synchronization or is it (sync) confusing the container? - if (null == FinancialsUserConverter.USER_BEAN) { - // Try to get it - try { - // Get initial context - Context initialContext = new InitialContext(); - - // ... and user controller - FinancialsUserConverter.USER_BEAN = (UserSessionBeanRemote) initialContext.lookup("java:global/jfinancials-ejb/user!org.mxchange.jusercore.model.user.UserSessionBeanRemote"); //NOI18N - } catch (final NamingException ex) { - // Continue to throw it - throw new RuntimeException(MessageFormat.format("initialContext.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N - } - } - // Init instance User user = null; @@ -83,7 +65,7 @@ public class FinancialsUserConverter implements Converter { Long userId = Long.valueOf(submittedValue); // Try to get user instance from it - user = FinancialsUserConverter.USER_BEAN.findUserById(userId); + user = this.userBean.findUserById(userId); } catch (final NumberFormatException ex) { // Throw again throw new ConverterException(ex); diff --git a/src/java/org/mxchange/jfinancials/validator/business/basicdata/FinancialsCompanyNameValidator.java b/src/java/org/mxchange/jfinancials/validator/business/basicdata/FinancialsCompanyNameValidator.java index b67bc4d9..258303e2 100644 --- a/src/java/org/mxchange/jfinancials/validator/business/basicdata/FinancialsCompanyNameValidator.java +++ b/src/java/org/mxchange/jfinancials/validator/business/basicdata/FinancialsCompanyNameValidator.java @@ -17,15 +17,12 @@ package org.mxchange.jfinancials.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.convert.ConverterException; import javax.faces.validator.FacesValidator; import javax.faces.validator.ValidatorException; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; import org.mxchange.jcontactsbusiness.basicdata.BusinessDataSessionBeanRemote; import org.mxchange.jcoreee.validator.string.BaseStringValidator; @@ -34,18 +31,19 @@ import org.mxchange.jcoreee.validator.string.BaseStringValidator; *

* @author Roland Häder */ -@FacesValidator ("CompanyNameValidator") +@FacesValidator (value = "CompanyNameValidator", managed = true) public class FinancialsCompanyNameValidator extends BaseStringValidator { /** - * Business contact EJB + * Serial number */ - private static BusinessDataSessionBeanRemote BASIC_DATA_BEAN; + private static final long serialVersionUID = 57_283_657_476_561L; /** - * Serial number + * Business contact EJB */ - private static final long serialVersionUID = 57_283_657_476_561L; + @EJB (lookup = "java:global/jfinancials-ejb/businessData!org.mxchange.jcontactsbusiness.basicdata.BusinessDataSessionBeanRemote") + private BusinessDataSessionBeanRemote basicDataBean; @Override public void validate (final FacesContext context, final UIComponent component, final Object value) throws ValidatorException { @@ -76,24 +74,8 @@ public class FinancialsCompanyNameValidator extends BaseStringValidator { checkExisting = Boolean.parseBoolean((String) attribute); } - // Is the bean not yet set? - // @TODO Requires this synchronization or is it (sync) confusing the container? - if (null == FinancialsCompanyNameValidator.BASIC_DATA_BEAN) { - // Try to get it - try { - // Get initial context - Context initialContext = new InitialContext(); - - // ... and user controller - FinancialsCompanyNameValidator.BASIC_DATA_BEAN = (BusinessDataSessionBeanRemote) initialContext.lookup("java:global/jfinancials-ejb/businessData!org.mxchange.jcontactsbusiness.basicdata.BusinessDataSessionBeanRemote"); //NOI18N - } catch (final NamingException ex) { - // Continue to throw it - throw new ConverterException(MessageFormat.format("initialContext.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N - } - } - // Check if name is already used - Boolean nameExists = FinancialsCompanyNameValidator.BASIC_DATA_BEAN.isCompanyNameUsed(companyName); + Boolean nameExists = this.basicDataBean.isCompanyNameUsed(companyName); // Is the user id valid? if ((!nameExists) && (checkExisting)) { diff --git a/src/java/org/mxchange/jfinancials/validator/emailaddress/FinancialsEmailAddressValidator.java b/src/java/org/mxchange/jfinancials/validator/emailaddress/FinancialsEmailAddressValidator.java index e65c4516..a185a4fd 100644 --- a/src/java/org/mxchange/jfinancials/validator/emailaddress/FinancialsEmailAddressValidator.java +++ b/src/java/org/mxchange/jfinancials/validator/emailaddress/FinancialsEmailAddressValidator.java @@ -18,14 +18,12 @@ package org.mxchange.jfinancials.validator.emailaddress; import java.text.MessageFormat; import java.util.regex.Pattern; +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 javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; import org.mxchange.jcontacts.contact.ContactSessionBeanRemote; import org.mxchange.jcoreee.validator.string.BaseStringValidator; @@ -34,13 +32,14 @@ import org.mxchange.jcoreee.validator.string.BaseStringValidator; *

* @author Roland Häder */ -@FacesValidator ("EmailAddressValidator") +@FacesValidator (value = "EmailAddressValidator", managed = true) public class FinancialsEmailAddressValidator extends BaseStringValidator { /** * Contact session-scoped bean */ - private static ContactSessionBeanRemote CONTACT_BEAN; + @EJB (lookup = "java:global/jfinancials-ejb/contact!org.mxchange.jcontacts.contact.ContactSessionBeanRemote") + private ContactSessionBeanRemote contactBean; /** * Email pattern @@ -118,27 +117,11 @@ public class FinancialsEmailAddressValidator extends BaseStringValidator { throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_WARN, message, message)); } - // Is the bean not yet set? - // @TODO Requires this synchronization or is it (sync) confusing the container? - if (null == FinancialsEmailAddressValidator.CONTACT_BEAN) { - // Try it - try { - // Get initial context - Context initialContext = new InitialContext(); - - // Try to lookup - FinancialsEmailAddressValidator.CONTACT_BEAN = (ContactSessionBeanRemote) initialContext.lookup("java:global/jfinancials-ejb/contact!org.mxchange.jcontacts.contact.ContactSessionBeanRemote"); //NOI18N - } catch (final NamingException ex) { - // Continue to throw it - throw new ValidatorException(new FacesMessage(MessageFormat.format("initialContext.lookup() failed: {0}", ex.getMessage())), ex); //NOI18N - } - } - // Get client id (aka form id) String clientId = component.getClientId(); // Is it registered? - Boolean isRegistered = FinancialsEmailAddressValidator.CONTACT_BEAN.isEmailAddressRegistered(emailAddress); + Boolean isRegistered = this.contactBean.isEmailAddressRegistered(emailAddress); // Is the email address already registered? if ((!clientId.endsWith("resendEmailAddress")) && (isRegistered)) { //NOI18N diff --git a/src/java/org/mxchange/jfinancials/validator/user/FinancialsUserIdValidator.java b/src/java/org/mxchange/jfinancials/validator/user/FinancialsUserIdValidator.java index 0f32f99e..ff6ec55a 100644 --- a/src/java/org/mxchange/jfinancials/validator/user/FinancialsUserIdValidator.java +++ b/src/java/org/mxchange/jfinancials/validator/user/FinancialsUserIdValidator.java @@ -17,15 +17,12 @@ package org.mxchange.jfinancials.validator.user; 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.convert.ConverterException; import javax.faces.validator.FacesValidator; import javax.faces.validator.ValidatorException; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; import org.mxchange.jcoreee.validator.number.BaseNumberValidator; import org.mxchange.jusercore.model.user.UserSessionBeanRemote; @@ -34,18 +31,19 @@ import org.mxchange.jusercore.model.user.UserSessionBeanRemote; *

* @author Roland Häder */ -@FacesValidator ("UserIdValidator") +@FacesValidator (value = "UserIdValidator", managed = true) public class FinancialsUserIdValidator extends BaseNumberValidator { /** - * Remote bean + * Serial number */ - private static UserSessionBeanRemote USER_BEAN; + private static final long serialVersionUID = 12_869_569_314_764_690L; /** - * Serial number + * Remote bean */ - private static final long serialVersionUID = 12_869_569_314_764_690L; + @EJB (lookup = "java:global/jfinancials-ejb/user!org.mxchange.jusercore.model.user.UserSessionBeanRemote") + private UserSessionBeanRemote userBean; /** * Default constructor @@ -64,24 +62,8 @@ public class FinancialsUserIdValidator extends BaseNumberValidator { // Cast value Long userId = (Long) value; - // Is the bean not yet set? - // @TODO Requires this synchronization or is it (sync) confusing the container? - if (null == FinancialsUserIdValidator.USER_BEAN) { - // Try to get it - try { - // Get initial context - Context initialContext = new InitialContext(); - - // ... and user controller - FinancialsUserIdValidator.USER_BEAN = (UserSessionBeanRemote) initialContext.lookup("java:global/jfinancials-ejb/user!org.mxchange.jusercore.model.user.UserSessionBeanRemote"); //NOI18N - } catch (final NamingException ex) { - // Continue to throw it - throw new ConverterException(MessageFormat.format("initialContext.lookup() failed: {0}", ex.getMessage()), ex); //NOI18N - } - } - // Define variable - Boolean ifUserExists = FinancialsUserIdValidator.USER_BEAN.ifUserIdExists(userId); + Boolean ifUserExists = this.userBean.ifUserIdExists(userId); // Is the user id valid? if (!ifUserExists) {