X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Fjava%2Forg%2Fmxchange%2Faddressbook%2Fmodel%2Faddressbook%2FAddressbookSessionBean.java;h=c1bd4a5c3785fa49f1457c02ca629a92cc496a6f;hb=a0b70cc374e26a3f49ac47fd380c66057c19dfa6;hp=4edacc20eede9b7179d215fbc0d501bc4f8f0d41;hpb=cd670cf8db41c188c92217685b9eaec5d77112af;p=addressbook-mailer-ejb.git diff --git a/src/java/org/mxchange/addressbook/model/addressbook/AddressbookSessionBean.java b/src/java/org/mxchange/addressbook/model/addressbook/AddressbookSessionBean.java index 4edacc2..c1bd4a5 100644 --- a/src/java/org/mxchange/addressbook/model/addressbook/AddressbookSessionBean.java +++ b/src/java/org/mxchange/addressbook/model/addressbook/AddressbookSessionBean.java @@ -22,6 +22,7 @@ import javax.ejb.Stateless; import javax.persistence.NoResultException; import javax.persistence.Query; import org.mxchange.addressbook.exceptions.AddressbookNameAlreadyUsedException; +import org.mxchange.addressbook.model.addressbook.entry.AddressbookEntry; import org.mxchange.jcoreee.database.BaseDatabaseBean; import org.mxchange.jusercore.model.user.User; @@ -40,27 +41,17 @@ public class AddressbookSessionBean extends BaseDatabaseBean implements Addressb @Override @SuppressWarnings ("unchecked") - public List getUsersList (final User loggedInUser) { - // Trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("getUsersList: loggedInUser={0} - CALLED!", loggedInUser)); - - // Is the user instance null? - if (null == loggedInUser) { - // Abort here - throw new NullPointerException("loggedInUser is null"); - } + public List allEntries (final Addressbook addressbook) { + // Generate query + Query query = this.getEntityManager().createNamedQuery("AllAddressbookEntries"); //NOI18N - // Get query instance - Query query = this.getEntityManager().createNamedQuery("AllUsersAddressbooks", List.class); //NOI18N - - // Set parameter - query.setParameter("param", loggedInUser); //NOI18N - - // Get full list from JPA - List addressbooks = query.getResultList(); + // Set parameters + query.setParameter("addressbook", addressbook); //NOI18N + query.setParameter("owner", addressbook.getAddressbookUser()); //NOI18N + query.setParameter("sharer", addressbook.getAddressbookUser()); //NOI18N // Return it - return addressbooks; + return query.getResultList(); } @Override @@ -92,6 +83,76 @@ public class AddressbookSessionBean extends BaseDatabaseBean implements Addressb // Return it updated return addressbook; } + + @Override + @SuppressWarnings ("unchecked") + public List getUsersList (final User loggedInUser) { + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("getUsersList: loggedInUser={0} - CALLED!", loggedInUser)); //NOI18N + + // Is the user instance null? + if (null == loggedInUser) { + // Abort here + throw new NullPointerException("loggedInUser is null"); //NOI18N + } + + // Get query instance + Query query = this.getEntityManager().createNamedQuery("AllUsersAddressbooks", List.class); //NOI18N + + // Set parameter + query.setParameter("param", loggedInUser); //NOI18N + + // Get full list from JPA + List addressbooks = query.getResultList(); + + // Return it + return addressbooks; + } + + @Override + public boolean isAddressbookIdUsed (final Long addressbookId) { + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("isAddressbookIdUsed: addressbookId={0} - CALLED!", addressbookId)); //NOI18N + + // Is it null or zero? + if (null == addressbookId) { + // Throw NPE + throw new NullPointerException("addressbookId is null"); //NOI18N + } else if (addressbookId < 1) { + // Not valid id number + throw new IllegalArgumentException(MessageFormat.format("addressbookId is not valid: {0}", addressbookId)); //NOI18N + } + + // Get query instance + Query query = this.getEntityManager().createNamedQuery("FindAddressbookById"); //NOI18N + + // Set parameter + query.setParameter("id", addressbookId); //NOI18N + + // Default is not valid + boolean isValid = false; + + // Try it again, yes no other way + try { + // Get single result + Addressbook addressbook = (Addressbook) query.getSingleResult(); + + // Debug message + this.getLoggerBeanLocal().logDebug(MessageFormat.format("isAddressbookIdUsed: addressbook={0} - FOUND!", addressbook)); //NOI18N + + // Found one! + isValid = true; + } catch (final NoResultException ex) { + // Debug log only, maybe out-dated link followed + this.getLoggerBeanLocal().logDebug(MessageFormat.format("isAddressbookIdUsed: addressbookId={0} is not valid: {1}", addressbookId, ex)); //NOI18N + } + + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("isAddressbookIdUsed: isValid={0} - EXIT!", isValid)); //NOI18N + + // Return result + return isValid; + } @Override public boolean isAddressbookNameUsed (final Addressbook addressbook) { @@ -111,11 +172,11 @@ public class AddressbookSessionBean extends BaseDatabaseBean implements Addressb } // Get query instance - Query query = this.getEntityManager().createNamedQuery("SearchUserAddressbookName", Addressbook.class); + Query query = this.getEntityManager().createNamedQuery("SearchUserAddressbookName", Addressbook.class); //NOI18N // Set parameter - query.setParameter("user", addressbook.getAddressbookUser()); - query.setParameter("name", addressbook.getAddressbookName()); + query.setParameter("user", addressbook.getAddressbookUser()); //NOI18N + query.setParameter("name", addressbook.getAddressbookName()); //NOI18N // Default is not found boolean isUsed = false; @@ -126,13 +187,13 @@ public class AddressbookSessionBean extends BaseDatabaseBean implements Addressb Addressbook dummy = (Addressbook) query.getSingleResult(); // Log it - this.getLoggerBeanLocal().logDebug(MessageFormat.format("isAddressbookNameUsed: Found an address book: {0}", dummy)); + this.getLoggerBeanLocal().logDebug(MessageFormat.format("isAddressbookNameUsed: Found an address book: {0}", dummy)); //NOI18N // Found one isUsed = true; } catch (final NoResultException ex) { // No result found, so log it away - this.getLoggerBeanLocal().logDebug("isAddressbookNameUsed: getSingleResult() did not return a result: " + ex); + this.getLoggerBeanLocal().logDebug(MessageFormat.format("isAddressbookNameUsed: getSingleResult() did not return a result: {0}", ex)); //NOI18N } // Return result