From: Roland Häder Date: Wed, 1 Apr 2020 17:29:24 +0000 (+0200) Subject: Please cherry-pick: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=9da843b622e5598a3af2f0da72c682e44f706afe;p=jjobs-ejb.git Please cherry-pick: - no need for SearchCountryByCodeI18nKey anymore when you can use AllCountries plus Objects.equals() Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/jcountry/model/data/JobsAdminCountrySingletonBean.java b/src/java/org/mxchange/jcountry/model/data/JobsAdminCountrySingletonBean.java index 274d657..5265d00 100644 --- a/src/java/org/mxchange/jcountry/model/data/JobsAdminCountrySingletonBean.java +++ b/src/java/org/mxchange/jcountry/model/data/JobsAdminCountrySingletonBean.java @@ -13,14 +13,14 @@ * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . -*/ + */ package org.mxchange.jcountry.model.data; import java.text.MessageFormat; import java.util.Date; +import java.util.Objects; +import javax.ejb.EJB; import javax.ejb.Stateless; -import javax.persistence.NoResultException; -import javax.persistence.Query; import org.mxchange.jcountry.exceptions.CountryAlreadyAddedException; import org.mxchange.jjobs.enterprise.BaseJobsEnterpriseBean; @@ -37,6 +37,12 @@ public class JobsAdminCountrySingletonBean extends BaseJobsEnterpriseBean implem */ private static final long serialVersionUID = 15_846_983_298_691_208L; + /** + * Remote country EJB + */ + @EJB (lookup = "java:global/jfinancials-ejb/country!org.mxchange.jcountry.model.data.CountrySingletonBeanRemote") + private CountrySingletonBeanRemote countryBean; + /** * Default constructor */ @@ -107,22 +113,14 @@ public class JobsAdminCountrySingletonBean extends BaseJobsEnterpriseBean implem // Default is not found boolean isAdded = false; - // Get query instance - final Query query = this.getEntityManager().createNamedQuery("SearchCountryByCodeI18nKey", CountryData.class); //NOI18N - - // Assign all parameters - query.setParameter("code", country.getCountryCode()); //NOI18N - query.setParameter("key", country.getCountryI18nKey()); //NOI18N - - // Try to get a single result - try { - // Get single result - final Country foundCountry = (Country) query.getSingleResult(); - - // Found it? - isAdded = (foundCountry instanceof Country); - } catch (final NoResultException ex) { - // Not found, don't log this + // Try to match code/i18n key (should be both unique!) + for (final Country currentCountry : this.countryBean.allCountries()) { + // Is it matching + if (Objects.equals(country, currentCountry)) { + // Yes, then set flag and abort loop + isAdded = true; + break; + } } // Return result