]> git.mxchange.org Git - jjobs-war.git/blobdiff - src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionBean.java
Continued a bit:
[jjobs-war.git] / src / java / org / mxchange / jjobs / beans / contact / JobsContactWebSessionBean.java
index 8233eb18933178caf44a019ed910f8aca8ae3552..034afc6a307a5f3dc7f95dc29c9bf1c98068a755 100644 (file)
@@ -219,9 +219,27 @@ public class JobsContactWebSessionBean implements JobsContactWebSessionControlle
        }
 
        @Override
-       public void addEmailAddress (final String contactEmailAddress) {
-               // Add it
-               this.emailAddressList.add(contactEmailAddress);
+       public void afterAdminAddedContact (@Observes final AdminAddedContactEvent event) {
+               // The event must be valid
+               if (null == event) {
+                       // Throw NPE
+                       throw new NullPointerException("event is null"); //NOI18N
+               } else if (event.getAddedContact() == null) {
+                       // Throw again ...
+                       throw new NullPointerException("event.addedContact is null"); //NOI18N
+               } else if (event.getAddedContact().getContactId() == null) {
+                       // ... and again
+                       throw new NullPointerException("event.addedContact.customerId is null"); //NOI18N
+               } else if (event.getAddedContact().getContactId() < 1) {
+                       // Not valid
+                       throw new IllegalArgumentException(MessageFormat.format("event.addedContact.customerId={0} is not valid", event.getAddedContact().getContactId())); //NOI18N //NOI18N
+               }
+
+               // Clear this bean
+               this.clear();
+
+               // Call other method
+               this.contactList.add(event.getAddedContact());
        }
 
        @Override
@@ -365,6 +383,10 @@ public class JobsContactWebSessionBean implements JobsContactWebSessionControlle
        @Override
        @SuppressWarnings ("ReturnOfCollectionOrArrayField")
        public List<Contact> allContacts () {
+               // Debug message
+               /* NOISY-DEBUG: */ System.out.println(MessageFormat.format("ContactController.allContacts: contactList.size()={0} - EXIT!", this.contactList.size()));
+
+               // Return un-modified list
                return this.contactList;
        }
 
@@ -462,11 +484,7 @@ public class JobsContactWebSessionBean implements JobsContactWebSessionControlle
 
                // Trace message
                //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("{0}.createContactInstance: contact={1} - EXIT!", this.getClass().getSimpleName(), contact));
-               // Created timestamp and ownContact
-               contact.setContactOwnContact(Boolean.TRUE);
 
-               // Trace message
-               //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("createContactInstance: localContact={0} - EXIT!", localContact));
                // Return it
                return localContact;
        }
@@ -807,21 +825,21 @@ public class JobsContactWebSessionBean implements JobsContactWebSessionControlle
        }
 
        @Override
-       public void updateContactDataFromController (final Contact userContact) {
+       public void updateContactDataFromController (final Contact contact) {
                // Is the instance valid?
-               if (null == userContact) {
+               if (null == contact) {
                        // Throw NPE
-                       throw new NullPointerException("userContact is null"); //NOI18N
-               } else if (userContact.getContactId() == null) {
+                       throw new NullPointerException("contact is null"); //NOI18N
+               } else if (contact.getContactId() == null) {
                        // Throw NPE
-                       throw new NullPointerException("userContact.contactId is null"); //NOI18N
-               } else if (userContact.getContactId() < 1) {
+                       throw new NullPointerException("contact.contactId is null"); //NOI18N
+               } else if (contact.getContactId() < 1) {
                        // Not valid id number
-                       throw new IllegalArgumentException(MessageFormat.format("userContact.contactId={0} is not valid.", userContact.getContactId())); //NOI18N
+                       throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
                }
 
                // Set all
-               this.copyContact(userContact);
+               this.copyContact(contact);
        }
 
        /**
@@ -873,6 +891,18 @@ public class JobsContactWebSessionBean implements JobsContactWebSessionControlle
         * @param contact Contact instance
         */
        private void copyContact (final Contact contact) {
+               // Is the instance valid?
+               if (null == contact) {
+                       // Throw NPE
+                       throw new NullPointerException("contact is null"); //NOI18N
+               } else if (contact.getContactId() == null) {
+                       // Throw NPE
+                       throw new NullPointerException("contact.contactId is null"); //NOI18N
+               } else if (contact.getContactId() < 1) {
+                       // Not valid id number
+                       throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
+               }
+
                // Copy all fields:
                // - base data
                this.setGender(contact.getContactGender());
@@ -883,6 +913,9 @@ public class JobsContactWebSessionBean implements JobsContactWebSessionControlle
                this.setZipCode(contact.getContactZipCode());
                this.setCity(contact.getContactCity());
                this.setCountry(contact.getContactCountry());
+               this.setEmailAddress(contact.getContactEmailAddress());
+               this.setBirthday(contact.getContactBirthday());
+               this.setComment(contact.getContactComment());
 
                // Get cellphone, phone and fax instance
                DialableCellphoneNumber cellphone = contact.getContactCellphoneNumber();
@@ -895,20 +928,45 @@ public class JobsContactWebSessionBean implements JobsContactWebSessionControlle
                        this.setPhoneAreaCode(phone.getPhoneAreaCode());
                        this.setPhoneNumber(phone.getPhoneNumber());
                }
+
                if ((cellphone instanceof DialableCellphoneNumber) && (cellphone.getCellphoneProvider() instanceof MobileProvider)) {
                        this.setCellphoneCarrier(cellphone.getCellphoneProvider());
                        this.setCellphoneNumber(cellphone.getPhoneNumber());
                }
+
                if ((fax instanceof DialableFaxNumber) && (fax.getPhoneAreaCode() > 0)) {
                        this.setFaxCountry(fax.getPhoneCountry());
                        this.setFaxAreaCode(fax.getPhoneAreaCode());
                        this.setFaxNumber(fax.getPhoneNumber());
                }
-               this.setEmailAddress(contact.getContactEmailAddress());
+       }
 
-               // -- other data
-               this.setBirthday(contact.getContactBirthday());
-               this.setComment(contact.getContactComment());
+       /**
+        * Removes given contact from all lists
+        * <p>
+        * @param contact Contact instance to remove
+        */
+       private void removeContact (final Contact contact) {
+               // Is the instance valid?
+               if (null == contact) {
+                       // Throw NPE
+                       throw new NullPointerException("contact is null"); //NOI18N
+               } else if (contact.getContactId() == null) {
+                       // Throw NPE
+                       throw new NullPointerException("contact.contactId is null"); //NOI18N
+               } else if (contact.getContactId() < 1) {
+                       // Not valid id number
+                       throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
+               }
+
+               // Remove from general list
+               if (!this.contactList.remove(contact)) {
+                       // Did not remove contact
+                       throw new IllegalStateException(MessageFormat.format("contact {0} was not removed.", contact.getContactId())); //NOI18N
+               }
+
+               // Remove from other lists
+               this.emailAddressList.remove(contact.getContactEmailAddress());
        }
 
 }