From: Roland Häder Date: Wed, 8 Apr 2020 22:39:04 +0000 (+0200) Subject: Please cherry-pick: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=91262fa961e65e9ba62b255fea4f968a79be3c46;p=addressbook-ejb.git Please cherry-pick: - rewrote to AllContacts + iteration of whole list to avoid SearchContact JPQL Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/jcontacts/model/contact/AddressbookAdminContactSessionBean.java b/src/java/org/mxchange/jcontacts/model/contact/AddressbookAdminContactSessionBean.java index 5ffa622..adc4dd0 100644 --- a/src/java/org/mxchange/jcontacts/model/contact/AddressbookAdminContactSessionBean.java +++ b/src/java/org/mxchange/jcontacts/model/contact/AddressbookAdminContactSessionBean.java @@ -18,10 +18,9 @@ package org.mxchange.jcontacts.model.contact; 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.addressbook.enterprise.BaseAddressbookEnterpriseBean; import org.mxchange.jcontacts.exceptions.ContactAlreadyAddedException; import org.mxchange.jcontacts.exceptions.ContactNotFoundException; @@ -38,6 +37,12 @@ public class AddressbookAdminContactSessionBean extends BaseAddressbookEnterpris */ private static final long serialVersionUID = 542_145_347_916L; + /** + * EJB for general contact purposes + */ + @EJB (lookup = "java:global/jfinancials-ejb/contact!org.mxchange.jcontacts.model.contact.ContactSessionBeanRemote") + private ContactSessionBeanRemote contactBean; + /** * Default constructor */ @@ -120,25 +125,19 @@ public class AddressbookAdminContactSessionBean extends BaseAddressbookEnterpris // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.isContactRegistered: contact={1} - CALLED!", this.getClass().getSimpleName(), contact)); //NOI18N - // Create query - final Query query = this.getEntityManager().createNamedQuery("SearchContact"); //NOI18N - - // Set parameter - query.setParameter("contact", contact); //NOI18N - query.setMaxResults(1); - // Default is not found boolean isFound = false; - // Try it - try { - // Try to find instance - final Contact dummy = (Contact) query.getSingleResult(); + // Fest all entries and iterate over them + for (final Contact currentContact : this.contactBean.allContacts()) { + // Is found? + if (Objects.equals(contact, currentContact)) { + // Yes, found the same + isFound = true; - // Mark as found - isFound = true; - } catch (final NoResultException e) { - // No result found + // Abort loop + break; + } } // Trace message