import org.mxchange.jmailee.model.delivery.wrapper.EmailDeliveryWrapper;
import org.mxchange.jmailee.model.delivery.wrapper.WrapableEmailDelivery;
import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
+import org.mxchange.jphone.phonenumbers.fax.FaxNumber;
import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jphone.phonenumbers.landline.LandLineNumber;
import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
+import org.mxchange.jphone.phonenumbers.mobile.MobileNumber;
import org.mxchange.jphone.utils.PhoneUtils;
import org.mxchange.jusercore.model.user.User;
import org.mxchange.jusercore.model.user.UserUtils;
// Is contact cellphone set?
if (contact.getContactMobileNumber() instanceof DialableMobileNumber) {
- // Copy cellphone number
- contact.setContactMobileNumber(this.getDetached(contact.getContactMobileNumber(), contact.getContactMobileNumber()));
+ // Fetch it from entity manager
+ DialableMobileNumber fetchedNumber = this.getEntityManager().getReference(MobileNumber.class, contact.getContactMobileNumber().getPhoneId());
+
+ // Copy mobile number
+ contact.setContactMobileNumber(this.getDetached(contact.getContactMobileNumber(), fetchedNumber));
}
// Debug message
// Is the land-line number set?
if (contact.getContactLandLineNumber() instanceof DialableLandLineNumber) {
+ // Fetch it from entity manager
+ DialableLandLineNumber fetchedNumber = this.getEntityManager().getReference(LandLineNumber.class, contact.getContactLandLineNumber().getPhoneId());
+
// Copy land-line number
- contact.setContactLandLineNumber(this.getDetached(contact.getContactLandLineNumber(), contact.getContactLandLineNumber()));
+ contact.setContactLandLineNumber(this.getDetached(contact.getContactLandLineNumber(), fetchedNumber));
}
// Debug message
// Is the fax number set?
if (contact.getContactFaxNumber() instanceof DialableFaxNumber) {
+ // Fetch it from entity manager
+ DialableFaxNumber fetchedNumber = this.getEntityManager().getReference(FaxNumber.class, contact.getContactFaxNumber().getPhoneId());
+
// Copy fax number
- contact.setContactFaxNumber(this.getDetached(contact.getContactFaxNumber(), contact.getContactFaxNumber()));
+ contact.setContactFaxNumber(this.getDetached(contact.getContactFaxNumber(), fetchedNumber));
}
// Trace message
DialableMobileNumber mobileNumber = contact.getContactMobileNumber();
// Debug message
- this.getLoggerBeanLocal().logDebug(MessageFormat.format("setAllContactPhoneEntriesCreated: landLineNumber={0},faxNumber={1},cellphoneNumber={2}", landLineNumber, faxNumber, mobileNumber)); //NOI18N
+ this.getLoggerBeanLocal().logDebug(MessageFormat.format("setAllContactPhoneEntriesCreated: landLineNumber={0},faxNumber={1},mobileNumber={2}", landLineNumber, faxNumber, mobileNumber)); //NOI18N
// Is a phone number instance set?
if ((landLineNumber instanceof DialableLandLineNumber) && (landLineNumber.getPhoneId() == null)) {
*/
protected DialableMobileNumber getDetached (final DialableMobileNumber mobileNumber, final DialableMobileNumber fetchedNumber) {
// Trace message
- this.getLoggerBeanLocal().logTrace(MessageFormat.format("getDetached: cellphoneNumber={0},fetchedNumber={1} - CALLED!", mobileNumber, fetchedNumber)); //NOI18N
+ this.getLoggerBeanLocal().logTrace(MessageFormat.format("getDetached: mobileNumber={0},fetchedNumber={1} - CALLED!", mobileNumber, fetchedNumber)); //NOI18N
// Should be valid
if (null == mobileNumber) {
// Throw NPE
- throw new NullPointerException("cellphoneNumber is null"); //NOI18N
+ throw new NullPointerException("mobileNumber is null"); //NOI18N
+ } else if (null == fetchedNumber) {
+ // Throw NPE again
+ throw new NullPointerException("fetchedNumber is null"); //NOI18N
} else if (fetchedNumber.getPhoneId() == null) {
// ..and again
throw new NullPointerException("fetchedNumber.phoneId is null"); //NOI18N
// Debug message
this.getLoggerBeanLocal().logDebug(MessageFormat.format("getDetached: foundNumber={0}", foundNumber)); //NOI18N
- // Default is null
- DialableMobileNumber detachedNumber = null;
+ // Default is fetched number
+ DialableMobileNumber detachedNumber = fetchedNumber;
// Is there a difference?
if (!PhoneUtils.isSameMobileNumber(mobileNumber, fetchedNumber)) {
// Merge this entry
detachedNumber = this.getEntityManager().merge(foundNumber);
-
- // Copy all
}
// Trace message
// Get all phone instances
DialableLandLineNumber landLineNumber = contact.getContactLandLineNumber();
DialableFaxNumber faxNumber = contact.getContactFaxNumber();
- DialableMobileNumber cellphoneNumber = contact.getContactMobileNumber();
+ DialableMobileNumber mobileNumber = contact.getContactMobileNumber();
// Flags and instances must be constistent
- if (isMobileUnlinked && cellphoneNumber instanceof DialableMobileNumber) {
+ if (isMobileUnlinked && mobileNumber instanceof DialableMobileNumber) {
// Bad state
- throw new IllegalStateException("isCellPhoneUnlinked is TRUE, but cellphoneNumber is set."); //NOI18N
+ throw new IllegalStateException("isCellPhoneUnlinked is TRUE, but mobileNumber is set."); //NOI18N
} else if (isLandlineUnlinked && landLineNumber instanceof DialableLandLineNumber) {
// Bad state
throw new IllegalStateException("isLandlineUnlinked is TRUE, but landLineNumber is set."); //NOI18N
}
// Is a mobile number instance set?
- if ((cellphoneNumber instanceof DialableMobileNumber) && (cellphoneNumber.getPhoneId() instanceof Long) && (cellphoneNumber.getPhoneId() > 0)) {
+ if ((mobileNumber instanceof DialableMobileNumber) && (mobileNumber.getPhoneId() instanceof Long) && (mobileNumber.getPhoneId() > 0)) {
// Debug message
this.getLoggerBeanLocal().logDebug("setAllContactPhoneEntriesUpdated: Setting updated timestamp for cellphone number ..."); //NOI18N
// Set updated timestamp
- cellphoneNumber.setPhoneEntryUpdated(new GregorianCalendar());
+ mobileNumber.setPhoneEntryUpdated(new GregorianCalendar());
}
// Trace message