]> git.mxchange.org Git - addressbook-war.git/commitdiff
Continued with rewriting:
authorRoland Haeder <roland@mxchange.org>
Fri, 22 Apr 2016 13:54:24 +0000 (15:54 +0200)
committerRoland Haeder <roland@mxchange.org>
Sat, 23 Apr 2016 19:42:23 +0000 (21:42 +0200)
- rewrote to ContactUtils.updateFooNumber()
- added missing attributes for above functions
- added check for contactId against null
- fixed converter (must be ContactConverter) + instance from helper

src/java/org/mxchange/addressbook/beans/contact/AddressbookAdminContactWebRequestBean.java
src/java/org/mxchange/addressbook/beans/contact/AddressbookContactWebSessionBean.java
web/admin/contact/admin_contact_edit.xhtml

index 554d404bf5aa81e1a8e6d6f424c9ebd4afe5c810..415ba6cc51b3654b9d39d879c71734f46d3fb657 100644 (file)
@@ -42,7 +42,7 @@ import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider;
 import org.mxchange.jusercore.events.user.add.AdminAddedUserEvent;
 
 /**
- * A user bean (controller)
+ * An administrative user bean (controller)
  * <p>
  * @author Roland Haeder<roland@mxchange.org>
  */
@@ -158,6 +158,21 @@ public class AddressbookAdminContactWebRequestBean implements AddressbookAdminCo
         */
        private Short houseNumber;
 
+       /**
+        * Whether a cellphone entry has been unlinked
+        */
+       private boolean isCellphoneUnlinked;
+
+       /**
+        * Whether a fax entry has been unlinked
+        */
+       private boolean isFaxUnlinked;
+
+       /**
+        * Whether a land-line number has been unlinked
+        */
+       private boolean isLandLineUnlinked;
+
        /**
         * Land-line id number
         */
@@ -236,7 +251,7 @@ public class AddressbookAdminContactWebRequestBean implements AddressbookAdminCo
                this.updateContactData(contact);
 
                // Call EJB for updating contact data
-               Contact updatedContact = this.contactBean.updateContactPersonalData(contact);
+               Contact updatedContact = this.contactBean.updateContactData(contact, this.isCellphoneUnlinked, this.isLandLineUnlinked, this.isFaxUnlinked);
 
                // Fire event
                this.updatedContactEvent.fire(new AdminContactUpdatedEvent(updatedContact));
@@ -251,6 +266,9 @@ public class AddressbookAdminContactWebRequestBean implements AddressbookAdminCo
                if (null == contact) {
                        // Throw NPE again
                        throw new NullPointerException("contact is null"); //NOI18N
+               } else if (contact.getContactId() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("contact.contactId is null"); //NOI18N //NOI18N
                } else if (contact.getContactId() < 1) {
                        // Not valid
                        throw new IllegalStateException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
@@ -554,27 +572,13 @@ public class AddressbookAdminContactWebRequestBean implements AddressbookAdminCo
                contact.setContactCountry(this.getCountry());
 
                // Update contact's cellphone number
-               ContactUtils.updateCellPhoneNumber(contact, this.getCellphoneCarrier(), this.getCellphoneNumber());
+               this.isCellphoneUnlinked = ContactUtils.updateCellPhoneNumber(contact, this.getCellphoneCarrier(), this.getCellphoneNumber());
 
-               // Is there a phone number?
-               if (contact.getContactLandLineNumber() instanceof DialableLandLineNumber) {
-                       // Debug message
-                       System.out.println(MessageFormat.format("updateContactData: phoneId={0}", contact.getContactLandLineNumber().getPhoneId())); //NOI18N
+               // Update contact's land-line number
+               this.isLandLineUnlinked = ContactUtils.updateLandLineNumber(contact, this.getPhoneCountry(), this.getPhoneAreaCode(), this.getPhoneNumber());
 
-                       // Yes, then update as well
-                       contact.getContactLandLineNumber().setPhoneAreaCode(this.getPhoneAreaCode());
-                       contact.getContactLandLineNumber().setPhoneNumber(this.getPhoneNumber());
-               }
-
-               // Is there a fax number?
-               if (contact.getContactFaxNumber() instanceof DialableFaxNumber) {
-                       // Debug message
-                       System.out.println(MessageFormat.format("updateContactData: faxId={0}", contact.getContactFaxNumber().getPhoneId())); //NOI18N
-
-                       // Yes, then update as well
-                       contact.getContactFaxNumber().setPhoneAreaCode(this.getFaxAreaCode());
-                       contact.getContactFaxNumber().setPhoneNumber(this.getFaxNumber());
-               }
+               // Update contact's fax number
+               this.isFaxUnlinked = ContactUtils.updateFaxNumber(contact, this.getFaxCountry(), this.getFaxAreaCode(), this.getFaxNumber());
        }
 
 }
index 66295f5577b12ec49c9c5114f0ceff9a6fb0c1ea..3f584aa6e042808e5574ebff0f6c45f79f98b945 100644 (file)
@@ -35,6 +35,7 @@ import org.mxchange.jcontacts.contact.Contact;
 import org.mxchange.jcontacts.contact.ContactSessionBeanRemote;
 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.update.AdminUpdatedContactEvent;
 import org.mxchange.jcontacts.exceptions.ContactNotFoundException;
 import org.mxchange.jcountry.data.Country;
@@ -153,6 +154,21 @@ public class AddressbookContactWebSessionBean implements AddressbookContactWebSe
         */
        private Short houseNumber;
 
+       /**
+        * Whether a cellphone entry has been unlinked
+        */
+       private boolean isCellphoneUnlinked;
+
+       /**
+        * Whether a fax entry has been unlinked
+        */
+       private boolean isFaxUnlinked;
+
+       /**
+        * Whether a land-line number has been unlinked
+        */
+       private boolean isLandLineUnlinked;
+
        /**
         * Login bean (controller)
         */
@@ -477,38 +493,17 @@ public class AddressbookContactWebSessionBean implements AddressbookContactWebSe
                contact.setContactCity(this.getCity());
                contact.setContactCountry(this.getCountry());
 
-               // Is there a phone number?
-               if (contact.getContactLandLineNumber() instanceof DialableLandLineNumber) {
-                       // Debug message
-                       System.out.println(MessageFormat.format("ContactWebBean:doChangePersonalData: phoneId={0}", contact.getContactLandLineNumber().getPhoneId())); //NOI18N
-
-                       // Yes, then update as well
-                       contact.getContactLandLineNumber().setPhoneAreaCode(this.getPhoneAreaCode());
-                       contact.getContactLandLineNumber().setPhoneNumber(this.getPhoneNumber());
-               }
+               // Update contact's cellphone number
+               this.isCellphoneUnlinked = ContactUtils.updateCellPhoneNumber(contact, this.getCellphoneCarrier(), this.getCellphoneNumber());
 
-               // Is there a fax number?
-               if (contact.getContactFaxNumber() instanceof DialableFaxNumber) {
-                       // Debug message
-                       System.out.println(MessageFormat.format("ContactWebBean:doChangePersonalData: faxId={0}", contact.getContactFaxNumber().getPhoneId())); //NOI18N
+               // Update contact's land-line number
+               this.isLandLineUnlinked = ContactUtils.updateLandLineNumber(contact, this.getPhoneCountry(), this.getPhoneAreaCode(), this.getPhoneNumber());
 
-                       // Yes, then update as well
-                       contact.getContactFaxNumber().setPhoneAreaCode(this.getFaxAreaCode());
-                       contact.getContactFaxNumber().setPhoneNumber(this.getFaxNumber());
-               }
-
-               // Is there a cellphone number?
-               if (contact.getContactCellphoneNumber() instanceof DialableCellphoneNumber) {
-                       // Debug message
-                       System.out.println(MessageFormat.format("ContactWebBean:doChangePersonalData: cellPhoneId={0}", contact.getContactCellphoneNumber().getPhoneId())); //NOI18N
-
-                       // Yes, then update as well
-                       contact.getContactCellphoneNumber().setCellphoneProvider(this.getCellphoneCarrier());
-                       contact.getContactCellphoneNumber().setPhoneNumber(this.getCellphoneNumber());
-               }
+               // Update contact's fax number
+               this.isFaxUnlinked = ContactUtils.updateFaxNumber(contact, this.getFaxCountry(), this.getFaxAreaCode(), this.getFaxNumber());
 
                // Send it to the EJB
-               this.contactBean.updateContactPersonalData(contact);
+               this.contactBean.updateContactData(contact, this.isCellphoneUnlinked, this.isLandLineUnlinked, this.isFaxUnlinked);
 
                // All fine
                return "contact_data_saved"; //NOI18N
index 1df661ecc4d9664bd7db15933883a771e840fb18..386f9ea267e5fe06595ae8a3e3b130370511393d 100644 (file)
@@ -9,7 +9,7 @@
        >
 
        <f:metadata>
-               <f:viewParam name="contactId" value="#{adminHelper.contact}" converter="UserConverter" required="true" requiredMessage="#{msg.ERROR_PARAMETER_CONTACT_ID_NOT_SET}" />
+               <f:viewParam name="contactId" value="#{adminHelper.contact}" converter="ContactConverter" required="true" requiredMessage="#{msg.ERROR_PARAMETER_CONTACT_ID_NOT_SET}" />
                <f:viewAction action="#{adminHelper.copyContactToController()}" />
        </f:metadata>
 
@@ -23,7 +23,7 @@
                <ui:define name="content">
                        <h:outputText styleClass="errors" value="#{msg.ERROR_CONTACT_ID_NOT_FOUND}" rendered="#{empty adminHelper.contact}" />
 
-                       <h:form id="admin_edit_user" rendered="#{not empty adminHelper.user}">
+                       <h:form id="admin_edit_user" rendered="#{not empty adminHelper.contact}">
                                <div class="table">
                                        <div class="table_header">
                                                #{msg.ADMIN_EDIT_CONTACT_TITLE}