From: Roland Häder Date: Mon, 22 Aug 2016 15:39:32 +0000 (+0200) Subject: Please cherry-pick: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=682002b170935dcadcd12518765be53beb25bffb;p=jjobs-core.git Please cherry-pick: - maybe I missunderstood this whole thing ... ;-( --- diff --git a/src/org/mxchange/jjobs/database/BaseJobsDatabaseBean.java b/src/org/mxchange/jjobs/database/BaseJobsDatabaseBean.java index c08df03..1d0c09d 100644 --- a/src/org/mxchange/jjobs/database/BaseJobsDatabaseBean.java +++ b/src/org/mxchange/jjobs/database/BaseJobsDatabaseBean.java @@ -133,8 +133,14 @@ public abstract class BaseJobsDatabaseBean extends BaseDatabaseBean { // 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 @@ -145,8 +151,14 @@ public abstract class BaseJobsDatabaseBean extends BaseDatabaseBean { // 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 @@ -157,8 +169,14 @@ public abstract class BaseJobsDatabaseBean extends BaseDatabaseBean { // 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 @@ -252,8 +270,8 @@ public abstract class BaseJobsDatabaseBean extends BaseDatabaseBean { // 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)) { @@ -284,6 +302,9 @@ public abstract class BaseJobsDatabaseBean extends BaseDatabaseBean { 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 @@ -330,6 +351,9 @@ public abstract class BaseJobsDatabaseBean extends BaseDatabaseBean { 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