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=fdc7dfed7b4f3274959cd4898b799e444d79e260;p=pizzaservice-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/PizzaAdminCountrySingletonBean.java b/src/java/org/mxchange/jcountry/model/data/PizzaAdminCountrySingletonBean.java index 2d75719..acd45f7 100644 --- a/src/java/org/mxchange/jcountry/model/data/PizzaAdminCountrySingletonBean.java +++ b/src/java/org/mxchange/jcountry/model/data/PizzaAdminCountrySingletonBean.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.pizzaapplication.enterprise.BasePizzaEnterpriseBean; @@ -37,6 +37,12 @@ public class PizzaAdminCountrySingletonBean extends BasePizzaEnterpriseBean impl */ 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 PizzaAdminCountrySingletonBean extends BasePizzaEnterpriseBean impl // 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