From 8cf6e877cfef94a6103d860fcf2f22453f68c282 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sat, 5 Aug 2017 15:39:55 +0200 Subject: [PATCH] updated jar(s) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- lib/jcontacts-core.jar | Bin 54780 -> 54484 bytes ...ncialsAdminContactPhoneWebRequestBean.java | 547 ++++++++++++++---- .../FinancialsContactPhoneWebSessionBean.java | 180 +++++- .../FinancialsWebRequestHelperBean.java | 314 +++++----- .../FinancialsAdminPhoneWebRequestBean.java | 10 +- .../FinancialsAdminUserWebRequestBean.java | 196 ++++--- .../user/FinancialsUserWebSessionBean.java | 4 +- ...ancialsConfirmationLinkWebRequestBean.java | 16 +- 8 files changed, 878 insertions(+), 389 deletions(-) diff --git a/lib/jcontacts-core.jar b/lib/jcontacts-core.jar index cc784e847746496bf43a5958662382e959948c7a..6a65754310366e7309c5ac5f9a7959c91d865d1d 100644 GIT binary patch delta 2270 zcmaJ@eN2^Q6o0>XFI*%*zJ!-0pK&h`TnLj~iZ?U|w+1M%O7=YGxmk}sP}z)M^mEDE65iO&{6=6<@}b{jciFxRwZx|u+7HD- zt|WoM;bn0&f6x3rZk1UEbDNKVIXgPS8Dc#f%8-e!yAqmg-^?+Vt>*zlti4{$XY}F? zhMc?fgCvr1f^us*CBawL4Ahg>WYqrs41cYk9awXJHsa0!1!ntS#CLvBf!7CC;d|Wx zJ9^H6JY2`x3Q%7lKFzjxsQoF>z5bi5za9025!*7vZrT)~S_EUQj!u$qu89`{MKEzcsRH$f^PdfgX%c< zg7O!RL;?Bfz zXO8^iOPn)sYg9Lc%BfQi{_&|a8s@GVR)l{y6DSgThVeQECxNmG5%L|0!Ei;xMbEq- za~zd)Rk-dlbc{$1fclZ;81l;zMM$f3!7@yZgd_Zz!1mpEPIm1LgTqzCG|F1~Gx*2i z`LWMchu@C`r6xv2P~BB3!s;4ISa|(}y3?p`7ZvN`0m^#%WrKX|VCH8<$ovosq64sQ zG#=p{qXa(cf?q~x?iWRvJcf|HF4kQ@Uir29IC4)=DNq$~tHI^0fpsUM=6l6hv%f0B zzE5x-52WkCxV`Talf4CJ z#oGD=e$S~0H%_}?4LI78C<9Nzd1Ks;Zi(ZlY*n>zubmK5!QL4GMRs-)4*aGFnzIP+ zw1mJ!XMo$}HKqvBU1TznV2#roO2(pB(vdzq-8b1lc8AIvs_itHmW;t8E($GI7 zL_*_Hqen%pUJKOd#uI^%D*NKzC0U?Y4r1%38u@KKE~LP3Ot@&YWLj{c%gT^(v3N<2 z4=zsSmT^mR-ac*_%)ji#U4`WWE^J#La*J(ytuTT0#L@Cc!~%&BCfTef!5%$H!A^p; z#{}sWdN^G4w_tCke$W`tV?Yh})P?Vv$K*PXg4+!A!e#4Xl_VICE7>>-Z|Iet%PU=Q|2qI|cC zHl_;xIT!(T{qyMI!A;dCcW_*|<98l;|EE(ri4G|^S`yePFw%lGL98i)pDtCoLet}P@#~b3o0rUv5TSdd(GVcIS$b&PA7^DNC!y4v! zszq~ZHrP6N11dTc@qmuzFby(l_0b-Tn#5;lD2A&#@y9$_b3SF}r|4DW z4~bp;$t~(q#6e~@LDHlExJYTw_W0x3SC>7Xxxz%pkjgCeY(nZwQUcY08(kq-(D3~g z|H`z>Odb`@z<0oWHW3M%Yo@FbWkQ(D)(|etLPBeHFno7*B7*1I_B0#lw}wf)27F+N z3O06!Ab4r_Qe!M-Ws;x)Kg>n&)m$@d>*k%<)2)bQd2X{2KFA9MliM{yUFP-F#a_v& zU^_Pvi@QDf^s-PocT8+rdMG)UgDLDB*|facix4J@G??-tH=z%m86ViYH53vr@KiF- zD`NSFTKD!y=0;A{-Z%*|`lH5qDImuCR(2we&vfGVi9YRB-n4a_>E}qq>N;n8|CJTz{>k zz-Y*?w5Z_UdSicBNiSk1+I}|!1>-!!OVtWAx_B>Q%%~K1WwZy+!5u zGb{evgOr2GN)1ob5jR*5ztl&mJVSko=xU$^gu`twBfQfvl{Ev0d-)|rbR1J%4VMzI zHZgPW>D{z0CfeE@#}ORfpM*g5!!oX>rjrP)>*pVcTm6dI;-DsWi}*s_fH&m-7!2zi dGS~)qE;$2=xc}!dkm<%a5=S7IkSr&w^FLK{5jOw; diff --git a/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsAdminContactPhoneWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsAdminContactPhoneWebRequestBean.java index 828aa197..ebded58c 100644 --- a/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsAdminContactPhoneWebRequestBean.java +++ b/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsAdminContactPhoneWebRequestBean.java @@ -17,6 +17,7 @@ package org.mxchange.jfinancials.beans.contact.phone; import java.text.MessageFormat; +import java.util.Calendar; import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; import javax.enterprise.event.Event; @@ -30,6 +31,7 @@ import javax.naming.InitialContext; import javax.naming.NamingException; import org.mxchange.jcontacts.contact.Contact; import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent; +import org.mxchange.jcontacts.events.contact.helper.created.ObservableHelperCreatedContactEvent; import org.mxchange.jcontacts.events.contact.update.ObservableAdminUpdatedContactEvent; import org.mxchange.jcontacts.events.fax.linked.AdminLinkedFaxNumberEvent; import org.mxchange.jcontacts.events.fax.linked.ObservableAdminLinkedFaxNumberEvent; @@ -48,6 +50,7 @@ import org.mxchange.jcountry.data.Country; import org.mxchange.jfinancials.beans.BaseFinancialsController; import org.mxchange.jfinancials.beans.helper.FinancialsWebRequestHelperController; import org.mxchange.jfinancials.beans.phone.FinancialsAdminPhoneWebRequestController; +import org.mxchange.jphone.events.mobile.created.ObservableHelperCreatedMobileNumberEvent; import org.mxchange.jphone.exceptions.PhoneNumberAlreadyLinkedException; import org.mxchange.jphone.exceptions.PhoneNumberNotLinkedException; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; @@ -58,6 +61,8 @@ 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.events.user.add.ObservableAdminAddedUserEvent; +import org.mxchange.jphone.events.landline.created.ObservableCreatedLandLineNumberEvent; +import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent; /** * An administrative contact phone controller (bean) @@ -78,6 +83,11 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon */ private static final long serialVersionUID = 542_145_347_916L; + /** + * Administrative EJB for phone number + */ + private AdminContactsPhoneSessionBeanRemote adminContactPhoneBean; + /** * Event being fired when a fax number has been linked */ @@ -99,11 +109,6 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon @Any private Event adminLinkedMobileNumberEvent; - /** - * Administrative EJB for phone number - */ - private AdminContactsPhoneSessionBeanRemote adminPhoneBean; - /** * Administrative phone controller */ @@ -117,25 +122,9 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon private FinancialsWebRequestHelperController beanHelper; /** - * Event being fired when a fax number has been unlinked - */ - @Inject - @Any - private Event faxNumberUnlinkedEvent; - - /** - * Event being fired when a land-line number has been unlinked + * Contact instance */ - @Inject - @Any - private Event landLineNumberUnlinkedEvent; - - /** - * Event being fired when admin unlinks mobile from contact - */ - @Inject - @Any - private Event mobileNumberUnlinkedEvent; + private Contact contact; /** * Area code (city dial prefix) for fax number @@ -152,6 +141,13 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon */ private Long faxNumber; + /** + * Event being fired when a fax number has been unlinked + */ + @Inject + @Any + private Event faxNumberUnlinkedEvent; + /** * Area code (city dial prefix) for land-line number */ @@ -168,15 +164,44 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon private Long landLineNumber; /** - * Mobile provider + * Event being fired when a land-line number has been unlinked */ - private MobileProvider mobileProvider; + @Inject + @Any + private Event landLineNumberUnlinkedEvent; /** * Mobile number */ private Long mobileNumber; + /** + * Event being fired when administrator unlinks mobile from contact + */ + @Inject + @Any + private Event mobileNumberUnlinkedEvent; + + /** + * Mobile provider + */ + private MobileProvider mobileProvider; + + /** + * When fax number has been created + */ + private Calendar phoneEntryCreated; + + /** + * When fax number has been updated + */ + private Calendar phoneEntryUpdated; + + /** + * Phone id (primary key) + */ + private Long phoneId; + /** * Default constructor */ @@ -264,6 +289,136 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon this.clear(); } + /** + * Observer for events being fired when a bean helper has successfully + * created a contact instance. + *

+ * @param event Event being fired + */ + public void afterHelperCreatedContactEvent (@Observes final ObservableHelperCreatedContactEvent event) { + // Log message + //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("AdminContactController::afterHelperCreatedContactEvent(): contact={0} - CALLED!", contact)); //NOI18N + + // The event instance must be valid + if (null == event) { + // Throw NPE again + throw new NullPointerException("event is null"); //NOI18N + } else if (event.getCreatedContact() == null) { + // Throw NPE again + throw new NullPointerException("event.createdContact is null"); //NOI18N //NOI18N + } else if (event.getCreatedContact().getContactId() == null) { + // Throw NPE again + throw new NullPointerException("event.createdContact.contactId is null"); //NOI18N //NOI18N + } else if (event.getCreatedContact().getContactId() < 1) { + // Not valid + throw new IllegalStateException(MessageFormat.format("event.createdContact.contactId={0} is not valid.", event.getCreatedContact().getContactId())); //NOI18N + } + + // Set it here + this.setContact(event.getCreatedContact()); + } + + /** + * Observes events being fired when a bean helper has successfully created a + * fax number instance. + *

+ * @param event Event being fired + */ + public void afterHelperCreatedFaxNumberEvent (@Observes final ObservableCreatedFaxNumberEvent event) { + // The event instance must be valid + if (null == event) { + // Throw NPE + throw new NullPointerException("event is null"); //NOI18N + } else if (event.getFaxNumber() == null) { + // Throw NPE again + throw new NullPointerException("event.faxNumber is null"); //NOI18N + } else if (event.getFaxNumber().getPhoneId() == null) { + // Throw NPE yet again + throw new NullPointerException("event.faxNumber.phoneId is null"); //NOI18N + } else if (event.getFaxNumber().getPhoneId() < 1) { + // Throw NPE yet again + throw new NullPointerException(MessageFormat.format("event.faxNumber.phoneId={0} is invalid", event.getFaxNumber().getPhoneId())); //NOI18N + } + + // Get fax number from event + DialableFaxNumber number = event.getFaxNumber(); + + // Copy all data to this bean + this.setPhoneId(number.getPhoneId()); + this.setFaxCountry(number.getPhoneCountry()); + this.setFaxAreaCode(number.getPhoneAreaCode()); + this.setFaxNumber(number.getPhoneNumber()); + this.setPhoneEntryCreated(number.getPhoneEntryCreated()); + this.setPhoneEntryUpdated(number.getPhoneEntryUpdated()); + } + + /** + * Observes events being fired when a bean helper has successfully created a + * land-line number instance. + *

+ * @param event Event being fired + */ + public void afterHelperCreatedLandLineNumberEvent (@Observes final ObservableCreatedLandLineNumberEvent event) { + // The event instance must be valid + if (null == event) { + // Throw NPE + throw new NullPointerException("event is null"); //NOI18N + } else if (event.getLandLineNumber() == null) { + // Throw NPE again + throw new NullPointerException("event.landLineNumber is null"); //NOI18N + } else if (event.getLandLineNumber().getPhoneId() == null) { + // Throw NPE yet again + throw new NullPointerException("event.landLineNumber.phoneId is null"); //NOI18N + } else if (event.getLandLineNumber().getPhoneId() < 1) { + // Throw NPE yet again + throw new NullPointerException(MessageFormat.format("event.landLineNumber.phoneId={0} is invalid", event.getLandLineNumber().getPhoneId())); //NOI18N + } + + // Get fax number from event + DialableLandLineNumber number = event.getLandLineNumber(); + + // Copy all data to this bean + this.setPhoneId(number.getPhoneId()); + this.setLandLineCountry(number.getPhoneCountry()); + this.setLandLineAreaCode(number.getPhoneAreaCode()); + this.setLandLineNumber(number.getPhoneNumber()); + this.setPhoneEntryCreated(number.getPhoneEntryCreated()); + this.setPhoneEntryUpdated(number.getPhoneEntryUpdated()); + } + + /** + * Observes events being fired when a bean helper has successfully created a + * mobile number instance. + *

+ * @param event Event being fired + */ + public void afterHelperCreatedMobileNumberEvent (@Observes final ObservableHelperCreatedMobileNumberEvent event) { + // The event instance must be valid + if (null == event) { + // Throw NPE + throw new NullPointerException("event is null"); //NOI18N + } else if (event.getMobileNumber() == null) { + // Throw NPE again + throw new NullPointerException("event.mobileNumber is null"); //NOI18N + } else if (event.getMobileNumber().getPhoneId() == null) { + // Throw NPE yet again + throw new NullPointerException("event.mobileNumber.phoneId is null"); //NOI18N + } else if (event.getMobileNumber().getPhoneId() < 1) { + // Throw NPE yet again + throw new NullPointerException(MessageFormat.format("event.mobileNumber.phoneId={0} is invalid", event.getMobileNumber().getPhoneId())); //NOI18N + } + + // Get fax number from event + DialableMobileNumber number = event.getMobileNumber(); + + // Copy all data to this bean + this.setPhoneId(number.getPhoneId()); + this.setMobileProvider(number.getMobileProvider()); + this.setMobileNumber(number.getPhoneNumber()); + this.setPhoneEntryCreated(number.getPhoneEntryCreated()); + this.setPhoneEntryUpdated(number.getPhoneEntryUpdated()); + } + /** * Links fax number to contact from bean helper as "main fax number". *

@@ -271,18 +426,18 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon */ public String doLinkMainFaxNumber () { // Get contact from helper - Contact contact = this.beanHelper.getContact(); + Contact targetContact = this.getContact(); // Is all data properly set? - if (null == contact) { + if (null == targetContact) { // Throw NPE - throw new NullPointerException("contact is null"); //NOI18N - } else if (contact.getContactId() == null) { + throw new NullPointerException("targetContact is null"); //NOI18N + } else if (targetContact.getContactId() == null) { // Throw it again - throw new NullPointerException("contact.contactId is null"); //NOI18N - } else if (contact.getContactId() < 1) { + throw new NullPointerException("targetContact.contactId is null"); //NOI18N + } else if (targetContact.getContactId() < 1) { // Is not valid - throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N + throw new IllegalArgumentException(MessageFormat.format("targetContact.contactId={0} is not valid", targetContact.getContactId())); //NOI18N } else if (this.getFaxCountry() == null) { // Throw NPE again throw new NullPointerException("this.faxCountry is null"); //NOI18N @@ -313,7 +468,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon // Try it again try { // Link it, too - updatedContact = this.adminPhoneBean.linkNewFaxNumberWithContact(contact, number); + updatedContact = this.adminContactPhoneBean.linkNewFaxNumberWithContact(targetContact, number); } catch (final PhoneNumberAlreadyLinkedException ex) { // Throw again as cause this.showFacesMessage("form_add_contact_fax:faxNumber", ex); //NOI18N @@ -335,18 +490,18 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon */ public String doLinkMainLandLineNumber () { // Get contact from helper - Contact contact = this.beanHelper.getContact(); + Contact targetContact = this.getContact(); // Is all data properly set? - if (null == contact) { + if (null == targetContact) { // Throw NPE - throw new NullPointerException("contact is null"); //NOI18N - } else if (contact.getContactId() == null) { + throw new NullPointerException("targetContact is null"); //NOI18N + } else if (targetContact.getContactId() == null) { // Throw it again - throw new NullPointerException("contact.contactId is null"); //NOI18N - } else if (contact.getContactId() < 1) { + throw new NullPointerException("targetContact.contactId is null"); //NOI18N + } else if (targetContact.getContactId() < 1) { // Is not valid - throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N + throw new IllegalArgumentException(MessageFormat.format("targetContact.contactId={0} is not valid", targetContact.getContactId())); //NOI18N } else if (this.getLandLineCountry() == null) { // Throw NPE again throw new NullPointerException("this.landLineCountry is null"); //NOI18N @@ -377,7 +532,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon // Try it again try { // Link it, too - updatedContact = this.adminPhoneBean.linkNewLandLineNumberWithContact(contact, number); + updatedContact = this.adminContactPhoneBean.linkNewLandLineNumberWithContact(targetContact, number); } catch (final PhoneNumberAlreadyLinkedException ex) { // Throw again as cause this.showFacesMessage("form_add_contact_landLine:landLineNumber", ex); //NOI18N @@ -398,18 +553,18 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon */ public String doLinkMainMobileNumber () { // Get contact from helper - Contact contact = this.beanHelper.getContact(); + Contact targetContact = this.getContact(); // Is all data properly set? - if (null == contact) { + if (null == targetContact) { // Throw NPE - throw new NullPointerException("contact is null"); //NOI18N - } else if (contact.getContactId() == null) { + throw new NullPointerException("targetContact is null"); //NOI18N + } else if (targetContact.getContactId() == null) { // Throw it again - throw new NullPointerException("contact.contactId is null"); //NOI18N - } else if (contact.getContactId() < 1) { + throw new NullPointerException("targetContact.contactId is null"); //NOI18N + } else if (targetContact.getContactId() < 1) { // Is not valid - throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N + throw new IllegalArgumentException(MessageFormat.format("targetContact.contactId={0} is not valid", targetContact.getContactId())); //NOI18N } else if (this.getMobileProvider() == null) { // Throw NPE throw new NullPointerException("this.mobileProvider is null"); //NOI18N @@ -434,7 +589,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon // Try it again try { // Link it, too - updatedContact = this.adminPhoneBean.linkNewMobileNumberWithContact(contact, number); + updatedContact = this.adminContactPhoneBean.linkNewMobileNumberWithContact(targetContact, number); } catch (final PhoneNumberAlreadyLinkedException ex) { // Throw again as cause this.showFacesMessage("form_add_contact_mobile:mobileNumber", ex); //NOI18N @@ -448,6 +603,24 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon return "admin_show_contact"; //NOI18N } + /** + * Getter for contact instance + *

+ * @return Contact instance + */ + public Contact getContact () { + return this.contact; + } + + /** + * Setter for contact instance + *

+ * @param contact Contact instance + */ + public void setContact (final Contact contact) { + this.contact = contact; + } + /** * Getter for fax area code *

@@ -556,6 +729,24 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon this.landLineNumber = landLineNumber; } + /** + * Getter for mobile number + *

+ * @return Mobile number + */ + public Long getMobileNumber () { + return this.mobileNumber; + } + + /** + * Setter for mobile number + *

+ * @param mobileNumber Mobile number + */ + public void setMobileNumber (final Long mobileNumber) { + this.mobileNumber = mobileNumber; + } + /** * Getter for mobile provider *

@@ -575,21 +766,21 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon } /** - * Getter for mobile number + * Setter for phone id *

- * @return Mobile number + * @return Phone id */ - public Long getMobileNumber () { - return this.mobileNumber; + public Long getPhoneId () { + return this.phoneId; } /** - * Setter for mobile number + * Getter for phone id *

- * @param mobileNumber Mobile number + * @param phoneId Phone id */ - public void setMobileNumber (final Long mobileNumber) { - this.mobileNumber = mobileNumber; + public void setPhoneId (final Long phoneId) { + this.phoneId = phoneId; } /** @@ -603,7 +794,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon Context context = new InitialContext(); // Try to lookup the beans - this.adminPhoneBean = (AdminContactsPhoneSessionBeanRemote) context.lookup("java:global/jfinancials-ejb/adminContactPhone!org.mxchange.jcontacts.phone.AdminContactsPhoneSessionBeanRemote"); //NOI18N + this.adminContactPhoneBean = (AdminContactsPhoneSessionBeanRemote) context.lookup("java:global/jfinancials-ejb/adminContactPhone!org.mxchange.jcontacts.phone.AdminContactsPhoneSessionBeanRemote"); //NOI18N } catch (final NamingException e) { // Throw again throw new FaceletException(e); @@ -616,31 +807,34 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon * @return Redirect outcome */ public String unlinkFaxContactData () { + // Create fax number instance + DialableFaxNumber number = this.createFaxNumber(); + // Is all data set - if (this.beanHelper.getFaxNumber() == null) { + if (number == null) { // Not set, throw NPE - throw new NullPointerException("this.beanHelper.faxNumber is null"); //NOI18N - } else if (this.beanHelper.getFaxNumber().getPhoneId() == null) { + throw new NullPointerException("number is null"); //NOI18N + } else if (number.getPhoneId() == null) { // Throw NPE again - throw new NullPointerException("this.beanHelper.faxNumber.phoneId is null"); //NOI18N - } else if (this.beanHelper.getFaxNumber().getPhoneId() < 1) { + throw new NullPointerException("number.phoneId is null"); //NOI18N + } else if (number.getPhoneId() < 1) { // Invalid number - throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.faxNumber.phoneId={0} is not valid", this.beanHelper.getFaxNumber().getPhoneId())); //NOI18N - } else if (this.beanHelper.getFaxNumber().getPhoneNumber() == null) { + throw new IllegalArgumentException(MessageFormat.format("number.phoneId={0} is not valid", number.getPhoneId())); //NOI18N + } else if (number.getPhoneNumber() == null) { // Throw NPE again - throw new NullPointerException("this.beanHelper.faxNumber.phoneNumber is null"); //NOI18N - } else if (this.beanHelper.getFaxNumber().getPhoneNumber() < 1) { + throw new NullPointerException("number.phoneNumber is null"); //NOI18N + } else if (number.getPhoneNumber() < 1) { // Throw it again ... - throw new NullPointerException(MessageFormat.format("this.beanHelper.faxNumber.phoneNumber={0} is not valid.", this.beanHelper.getFaxNumber().getPhoneNumber())); //NOI18N - } else if (this.beanHelper.getContact() == null) { + throw new NullPointerException(MessageFormat.format("number.phoneNumber={0} is not valid.", number.getPhoneNumber())); //NOI18N + } else if (this.getContact() == null) { // ... and throw again - throw new NullPointerException("this.beanHelper.contact is null"); //NOI18N - } else if (this.beanHelper.getContact().getContactId() == null) { + throw new NullPointerException("this.contact is null"); //NOI18N + } else if (this.getContact().getContactId() == null) { // ... and again ... - throw new NullPointerException("this.beanHelper.contact.contactId is null"); //NOI18N - } else if (this.beanHelper.getContact().getContactId() < 1) { + throw new NullPointerException("this.contact.contactId is null"); //NOI18N + } else if (this.getContact().getContactId() < 1) { // Invalid id number - throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.contact.contactId={0} is invalid.", this.beanHelper.getContact().getContactId())); //NOI18N + throw new IllegalArgumentException(MessageFormat.format("this.contact.contactId={0} is invalid.", this.getContact().getContactId())); //NOI18N } // Init contact instance @@ -648,7 +842,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon try { // Unlink it and return contact without fax instance - updatedContact = this.adminPhoneBean.unlinkFaxDataFromContact(this.beanHelper.getContact(), this.beanHelper.getFaxNumber()); + updatedContact = this.adminContactPhoneBean.unlinkFaxDataFromContact(this.getContact(), number); } catch (final PhoneNumberNotLinkedException ex) { // Did not work this.showFacesMessage("form_unlink_contact_fax:faxNumberId", ex); //NOI18N @@ -656,7 +850,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon } // Fire event - this.faxNumberUnlinkedEvent.fire(new AdminUnlinkedFaxNumberEvent(updatedContact, this.beanHelper.getFaxNumber())); + this.faxNumberUnlinkedEvent.fire(new AdminUnlinkedFaxNumberEvent(updatedContact, number)); // All fine here return "admin_show_contact"; //NOI18N @@ -668,31 +862,34 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon * @return Redirect outcome */ public String unlinkLandLineContactData () { + // Create fax number instance + DialableLandLineNumber number = this.createLandLineNumber(); + // Is all data set - if (this.beanHelper.getLandLineNumber() == null) { + if (number == null) { // Not set, throw NPE - throw new NullPointerException("this.beanHelper.landLineNumber is null"); //NOI18N - } else if (this.beanHelper.getLandLineNumber().getPhoneId() == null) { + throw new NullPointerException("number is null"); //NOI18N + } else if (number.getPhoneId() == null) { // Throw NPE again - throw new NullPointerException("this.beanHelper.landLineNumber.phoneId is null"); //NOI18N - } else if (this.beanHelper.getLandLineNumber().getPhoneId() < 1) { + throw new NullPointerException("number.phoneId is null"); //NOI18N + } else if (number.getPhoneId() < 1) { // Invalid number - throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.landLineNumber.phoneId={0} is not valid", this.beanHelper.getLandLineNumber().getPhoneId())); //NOI18N - } else if (this.beanHelper.getLandLineNumber().getPhoneNumber() == null) { + throw new IllegalArgumentException(MessageFormat.format("number.phoneId={0} is not valid", number.getPhoneId())); //NOI18N + } else if (number.getPhoneNumber() == null) { // Throw NPE again - throw new NullPointerException("this.beanHelper.landLineNumber.phoneNumber is null"); //NOI18N - } else if (this.beanHelper.getLandLineNumber().getPhoneNumber() < 1) { + throw new NullPointerException("number.phoneNumber is null"); //NOI18N + } else if (number.getPhoneNumber() < 1) { // Throw it again ... - throw new NullPointerException(MessageFormat.format("this.beanHelper.landLineNumber.phoneNumber={0} is not valid.", this.beanHelper.getLandLineNumber().getPhoneNumber())); //NOI18N - } else if (this.beanHelper.getContact() == null) { + throw new NullPointerException(MessageFormat.format("number.phoneNumber={0} is not valid.", number.getPhoneNumber())); //NOI18N + } else if (this.getContact() == null) { // ... and throw again - throw new NullPointerException("this.beanHelper.contact is null"); //NOI18N - } else if (this.beanHelper.getContact().getContactId() == null) { + throw new NullPointerException("this.contact is null"); //NOI18N + } else if (this.getContact().getContactId() == null) { // ... and again ... - throw new NullPointerException("this.beanHelper.contact.contactId is null"); //NOI18N - } else if (this.beanHelper.getContact().getContactId() < 1) { + throw new NullPointerException("this.contact.contactId is null"); //NOI18N + } else if (this.getContact().getContactId() < 1) { // Invalid id number - throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.contact.contactId={0} is invalid.", this.beanHelper.getContact().getContactId())); //NOI18N + throw new IllegalArgumentException(MessageFormat.format("this.contact.contactId={0} is invalid.", this.getContact().getContactId())); //NOI18N } // Init contact instance @@ -700,7 +897,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon try { // Unlink it and return contact without landLine instance - updatedContact = this.adminPhoneBean.unlinkLandLineDataFromContact(this.beanHelper.getContact(), this.beanHelper.getLandLineNumber()); + updatedContact = this.adminContactPhoneBean.unlinkLandLineDataFromContact(this.getContact(), number); } catch (final PhoneNumberNotLinkedException ex) { // Did not work this.showFacesMessage("form_unlink_contact_landLine:landLineNumberId", ex); //NOI18N @@ -708,7 +905,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon } // Fire event - this.landLineNumberUnlinkedEvent.fire(new AdminUnlinkedLandLineNumberEvent(updatedContact, this.beanHelper.getLandLineNumber())); + this.landLineNumberUnlinkedEvent.fire(new AdminUnlinkedLandLineNumberEvent(updatedContact, number)); // All fine here return "admin_show_contact"; //NOI18N @@ -720,40 +917,43 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon * @return Redirect outcome */ public String unlinkMobileContactData () { + // Create fax number instance + DialableMobileNumber number = this.createMobileNumber(); + // Is all data set - if (this.beanHelper.getMobileNumber() == null) { + if (number == null) { // Not set, throw NPE - throw new NullPointerException("this.beanHelper.mobileNumber is null"); //NOI18N - } else if (this.beanHelper.getMobileNumber().getPhoneId() == null) { + throw new NullPointerException("number is null"); //NOI18N + } else if (number.getPhoneId() == null) { // Throw NPE again - throw new NullPointerException("this.beanHelper.mobileNumber.phoneId is null"); //NOI18N - } else if (this.beanHelper.getMobileNumber().getPhoneId() < 1) { + throw new NullPointerException("number.phoneId is null"); //NOI18N + } else if (number.getPhoneId() < 1) { // Invalid number - throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.mobileNumber.phoneId={0} is not valid", this.beanHelper.getMobileNumber().getPhoneId())); //NOI18N - } else if (this.beanHelper.getMobileNumber().getMobileProvider() == null) { + throw new IllegalArgumentException(MessageFormat.format("number.phoneId={0} is not valid", number.getPhoneId())); //NOI18N + } else if (number.getMobileProvider() == null) { // Throw NPE - throw new NullPointerException("this.beanHelper.mobileNumber.mobileProvider is null"); //NOI18N - } else if (this.beanHelper.getMobileNumber().getMobileProvider().getProviderId() == null) { + throw new NullPointerException("number.mobileProvider is null"); //NOI18N + } else if (number.getMobileProvider().getProviderId() == null) { // ... throw again - throw new NullPointerException("this.beanHelper.mobileNumber.mobileProvider.providerId is null"); //NOI18N - } else if (this.beanHelper.getMobileNumber().getMobileProvider().getProviderId() < 1) { + throw new NullPointerException("number.mobileProvider.providerId is null"); //NOI18N + } else if (number.getMobileProvider().getProviderId() < 1) { // Id not valid - throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.mobileNumber.mobileProvider.providerId={0} is not valid.", this.beanHelper.getMobileNumber().getMobileProvider().getProviderId())); //NOI18N - } else if (this.beanHelper.getMobileNumber().getPhoneNumber() == null) { + throw new IllegalArgumentException(MessageFormat.format("number.mobileProvider.providerId={0} is not valid.", number.getMobileProvider().getProviderId())); //NOI18N + } else if (number.getPhoneNumber() == null) { // Throw NPE again - throw new NullPointerException("this.beanHelper.mobileNumber.phoneNumber is null"); //NOI18N - } else if (this.beanHelper.getMobileNumber().getPhoneNumber() < 1) { + throw new NullPointerException("number.phoneNumber is null"); //NOI18N + } else if (number.getPhoneNumber() < 1) { // Throw it again ... - throw new NullPointerException(MessageFormat.format("this.beanHelper.mobileNumber.phoneNumber={0} is not valid.", this.beanHelper.getMobileNumber().getPhoneNumber())); //NOI18N - } else if (this.beanHelper.getContact() == null) { + throw new NullPointerException(MessageFormat.format("number.phoneNumber={0} is not valid.", number.getPhoneNumber())); //NOI18N + } else if (this.getContact() == null) { // ... and throw again - throw new NullPointerException("this.beanHelper.contact is null"); //NOI18N - } else if (this.beanHelper.getContact().getContactId() == null) { + throw new NullPointerException("this.contact is null"); //NOI18N + } else if (this.getContact().getContactId() == null) { // ... and again ... - throw new NullPointerException("this.beanHelper.contact.contactId is null"); //NOI18N - } else if (this.beanHelper.getContact().getContactId() < 1) { + throw new NullPointerException("this.contact.contactId is null"); //NOI18N + } else if (this.getContact().getContactId() < 1) { // Invalid id number - throw new IllegalArgumentException(MessageFormat.format("this.beanHelper.contact.contactId={0} is invalid.", this.beanHelper.getContact().getContactId())); //NOI18N + throw new IllegalArgumentException(MessageFormat.format("this.contact.contactId={0} is invalid.", this.getContact().getContactId())); //NOI18N } // Init contact instance @@ -761,7 +961,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon try { // Unlink it and return contact without mobile instance - updatedContact = this.adminPhoneBean.unlinkMobileDataFromContact(this.beanHelper.getContact(), this.beanHelper.getMobileNumber()); + updatedContact = this.adminContactPhoneBean.unlinkMobileDataFromContact(this.getContact(), number); } catch (final PhoneNumberNotLinkedException ex) { // Did not work this.showFacesMessage("form_unlink_contact_mobile:mobileNumberId", ex); //NOI18N @@ -769,7 +969,7 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon } // Fire event - this.mobileNumberUnlinkedEvent.fire(new AdminUnlinkedMobileNumberEvent(updatedContact, this.beanHelper.getMobileNumber())); + this.mobileNumberUnlinkedEvent.fire(new AdminUnlinkedMobileNumberEvent(updatedContact, number)); // All fine here return "admin_show_contact"; //NOI18N @@ -782,4 +982,115 @@ public class FinancialsAdminContactPhoneWebRequestBean extends BaseFinancialsCon // Clear all data } + /** + * Creates an instance of a DialableFaxNumber class + *

+ * @return DialableFaxNumber class + */ + private DialableFaxNumber createFaxNumber () { + // Instanciate it + DialableFaxNumber number = new FaxNumber(this.getFaxCountry(), this.getFaxAreaCode(), this.getFaxNumber()); + + // Set all other fields + number.setPhoneEntryCreated(this.getPhoneEntryCreated()); + number.setPhoneEntryUpdated(this.getPhoneEntryUpdated()); + + // Is id number there? + if (this.getPhoneId() instanceof Long) { + // Set it + number.setPhoneId(this.getPhoneId()); + } + + // Return it + return number; + } + + /** + * Returns an instance of a DialableLandLineNumber from all fields stored in + * this bean. + *

+ * @return An instance of a DialableLandLineNumber class + */ + private DialableLandLineNumber createLandLineNumber () { + // Initialize it + DialableLandLineNumber number = new LandLineNumber(this.getLandLineCountry(), this.getLandLineAreaCode(), this.getLandLineNumber()); + + // Add all other data + number.setPhoneEntryCreated(this.getPhoneEntryCreated()); + number.setPhoneEntryUpdated(this.getPhoneEntryUpdated()); + + // Is id number set? + if (this.getPhoneId() instanceof Long) { + // Set it + number.setPhoneId(this.getPhoneId()); + } + + // Return it + return number; + } + + /** + * Returns an instance of a DialableMobileNumber from all fields stored in + * this bean. + *

+ * @return An instance of a DialableMobileNumber class + */ + private DialableMobileNumber createMobileNumber () { + // Initialize it + DialableMobileNumber number = new MobileNumber(this.getMobileProvider(), this.getMobileNumber()); + + // Add all other data + number.setPhoneEntryCreated(this.getPhoneEntryCreated()); + number.setPhoneEntryUpdated(this.getPhoneEntryUpdated()); + + // Is id number set? + if (this.getPhoneId() instanceof Long) { + // Set it + number.setPhoneId(this.getPhoneId()); + } + + // Return it + return number; + } + + /** + * Getter for phone entry created + *

+ * @param faxNumberEntryCreated Phone entry created + */ + @SuppressWarnings ("ReturnOfDateField") + private Calendar getPhoneEntryCreated () { + return this.phoneEntryCreated; + } + + /** + * Setter for phone entry created + *

+ * @param phoneEntryCreated Phone entry created + */ + @SuppressWarnings ("AssignmentToDateFieldFromParameter") + private void setPhoneEntryCreated (final Calendar phoneEntryCreated) { + this.phoneEntryCreated = phoneEntryCreated; + } + + /** + * Getter for phone entry updated + *

+ * @return Phone entry updated + */ + @SuppressWarnings ("ReturnOfDateField") + private Calendar getPhoneEntryUpdated () { + return this.phoneEntryUpdated; + } + + /** + * Setter for phone entry updated + *

+ * @param phoneEntryUpdated Phone entry updated + */ + @SuppressWarnings ("AssignmentToDateFieldFromParameter") + private void setPhoneEntryUpdated (final Calendar phoneEntryUpdated) { + this.phoneEntryUpdated = phoneEntryUpdated; + } + } diff --git a/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionBean.java b/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionBean.java index 0e456a3d..b6f940c0 100644 --- a/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionBean.java +++ b/src/java/org/mxchange/jfinancials/beans/contact/phone/FinancialsContactPhoneWebSessionBean.java @@ -35,11 +35,14 @@ import org.mxchange.jcontacts.events.mobile.unlinked.ObservableAdminUnlinkedMobi import org.mxchange.jfinancials.beans.BaseFinancialsController; import org.mxchange.jfinancials.beans.contact.FinancialsContactWebSessionController; import org.mxchange.jfinancials.beans.helper.FinancialsWebRequestHelperController; +import org.mxchange.jphone.events.mobile.created.ObservableHelperCreatedMobileNumberEvent; import org.mxchange.jphone.phonenumbers.DialableNumber; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber; import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber; import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent; +import org.mxchange.jphone.events.landline.created.ObservableCreatedLandLineNumberEvent; +import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent; /** * A general contact bean (controller) @@ -74,6 +77,21 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll */ private final Map> contacts; + /** + * fax number + */ + private DialableFaxNumber faxNumber; + + /** + * land-line number + */ + private DialableLandLineNumber landLineNumber; + + /** + * Chosen mobile number + */ + private DialableMobileNumber mobileNumber; + /** * Default constructor */ @@ -245,6 +263,84 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll this.clear(); } + /** + * Observes events being fired when a bean helper has successfully created a + * fax number instance. + *

+ * @param event Event being fired + */ + public void afterHelperCreatedFaxNumberEvent (@Observes final ObservableCreatedFaxNumberEvent event) { + // The event instance must be valid + if (null == event) { + // Throw NPE + throw new NullPointerException("event is null"); //NOI18N + } else if (event.getFaxNumber() == null) { + // Throw NPE again + throw new NullPointerException("event.faxNumber is null"); //NOI18N + } else if (event.getFaxNumber().getPhoneId() == null) { + // Throw NPE yet again + throw new NullPointerException("event.faxNumber.phoneId is null"); //NOI18N + } else if (event.getFaxNumber().getPhoneId() < 1) { + // Throw NPE yet again + throw new NullPointerException(MessageFormat.format("event.faxNumber.phoneId={0} is invalid", event.getFaxNumber().getPhoneId())); //NOI18N + } + + // Set it here + this.setFaxNumber(event.getFaxNumber()); + } + + /** + * Observes events being fired when a bean helper has successfully created a + * land-line number instance. + *

+ * @param event Event being fired + */ + public void afterHelperCreatedLandLineNumberEvent (@Observes final ObservableCreatedLandLineNumberEvent event) { + // The event instance must be valid + if (null == event) { + // Throw NPE + throw new NullPointerException("event is null"); //NOI18N + } else if (event.getLandLineNumber() == null) { + // Throw NPE again + throw new NullPointerException("event.landLineNumber is null"); //NOI18N + } else if (event.getLandLineNumber().getPhoneId() == null) { + // Throw NPE yet again + throw new NullPointerException("event.landLineNumber.phoneId is null"); //NOI18N + } else if (event.getLandLineNumber().getPhoneId() < 1) { + // Throw NPE yet again + throw new NullPointerException(MessageFormat.format("event.landLineNumber.phoneId={0} is invalid", event.getLandLineNumber().getPhoneId())); //NOI18N + } + + // Set it here + this.setLandLineNumber(event.getLandLineNumber()); + } + + /** + * Observes events being fired when a bean helper has successfully created a + * mobile number instance. + *

+ * @param event Event being fired + */ + public void afterHelperCreatedMobileNumberEvent (@Observes final ObservableHelperCreatedMobileNumberEvent event) { + // The event instance must be valid + if (null == event) { + // Throw NPE + throw new NullPointerException("event is null"); //NOI18N + } else if (event.getMobileNumber() == null) { + // Throw NPE again + throw new NullPointerException("event.mobileNumber is null"); //NOI18N + } else if (event.getMobileNumber().getPhoneId() == null) { + // Throw NPE yet again + throw new NullPointerException("event.mobileNumber.phoneId is null"); //NOI18N + } else if (event.getMobileNumber().getPhoneId() < 1) { + // Throw NPE yet again + throw new NullPointerException(MessageFormat.format("event.mobileNumber.phoneId={0} is invalid", event.getMobileNumber().getPhoneId())); //NOI18N + } + + // Set it here + this.setMobileNumber(event.getMobileNumber()); + } + /** * Getter for all contacts having current fax number linked *

@@ -252,12 +348,12 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll */ public List allCurrentFaxNumberContacts () { // Get id - DialableFaxNumber faxNumber = this.beanHelper.getFaxNumber(); + DialableFaxNumber number = this.getFaxNumber(); // Is cache there? - if (this.contacts.containsKey(faxNumber)) { + if (this.contacts.containsKey(number)) { // Return cached version - return this.contacts.get(faxNumber); + return this.contacts.get(number); } else { // Ask bean List list = new LinkedList<>(); @@ -265,14 +361,14 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll // "Walk" through all contacts for (final Contact contact : this.contactController.allContacts()) { // Is mobile instance the same? - if (Objects.equals(contact.getContactFaxNumber(), faxNumber)) { + if (Objects.equals(contact.getContactFaxNumber(), number)) { // Found one list.add(contact); } } // Store result in cache - this.contacts.put(faxNumber, list); + this.contacts.put(number, list); // Return now-cached list return list; @@ -286,12 +382,12 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll */ public List allCurrentLandLineNumberContacts () { // Get id - DialableLandLineNumber landLineNumber = this.beanHelper.getLandLineNumber(); + DialableLandLineNumber number = this.getLandLineNumber(); // Is cache there? - if (this.contacts.containsKey(landLineNumber)) { + if (this.contacts.containsKey(number)) { // Return cached version - return this.contacts.get(landLineNumber); + return this.contacts.get(number); } else { // Ask bean List list = new LinkedList<>(); @@ -299,14 +395,14 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll // "Walk" through all contacts for (final Contact contact : this.contactController.allContacts()) { // Is mobile instance the same? - if (Objects.equals(contact.getContactLandLineNumber(), landLineNumber)) { + if (Objects.equals(contact.getContactLandLineNumber(), number)) { // Found one list.add(contact); } } // Store result in cache - this.contacts.put(landLineNumber, list); + this.contacts.put(number, list); // Return now-cached list return list; @@ -320,12 +416,12 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll */ public List allCurrentMobileNumberContacts () { // Get id - DialableMobileNumber mobileNumber = this.beanHelper.getMobileNumber(); + DialableMobileNumber number = this.getMobileNumber(); // Is cache there? - if (this.contacts.containsKey(mobileNumber)) { + if (this.contacts.containsKey(number)) { // Return cached version - return this.contacts.get(mobileNumber); + return this.contacts.get(number); } else { // Ask bean List list = new LinkedList<>(); @@ -333,20 +429,74 @@ public class FinancialsContactPhoneWebSessionBean extends BaseFinancialsControll // "Walk" through all contacts for (final Contact contact : this.contactController.allContacts()) { // Is mobile instance the same? - if (Objects.equals(contact.getContactMobileNumber(), mobileNumber)) { + if (Objects.equals(contact.getContactMobileNumber(), number)) { // Found one list.add(contact); } } // Store result in cache - this.contacts.put(mobileNumber, list); + this.contacts.put(number, list); // Return now-cached list return list; } } + /** + * Getter for chosen fax number + *

+ * @return fax number + */ + public DialableFaxNumber getFaxNumber () { + return this.faxNumber; + } + + /** + * Setter for chosen fax number + *

+ * @param faxNumber fax number + */ + public void setFaxNumber (final DialableFaxNumber faxNumber) { + this.faxNumber = faxNumber; + } + + /** + * Getter for chosen land-line number + *

+ * @return land-line number + */ + public DialableLandLineNumber getLandLineNumber () { + return this.landLineNumber; + } + + /** + * Setter for chosen land-line number + *

+ * @param landLineNumber land-line number + */ + public void setLandLineNumber (final DialableLandLineNumber landLineNumber) { + this.landLineNumber = landLineNumber; + } + + /** + * Getter for chosen mobile number + *

+ * @return mobile number + */ + public DialableMobileNumber getMobileNumber () { + return this.mobileNumber; + } + + /** + * Setter for chosen mobile number + *

+ * @param mobileNumber mobile number + */ + public void setMobileNumber (final DialableMobileNumber mobileNumber) { + this.mobileNumber = mobileNumber; + } + /** * Clears this bean */ diff --git a/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperBean.java b/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperBean.java index defc264d..4eb13abd 100644 --- a/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperBean.java +++ b/src/java/org/mxchange/jfinancials/beans/helper/FinancialsWebRequestHelperBean.java @@ -30,18 +30,18 @@ import org.mxchange.jfinancials.beans.contact.FinancialsAdminContactWebRequestCo import org.mxchange.jfinancials.beans.phone.FinancialsAdminPhoneWebRequestController; import org.mxchange.jfinancials.beans.user.FinancialsAdminUserWebRequestController; import org.mxchange.jfinancials.beans.user.FinancialsUserWebSessionController; -import org.mxchange.jphone.events.helper.fax.created.HelperCreatedFaxNumberEvent; -import org.mxchange.jphone.events.helper.fax.created.ObservableHelperCreatedFaxNumberEvent; -import org.mxchange.jphone.events.helper.landline.created.HelperCreatedLandLineNumberEvent; -import org.mxchange.jphone.events.helper.landline.created.ObservableHelperCreatedLandLineNumberEvent; -import org.mxchange.jphone.events.helper.mobile.created.HelperCreatedMobileNumberEvent; -import org.mxchange.jphone.events.helper.mobile.created.ObservableHelperCreatedMobileNumberEvent; +import org.mxchange.jphone.events.fax.created.CreatedFaxNumberEvent; +import org.mxchange.jphone.events.landline.created.CreatedLandLineNumberEvent; +import org.mxchange.jphone.events.mobile.created.HelperCreatedMobileNumberEvent; +import org.mxchange.jphone.events.mobile.created.ObservableHelperCreatedMobileNumberEvent; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber; import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber; -import org.mxchange.jusercore.events.user.helper.created.HelperCreatedUserEvent; -import org.mxchange.jusercore.events.user.helper.created.ObservableHelperCreatedUserEvent; +import org.mxchange.jusercore.events.user.created.CreatedUserEvent; import org.mxchange.jusercore.model.user.User; +import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent; +import org.mxchange.jphone.events.landline.created.ObservableCreatedLandLineNumberEvent; +import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent; /** * A general helper for beans @@ -102,7 +102,7 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp */ @Any @Inject - private Event faxNumberCreatedEvent; + private Event faxNumberCreatedEvent; /** * Land-line number @@ -114,7 +114,7 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp */ @Any @Inject - private Event landLineNumberCreatedEvent; + private Event landLineNumberCreatedEvent; /** * Mobile number @@ -144,7 +144,7 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp */ @Any @Inject - private Event userCreatedEvent; + private Event userCreatedEvent; /** * Default constructor @@ -152,18 +152,142 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp public FinancialsWebRequestHelperBean () { // Call super constructor super(); + } - // String caller = MessageFormat.format("{0}.{1}", Thread.currentThread().getStackTrace()[3].getClassName(), Thread.currentThread().getStackTrace()[3].getMethodName()); - // System.out.println(MessageFormat.format("{0}: Constructed, caller: {1}", this.getClass().getSimpleName(), caller)); + /** + * Getter for contact instance + *

+ * @return Contact instance + */ + public Contact getContact () { + return this.contact; } /** - * Copies currently set contact instances data to adminContactController + * Setter for contact instance + *

+ * @param contact Contact instance */ - public void copyContactToController () { + public void setContact (final Contact contact) { // String caller = MessageFormat.format("{0}.{1}", Thread.currentThread().getStackTrace()[THREAD_STACK].getClassName(), Thread.currentThread().getStackTrace()[THREAD_STACK].getMethodName()); - // System.out.println(MessageFormat.format("{0}.copyContactToController: CALLED, caller: {2}", this.getClass().getSimpleName(), this.contact, caller)); + // System.out.println(MessageFormat.format("{0}: Setting contact={1}, previous: {2}, caller: {3}", this.getClass().getSimpleName(), contact, this.contact, caller)); + this.contact = contact; + } + + /** + * Returns a message key depending on if this contact is a user and/or a + * contact. If this contact is unused, a default key is returned. + *

+ * @param contact Contact instance to check + *

+ * @return Message key + */ + public String getContactUsageMessageKey (final Contact contact) { + // The contact must be valid + if (null == contact) { + // Throw NPE + throw new NullPointerException("contact is null"); //NOI18N + } else if (contact.getContactId() == null) { + // Throw again ... + throw new NullPointerException("contact.contactId is null"); //NOI18N + } else if (contact.getContactId() < 1) { + // Not valid + throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N + } + + // Default key is "unused" + String messageKey = "CONTACT_IS_UNUSED"; //NOI18N + + // Check user contact + boolean isUserContact = this.userController.isContactFound(contact); + + // Check user first + if (isUserContact) { + // Only user + messageKey = "CONTACT_IS_USER"; //NOI18N + } + + // Return message key + return messageKey; + } + + /** + * Getter for dialable fax number + *

+ * @return Dialable fax number + */ + public DialableFaxNumber getFaxNumber () { + return this.faxNumber; + } + + /** + * Setter for dialable fax number + *

+ * @param faxNumber Dialable fax number + */ + public void setFaxNumber (final DialableFaxNumber faxNumber) { + this.faxNumber = faxNumber; + } + + /** + * Getter for dialable land-line number + *

+ * @return Dialable land-line number + */ + public DialableLandLineNumber getLandLineNumber () { + return this.landLineNumber; + } + + /** + * Setter for dialable land-line number + *

+ * @param landLineNumber Dialable land-line number + */ + public void setLandLineNumber (final DialableLandLineNumber landLineNumber) { + this.landLineNumber = landLineNumber; + } + + /** + * Getter for dialable mobile number + *

+ * @return Dialable mobile number + */ + public DialableMobileNumber getMobileNumber () { + return this.mobileNumber; + } + + /** + * Setter for dialable mobile number + *

+ * @param mobileNumber Dialable mobile number + */ + public void setMobileNumber (final DialableMobileNumber mobileNumber) { + this.mobileNumber = mobileNumber; + } + + /** + * Getter for user instance + *

+ * @return User instance + */ + public User getUser () { + return this.user; + } + + /** + * Setter for user instance + *

+ * @param user User instance + */ + public void setUser (final User user) { + this.user = user; + } + /** + * Notifies other controllers (backing beans) if a contact id has been + * successfully converted to a Contact instance. + */ + public void notifyControllerContactConverted () { // Validate contact instance if (this.getContact() == null) { // Throw NPE @@ -184,9 +308,10 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp } /** - * Copies currently set fax number's data to admin phone controller + * Notifies other controllers (backing beans) if a phone id has been + * successfully converted to a DialableFaxNumber instance. */ - public void copyFaxNumberToController () { + public void notifyControllerFaxNumberConverted () { // Validate fax instance if (this.getFaxNumber() == null) { // Throw NPE @@ -221,13 +346,14 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp } // Fire event - this.faxNumberCreatedEvent.fire(new HelperCreatedFaxNumberEvent(this.getFaxNumber())); + this.faxNumberCreatedEvent.fire(new CreatedFaxNumberEvent(this.getFaxNumber())); } /** - * Copies currently set land-line number's data to admin phone controller + * Notifies other controllers (backing beans) if a phone id has been + * successfully converted to a DialableLandLineNumber instance. */ - public void copyLandLineNumberToController () { + public void notifyControllerLandLineNumberConverted () { // Validate land-line instance if (this.getLandLineNumber() == null) { // Throw NPE @@ -262,13 +388,14 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp } // Fire event - this.landLineNumberCreatedEvent.fire(new HelperCreatedLandLineNumberEvent(this.getLandLineNumber())); + this.landLineNumberCreatedEvent.fire(new CreatedLandLineNumberEvent(this.getLandLineNumber())); } /** - * Copies currently set mobile number's data to admin phone controller + * Notifies other controllers (backing beans) if a phone id has been + * successfully converted to a DialableMobileNumber instance. */ - public void copyMobileNumberToController () { + public void notifyControllerMobileNumberConverted () { // Validate mobile instance if (this.getMobileNumber() == null) { // Throw NPE @@ -301,12 +428,10 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp } /** - * Copies currently set user instances data to adminUserController + * Notifies other controllers (backing beans) if a user id has been + * successfully converted to a User instance. */ - public void copyUserToController () { - // Log message - //* NOISY-DEBUG: */ System.out.println("AdminHelper::copyUserToController - CALLED!"); //NOI18N - + public void notifyControllerUserConverted () { // Validate user instance if (this.getUser() == null) { // Throw NPE @@ -329,136 +454,7 @@ public class FinancialsWebRequestHelperBean extends BaseFinancialsController imp this.setPhoneInstances(userContact); // Fire event - this.userCreatedEvent.fire(new HelperCreatedUserEvent(this.getUser())); - } - - /** - * Getter for contact instance - *

- * @return Contact instance - */ - public Contact getContact () { - return this.contact; - } - - /** - * Setter for contact instance - *

- * @param contact Contact instance - */ - public void setContact (final Contact contact) { - // String caller = MessageFormat.format("{0}.{1}", Thread.currentThread().getStackTrace()[THREAD_STACK].getClassName(), Thread.currentThread().getStackTrace()[THREAD_STACK].getMethodName()); - // System.out.println(MessageFormat.format("{0}: Setting contact={1}, previous: {2}, caller: {3}", this.getClass().getSimpleName(), contact, this.contact, caller)); - this.contact = contact; - } - - /** - * Returns a message key depending on if this contact is a user and/or a - * contact. If this contact is unused, a default key is returned. - *

- * @param contact Contact instance to check - *

- * @return Message key - */ - public String getContactUsageMessageKey (final Contact contact) { - // The contact must be valid - if (null == contact) { - // Throw NPE - throw new NullPointerException("contact is null"); //NOI18N - } else if (contact.getContactId() == null) { - // Throw again ... - throw new NullPointerException("contact.contactId is null"); //NOI18N - } else if (contact.getContactId() < 1) { - // Not valid - throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid", contact.getContactId())); //NOI18N - } - - // Default key is "unused" - String messageKey = "CONTACT_IS_UNUSED"; //NOI18N - - // Check user contact - boolean isUserContact = this.userController.isContactFound(contact); - - // Check user first - if (isUserContact) { - // Only user - messageKey = "CONTACT_IS_USER"; //NOI18N - } - - // Return message key - return messageKey; - } - - /** - * Getter for dialable fax number - *

- * @return Dialable fax number - */ - public DialableFaxNumber getFaxNumber () { - return this.faxNumber; - } - - /** - * Setter for dialable fax number - *

- * @param faxNumber Dialable fax number - */ - public void setFaxNumber (final DialableFaxNumber faxNumber) { - this.faxNumber = faxNumber; - } - - /** - * Getter for dialable land-line number - *

- * @return Dialable land-line number - */ - public DialableLandLineNumber getLandLineNumber () { - return this.landLineNumber; - } - - /** - * Setter for dialable land-line number - *

- * @param landLineNumber Dialable land-line number - */ - public void setLandLineNumber (final DialableLandLineNumber landLineNumber) { - this.landLineNumber = landLineNumber; - } - - /** - * Getter for dialable mobile number - *

- * @return Dialable mobile number - */ - public DialableMobileNumber getMobileNumber () { - return this.mobileNumber; - } - - /** - * Setter for dialable mobile number - *

- * @param mobileNumber Dialable mobile number - */ - public void setMobileNumber (final DialableMobileNumber mobileNumber) { - this.mobileNumber = mobileNumber; - } - - /** - * Getter for user instance - *

- * @return User instance - */ - public User getUser () { - return this.user; - } - - /** - * Setter for user instance - *

- * @param user User instance - */ - public void setUser (final User user) { - this.user = user; + this.userCreatedEvent.fire(new CreatedUserEvent(this.getUser())); } /** diff --git a/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java index 2dd12c2b..42ca1e3c 100644 --- a/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java +++ b/src/java/org/mxchange/jfinancials/beans/phone/FinancialsAdminPhoneWebRequestBean.java @@ -40,9 +40,7 @@ import org.mxchange.jphone.events.fax.removed.AdminFaxNumberRemovedFromListEvent import org.mxchange.jphone.events.fax.removed.AdminRemoveFaxNumberFromListEvent; import org.mxchange.jphone.events.fax.updated.AdminFaxNumberUpdatedEvent; import org.mxchange.jphone.events.fax.updated.AdminUpdatedFaxNumberEvent; -import org.mxchange.jphone.events.helper.fax.created.ObservableHelperCreatedFaxNumberEvent; -import org.mxchange.jphone.events.helper.landline.created.ObservableHelperCreatedLandLineNumberEvent; -import org.mxchange.jphone.events.helper.mobile.created.ObservableHelperCreatedMobileNumberEvent; +import org.mxchange.jphone.events.mobile.created.ObservableHelperCreatedMobileNumberEvent; import org.mxchange.jphone.events.landline.deleted.AdminDeletedLandLineNumberEvent; import org.mxchange.jphone.events.landline.deleted.AdminLandLineNumberDeletedEvent; import org.mxchange.jphone.events.landline.removed.AdminLandLineNumberRemovedFromListEvent; @@ -63,6 +61,8 @@ import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber; import org.mxchange.jphone.phonenumbers.mobile.MobileNumber; import org.mxchange.jphone.phonenumbers.mobileprovider.MobileProvider; import org.mxchange.jphone.phonenumbers.phone.AdminPhoneSessionBeanRemote; +import org.mxchange.jphone.events.landline.created.ObservableCreatedLandLineNumberEvent; +import org.mxchange.jphone.events.fax.created.ObservableCreatedFaxNumberEvent; /** * Administrative bean (controller) for phone numbers @@ -232,7 +232,7 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController *

* @param event Event being fired */ - public void afterHelperCreatedFaxNumberEvent (@Observes final ObservableHelperCreatedFaxNumberEvent event) { + public void afterHelperCreatedFaxNumberEvent (@Observes final ObservableCreatedFaxNumberEvent event) { // The event instance must be valid if (null == event) { // Throw NPE @@ -266,7 +266,7 @@ public class FinancialsAdminPhoneWebRequestBean extends BaseFinancialsController *

* @param event Event being fired */ - public void afterHelperCreatedLandLineNumberEvent (@Observes final ObservableHelperCreatedLandLineNumberEvent event) { + public void afterHelperCreatedLandLineNumberEvent (@Observes final ObservableCreatedLandLineNumberEvent event) { // The event instance must be valid if (null == event) { // Throw NPE diff --git a/src/java/org/mxchange/jfinancials/beans/user/FinancialsAdminUserWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/user/FinancialsAdminUserWebRequestBean.java index c6d75f02..1ba7832d 100644 --- a/src/java/org/mxchange/jfinancials/beans/user/FinancialsAdminUserWebRequestBean.java +++ b/src/java/org/mxchange/jfinancials/beans/user/FinancialsAdminUserWebRequestBean.java @@ -41,7 +41,6 @@ import org.mxchange.jusercore.events.user.add.AdminAddedUserEvent; import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent; import org.mxchange.jusercore.events.user.delete.AdminDeletedUserEvent; import org.mxchange.jusercore.events.user.delete.ObservableAdminDeletedUserEvent; -import org.mxchange.jusercore.events.user.helper.created.ObservableHelperCreatedUserEvent; import org.mxchange.jusercore.events.user.linked.AdminLinkedUserEvent; import org.mxchange.jusercore.events.user.linked.ObservableAdminLinkedUserEvent; import org.mxchange.jusercore.events.user.locked.AdminLockedUserEvent; @@ -66,6 +65,7 @@ import org.mxchange.juserlogincore.container.login.UserLoginContainer; import org.mxchange.juserlogincore.events.registration.ObservableUserRegisteredEvent; import org.mxchange.juserlogincore.exceptions.UserPasswordRepeatMismatchException; import org.mxchange.juserlogincore.login.UserLoginUtils; +import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent; /** * A user bean (controller) @@ -105,6 +105,11 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController @Inject private FinancialsWebRequestHelperController beanHelper; + /** + * Contact instance + */ + private Contact contact; + /** * Regular contact controller */ @@ -112,7 +117,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController private FinancialsContactWebSessionController contactController; /** - * Event being fired when admin has deleted user + * Event being fired when administrator has deleted user */ @Inject @Any @@ -131,6 +136,11 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController @Any private Event updatedUserDataEvent; + /** + * User instance + */ + private User user; + /** * General user EJB */ @@ -210,9 +220,6 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController * @return Redirect outcome */ public String addUser () { - // Get contact from bean helper to "cache" it locally - Contact contact = this.beanHelper.getContact(); - // As the form cannot validate the data (required="true"), check it here if (this.getUserName() == null) { // Throw NPE @@ -220,47 +227,47 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController } else if (this.getUserName().isEmpty()) { // Is empty throw new IllegalArgumentException("userName is null"); //NOI18N - } else if (contact == null) { + } else if (this.getContact() == null) { // No contact instance set, so test required fields: gender, first name and family name this.adminContactController.validateContactData(); } // Create new user instance - User user = new LoginUser(); + User newUser = new LoginUser(); // Set user name, CONFIRMED and INVISIBLE - user.setUserName(this.getUserName()); - user.setUserMustChangePassword(this.getUserMustChangePassword()); - user.setUserAccountStatus(UserAccountStatus.CONFIRMED); - user.setUserProfileMode(ProfileMode.INVISIBLE); + newUser.setUserName(this.getUserName()); + newUser.setUserMustChangePassword(this.getUserMustChangePassword()); + newUser.setUserAccountStatus(UserAccountStatus.CONFIRMED); + newUser.setUserProfileMode(ProfileMode.INVISIBLE); // Copy user locale - user.setUserLocale(this.localizationController.getLocale()); + newUser.setUserLocale(this.localizationController.getLocale()); // Init instance Contact userContact; // Is a contact instance in helper set? - if (contact instanceof Contact) { + if (this.getContact() instanceof Contact) { // Then use it for contact linking - userContact = contact; + userContact = this.getContact(); } else { // Create contact instance userContact = this.contactController.createContactInstance(); } // Set contact in user - user.setUserContact(userContact); + newUser.setUserContact(userContact); // Init variable for password String password = null; // Is the user name or email address used already? // @TODO Add password length check - if (this.userController.isUserNameRegistered(user)) { + if (this.userController.isUserNameRegistered(newUser)) { // User name is already used - throw new FaceletException(new UserNameAlreadyRegisteredException(user)); - } else if ((contact == null) && (this.contactController.isEmailAddressRegistered(user.getUserContact()))) { + throw new FaceletException(new UserNameAlreadyRegisteredException(newUser)); + } else if ((this.getContact() == null) && (this.contactController.isEmailAddressRegistered(newUser.getUserContact()))) { // Email address is already used this.showFacesMessage("admin_add_user:emailAddress", "ERROR_EMAIL_ADDRESS_ALREADY_USED"); //NOI18N @@ -275,7 +282,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController password = UserLoginUtils.createRandomPassword(FinancialsUserWebSessionController.MINIMUM_PASSWORD_LENGTH); } else if (!this.isSamePasswordEntered()) { // Both passwords don't match - throw new FaceletException(new UserPasswordRepeatMismatchException(user)); + throw new FaceletException(new UserPasswordRepeatMismatchException(newUser)); } else { // Both match, so get it from this bean password = this.getUserPassword(); @@ -286,19 +293,19 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController assert (password.length() >= FinancialsUserWebSessionController.MINIMUM_PASSWORD_LENGTH) : "Password is not long enough."; //NOI18N // Encrypt password and set it - user.setUserEncryptedPassword(UserLoginUtils.encryptPassword(password)); + newUser.setUserEncryptedPassword(UserLoginUtils.encryptPassword(password)); try { // Now, that all is set, call EJB - if (contact instanceof Contact) { + if (this.getContact() instanceof Contact) { // Link contact with this user - User updatedUser = this.adminUserBean.linkUser(user); + User updatedUser = this.adminUserBean.linkUser(newUser); // Fire event this.userLinkedEvent.fire(new AdminLinkedUserEvent(updatedUser)); } else { // Add new contact - User updatedUser = this.adminUserBean.addUser(user); + User updatedUser = this.adminUserBean.addUser(newUser); // Fire event this.addedUserEvent.fire(new AdminAddedUserEvent(updatedUser)); @@ -309,7 +316,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController } // Clear helper - this.beanHelper.setContact(null); + this.setContact(null); // Clear this bean this.clear(); @@ -325,7 +332,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController *

* @param event User created event */ - public void afterHelperCreatedUserEvent (@Observes final ObservableHelperCreatedUserEvent event) { + public void afterHelperCreatedUserEvent (@Observes final ObservableCreatedUserEvent event) { // Is the instance valid? if (null == event) { // Throw NPE @@ -341,12 +348,8 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController throw new NullPointerException(MessageFormat.format("event.createdUser.userId={0} is not valid", event.getCreatedUser().getUserId())); //NOI18N } - // Get user instance - User user = event.getCreatedUser(); - - // Set all fields here - this.setUserName(user.getUserName()); - this.setUserLockReason(user.getUserLastLockedReason()); + // Set whole user + this.setUser(event.getCreatedUser()); } /** @@ -384,31 +387,28 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController * @return Redirect outcome */ public String deleteUserData () { - // Get user instance into local variable - User user = this.beanHelper.getUser(); - // Is the user instance valid and CONFIRMED? - if (null == user) { + if (this.getUser() == null) { // Throw NPE throw new NullPointerException("user is null"); //NOI18N - } else if (user.getUserId() == null) { + } else if (this.getUser().getUserId() == null) { // Throw again throw new NullPointerException("user.userId is null"); //NOI18N - } else if (user.getUserId() < 1) { + } else if (this.getUser().getUserId() < 1) { // Invalid id number - throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", user.getUserId())); //NOI18N + throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", this.getUser().getUserId())); //NOI18N } try { // All fine, delete it - this.adminUserBean.deleteUser(user, this.getUserDeleteReason()); + this.adminUserBean.deleteUser(this.getUser(), this.getUserDeleteReason()); } catch (final UserNotFoundException ex) { // Should not happen, so throw again throw new FaceletException(ex); } // Fire event - this.deleteUserEvent.fire(new AdminDeletedUserEvent(user, this.getUserDeleteReason())); + this.deleteUserEvent.fire(new AdminDeletedUserEvent(this.getUser(), this.getUserDeleteReason())); // Redirect return "admin_list_user"; //NOI18N @@ -420,22 +420,19 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController * @return Redirect outcome */ public String editUserData () { - // Get user instance - User user = this.beanHelper.getUser(); - // Null password means not setting it String encryptedPassword = null; // Check if user instance is in helper and valid - if (null == user) { + if (this.getUser() == null) { // Throw NPE throw new NullPointerException("beanHelper.user is null"); //NOI18N - } else if (user.getUserId() == null) { + } else if (this.getUser().getUserId() == null) { // Throw NPE again throw new NullPointerException("beanHelper.user.userId is null"); //NOI18N - } else if (user.getUserId() < 1) { + } else if (this.getUser().getUserId() < 1) { // Invalid id - throw new IllegalStateException(MessageFormat.format("beanHelper.user.userId={0} is invalid", user.getUserId())); //NOI18N + throw new IllegalStateException(MessageFormat.format("beanHelper.user.userId={0} is invalid", this.getUser().getUserId())); //NOI18N } else if (this.getUserName() == null) { // Not all required fields are set throw new NullPointerException("this.userName is null"); //NOI18N @@ -450,7 +447,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController // Not same password entered this.showFacesMessage("form_edit_user:userPassword", "ADMIN_USER_PASSWORD_REPEAT_DIFFERENT"); //NOI18N return ""; //NOI18N - } else if ((!Objects.equals(user.getUserName(), this.getUserName())) && (this.userBean.ifUserNameExists(this.getUserName()))) { + } else if ((!Objects.equals(this.getUser().getUserName(), this.getUserName())) && (this.userBean.ifUserNameExists(this.getUserName()))) { // Clear all fields this.clear(); @@ -459,7 +456,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController return ""; //NOI18N } else if (this.isSamePasswordEntered()) { // Same password entered, create container - if ((Objects.equals(user.getUserMustChangePassword(), this.getUserMustChangePassword())) && (UserLoginUtils.ifPasswordMatches(new UserLoginContainer(user, this.getUserPassword())))) { + if ((Objects.equals(this.getUser().getUserMustChangePassword(), this.getUserMustChangePassword())) && (UserLoginUtils.ifPasswordMatches(new UserLoginContainer(this.getUser(), this.getUserPassword())))) { // Clear password fields this.setUserPassword(null); this.setUserPasswordRepeat(null); @@ -474,17 +471,17 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController } // Set user name and flag - user.setUserName(this.getUserName()); - user.setUserMustChangePassword(this.getUserMustChangePassword()); + this.getUser().setUserName(this.getUserName()); + this.getUser().setUserMustChangePassword(this.getUserMustChangePassword()); // Is a password set? if (encryptedPassword != null) { // Set it as well - user.setUserEncryptedPassword(encryptedPassword); + this.getUser().setUserEncryptedPassword(encryptedPassword); } // Call EJB for updating user data - User updatedUser = this.userBean.updateUserData(user); + User updatedUser = this.userBean.updateUserData(this.getUser()); // Fire event this.updatedUserDataEvent.fire(new AdminUpdatedUserDataEvent(updatedUser)); @@ -493,6 +490,42 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController return "admin_list_user"; //NOI18N } + /** + * Getter for contact instance + *

+ * @return Contact instance + */ + public Contact getContact () { + return this.contact; + } + + /** + * Setter for contact instance + *

+ * @param contact Contact instance + */ + public void setContact (final Contact contact) { + this.contact = contact; + } + + /** + * Getter for user instance + *

+ * @return User instance + */ + public User getUser () { + return this.user; + } + + /** + * Setter for user instance + *

+ * @param user User instance + */ + public void setUser (final User user) { + this.user = user; + } + /** * Getter for user delete reason *

@@ -627,25 +660,22 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController * @return Redirect outcome */ public String lockUserAccount () { - // Get user instance - User user = this.beanHelper.getUser(); - // Is the user instance valid and CONFIRMED? - if (null == user) { + if (this.getUser() == null) { // Throw NPE - throw new NullPointerException("user is null"); //NOI18N - } else if (user.getUserId() == null) { + throw new NullPointerException("this.user is null"); //NOI18N + } else if (this.getUser().getUserId() == null) { // Throw again - throw new NullPointerException("user.userId is null"); //NOI18N - } else if (user.getUserId() < 1) { + throw new NullPointerException("this.user.userId is null"); //NOI18N + } else if (this.getUser().getUserId() < 1) { // Invalid id number - throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", user.getUserId())); //NOI18N - } else if (user.getUserAccountStatus() == UserAccountStatus.LOCKED) { + throw new IllegalArgumentException(MessageFormat.format("this.user.userId={0} is not valid", this.getUser().getUserId())); //NOI18N + } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.LOCKED) { // User account is locked - throw new FacesException(new UserStatusLockedException(user)); - } else if (user.getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) { + throw new FacesException(new UserStatusLockedException(this.getUser())); + } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) { // User account is locked - throw new FaceletException(new UserStatusUnconfirmedException(user)); + throw new FaceletException(new UserStatusUnconfirmedException(this.getUser())); } else if (this.getUserLockReason() == null) { // Throw NPE again throw new NullPointerException("this.userLockReason is null"); //NOI18N @@ -662,7 +692,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController String baseUrl = FacesUtils.generateBaseUrl(); // Call EJB to lock account - updatedUser = this.adminUserBean.lockUserAccount(user, this.getUserLockReason(), baseUrl); + updatedUser = this.adminUserBean.lockUserAccount(this.getUser(), this.getUserLockReason(), baseUrl); } catch (final UserStatusLockedException | UserStatusUnconfirmedException | UserNotFoundException ex) { // Throw again throw new FaceletException(ex); @@ -685,25 +715,22 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController * @return Redirect outcome */ public String unlockUserAccount () { - // Get user instance - User user = this.beanHelper.getUser(); - // Is the user instance valid and CONFIRMED? - if (null == user) { + if (this.getUser() == null) { // Throw NPE - throw new NullPointerException("user is null"); //NOI18N - } else if (user.getUserId() == null) { + throw new NullPointerException("this.user is null"); //NOI18N + } else if (this.getUser().getUserId() == null) { // Throw again - throw new NullPointerException("user.userId is null"); //NOI18N - } else if (user.getUserId() < 1) { + throw new NullPointerException("this.user.userId is null"); //NOI18N + } else if (this.getUser().getUserId() < 1) { // Invalid id number - throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", user.getUserId())); //NOI18N - } else if (user.getUserAccountStatus() == UserAccountStatus.CONFIRMED) { + throw new IllegalArgumentException(MessageFormat.format("this.user.userId={0} is not valid", this.getUser().getUserId())); //NOI18N + } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.CONFIRMED) { // User account is locked - throw new FacesException(new UserStatusConfirmedException(user)); - } else if (user.getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) { + throw new FacesException(new UserStatusConfirmedException(this.getUser())); + } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) { // User account is locked - throw new FaceletException(new UserStatusUnconfirmedException(user)); + throw new FaceletException(new UserStatusUnconfirmedException(this.getUser())); } // Init updated user instance @@ -714,7 +741,7 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController String baseUrl = FacesUtils.generateBaseUrl(); // Call EJB to unlock account - updatedUser = this.adminUserBean.unlockUserAccount(user, baseUrl); + updatedUser = this.adminUserBean.unlockUserAccount(this.getUser(), baseUrl); } catch (final UserStatusConfirmedException | UserStatusUnconfirmedException | UserNotFoundException ex) { // Throw again throw new FaceletException(ex); @@ -735,11 +762,10 @@ public class FinancialsAdminUserWebRequestBean extends BaseFinancialsController */ private void clear () { // Clear all data - // - other data - this.setUserName(null); - this.setUserPassword(null); - this.setUserPasswordRepeat(null); + this.setContact(null); + this.setUserLockReason(null); this.setUserMustChangePassword(null); + this.setUserName(null); } /** diff --git a/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java b/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java index ed53c8e9..4b9da1b3 100644 --- a/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java +++ b/src/java/org/mxchange/jfinancials/beans/user/FinancialsUserWebSessionBean.java @@ -60,7 +60,7 @@ import org.mxchange.juserlogincore.events.registration.ObservableUserRegisteredE import org.mxchange.juserlogincore.events.user.password_change.ObservableUpdatedUserPasswordEvent; import org.mxchange.juserlogincore.exceptions.UserPasswordMismatchException; import org.mxchange.juserlogincore.login.UserLoginUtils; -import org.mxchange.jusercore.events.user.helper.created.ObservableHelperCreatedContactEvent; +import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent; /** * A user bean (controller) @@ -338,7 +338,7 @@ public class FinancialsUserWebSessionBean extends BaseFinancialsController imple *

* @param event User created event */ - public void afterHelperCreatedUserEvent (@Observes final ObservableHelperCreatedContactEvent event) { + public void afterHelperCreatedUserEvent (@Observes final ObservableCreatedUserEvent event) { // Is the instance valid? if (null == event) { // Throw NPE diff --git a/src/java/org/mxchange/jfinancials/beans/user/confirmlink/FinancialsConfirmationLinkWebRequestBean.java b/src/java/org/mxchange/jfinancials/beans/user/confirmlink/FinancialsConfirmationLinkWebRequestBean.java index 5be7a7d4..dffd27d5 100644 --- a/src/java/org/mxchange/jfinancials/beans/user/confirmlink/FinancialsConfirmationLinkWebRequestBean.java +++ b/src/java/org/mxchange/jfinancials/beans/user/confirmlink/FinancialsConfirmationLinkWebRequestBean.java @@ -36,6 +36,8 @@ import org.mxchange.jcoreee.utils.FacesUtils; import org.mxchange.jfinancials.beans.BaseFinancialsController; import org.mxchange.jfinancials.beans.helper.FinancialsWebRequestHelperController; import org.mxchange.jfinancials.beans.user.FinancialsUserWebSessionController; +import org.mxchange.jusercore.events.user.created.CreatedUserEvent; +import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent; import org.mxchange.jusercore.exceptions.UserStatusConfirmedException; import org.mxchange.jusercore.exceptions.UserStatusLockedException; import org.mxchange.jusercore.model.user.User; @@ -94,6 +96,13 @@ public class FinancialsConfirmationLinkWebRequestBean extends BaseFinancialsCont @Inject private FinancialsUserWebSessionController userController; + /** + * Event for when a user instance was created + */ + @Any + @Inject + private Event userCreatedEvent; + /** * Default constructor */ @@ -250,11 +259,8 @@ public class FinancialsConfirmationLinkWebRequestBean extends BaseFinancialsCont // Debug message System.out.println(MessageFormat.format("{0}.confirmUserAccount: updatedUser={1}", this.getClass().getSimpleName(), updatedUser)); //NOI18N - // Set it again in helper - this.beanHelper.setUser(updatedUser); - - // ... and copy it to the controller - this.beanHelper.copyUserToController(); + // Fire event + this.userCreatedEvent.fire(new CreatedUserEvent(updatedUser)); // Trace message System.out.println(MessageFormat.format("{0}.confirmUserAccount: EXIT!", this.getClass().getSimpleName())); //NOI18N -- 2.39.5