]> git.mxchange.org Git - addressbook-mailer-ejb.git/commitdiff
Continued: (please cherry-pick)
authorRoland Häder <roland@mxchange.org>
Tue, 9 Aug 2016 13:44:15 +0000 (15:44 +0200)
committerRoland Haeder <roland@mxchange.org>
Tue, 16 Aug 2016 19:34:46 +0000 (21:34 +0200)
- implemented updateCellphoneData()

Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/jcontacts/phone/AddressbookAdminContactPhoneSessionBean.java

index bb50f62f5a7e14601fb1973b4c619085b5a9e49b..c4d37f087cd400a3ca08137ba559d502f8c01e0e 100644 (file)
  */
 package org.mxchange.jcontacts.phone;
 
+import java.text.MessageFormat;
+import java.util.GregorianCalendar;
 import javax.ejb.Stateless;
 import org.mxchange.addressbook.database.BaseAddressbookDatabaseBean;
+import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber;
 
 /**
  * A session EJB for administrative contact's phone number purposes
@@ -32,4 +35,58 @@ public class AddressbookAdminContactPhoneSessionBean extends BaseAddressbookData
         */
        private static final long serialVersionUID = 189_217_561_460_237_108L;
 
+       @Override
+       public DialableCellphoneNumber updateCellphoneData (final DialableCellphoneNumber cellPhoneNumber) {
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateCellphoneData: cellPhoneNumber={1} - CALLED!", this.getClass().getSimpleName(), cellPhoneNumber));
+
+               // Is all data set
+               if (null == cellPhoneNumber) {
+                       // Not set, throw NPE
+                       throw new NullPointerException("cellphoneNumber is null"); //NOI18N
+               } else if (cellPhoneNumber.getPhoneId() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("cellphoneNumber.phoneId is null"); //NOI18N
+               } else if (cellPhoneNumber.getPhoneId() < 1) {
+                       // Invalid number
+                       throw new IllegalArgumentException(MessageFormat.format("cellphoneNumber.phoneId={0} is not valid", cellPhoneNumber.getPhoneId())); //NOI18N
+               } else if (cellPhoneNumber.getCellphoneProvider() == null) {
+                       // Throw NPE
+                       throw new NullPointerException("cellphoneNumber.cellphoneProvider is null"); //NOI18N
+               } else if (cellPhoneNumber.getCellphoneProvider().getProviderId() == null) {
+                       // ... throw again
+                       throw new NullPointerException("cellphoneNumber.cellphoneProvider.providerId is null"); //NOI18N
+               } else if (cellPhoneNumber.getCellphoneProvider().getProviderId() < 1) {
+                       // Id not valid
+                       throw new IllegalArgumentException(MessageFormat.format("cellphoneNumber.cellphoneProvider.providerId={0} is not valid.", cellPhoneNumber.getCellphoneProvider().getProviderId())); //NOI18N
+               } else if (cellPhoneNumber.getPhoneNumber() == null) {
+                       // Throw NPE again
+                       throw new NullPointerException("cellphoneNumber.phoneNumber is null"); //NOI18N
+               } else if (cellPhoneNumber.getPhoneNumber() < 1) {
+                       // Throw NPE again
+                       throw new NullPointerException(MessageFormat.format("cellphoneNumber.phoneNumber={0} is not valid.", cellPhoneNumber.getPhoneNumber())); //NOI18N
+               }
+
+               // Set updated timestamp
+               cellPhoneNumber.setPhoneEntryUpdated(new GregorianCalendar());
+
+               // Get contact from it and find it
+               DialableCellphoneNumber foundNumber = this.getEntityManager().find(cellPhoneNumber.getClass(), cellPhoneNumber.getPhoneId());
+
+               // Should be found
+               assert (foundNumber instanceof DialableCellphoneNumber) : MessageFormat.format("Cell phone number with id {0} not found, but should be.", cellPhoneNumber.getPhoneId()); //NOI18N
+
+               // Debug message
+               this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateCellphoneData: foundNumber.phoneId={0}", foundNumber.getPhoneId())); //NOI18N
+
+               // Merge contact instance
+               DialableCellphoneNumber detachedNumber = this.getEntityManager().merge(foundNumber);
+
+               // Trace message
+               this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateCellphoneData: detachedNumber={1} - EXIT!", this.getClass().getSimpleName(), detachedNumber)); //NOI18N
+
+               // Return it
+               return detachedNumber;
+       }
+
 }