From: Roland Häder Date: Mon, 15 Aug 2016 15:58:42 +0000 (+0200) Subject: Continued a bit: (please cherry-pick) X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=ed09ef91eda455ee6e60bbdf98a09477d35cb6fa;p=jjobs-war.git Continued a bit: (please cherry-pick) - implemented removeCellphoneNumberFromListEvent() - renamed event method to make it more clear Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionBean.java b/src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionBean.java index 99a64e01..657e980b 100644 --- a/src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionBean.java +++ b/src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionBean.java @@ -45,6 +45,7 @@ import org.mxchange.jcountry.data.Country; import org.mxchange.jjobs.beans.BaseJobsController; import org.mxchange.jjobs.beans.login.JobsUserLoginWebSessionController; import org.mxchange.jjobs.beans.user.JobsUserWebSessionController; +import org.mxchange.jphone.events.cellphone.remove.AdminRemoveCellphoneNumberFromListEvent; import org.mxchange.jphone.phonenumbers.cellphone.CellphoneNumber; import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; @@ -409,7 +410,7 @@ public class JobsContactWebSessionBean extends BaseJobsController implements Job } @Override - public void afterUserConfirmedAccount (@Observes final UserConfirmedAccountEvent event) { + public void afterUserConfirmedAccountEvent (@Observes final UserConfirmedAccountEvent event) { // event should not be null if (null == event) { // Throw NPE @@ -963,6 +964,30 @@ public class JobsContactWebSessionBean extends BaseJobsController implements Job return localContact; } + @Override + public void removeCellphoneNumberFromListEvent (@Observes final AdminRemoveCellphoneNumberFromListEvent event) { + // event should not be null + if (null == event) { + // Throw NPE + throw new NullPointerException("event is null"); //NOI18N + } else if (event.getCellphoneList()== null) { + // Throw NPE again + throw new NullPointerException("event.cellphoneList is null"); //NOI18N + } else if (event.getCellphoneList().isEmpty()) { + // List is empty, no need to check + return; + } + + // Check all entries + for (final Contact contact : this.contactList) { + // Is the cell phone instance set and in list? + if ((contact.getContactCellphoneNumber() instanceof DialableCellphoneNumber) && (event.getCellphoneList().contains(contact.getContactCellphoneNumber()))) { + // Found it, so remvoe it from list + event.getCellphoneList().remove(contact.getContactCellphoneNumber()); + } + } + } + @Override public List selectableContacts () { return Collections.unmodifiableList(this.selectableContacts); diff --git a/src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionController.java b/src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionController.java index 681929de..248696a6 100644 --- a/src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionController.java +++ b/src/java/org/mxchange/jjobs/beans/contact/JobsContactWebSessionController.java @@ -27,6 +27,7 @@ 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; +import org.mxchange.jphone.events.cellphone.remove.AdminRemoveCellphoneNumberFromListEvent; import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider; import org.mxchange.jusercore.events.confirmation.UserConfirmedAccountEvent; import org.mxchange.jusercore.events.login.UserLoggedInEvent; @@ -68,7 +69,14 @@ public interface JobsContactWebSessionController extends Serializable { *

* @param event Event being fired */ - void afterUserConfirmedAccount (final UserConfirmedAccountEvent event); + void afterUserConfirmedAccountEvent (final UserConfirmedAccountEvent event); + + /** + * Event observer when a list with unused cell phone numers is being created + *

+ * @param event Event being fired + */ + void removeCellphoneNumberFromListEvent(final AdminRemoveCellphoneNumberFromListEvent event); /** * Updates all data from bean in given contact instance