From 26fca860362fb35ff05eb6065761fc8206d3279e Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Mon, 12 Oct 2015 14:55:09 +0200 Subject: [PATCH] =?utf8?q?if=20the=20area=20code=20or=20SmsProvider=20is?= =?utf8?q?=20not=20selected,=20don't=20create=20the=20DialableNumber=20ins?= =?utf8?q?tance=20at=20all=20Signed-off-by:Roland=20H=C3=A4der=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../addressbook/beans/user/UserWebBean.java | 67 +++++++++++++++++-- 1 file changed, 61 insertions(+), 6 deletions(-) diff --git a/src/java/org/mxchange/addressbook/beans/user/UserWebBean.java b/src/java/org/mxchange/addressbook/beans/user/UserWebBean.java index 01ae202d..0ff385cc 100644 --- a/src/java/org/mxchange/addressbook/beans/user/UserWebBean.java +++ b/src/java/org/mxchange/addressbook/beans/user/UserWebBean.java @@ -280,16 +280,16 @@ public class UserWebBean implements UserWebController { DialableLandLineNumber phone = user.getUserContact().getContactPhoneNumber(); // - contact data - if (phone instanceof DialableLandLineNumber) { + if ((phone instanceof DialableLandLineNumber) && (phone.getPhoneAreaCode() > 0)) { this.setPhoneCountry(phone.getPhoneCountry()); this.setPhoneAreaCode(phone.getPhoneAreaCode()); this.setPhoneNumber(phone.getPhoneNumber()); } - if (cellphone instanceof DialableCellphoneNumber) { + if ((cellphone instanceof DialableCellphoneNumber) && (cellphone.getCellphoneProvider() instanceof SmsProvider)) { this.setCellphoneCarrier(cellphone.getCellphoneProvider()); this.setCellphoneNumber(cellphone.getPhoneNumber()); } - if (fax instanceof DialableFaxNumber) { + if ((fax instanceof DialableFaxNumber) && (fax.getPhoneAreaCode() > 0)) { this.setFaxCountry(fax.getPhoneCountry()); this.setFaxAreaCode(fax.getPhoneAreaCode()); this.setFaxNumber(fax.getPhoneNumber()); @@ -326,9 +326,64 @@ public class UserWebBean implements UserWebController { contact.setContactCity(this.getCity()); contact.setContactCountry(this.getCountry()); contact.setContactEmailAddress(this.getEmailAddress()); - contact.setContactPhoneNumber(phone); - contact.setContactFaxNumber(fax); - contact.setContactCellphoneNumber(cellphone); + + // Don't set null or wrong references + if ((phone instanceof DialableLandLineNumber) && (phone.getPhoneCountry() instanceof Country) && (this.getPhoneAreaCode() > 0) &&(this.getPhoneNumber() > 0)) { + // Now the number must be given + if (phone.getPhoneAreaCode() == null) { + // Is null + throw new NullPointerException("phone.phoneAreaCode is null"); + } else if (phone.getPhoneAreaCode() < 1) { + // Abort here + throw new IllegalArgumentException("phone.phoneAreaCode is zero or below."); + } else if (phone.getPhoneNumber() == null) { + // Is null + throw new NullPointerException("phone.phoneNumber is null"); + } else if (phone.getPhoneNumber() < 1) { + // Abort here + throw new IllegalArgumentException("phone.phoneNumber is zero or below."); + } + + // Set phone number + contact.setContactPhoneNumber(phone); + } + + // Don't set null or wrong references + if ((fax instanceof DialableFaxNumber) && (fax.getPhoneCountry() instanceof Country) && (this.getFaxAreaCode() > 0) && (this.getFaxNumber() > 0)) { + // Now the number must be given + if (fax.getPhoneAreaCode() == null) { + // Is null + throw new NullPointerException("fax.phoneAreaCode is null"); + } else if (fax.getPhoneAreaCode() < 1) { + // Abort here + throw new IllegalArgumentException("fax.phoneAreaCode is zero or below."); + } else if (fax.getPhoneNumber() == null) { + // Is null + throw new NullPointerException("fax.phoneNumber is null"); + } else if (fax.getPhoneNumber() < 1) { + // Abort here + throw new IllegalArgumentException("fax.phoneNumber is zero or below."); + } + + // Set fax number + contact.setContactFaxNumber(fax); + } + + // Is the provider set? + if ((cellphone instanceof DialableCellphoneNumber) && (this.getCellphoneCarrier() instanceof SmsProvider) && (this.getCellphoneNumber() > 0)) { + // Is the number set? + if (cellphone.getPhoneNumber() == null) { + // Is null + throw new NullPointerException("cellphone.phoneNumber is null"); + } else if (cellphone.getPhoneNumber() < 1) { + // Abort here + throw new IllegalArgumentException("cellphone.phoneNumber is zero or below."); + } + + // Set cellphone number + contact.setContactCellphoneNumber(cellphone); + } + contact.setContactBirthday(this.getBirthday()); contact.setContactComment(this.getComment()); -- 2.39.5