import java.text.MessageFormat;
import java.util.Iterator;
import java.util.List;
+import java.util.Objects;
import javax.ejb.Stateless;
import javax.persistence.NoResultException;
import javax.persistence.Query;
-import org.mxchange.addressbook.database.BaseAddressbookDatabaseBean;
import org.mxchange.jcontacts.contact.utils.ContactUtils;
import org.mxchange.jcontacts.exceptions.ContactAlreadyAddedException;
import org.mxchange.jcontacts.exceptions.ContactNotFoundException;
* @author Roland Haeder<roland@mxchange.org>
*/
@Stateless (name = "contact", description = "A bean handling contact data")
-@Stateless (name = "contact", description = "A bean handling contact data")
public class AddressbookContactSessionBean extends BaseAddressbookDatabaseBean implements ContactSessionBeanRemote {
/**
}
@Override
- public boolean isContactFound (final Contact contact) {
+ public Contact lookupContact (final Contact contact) {
// Log trace message
this.getLoggerBeanLocal().logTrace(MessageFormat.format("isContactFound: contact={0} - CALLED!", contact)); //NOI18N
} else if (contact.getContactId() > 0) {
try {
// Id set, ask other method
- return (this.findContactById(contact.getContactId()) instanceof Contact);
+ return this.findContactById(contact.getContactId());
} catch (final ContactNotFoundException ex) {
// Not found, should not happen
throw new IllegalStateException(MessageFormat.format("contact.contactId={0} is set, but not found.", contact.getContactId()), ex); //NOI18N
}
// Default is not found
- boolean isFound = false;
+ Contact foundContact = null;
// Get whole list
List<Contact> contacts = this.getAllContacts();
if (contacts.isEmpty()) {
// Then abort here
this.getLoggerBeanLocal().logTrace("isContactFound: No contacts registered, returning 'false' ..."); //NOI18N
- return false;
+ return null;
}
// Get iterator
Contact next = iterator.next();
// Is same contact?
- if (ContactUtils.isSameContact(contact, next)) {
+ if ((Objects.equals(contact, next)) || (ContactUtils.isSameContact(contact, next))) {
+ // Debug message
+ this.getLoggerBeanLocal().logDebug(MessageFormat.format("isContactFound: Found same contact, id={0}", next.getContactId())); //NOI18N
+
// Found it
- isFound = true;
+ foundContact = next;
break;
}
}
- // Return status
- return isFound;
- }
+ // Trace message
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("isContactFound: foundContact={0} - EXIT!", foundContact)); //NOI18N
- @Override
- public Contact lookupContact (Contact contact) {
- throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+ // Return status
+ return foundContact;
}
@Override