// 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));
+ // Get detached number
+ DialableMobileNumber detachedNumber = this.getDetached(contact.getContactMobileNumber(), fetchedNumber);
+
+ // Is it null?
+ if (detachedNumber instanceof DialableMobileNumber) {
+ // Copy mobile number
+ contact.setContactMobileNumber(detachedNumber);
+ }
}
// Debug message
// 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(), fetchedNumber));
+ // Get detached number
+ DialableLandLineNumber detachedNumber = this.getDetached(contact.getContactLandLineNumber(), fetchedNumber);
+
+ // Is it null?
+ if (detachedNumber instanceof DialableLandLineNumber) {
+ // Copy mobile number
+ contact.setContactLandLineNumber(detachedNumber);
+ }
}
// Debug message
// Fetch it from entity manager
DialableFaxNumber fetchedNumber = this.getEntityManager().getReference(FaxNumber.class, contact.getContactFaxNumber().getPhoneId());
- // Copy fax number
- contact.setContactFaxNumber(this.getDetached(contact.getContactFaxNumber(), fetchedNumber));
+ // Get detached number
+ DialableFaxNumber detachedNumber = this.getDetached(contact.getContactFaxNumber(), fetchedNumber);
+
+ // Is it null?
+ if (detachedNumber instanceof DialableFaxNumber) {
+ // Copy mobile number
+ contact.setContactFaxNumber(detachedNumber);
+ }
}
// Trace message
// Debug message
this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.getDetached: foundNumber={1}", this.getClass().getSimpleName(), foundNumber)); //NOI18N
- // Default is fetched number
- DialableMobileNumber detachedNumber = fetchedNumber;
+ // Default is null
+ DialableMobileNumber detachedNumber = null;
// Is there a difference?
if (!PhoneUtils.isSameMobileNumber(mobileNumber, fetchedNumber)) {
if (null == landLineNumber) {
// Throw NPE
throw new NullPointerException("landLineNumber 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("landLineNumber.phoneId is null"); //NOI18N
if (null == faxNumber) {
// Throw NPE
throw new NullPointerException("faxNumber 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