X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Fjava%2Forg%2Fmxchange%2Fpizzaapplication%2Fbeans%2Fcontact%2FPizzaContactWebSessionBean.java;h=5c01b27eddb99915bf6c70e763a6b401f39ff3da;hb=33f2d7b5075cb337ba33ad938b7ed7a92f933a10;hp=0be55879b502ee4a1f9a722f3c60b956eb656f04;hpb=376f782ff7a77e53533252d289d52543e4fc017f;p=pizzaservice-war.git diff --git a/src/java/org/mxchange/pizzaapplication/beans/contact/PizzaContactWebSessionBean.java b/src/java/org/mxchange/pizzaapplication/beans/contact/PizzaContactWebSessionBean.java index 0be55879..5c01b27e 100644 --- a/src/java/org/mxchange/pizzaapplication/beans/contact/PizzaContactWebSessionBean.java +++ b/src/java/org/mxchange/pizzaapplication/beans/contact/PizzaContactWebSessionBean.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Roland Häder + * Copyright (C) 2016, 2017 Roland Häder * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -34,9 +34,11 @@ import javax.naming.InitialContext; import javax.naming.NamingException; import org.mxchange.jcontacts.contact.Contact; import org.mxchange.jcontacts.contact.ContactSessionBeanRemote; +import org.mxchange.jcontacts.contact.ContactUtils; import org.mxchange.jcontacts.contact.UserContact; -import org.mxchange.jcontacts.contact.gender.Gender; -import org.mxchange.jcontacts.contact.utils.ContactUtils; +import org.mxchange.jcontacts.contact.title.PersonalTitle; +import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent; +import org.mxchange.jcontacts.events.contact.update.ObservableAdminUpdatedContactEvent; import org.mxchange.jcontacts.exceptions.ContactNotFoundException; import org.mxchange.jcountry.data.Country; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; @@ -46,18 +48,16 @@ import org.mxchange.jphone.phonenumbers.landline.LandLineNumber; import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber; import org.mxchange.jphone.phonenumbers.mobile.MobileNumber; import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider; -import org.mxchange.jusercore.exceptions.UserPasswordMismatchException; +import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent; +import org.mxchange.jusercore.events.user.linked.ObservableAdminLinkedUserEvent; import org.mxchange.jusercore.model.user.User; +import org.mxchange.juserlogincore.events.confirmation.ObservableUserConfirmedAccountEvent; +import org.mxchange.juserlogincore.events.login.ObservableUserLoggedInEvent; +import org.mxchange.juserlogincore.events.registration.ObservableUserRegisteredEvent; +import org.mxchange.juserlogincore.exceptions.UserPasswordMismatchException; import org.mxchange.pizzaapplication.beans.BasePizzaController; -import org.mxchange.pizzaapplication.beans.login.PizzaUserLoginWebSessionController; import org.mxchange.pizzaapplication.beans.user.PizzaUserWebSessionController; -import org.mxchange.jusercore.events.confirmation.ObservableUserConfirmedAccountEvent; -import org.mxchange.jusercore.events.login.ObservableUserLoggedInEvent; -import org.mxchange.jusercore.events.registration.ObservableUserRegisteredEvent; -import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent; -import org.mxchange.jusercore.events.user.linked.ObservableAdminLinkedUserEvent; -import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent; -import org.mxchange.jcontacts.events.contact.update.ObservableAdminUpdatedContactEvent; +import org.mxchange.pizzaapplication.beans.user.login.PizzaUserLoginWebSessionController; /** * A general contact bean (controller) @@ -74,19 +74,14 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P private static final long serialVersionUID = 542_145_347_916L; /** - * Birth day + * Academic academicTitle */ - private Date birthday; + private String academicTitle; /** - * Mobile number's carrier - */ - private MobileProvider cellphoneCarrier; - - /** - * Mobile number + * Birth day */ - private Long cellphoneNumber; + private Date birthday; /** * City @@ -101,7 +96,7 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P /** * Remote contact bean */ - private final ContactSessionBeanRemote contactBean; + private ContactSessionBeanRemote contactBean; /** * Contact list @@ -153,11 +148,6 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P */ private String firstName; - /** - * Gender instance - */ - private Gender gender; - /** * House number */ @@ -168,11 +158,6 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P */ private String houseNumberExtension; - /** - * Whether a cellphone entry has been unlinked - */ - private boolean isMobileUnlinked; - /** * Whether a fax entry has been unlinked */ @@ -183,20 +168,40 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P */ private boolean isLandLineUnlinked; + /** + * Whether a mobile entry has been unlinked + */ + private boolean isMobileUnlinked; + /** * Phone number area code */ - private Integer phoneAreaCode; + private Integer landLineAreaCode; /** * Country instance for phone number */ - private Country phoneCountry; + private Country landLineCountry; /** * Phone number */ - private Long phoneNumber; + private Long landLineNumber; + + /** + * Mobile number + */ + private Long mobileNumber; + + /** + * Mobile number's carrier + */ + private MobileProvider mobileProvider; + + /** + * Personal academicTitle + */ + private PersonalTitle personalTitle; /** * A list of all selectable contacts @@ -208,11 +213,6 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P */ private String street; - /** - * Title - */ - private String title; - /** * Regular user controller */ @@ -234,28 +234,21 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P * Default constructor */ public PizzaContactWebSessionBean () { - // Try it - try { - // Get initial context - Context context = new InitialContext(); - - // Try to lookup - this.contactBean = (ContactSessionBeanRemote) context.lookup("java:global/pizzaservice-ejb/contact!org.mxchange.jcontacts.contact.ContactSessionBeanRemote"); //NOI18N - } catch (final NamingException e) { - // Throw again - throw new FaceletException(e); - } + // Call super constructor + super(); // Init lists/maps this.contactList = new LinkedList<>(); this.emailAddressList = new LinkedList<>(); } - @Override - public void afterAdminAddedContact (@Observes final ObservableAdminAddedContactEvent event) { - // Trace message - /* NOISY-DEBUG: */ System.out.println(MessageFormat.format("contactController.afterAdminAddedContact(): event={0} - CALLED!", event)); //NOI18N - + /** + * Observes events being fired when an administrator has added a new + * contact. + *
+ * @param event Event being fired + */ + public void afterAdminAddedContactEvent (@Observes final ObservableAdminAddedContactEvent event) { // The event must be valid if (null == event) { // Throw NPE @@ -281,7 +274,11 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P this.selectableContacts.add(event.getAddedContact()); } - @Override + /** + * Event observer for newly added users by administrator + *
+ * @param event Event being fired + */ public void afterAdminAddedUserEvent (@Observes final ObservableAdminAddedUserEvent event) { // event should not be null if (null == event) { @@ -302,8 +299,13 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P this.clear(); } - @Override - public void afterAdminLinkedUser (@Observes final ObservableAdminLinkedUserEvent event) { + /** + * Observes events being fired when an administrator has linked a new user + * with existing contact data. + *
+ * @param event Event being fired + */ + public void afterAdminLinkedUserEvent (@Observes final ObservableAdminLinkedUserEvent event) { // event should not be null if (null == event) { // Throw NPE @@ -329,7 +331,11 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P this.clear(); } - @Override + /** + * Event observer for updated contact data by administrators + *
+ * @param event Updated contact data event + */ public void afterAdminUpdatedContactDataEvent (@Observes final ObservableAdminUpdatedContactEvent event) { // event should not be null if (null == event) { @@ -343,7 +349,7 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P throw new NullPointerException("event.updatedContact.contactId is null"); //NOI18N } else if (event.getUpdatedContact().getContactId() < 1) { // Not avalid id - throw new IllegalArgumentException(MessageFormat.format("contactId of contact={0} is not valid: {1}", event.getUpdatedContact(), event.getUpdatedContact().getContactId())); //NOI18N + throw new IllegalArgumentException(MessageFormat.format("userId of user={0} is not valid: {1}", event.getUpdatedContact(), event.getUpdatedContact().getContactId())); //NOI18N } // Add contact instance only once @@ -353,40 +359,11 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P this.emailAddressList.add(event.getUpdatedContact().getContactEmailAddress()); } - @Override - public void afterRegistrationEvent (@Observes final ObservableUserRegisteredEvent event) { - // event should not be null - if (null == event) { - // Throw NPE - throw new NullPointerException("event is null"); //NOI18N - } else if (event.getRegisteredUser() == null) { - // Throw NPE again - throw new NullPointerException("event.registeredUser is null"); //NOI18N - } else if (event.getRegisteredUser().getUserId() == null) { - // userId is null - throw new NullPointerException("event.registeredUser.userId is null"); //NOI18N - } else if (event.getRegisteredUser().getUserId() < 1) { - // Not avalid id - throw new IllegalArgumentException(MessageFormat.format("userId of user={0} is not valid: {1}", event.getRegisteredUser(), event.getRegisteredUser().getUserId())); //NOI18N - } - - // Get user instance - Contact registeredContact = event.getRegisteredUser().getUserContact(); - - // Copy all data from registered->user - this.copyContact(registeredContact); - - // Add contact instance only once - this.uniqueAddContact(registeredContact); - - // Add user name and email address - this.addUserNameEmailAddress(registeredContact); - - // Clear all data - this.clear(); - } - - @Override + /** + * Event observer when user confirmed account. + *
+ * @param event Event being fired + */ public void afterUserConfirmedAccount (@Observes final ObservableUserConfirmedAccountEvent event) { // event should not be null if (null == event) { @@ -407,7 +384,11 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P this.uniqueAddContact(event.getConfirmedUser().getUserContact()); } - @Override + /** + * Event observer for logged-in user + *
+ * @param event Event instance + */ public void afterUserLoginEvent (@Observes final ObservableUserLoggedInEvent event) { // event should not be null if (null == event) { @@ -428,34 +409,75 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P this.copyContact(event.getLoggedInUser().getUserContact()); } + /** + * Event observer for new user registrations + *
+ * @param event User registration event
+ */
+ public void afterUserRegistrationEvent (@Observes final ObservableUserRegisteredEvent event) {
+ // event should not be null
+ if (null == event) {
+ // Throw NPE
+ throw new NullPointerException("event is null"); //NOI18N
+ } else if (event.getRegisteredUser() == null) {
+ // Throw NPE again
+ throw new NullPointerException("event.registeredUser is null"); //NOI18N
+ } else if (event.getRegisteredUser().getUserId() == null) {
+ // userId is null
+ throw new NullPointerException("event.registeredUser.userId is null"); //NOI18N
+ } else if (event.getRegisteredUser().getUserId() < 1) {
+ // Not avalid id
+ throw new IllegalArgumentException(MessageFormat.format("userId of user={0} is not valid: {1}", event.getRegisteredUser(), event.getRegisteredUser().getUserId())); //NOI18N
+ }
+
+ // Get user instance
+ Contact registeredContact = event.getRegisteredUser().getUserContact();
+
+ // Copy all data from registered->user
+ this.copyContact(registeredContact);
+
+ // Add contact instance only once
+ this.uniqueAddContact(registeredContact);
+
+ // Add user name and email address
+ this.addUserNameEmailAddress(registeredContact);
+
+ // Clear all data
+ this.clear();
+ }
+
@Override
@SuppressWarnings ("ReturnOfCollectionOrArrayField")
public List
+ * @return Academic title
+ */
+ public String getAcademicTitle () {
+ return this.academicTitle;
+ }
+
+ /**
+ * Setter for academic title
+ *
+ * @param academicTitle Academic title
+ */
+ public void setAcademicTitle (final String academicTitle) {
+ this.academicTitle = academicTitle;
+ }
+
+ /**
+ * Getter for birth day
+ *
+ * @return Birth day
+ */
@SuppressWarnings ("ReturnOfDateField")
public Date getBirthday () {
return this.birthday;
}
- @Override
+ /**
+ * Setter for birth day
+ *
+ * @param birthday Birth day
+ */
@SuppressWarnings ("AssignmentToDateFieldFromParameter")
public void setBirthday (final Date birthday) {
this.birthday = birthday;
}
- @Override
- public MobileProvider getMobileProvider () {
- return this.cellphoneCarrier;
- }
-
- @Override
- public void setMobileProvider (final MobileProvider mobileProvider) {
- this.cellphoneCarrier = mobileProvider;
- }
-
- @Override
- public Long getMobileNumber () {
- return this.cellphoneNumber;
- }
-
- @Override
- public void setMobileNumber (Long cellphoneNumber) {
- this.cellphoneNumber = cellphoneNumber;
- }
-
- @Override
+ /**
+ * Getter for city name
+ *
+ * @return City name
+ */
public String getCity () {
return this.city;
}
- @Override
+ /**
+ * Setter for city name
+ *
+ * @param city City name
+ */
public void setCity (final String city) {
this.city = city;
}
- @Override
+ /**
+ * Getter for comments
+ *
+ * @return Comments
+ */
public String getComment () {
return this.comment;
}
- @Override
+ /**
+ * Setter for comment
+ *
+ * @param comment Comments
+ */
public void setComment (final String comment) {
this.comment = comment;
}
@@ -646,12 +684,20 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P
throw new UnsupportedOperationException("Setting controller type is not supported."); //NOI18N
}
- @Override
+ /**
+ * Getter for country instance
+ *
+ * @return Country instance
+ */
public Country getCountry () {
return this.country;
}
- @Override
+ /**
+ * Setter for country instance
+ *
+ * @param country Country instance
+ */
public void setCountry (final Country country) {
this.country = country;
}
@@ -661,178 +707,333 @@ public class PizzaContactWebSessionBean extends BasePizzaController implements P
return this.emailAddress;
}
- @Override
+ /**
+ * Setter for email address
+ *
+ * @param emailAddress Email address
+ */
public void setEmailAddress (final String emailAddress) {
this.emailAddress = emailAddress;
}
- @Override
+ /**
+ * Getter for email address, repeated
+ *
+ * @return the emailAddress, repeated
+ */
public String getEmailAddressRepeat () {
return this.emailAddressRepeat;
}
- @Override
+ /**
+ * Setter for email address repeated
+ *
+ * @param emailAddressRepeat the emailAddress to set
+ */
public void setEmailAddressRepeat (final String emailAddressRepeat) {
this.emailAddressRepeat = emailAddressRepeat;
}
- @Override
+ /**
+ * Family name
+ *
+ * @return the familyName
+ */
public String getFamilyName () {
return this.familyName;
}
- @Override
+ /**
+ * Family name
+ *
+ * @param familyName the familyName to set
+ */
public void setFamilyName (final String familyName) {
this.familyName = familyName;
}
- @Override
+ /**
+ * Getter for fax number's area code
+ *
+ * @return Fax number's area code
+ */
public Integer getFaxAreaCode () {
return this.faxAreaCode;
}
- @Override
+ /**
+ * Setter for fax number's area code
+ *
+ * @param faxAreaCode Fax number's area code
+ */
public void setFaxAreaCode (final Integer faxAreaCode) {
this.faxAreaCode = faxAreaCode;
}
- @Override
+ /**
+ * Getter for fax's country instance
+ *
+ * @return Fax' country instance
+ */
public Country getFaxCountry () {
return this.faxCountry;
}
- @Override
+ /**
+ * Setter for fax's country instance
+ *
+ * @param faxCountry Fax' country instance
+ */
public void setFaxCountry (final Country faxCountry) {
this.faxCountry = faxCountry;
}
- @Override
+ /**
+ * Getter for fax number
+ *
+ * @return Fax number
+ */
public Long getFaxNumber () {
return this.faxNumber;
}
- @Override
+ /**
+ * Setter for fax number
+ *
+ * @param faxNumber Fax number
+ */
public void setFaxNumber (final Long faxNumber) {
this.faxNumber = faxNumber;
}
- @Override
+ /**
+ * First name
+ *
+ * @return the first name
+ */
public String getFirstName () {
return this.firstName;
}
- @Override
+ /**
+ * First name
+ *
+ * @param firstName the first name to set
+ */
public void setFirstName (final String firstName) {
this.firstName = firstName;
}
- @Override
- public Gender getGender () {
- return this.gender;
- }
-
- @Override
- public void setGender (final Gender gender) {
- this.gender = gender;
- }
-
- @Override
+ /**
+ * House number
+ *
+ * @return the houseNumber
+ */
public Short getHouseNumber () {
return this.houseNumber;
}
- @Override
+ /**
+ * House number
+ *
+ * @param houseNumber the houseNumber to set
+ */
public void setHouseNumber (final Short houseNumber) {
this.houseNumber = houseNumber;
}
- @Override
+ /**
+ * Getter for house number extension, example: 123a 'a' is then the
+ * extension and 123 is the house number.
+ *
+ * @return House number extension
+ */
public String getHouseNumberExtension () {
return this.houseNumberExtension;
}
- @Override
+ /**
+ * Setter for house number extension
+ *
+ * @param houseNumberExtension House number extension
+ */
public void setHouseNumberExtension (final String houseNumberExtension) {
this.houseNumberExtension = houseNumberExtension;
}
- @Override
- public Integer getPhoneAreaCode () {
- return this.phoneAreaCode;
+ /**
+ * Getter for land-line number's area code
+ *
+ * @return Land-line number's area code
+ */
+ public Integer getLandLineAreaCode () {
+ return this.landLineAreaCode;
}
- @Override
- public void setPhoneAreaCode (final Integer phoneAreaCode) {
- this.phoneAreaCode = phoneAreaCode;
+ /**
+ * Setter for land-line number's area code
+ *
+ * @param landLineAreaCode Land-line number's area code
+ */
+ public void setLandLineAreaCode (final Integer landLineAreaCode) {
+ this.landLineAreaCode = landLineAreaCode;
}
- @Override
- public Country getPhoneCountry () {
- return this.phoneCountry;
+ /**
+ * Getter for land-line number's country instance
+ *
+ * @return Land-line number's country instance
+ */
+ public Country getLandLineCountry () {
+ return this.landLineCountry;
}
- @Override
- public void setPhoneCountry (final Country phoneCountry) {
- this.phoneCountry = phoneCountry;
+ /**
+ * Setter for land-line number's country instance
+ *
+ * @param landLineCountry Land-line number's country instance
+ */
+ public void setLandLineCountry (final Country landLineCountry) {
+ this.landLineCountry = landLineCountry;
}
- @Override
- public Long getPhoneNumber () {
- return this.phoneNumber;
+ /**
+ * Getter for land-line number
+ *
+ * @return Land-line number
+ */
+ public Long getLandLineNumber () {
+ return this.landLineNumber;
}
- @Override
- public void setPhoneNumber (final Long phoneNumber) {
- this.phoneNumber = phoneNumber;
+ /**
+ * Setter for land-line number
+ *
+ * @param landLineNumber Land-line number
+ */
+ public void setLandLineNumber (final Long landLineNumber) {
+ this.landLineNumber = landLineNumber;
}
- @Override
- public String getStreet () {
- return this.street;
+ /**
+ * Getter for mobile number
+ *
+ * @return Mobile number
+ */
+ public Long getMobileNumber () {
+ return this.mobileNumber;
}
- @Override
- public void setStreet (final String street) {
- this.street = street;
+ /**
+ * Setter for mobile number
+ *
+ * @param mobileNumber Mobile number
+ */
+ public void setMobileNumber (final Long mobileNumber) {
+ this.mobileNumber = mobileNumber;
}
- @Override
- public String getTitle () {
- return this.title;
+ /**
+ * Getter for mobile number's carrier
+ *
+ * @return Mobile number's carrier
+ */
+ public MobileProvider getMobileProvider () {
+ return this.mobileProvider;
}
- @Override
- public void setTitle (final String title) {
- this.title = title;
+ /**
+ * Setter for mobile number's provider
+ *
+ * @param mobileProvider Mobile number's provider
+ */
+ public void setMobileProvider (final MobileProvider mobileProvider) {
+ this.mobileProvider = mobileProvider;
}
- @Override
+ /**
+ * Getter for personal title
+ *
+ * @return Personal title
+ */
+ public PersonalTitle getPersonalTitle () {
+ return this.personalTitle;
+ }
+
+ /**
+ * Setter for personal title
+ *
+ * @param personalTitle Personal title
+ */
+ public void setPersonalTitle (final PersonalTitle personalTitle) {
+ this.personalTitle = personalTitle;
+ }
+
+ /**
+ * Getter for street
+ *
+ * @return Street
+ */
+ public String getStreet () {
+ return this.street;
+ }
+
+ /**
+ * Setter for street
+ *
+ * @param street Street
+ */
+ public void setStreet (final String street) {
+ this.street = street;
+ }
+
+ /**
+ * Getter for ZIP code
+ *
+ * @return ZIP code
+ */
public Integer getZipCode () {
return this.zipCode;
}
- @Override
+ /**
+ * Setter for ZIP code
+ *
+ * @param zipCode ZIP code
+ */
public void setZipCode (final Integer zipCode) {
this.zipCode = zipCode;
}
/**
- * Post-initialization of this class
+ * Post-construction method
*/
@PostConstruct
public void init () {
+ // Try it
+ try {
+ // Get initial context
+ Context context = new InitialContext();
+
+ // Try to lookup
+ this.contactBean = (ContactSessionBeanRemote) context.lookup("java:global/pizzaservice-ejb/contact!org.mxchange.jcontacts.contact.ContactSessionBeanRemote"); //NOI18N
+ } catch (final NamingException e) {
+ // Throw again
+ throw new FaceletException(e);
+ }
+
// Get full email address list for reducing EJB calls
this.emailAddressList.addAll(this.contactBean.getEmailAddressList());
+ // Get all contacts
+ List