]> git.mxchange.org Git - jjobs-war.git/commitdiff
added missing method afterAdminDeletedContactEvent() to remove deleted contact from...
authorRoland Häder <roland@mxchange.org>
Mon, 15 Aug 2016 14:50:58 +0000 (16:50 +0200)
committerRoland Haeder <roland@mxchange.org>
Sat, 20 Aug 2016 13:33:27 +0000 (15:33 +0200)
src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionBean.java
src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionController.java

index 1fb75c849f023a15272b66671ce07992b9d2de07..99a64e0177cceb2df38dc5501841196c1d01168c 100644 (file)
@@ -38,6 +38,7 @@ import org.mxchange.jcontacts.contact.UserContact;
 import org.mxchange.jcontacts.contact.gender.Gender;
 import org.mxchange.jcontacts.contact.utils.ContactUtils;
 import org.mxchange.jcontacts.events.contact.add.AdminAddedContactEvent;
+import org.mxchange.jcontacts.events.contact.deleted.AdminDeletedContactEvent;
 import org.mxchange.jcontacts.events.contact.update.AdminUpdatedContactEvent;
 import org.mxchange.jcontacts.exceptions.ContactNotFoundException;
 import org.mxchange.jcountry.data.Country;
@@ -298,6 +299,31 @@ public class JobsContactWebSessionBean extends BaseJobsController implements Job
                this.clear();
        }
 
+       @Override
+       public void afterAdminDeletedContactEvent (@Observes final AdminDeletedContactEvent event) {
+               // event should not be null
+               if (null == event) {
+                       // Throw NPE
+                       throw new NullPointerException("event is null"); //NOI18N
+               } else if (event.getDeletedContact() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("event.deletedContact is null"); //NOI18N
+               } else if (event.getDeletedContact().getContactId() == null) {
+                       // userId is null
+                       throw new NullPointerException("event.deletedContact.contactId is null"); //NOI18N
+               } else if (event.getDeletedContact().getContactId() < 1) {
+                       // Not avalid id
+                       throw new IllegalArgumentException(MessageFormat.format("userId of user={0} is not valid: {1}", event.getDeletedContact(), event.getDeletedContact().getContactId())); //NOI18N
+               }
+
+               // Remove from both lists
+               this.contactList.remove(event.getDeletedContact());
+               this.selectableContacts.remove(event.getDeletedContact());
+
+               // Clear all data
+               this.clear();
+       }
+
        @Override
        public void afterAdminLinkedUser (@Observes final AdminLinkedUserEvent event) {
                // event should not be null
index 8104d56164a05a1183005e1355eba31d6cb35bcb..681929de5ba2c62d298e9f8e15b8888f7d661fb6 100644 (file)
@@ -23,6 +23,7 @@ import javax.ejb.Local;
 import org.mxchange.jcontacts.contact.Contact;
 import org.mxchange.jcontacts.contact.gender.Gender;
 import org.mxchange.jcontacts.events.contact.add.AdminAddedContactEvent;
+import org.mxchange.jcontacts.events.contact.deleted.AdminDeletedContactEvent;
 import org.mxchange.jcontacts.events.contact.update.AdminUpdatedContactEvent;
 import org.mxchange.jcontacts.exceptions.ContactNotFoundException;
 import org.mxchange.jcountry.data.Country;
@@ -55,6 +56,13 @@ public interface JobsContactWebSessionController extends Serializable {
         */
        void afterAdminAddedUserEvent (final AdminAddedUserEvent event);
 
+       /**
+        * Event observer for deleted contact instance by administrator
+        * <p>
+        * @param event Event being fired
+        */
+       void afterAdminDeletedContactEvent (final AdminDeletedContactEvent event);
+
        /**
         * Event observer when user confirmed account.
         * <p>
@@ -445,6 +453,7 @@ public interface JobsContactWebSessionController extends Serializable {
         * Setter for controller type
         * <p>
         * @param controllerType Controller type
+        *
         * @deprecated Don't use this method.
         */
        @Deprecated