package org.mxchange.jcontacts.contact;
import java.text.MessageFormat;
+import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.NoResultException;
import javax.persistence.Query;
@Override
public Contact findContactById (final Long contactId) throws ContactNotFoundException {
+ // Log trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("findContactById: contactId={0} - CALLED!", contactId)); //NOI18N
+
// The parameter must be valid
if (null == contactId) {
// Throw NPE
try {
// Find a single result
contact = (Contact) query.getSingleResult();
+
+ // Log trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("findContactById: Found contact={0}", contact)); //NOI18N
} catch (final NoResultException ex) {
// No result found
throw new ContactNotFoundException(contactId, ex);
}
+ // Log trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("findContactById: contact={0} - EXIT!", contact)); //NOI18N
+
// Return found instance
return contact;
}
+ @Override
+ @SuppressWarnings ("unchecked")
+ public List<Contact> getAllContacts () {
+ // Log trace message
+ this.getLoggerBeanLocal().logTrace("getAllContacts - CALLED!"); //NOI18N
+
+ // Create query instance
+ Query query = this.getEntityManager().createNamedQuery("AllContacts", List.class); //NOI18N
+
+ // Get list
+ List<Contact> contacts = query.getResultList();
+
+ // Log trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("getAllContacts: contacts.size()={0} - EXIT!", contacts.size())); //NOI18N
+
+ // Return it
+ return contacts;
+ }
+
+ @Override
+ @SuppressWarnings ("unchecked")
+ public List<String> getEmailAddressList () {
+ // Log trace message
+ this.getLoggerBeanLocal().logTrace("getEmailAddressList - CALLED!"); //NOI18N
+
+ // Create query instance
+ Query query = this.getEntityManager().createNamedQuery("AllContactEmailAddresses", List.class); //NOI18N
+
+ // Get list
+ List<String> emailAddresses = query.getResultList();
+
+ // Log trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("getEmailAddressList: emailAddresses.size()={0} - EXIT!", emailAddresses.size())); //NOI18N
+
+ // Return it
+ return emailAddresses;
+ }
+
+ @Override
+ public void updateContactPersonalData (final Contact contact) {
+ throw new UnsupportedOperationException("Not supported yet."); //NOI18N
+ }
+
}