From ad2c957974722af7baaeaf802e46964d57674dda Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Mon, 26 Jun 2017 21:26:23 +0200 Subject: [PATCH] Please cherry-pick: - 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. :-) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../AddressbookAdminPhoneSessionBean.java | 9 ++-- .../user/AddressbookUserSessionBean.java | 54 +++++++++++++++++-- 2 files changed, 57 insertions(+), 6 deletions(-) diff --git a/src/java/org/mxchange/jphone/phonenumbers/phone/AddressbookAdminPhoneSessionBean.java b/src/java/org/mxchange/jphone/phonenumbers/phone/AddressbookAdminPhoneSessionBean.java index 2ee461b..1d63242 100644 --- a/src/java/org/mxchange/jphone/phonenumbers/phone/AddressbookAdminPhoneSessionBean.java +++ b/src/java/org/mxchange/jphone/phonenumbers/phone/AddressbookAdminPhoneSessionBean.java @@ -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 diff --git a/src/java/org/mxchange/jusercore/model/user/AddressbookUserSessionBean.java b/src/java/org/mxchange/jusercore/model/user/AddressbookUserSessionBean.java index 33db348..6398fad 100644 --- a/src/java/org/mxchange/jusercore/model/user/AddressbookUserSessionBean.java +++ b/src/java/org/mxchange/jusercore/model/user/AddressbookUserSessionBean.java @@ -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 -- 2.39.2