From: Roland Häder Date: Mon, 26 Jun 2017 19:26:23 +0000 (+0200) Subject: Please cherry-pick: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=bce6bb29bc25d383a3894805cc623c0995a1d837;p=jjobs-ejb.git 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. :-) Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/jphone/phonenumbers/phone/JobsAdminPhoneSessionBean.java b/src/java/org/mxchange/jphone/phonenumbers/phone/JobsAdminPhoneSessionBean.java index 1b84eb8..ebee885 100644 --- a/src/java/org/mxchange/jphone/phonenumbers/phone/JobsAdminPhoneSessionBean.java +++ b/src/java/org/mxchange/jphone/phonenumbers/phone/JobsAdminPhoneSessionBean.java @@ -21,8 +21,11 @@ import java.util.GregorianCalendar; import javax.ejb.Stateless; import org.mxchange.jjobs.database.BaseJobsDatabaseBean; 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 JobsAdminPhoneSessionBean extends BaseJobsDatabaseBean implements A 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 JobsAdminPhoneSessionBean extends BaseJobsDatabaseBean implements A 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 JobsAdminPhoneSessionBean extends BaseJobsDatabaseBean implements A 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/JobsUserSessionBean.java b/src/java/org/mxchange/jusercore/model/user/JobsUserSessionBean.java index efe3c12..becf9a9 100644 --- a/src/java/org/mxchange/jusercore/model/user/JobsUserSessionBean.java +++ b/src/java/org/mxchange/jusercore/model/user/JobsUserSessionBean.java @@ -32,8 +32,11 @@ import org.mxchange.jcontacts.contact.Contact; import org.mxchange.jcontacts.contact.ContactUtils; import org.mxchange.jjobs.database.BaseJobsDatabaseBean; 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; @@ -744,7 +747,22 @@ public class JobsUserSessionBean extends BaseJobsDatabaseBean implements UserSes // 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)); @@ -758,8 +776,23 @@ public class JobsUserSessionBean extends BaseJobsDatabaseBean implements UserSes // 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 @@ -770,8 +803,23 @@ public class JobsUserSessionBean extends BaseJobsDatabaseBean implements UserSes // 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