import org.mxchange.jcontacts.contact.Contact;
import org.mxchange.jcontacts.contact.UserContact;
import org.mxchange.jcontacts.contact.gender.Gender;
+import org.mxchange.jcountry.data.Country;
+import org.mxchange.jphone.phonenumbers.cellphone.CellphoneNumber;
+import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber;
+import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
+import org.mxchange.jphone.phonenumbers.fax.FaxNumber;
+import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
+import org.mxchange.jphone.phonenumbers.landline.LandLineNumber;
+import org.mxchange.jphone.phonenumbers.smsprovider.SmsProvider;
import org.mxchange.jusercore.model.user.LoginUser;
import org.mxchange.jusercore.model.user.User;
import org.mxchange.jusercore.model.user.UserSessionBeanRemote;
*/
private Date birthday;
+ /**
+ * Cellphone number's carrier
+ */
+ private SmsProvider cellphoneCarrier;
+
/**
* Cellphone number
*/
- private String cellphoneNumber;
+ private Long cellphoneNumber;
/**
* City
private String comment;
/**
- * Country code
+ * Country instance
*/
- private String countryCode;
+ private Country country;
/**
* Email address
*/
private String familyName;
+ /**
+ * Fax number's area code
+ */
+ private Integer faxAreaCode;
+
+ /**
+ * Country instance for fax number
+ */
+ private Country faxCountry;
+
/**
* Fax number
*/
- private String faxNumber;
+ private Long faxNumber;
/**
* First name
*/
private Short houseNumber;
+ /**
+ * Phone number area code
+ */
+ private Integer phoneAreaCode;
+
+ /**
+ * Country instance for phone number
+ */
+ private Country phoneCountry;
+
/**
* Phone number
*/
- private String phoneNumber;
+ private Long phoneNumber;
/**
* Street
if (this.userNameList.contains(user.getUserName())) {
// Abort here
throw new IllegalArgumentException(MessageFormat.format("User name {0} already added.", user.getUserName()));
- } else if (this.emailAddressList.contains(user.getUserContact().getEmailAddress())) {
+ } else if (this.emailAddressList.contains(user.getUserContact().getContactEmailAddress())) {
// Already added
- throw new IllegalArgumentException(MessageFormat.format("Email address {0} already added.", user.getUserContact().getEmailAddress()));
+ throw new IllegalArgumentException(MessageFormat.format("Email address {0} already added.", user.getUserContact().getContactEmailAddress()));
}
// Add user name
this.userNameList.add(user.getUserName());
// Add email addres
- this.emailAddressList.add(user.getUserContact().getEmailAddress());
+ this.emailAddressList.add(user.getUserContact().getContactEmailAddress());
}
@Override
this.setHouseNumber(null);
this.setZipCode(null);
this.setCity(null);
- this.setCountryCode(null);
+ this.setCountry(null);
// - contact data
this.setEmailAddress(null);
this.setEmailAddressRepeat(null);
- this.setPhoneNumber(null);
- this.setCellphoneNumber(null);
- this.setFaxNumber(null);
+ this.setPhoneAreaCode(null);
+ this.setCellphoneCarrier(null);
+ this.setFaxAreaCode(null);
// - other data
this.setBirthday(null);
// Copy all fields:
// - base data
this.setUserId(user.getUserId());
- this.setGender(user.getUserContact().getGender());
- this.setFirstName(user.getUserContact().getFirstName());
- this.setFamilyName(user.getUserContact().getFamilyName());
- this.setStreet(user.getUserContact().getStreet());
- this.setHouseNumber(user.getUserContact().getHouseNumber());
- this.setZipCode(user.getUserContact().getZipCode());
- this.setCity(user.getUserContact().getCity());
- this.setCountryCode(user.getUserContact().getCountryCode());
+ this.setGender(user.getUserContact().getContactGender());
+ this.setFirstName(user.getUserContact().getContactFirstName());
+ this.setFamilyName(user.getUserContact().getContactFamilyName());
+ this.setStreet(user.getUserContact().getContactStreet());
+ this.setHouseNumber(user.getUserContact().getContactHouseNumber());
+ this.setZipCode(user.getUserContact().getContactZipCode());
+ this.setCity(user.getUserContact().getContactCity());
+ this.setCountry(user.getUserContact().getContactCountry());
+
+ // Get cellphone, phone and fax instance
+ DialableCellphoneNumber cellphone = user.getUserContact().getContactCellphoneNumber();
+ DialableFaxNumber fax = user.getUserContact().getContactFaxNumber();
+ DialableLandLineNumber phone = user.getUserContact().getContactPhoneNumber();
// - contact data
- this.setPhoneNumber(user.getUserContact().getPhoneNumber());
- this.setCellphoneNumber(user.getUserContact().getCellphoneNumber());
- this.setFaxNumber(user.getUserContact().getFaxNumber());
- this.setEmailAddress(user.getUserContact().getEmailAddress());
+ if ((phone instanceof DialableLandLineNumber) && (phone.getPhoneAreaCode() > 0)) {
+ this.setPhoneCountry(phone.getPhoneCountry());
+ this.setPhoneAreaCode(phone.getPhoneAreaCode());
+ this.setPhoneNumber(phone.getPhoneNumber());
+ }
+ if ((cellphone instanceof DialableCellphoneNumber) && (cellphone.getCellphoneProvider() instanceof SmsProvider)) {
+ this.setCellphoneCarrier(cellphone.getCellphoneProvider());
+ this.setCellphoneNumber(cellphone.getPhoneNumber());
+ }
+ if ((fax instanceof DialableFaxNumber) && (fax.getPhoneAreaCode() > 0)) {
+ this.setFaxCountry(fax.getPhoneCountry());
+ this.setFaxAreaCode(fax.getPhoneAreaCode());
+ this.setFaxNumber(fax.getPhoneNumber());
+ }
+ this.setEmailAddress(user.getUserContact().getContactEmailAddress());
// -- other data
- this.setBirthday(user.getUserContact().getBirthday());
- this.setComment(user.getUserContact().getComment());
+ this.setBirthday(user.getUserContact().getContactBirthday());
+ this.setComment(user.getUserContact().getContactComment());
}
@Override
User user = new LoginUser();
user.setUserName(this.getUserName());
+ // Generate phone number
+ DialableLandLineNumber phone = new LandLineNumber(this.getPhoneCountry(), this.getPhoneAreaCode(), this.getPhoneNumber());
+ DialableCellphoneNumber cellphone = new CellphoneNumber(this.getCellphoneCarrier(), this.getCellphoneNumber());
+ DialableFaxNumber fax = new FaxNumber(this.getFaxCountry(), this.getFaxAreaCode(), this.getFaxNumber());
+
// Create new contact
Contact contact = new UserContact(this.getGender(), this.getFirstName(), this.getFamilyName());
- contact.setStreet(this.getStreet());
- contact.setHouseNumber(this.getHouseNumber());
- contact.setZipCode(this.getZipCode());
- contact.setCity(this.getCity());
- contact.setCountryCode(this.getCountryCode());
- contact.setEmailAddress(this.getEmailAddress());
- contact.setPhoneNumber(this.getPhoneNumber());
- contact.setFaxNumber(this.getFaxNumber());
- contact.setCellphoneNumber(this.getCellphoneNumber());
- contact.setBirthday(this.getBirthday());
- contact.setComment(this.getComment());
+ contact.setContactStreet(this.getStreet());
+ contact.setContactHouseNumber(this.getHouseNumber());
+ contact.setContactZipCode(this.getZipCode());
+ contact.setContactCity(this.getCity());
+ contact.setContactCountry(this.getCountry());
+ contact.setContactEmailAddress(this.getEmailAddress());
+
+ // Don't set null or wrong references
+ if ((phone instanceof DialableLandLineNumber) && (phone.getPhoneCountry() instanceof Country) && (this.getPhoneAreaCode() != null) && (this.getPhoneNumber() != null) && (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() != null) && (this.getFaxNumber() != null) && (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() != null) && (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());
// Created timestamp and ownContact
- contact.setCreated(new GregorianCalendar());
- contact.setOwnContact(Boolean.TRUE);
+ contact.setContactCreated(new GregorianCalendar());
+ contact.setContactOwnContact(Boolean.TRUE);
// Set contact in user
user.setUserContact(contact);
}
@Override
- public String getCellphoneNumber () {
+ public SmsProvider getCellphoneCarrier () {
+ return this.cellphoneCarrier;
+ }
+
+ @Override
+ public void setCellphoneCarrier (final SmsProvider cellphoneCarrier) {
+ this.cellphoneCarrier = cellphoneCarrier;
+ }
+
+ @Override
+ public Long getCellphoneNumber () {
return this.cellphoneNumber;
}
@Override
- public void setCellphoneNumber (final String cellphoneNumber) {
+ public void setCellphoneNumber (Long cellphoneNumber) {
this.cellphoneNumber = cellphoneNumber;
}
}
@Override
- public String getCountryCode () {
- return this.countryCode;
+ public Country getCountry () {
+ return this.country;
}
@Override
- public void setCountryCode (final String countryCode) {
- this.countryCode = countryCode;
+ public void setCountry (final Country country) {
+ this.country = country;
}
@Override
}
@Override
- public String getFaxNumber () {
+ public Integer getFaxAreaCode () {
+ return this.faxAreaCode;
+ }
+
+ @Override
+ public void setFaxAreaCode (final Integer faxAreaCode) {
+ this.faxAreaCode = faxAreaCode;
+ }
+
+ @Override
+ public Country getFaxCountry () {
+ return this.faxCountry;
+ }
+
+ @Override
+ public void setFaxCountry (final Country faxCountry) {
+ this.faxCountry = faxCountry;
+ }
+
+ @Override
+ public Long getFaxNumber () {
return this.faxNumber;
}
@Override
- public void setFaxNumber (final String faxNumber) {
+ public void setFaxNumber (final Long faxNumber) {
this.faxNumber = faxNumber;
}
}
@Override
- public String getPhoneNumber () {
+ public Integer getPhoneAreaCode () {
+ return this.phoneAreaCode;
+ }
+
+ @Override
+ public void setPhoneAreaCode (final Integer phoneAreaCode) {
+ this.phoneAreaCode = phoneAreaCode;
+ }
+
+ @Override
+ public Country getPhoneCountry () {
+ return this.phoneCountry;
+ }
+
+ @Override
+ public void setPhoneCountry (final Country phoneCountry) {
+ this.phoneCountry = phoneCountry;
+ }
+
+ @Override
+ public Long getPhoneNumber () {
return this.phoneNumber;
}
@Override
- public void setPhoneNumber (final String phoneNumber) {
+ public void setPhoneNumber (final Long phoneNumber) {
this.phoneNumber = phoneNumber;
}
@Override
public boolean isEmailAddressRegistered (final User user) {
- return ((this.emailAddressList instanceof List) && (this.emailAddressList.contains(user.getUserContact().getEmailAddress())));
+ return ((this.emailAddressList instanceof List) && (this.emailAddressList.contains(user.getUserContact().getContactEmailAddress())));
}
@Override