]> git.mxchange.org Git - jjobs-core.git/commitdiff
Please cherry-pick:
authorRoland Häder <roland@mxchange.org>
Mon, 22 Aug 2016 15:39:32 +0000 (17:39 +0200)
committerRoland Haeder <roland@mxchange.org>
Wed, 24 Aug 2016 19:29:49 +0000 (21:29 +0200)
- maybe I missunderstood this whole thing ... ;-(

src/org/mxchange/jjobs/database/BaseJobsDatabaseBean.java

index c08df034bc703533855c51b10f97ae882764bc20..1d0c09d1d6ac0c4fdc3e606bddebe7bd6b140032 100644 (file)
@@ -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