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());
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());