From 91262fa961e65e9ba62b255fea4f968a79be3c46 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Thu, 9 Apr 2020 00:39:04 +0200 Subject: [PATCH] Please cherry-pick: - rewrote to AllContacts + iteration of whole list to avoid SearchContact JPQL MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../AddressbookAdminContactSessionBean.java | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) 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 -- 2.39.5