]> git.mxchange.org Git - jfinancials-war.git/blobdiff - src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsAdminContactPhoneWebRequestBean.java
Updated copyright year
[jfinancials-war.git] / src / java / org / mxchange / jfinancials / beans / contact / phone / FinancialsAdminContactPhoneWebRequestBean.java
index 549b7e5a84cc913877f45675015a17ea62971921..c1cac3dfb972c06e6dbdf29359a3271d4b075048 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016 - 2020 Free Software Foundation
+ * Copyright (C) 2016 - 2022 Free Software Foundation
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as
@@ -29,6 +29,7 @@ import javax.inject.Named;
 import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent;
 import org.mxchange.jcontacts.events.contact.created.ObservableCreatedContactEvent;
 import org.mxchange.jcontacts.events.contact.update.ObservableAdminUpdatedContactEvent;
+import org.mxchange.jcontacts.events.contact.update.ObservableUpdatedContactEvent;
 import org.mxchange.jcontacts.events.fax.linked.AdminLinkedFaxNumberEvent;
 import org.mxchange.jcontacts.events.fax.linked.ObservableAdminLinkedFaxNumberEvent;
 import org.mxchange.jcontacts.events.fax.unlinked.AdminUnlinkedFaxNumberEvent;
@@ -37,6 +38,7 @@ import org.mxchange.jcontacts.events.landline.linked.AdminLinkedLandLineNumberEv
 import org.mxchange.jcontacts.events.landline.linked.ObservableAdminLinkedLandLineNumberEvent;
 import org.mxchange.jcontacts.events.landline.unlinked.AdminUnlinkedLandLineNumberEvent;
 import org.mxchange.jcontacts.events.landline.unlinked.ObservableAdminUnlinkedLandLineNumberEvent;
+import org.mxchange.jcontacts.exceptions.ContactNotFoundException;
 import org.mxchange.jcontacts.model.contact.Contact;
 import org.mxchange.jcontacts.model.phone.AdminContactsPhoneSessionBeanRemote;
 import org.mxchange.jcountry.model.data.Country;
@@ -264,10 +266,10 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsBea
                        throw new NullPointerException("event is null"); //NOI18N
                } else if (event.getCreatedContact() == null) {
                        // Throw NPE again
-                       throw new NullPointerException("event.createdContact is null"); //NOI18N //NOI18N
+                       throw new NullPointerException("event.createdContact is null"); //NOI18N
                } else if (event.getCreatedContact().getContactId() == null) {
                        // Throw NPE again
-                       throw new NullPointerException("event.createdContact.contactId is null"); //NOI18N //NOI18N
+                       throw new NullPointerException("event.createdContact.contactId is null"); //NOI18N
                } else if (event.getCreatedContact().getContactId() < 1) {
                        // Not valid
                        throw new IllegalStateException(MessageFormat.format("event.createdContact.contactId={0} is not valid.", event.getCreatedContact().getContactId())); //NOI18N
@@ -345,6 +347,31 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsBea
                this.setPhoneEntryUpdated(number.getPhoneEntryUpdated());
        }
 
+       /**
+        * Event observer for updated contact data by the user
+        * <p>
+        * @param event Updated contact data event
+        */
+       public void afterUpdatedContactDataEvent (@Observes final ObservableUpdatedContactEvent event) {
+               // Event and contained entity instance should not be null
+               if (null == event) {
+                       // Throw NPE
+                       throw new NullPointerException("event is null"); //NOI18N
+               } else if (event.getUpdatedContact() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("event.updatedContact is null"); //NOI18N
+               } else if (event.getUpdatedContact().getContactId() == null) {
+                       // userId is null
+                       throw new NullPointerException("event.updatedContact.contactId is null"); //NOI18N
+               } else if (event.getUpdatedContact().getContactId() < 1) {
+                       // Not avalid id
+                       throw new IllegalArgumentException(MessageFormat.format("contactId of contact={0} is not valid: {1}", event.getUpdatedContact(), event.getUpdatedContact().getContactId())); //NOI18N
+               }
+
+               // Clear all data
+               this.clear();
+       }
+
        /**
         * Links fax number to contact from bean helper as "main fax number".
         * <p>
@@ -395,7 +422,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsBea
                try {
                        // Link it, too
                        updatedContact = this.adminContactPhoneBean.linkNewFaxNumberWithContact(targetContact, number);
-               } catch (final PhoneNumberAlreadyLinkedException ex) {
+               } catch (final PhoneNumberAlreadyLinkedException | ContactNotFoundException ex) {
                        // Throw again as cause
                        this.showFacesMessage("form_add_contact_fax:faxNumber", ex, FacesMessage.SEVERITY_ERROR); //NOI18N
                        return ""; //NOI18N
@@ -459,7 +486,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsBea
                try {
                        // Link it, too
                        updatedContact = this.adminContactPhoneBean.linkNewLandLineNumberWithContact(targetContact, number);
-               } catch (final PhoneNumberAlreadyLinkedException ex) {
+               } catch (final PhoneNumberAlreadyLinkedException | ContactNotFoundException ex) {
                        // Throw again as cause
                        this.showFacesMessage("form_add_contact_landLine:landLineNumber", ex, FacesMessage.SEVERITY_ERROR); //NOI18N
                        return ""; //NOI18N
@@ -658,7 +685,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsBea
                try {
                        // Unlink it and return contact without fax instance
                        updatedContact = this.adminContactPhoneBean.unlinkFaxDataFromContact(this.getContact(), number);
-               } catch (final PhoneNumberNotLinkedException ex) {
+               } catch (final PhoneNumberNotLinkedException | ContactNotFoundException ex) {
                        // Did not work
                        this.showFacesMessage("form_unlink_contact_fax:faxNumberId", ex, FacesMessage.SEVERITY_ERROR); //NOI18N
                        return ""; //NOI18N
@@ -713,7 +740,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsBea
                try {
                        // Unlink it and return contact without landLine instance
                        updatedContact = this.adminContactPhoneBean.unlinkLandLineDataFromContact(this.getContact(), number);
-               } catch (final PhoneNumberNotLinkedException ex) {
+               } catch (final PhoneNumberNotLinkedException | ContactNotFoundException ex) {
                        // Did not work
                        this.showFacesMessage("form_unlink_contact_landLine:landLineNumberId", ex, FacesMessage.SEVERITY_ERROR); //NOI18N
                        return ""; //NOI18N