]> git.mxchange.org Git - addressbook-mailer-ejb.git/commitdiff
Please cherry-pick:
authorRoland Häder <roland@mxchange.org>
Mon, 26 Jun 2017 19:26:23 +0000 (21:26 +0200)
committerRoland Häder <roland@mxchange.org>
Mon, 26 Jun 2017 19:37:24 +0000 (21:37 +0200)
- had moved copyAll() to new utility classes which is a much better place for
  them. Per EJB standards, no "complex" methods in POJOs/entity classes which
  makes sense. :-)

Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/jphone/phonenumbers/phone/AddressbookAdminPhoneSessionBean.java
src/java/org/mxchange/jusercore/model/user/AddressbookUserSessionBean.java

index 2ee461b00aba4b36b8d95a45565ae71cf8f65e10..1d63242ca9e3b204d9aa017f34627d4e90237a72 100644 (file)
@@ -21,8 +21,11 @@ import java.util.GregorianCalendar;
 import javax.ejb.Stateless;
 import org.mxchange.addressbook.database.BaseAddressbookDatabaseBean;
 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
+import org.mxchange.jphone.phonenumbers.fax.FaxNumbers;
 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jphone.phonenumbers.landline.LandLineNumbers;
 import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
+import org.mxchange.jphone.phonenumbers.mobile.MobileNumbers;
 
 /**
  * An EJB for administrative phone purposes
@@ -231,7 +234,7 @@ public class AddressbookAdminPhoneSessionBean extends BaseAddressbookDatabaseBea
                this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.updateFaxData: managedNumber.phoneId={1}", this.getClass().getSimpleName(), managedNumber.getPhoneId())); //NOI18N
 
                // Set updated timestamp
-               managedNumber.copyAll(faxNumber);
+               FaxNumbers.copyAll(faxNumber, managedNumber);
                managedNumber.setPhoneEntryUpdated(new GregorianCalendar());
 
                // Trace message
@@ -289,7 +292,7 @@ public class AddressbookAdminPhoneSessionBean extends BaseAddressbookDatabaseBea
                this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.updateLandLineData: managedNumber.phoneId={1}", this.getClass().getSimpleName(), managedNumber.getPhoneId())); //NOI18N
 
                // Set updated timestamp
-               managedNumber.copyAll(landLineNumber);
+               LandLineNumbers.copyAll(landLineNumber, managedNumber);
                managedNumber.setPhoneEntryUpdated(new GregorianCalendar());
 
                // Trace message
@@ -341,7 +344,7 @@ public class AddressbookAdminPhoneSessionBean extends BaseAddressbookDatabaseBea
                this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.updateMobileData: managedNumber.phoneId={1}", this.getClass().getSimpleName(), managedNumber.getPhoneId())); //NOI18N
 
                // Set updated timestamp
-               managedNumber.copyAll(mobileNumber);
+               MobileNumbers.copyAll(mobileNumber, managedNumber);
                managedNumber.setPhoneEntryUpdated(new GregorianCalendar());
 
                // Trace message
index 33db34870e8232ecbda1b92b875c553c216c9334..6398fad8eca6703bb11e5a2e09ff5f3282b2be29 100644 (file)
@@ -32,8 +32,11 @@ import org.mxchange.addressbook.database.BaseAddressbookDatabaseBean;
 import org.mxchange.jcontacts.contact.Contact;
 import org.mxchange.jcontacts.contact.ContactUtils;
 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
+import org.mxchange.jphone.phonenumbers.fax.FaxNumbers;
 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jphone.phonenumbers.landline.LandLineNumbers;
 import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
+import org.mxchange.jphone.phonenumbers.mobile.MobileNumbers;
 import org.mxchange.jusercore.exceptions.UserNotFoundException;
 import org.mxchange.jusercore.exceptions.UserStatusConfirmedException;
 import org.mxchange.jusercore.exceptions.UserStatusLockedException;
@@ -737,7 +740,22 @@ public class AddressbookUserSessionBean extends BaseAddressbookDatabaseBean impl
                // Is there a  mobile instance set?
                if (mobileNumber instanceof DialableMobileNumber) {
                        // Debug message
-                       this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: mobileNumber.phoneId={0} is being updated ...", mobileNumber.getPhoneId())); //NOI18N
+                       this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: mobile.phoneId={0} is being updated ...", mobileNumber.getPhoneId())); //NOI18N
+
+                       // Then find it, too
+                       DialableMobileNumber foundMobile = this.getEntityManager().find(mobileNumber.getClass(), mobileNumber.getPhoneId());
+
+                       // Should be there
+                       assert (foundMobile instanceof DialableMobileNumber) : MessageFormat.format("Mobile number with id {0} not found but should be.", foundMobile.getPhoneId()); //NOI18N
+
+                       // Then merge it, too
+                       DialableMobileNumber managedMobile = this.getEntityManager().merge(foundMobile);
+
+                       // Should be there
+                       assert (managedMobile instanceof DialableMobileNumber) : MessageFormat.format("Mobile number with id {0} not found but should be.", managedMobile.getPhoneId()); //NOI18N
+
+                       // Copy all
+                       MobileNumbers.copyAll(managedUser.getUserContact().getContactMobileNumber(), managedMobile);
 
                        // Set it back
                        managedContact.setContactMobileNumber(this.getManaged(mobileNumber, mobileNumber));
@@ -751,8 +769,23 @@ public class AddressbookUserSessionBean extends BaseAddressbookDatabaseBean impl
                        // Debug message
                        this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: faxNumber.phoneId={0} is being updated ...", faxNumber.getPhoneId())); //NOI18N
 
+                       // Then find it, too
+                       DialableFaxNumber foundFax = this.getEntityManager().find(faxNumber.getClass(), faxNumber.getPhoneId());
+
+                       // Should be there
+                       assert (foundFax instanceof DialableFaxNumber) : MessageFormat.format("Fax number with id {0} not found but should be.", foundFax.getPhoneId()); //NOI18N
+
+                       // Then merge it, too
+                       DialableFaxNumber managedFax = this.getEntityManager().merge(foundFax);
+
+                       // Should be there
+                       assert (managedFax instanceof DialableFaxNumber) : MessageFormat.format("Fax number with id {0} not found but should be.", managedFax.getPhoneId()); //NOI18N
+
+                       // Copy all
+                       FaxNumbers.copyAll(managedUser.getUserContact().getContactFaxNumber(), managedFax);
+
                        // Set it back
-                       managedContact.setContactFaxNumber(this.getManaged(faxNumber, faxNumber));
+                       managedContact.setContactFaxNumber(managedFax);
                }
 
                // Get mobile instance
@@ -763,8 +796,23 @@ public class AddressbookUserSessionBean extends BaseAddressbookDatabaseBean impl
                        // Debug message
                        this.getLoggerBeanLocal().logDebug(MessageFormat.format("updateUserPersonalData: landLineNumber.phoneId={0} is being updated ...", landLineNumber.getPhoneId())); //NOI18N
 
+                       // Then find it, too
+                       DialableLandLineNumber foundLandLine = this.getEntityManager().find(landLineNumber.getClass(), landLineNumber.getPhoneId());
+
+                       // Should be there
+                       assert (foundLandLine instanceof DialableLandLineNumber) : MessageFormat.format("Land line number with id {0} not found but should be.", foundLandLine.getPhoneId()); //NOI18N
+
+                       // Then merge it, too
+                       DialableLandLineNumber managedLandLine = this.getEntityManager().merge(foundLandLine);
+
+                       // Should be there
+                       assert (managedLandLine instanceof DialableLandLineNumber) : MessageFormat.format("Land line number with id {0} not found but should be.", managedLandLine.getPhoneId()); //NOI18N
+
+                       // Copy all
+                       LandLineNumbers.copyAll(managedUser.getUserContact().getContactLandLineNumber(), managedLandLine);
+
                        // Set it back
-                       managedContact.setContactLandLineNumber(this.getManaged(landLineNumber, landLineNumber));
+                       managedContact.setContactLandLineNumber(managedLandLine);
                }
 
                // Trace message