From: Roland Häder Date: Sun, 9 Jul 2017 10:53:03 +0000 (+0200) Subject: Please cherry-pick: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=c7e5d6c3b1de8eb3535f57ad322266fc320f86fc;p=addressbook-war.git Please cherry-pick: - renamed bean to userConfirmationLinkController - always handle returned (mostly updated/managed) entities, then the updated data is being handled Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/addressbook/beans/contact/AddressbookAdminContactWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/contact/AddressbookAdminContactWebRequestBean.java index 873ff7a8..9bbfe656 100644 --- a/src/java/org/mxchange/addressbook/beans/contact/AddressbookAdminContactWebRequestBean.java +++ b/src/java/org/mxchange/addressbook/beans/contact/AddressbookAdminContactWebRequestBean.java @@ -66,6 +66,10 @@ public class AddressbookAdminContactWebRequestBean extends BaseAddressbookContro * Serial number */ private static final long serialVersionUID = 542_145_347_916L; + /** + * Academic academicTitle + */ + private String academicTitle; /** * An event fired when the administrator has added a new contact @@ -226,10 +230,6 @@ public class AddressbookAdminContactWebRequestBean extends BaseAddressbookContro */ private String street; - /** - * Academic academicTitle - */ - private String academicTitle; /** * An event fired when the administrator has updated contact data @@ -541,6 +541,14 @@ public class AddressbookAdminContactWebRequestBean extends BaseAddressbookContro // Return it return number; } + @Override + public String getAcademicTitle () { + return this.academicTitle; + } + @Override + public void setAcademicTitle (final String academicTitle) { + this.academicTitle = academicTitle; + } @Override @SuppressWarnings ("ReturnOfDateField") @@ -785,15 +793,6 @@ public class AddressbookAdminContactWebRequestBean extends BaseAddressbookContro this.street = street; } - @Override - public String getAcademicTitle () { - return this.academicTitle; - } - - @Override - public void setAcademicTitle (final String academicTitle) { - this.academicTitle = academicTitle; - } @Override public Integer getZipCode () { diff --git a/src/java/org/mxchange/addressbook/beans/phone/AddressbookAdminPhoneWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/phone/AddressbookAdminPhoneWebRequestBean.java index 10259d96..5629cab0 100644 --- a/src/java/org/mxchange/addressbook/beans/phone/AddressbookAdminPhoneWebRequestBean.java +++ b/src/java/org/mxchange/addressbook/beans/phone/AddressbookAdminPhoneWebRequestBean.java @@ -91,15 +91,6 @@ public class AddressbookAdminPhoneWebRequestBean extends BaseAddressbookControll */ private DialableFaxNumber faxNumber; - /** - * land-line number - */ - private DialableLandLineNumber landLineNumber; - - /** - * mobile number - */ - private DialableMobileNumber mobileNumber; /** * Event being fired when an administrator has deleted fax number @@ -114,6 +105,10 @@ public class AddressbookAdminPhoneWebRequestBean extends BaseAddressbookControll @Inject @Any private Event faxNumberUpdatedEvent; + /** + * land-line number + */ + private DialableLandLineNumber landLineNumber; /** * Event being fired when an administrator has deleted land-line number @@ -128,6 +123,10 @@ public class AddressbookAdminPhoneWebRequestBean extends BaseAddressbookControll @Inject @Any private Event landLineNumberUpdatedEvent; + /** + * mobile number + */ + private DialableMobileNumber mobileNumber; /** * Event being fired when an administrator has deleted mobile number diff --git a/src/java/org/mxchange/addressbook/beans/profile/AddressbookUserProfileWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/profile/AddressbookUserProfileWebRequestBean.java index cc4bb3e8..4b46e971 100644 --- a/src/java/org/mxchange/addressbook/beans/profile/AddressbookUserProfileWebRequestBean.java +++ b/src/java/org/mxchange/addressbook/beans/profile/AddressbookUserProfileWebRequestBean.java @@ -23,8 +23,8 @@ import javax.faces.view.facelets.FaceletException; import javax.inject.Inject; import javax.inject.Named; import org.mxchange.addressbook.beans.BaseAddressbookController; -import org.mxchange.addressbook.beans.user.login.AddressbookUserLoginWebSessionController; import org.mxchange.addressbook.beans.user.AddressbookUserWebSessionController; +import org.mxchange.addressbook.beans.user.login.AddressbookUserLoginWebSessionController; import org.mxchange.jusercore.exceptions.UserNotFoundException; import org.mxchange.jusercore.model.user.User; import org.mxchange.jusercore.model.user.profilemodes.ProfileMode; diff --git a/src/java/org/mxchange/addressbook/beans/user/confirmlink/AddressbookConfirmationLinkWebRequestBean.java b/src/java/org/mxchange/addressbook/beans/user/confirmlink/AddressbookConfirmationLinkWebRequestBean.java index 27bd6dbc..0e3138c6 100644 --- a/src/java/org/mxchange/addressbook/beans/user/confirmlink/AddressbookConfirmationLinkWebRequestBean.java +++ b/src/java/org/mxchange/addressbook/beans/user/confirmlink/AddressbookConfirmationLinkWebRequestBean.java @@ -47,7 +47,7 @@ import org.mxchange.jusercore.model.user.status.UserAccountStatus; *

* @author Roland Häder */ -@Named ("confirmationLinkController") +@Named ("userConfirmationLinkController") @RequestScoped public class AddressbookConfirmationLinkWebRequestBean extends BaseAddressbookController implements AddressbookConfirmationLinkWebRequestController { @@ -123,6 +123,9 @@ public class AddressbookConfirmationLinkWebRequestBean extends BaseAddressbookCo @Override public void maybeConfirmUserAccount () { + // Trace message + System.out.println(MessageFormat.format("{0}.maybeConfirmAccount: CALLED!", this.getClass().getSimpleName())); //NOI18N + // Is the confirmation key set? if (this.getConfirmationKey() == null) { // May be null if not set @@ -135,6 +138,9 @@ public class AddressbookConfirmationLinkWebRequestBean extends BaseAddressbookCo // Now try to find the user in user list, first get the whole list List users = this.userController.allUsers(); + // Debug message + System.out.println(MessageFormat.format("{0}.maybeConfirmAccount: users.size()={1}", this.getClass().getSimpleName(), users.size())); //NOI18N + // Get iterator from it Iterator iterator = users.iterator(); @@ -146,41 +152,49 @@ public class AddressbookConfirmationLinkWebRequestBean extends BaseAddressbookCo // Get next user User next = iterator.next(); + // Debug message + System.out.println(MessageFormat.format("{0}.maybeConfirmAccount: this.confirmationKey={1},next.confirmationKey={2}", this.getClass().getSimpleName(), this.getConfirmationKey(), next.getUserConfirmKey())); //NOI18N + // Same confirmation key? if (Objects.equals(this.getConfirmationKey(), next.getUserConfirmKey())) { + // Debug message + System.out.println(MessageFormat.format("{0}.maybeConfirmAccount: next={1} - Aborting ...", this.getClass().getSimpleName(), next)); //NOI18N + // Found it, then set it and abort loop user = next; break; } } + // Debug message + System.out.println(MessageFormat.format("{0}.maybeConfirmAccount: user={1}", this.getClass().getSimpleName(), user)); //NOI18N + // Is the user instance null? if ((null == user) || (user.getUserAccountStatus() != UserAccountStatus.UNCONFIRMED)) { // Then clear this bean and the helper this.beanHelper.setUser(null); } else { - // Set user ... - this.beanHelper.setUser(user); - - // ... and copy it to the controller - this.beanHelper.copyUserToController(); - // Try to confirm it - this.confirmUserAccount(); + this.confirmUserAccount(user); } + + // Trace message + System.out.println(MessageFormat.format("{0}.maybeConfirmAccount: EXIT!", this.getClass().getSimpleName())); //NOI18N } /** * Tries to confirm the currently set user instance (in helper). + *

+ * @param user User instance */ - private void confirmUserAccount () { - // Get user instance - User user = this.beanHelper.getUser(); + private void confirmUserAccount (final User user) { + // Trace message + System.out.println(MessageFormat.format("{0}.confirmUserAccount: user={1} - CALLED!", this.getClass().getSimpleName(), user)); //NOI18N // Should be set if (null == user) { // Throw NPE - throw new NullPointerException("user is null"); + throw new NullPointerException("user is null"); //NOI18N } else if (user.getUserId() == null) { // Abort here throw new NullPointerException("user.userId is null"); //NOI18N @@ -196,6 +210,9 @@ public class AddressbookConfirmationLinkWebRequestBean extends BaseAddressbookCo } else if (user.getUserConfirmKey() == null) { // Throw NPE throw new NullPointerException("user.userConfirmKey is null"); //NOI18N + } else if (user.getUserConfirmKey().isEmpty()) { + // Is empty string + throw new IllegalArgumentException("user.userConfirmKey is empty"); //NOI18N } // Updated user instance @@ -205,8 +222,14 @@ public class AddressbookConfirmationLinkWebRequestBean extends BaseAddressbookCo // Get base URL String baseUrl = FacesUtils.generateBaseUrl(); + // Debug message + System.out.println(MessageFormat.format("{0}.confirmUserAccount: baseUrl={1}", this.getClass().getSimpleName(), baseUrl)); //NOI18N + // Confirm account updatedUser = this.userBean.confirmAccount(user, baseUrl); + + // Debug message + System.out.println(MessageFormat.format("{0}.confirmUserAccount: updatedUser={1} - Returned from EJB", this.getClass().getSimpleName(), updatedUser)); //NOI18N } catch (final UserStatusConfirmedException | UserStatusLockedException ex) { // Something unexpected happened throw new FaceletException(MessageFormat.format("Cannot confirm user account {0}", user.getUserName()), ex); //NOI18N @@ -215,8 +238,17 @@ public class AddressbookConfirmationLinkWebRequestBean extends BaseAddressbookCo // Fire event that the user has confirmed account this.userConfirmedEvent.fire(new UserConfirmedAccountEvent(updatedUser)); + // 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(); + + // Trace message + System.out.println(MessageFormat.format("{0}.confirmUserAccount: EXIT!", this.getClass().getSimpleName())); //NOI18N } } diff --git a/src/java/org/mxchange/addressbook/beans/user/resendlink/AddressbookResendLinkWebSessionBean.java b/src/java/org/mxchange/addressbook/beans/user/resendlink/AddressbookResendLinkWebSessionBean.java index ce0b976d..b7476266 100644 --- a/src/java/org/mxchange/addressbook/beans/user/resendlink/AddressbookResendLinkWebSessionBean.java +++ b/src/java/org/mxchange/addressbook/beans/user/resendlink/AddressbookResendLinkWebSessionBean.java @@ -36,8 +36,8 @@ import org.mxchange.jusercore.exceptions.UserEmailAddressNotFoundException; import org.mxchange.jusercore.exceptions.UserNotFoundException; import org.mxchange.jusercore.exceptions.UserStatusConfirmedException; import org.mxchange.jusercore.exceptions.UserStatusLockedException; -import org.mxchange.jusercore.model.user.resendlink.ResendLinkSessionBeanRemote; import org.mxchange.jusercore.model.user.User; +import org.mxchange.jusercore.model.user.resendlink.ResendLinkSessionBeanRemote; import org.mxchange.jusercore.model.user.status.UserAccountStatus; /** @@ -134,12 +134,15 @@ public class AddressbookResendLinkWebSessionBean extends BaseAddressbookControll throw new NullPointerException("user.userConfirmKey is null"); //NOI18N } + // Init managed user instance + User managedUser; + try { // Get base URL String baseUrl = FacesUtils.generateBaseUrl(); // Call EJB and return redirect target - this.resendLinkBean.resendConfirmationLink(user, this.localizationController.getLocale(), baseUrl); + managedUser = this.resendLinkBean.resendConfirmationLink(user, this.localizationController.getLocale(), baseUrl); } catch (final UserNotFoundException ex) { // User not found this.showFacesMessage("form_resend_link:resendEmailAddress", "ERROR_USER_NOT_FOUND"); //NOI18N @@ -150,12 +153,12 @@ public class AddressbookResendLinkWebSessionBean extends BaseAddressbookControll return ""; //NOI18N } - // Fire event - this.userResendLinkEvent.fire(new UserResendLinkAccountEvent(user)); - // Clear this bean this.clear(); + // Fire event + this.userResendLinkEvent.fire(new UserResendLinkAccountEvent(managedUser)); + // Return redirect target return "user_resend_done"; //NOI18N } diff --git a/web/guest/user/user_confirm_account.xhtml b/web/guest/user/user_confirm_account.xhtml index aeb797b4..a49b6eaa 100644 --- a/web/guest/user/user_confirm_account.xhtml +++ b/web/guest/user/user_confirm_account.xhtml @@ -10,8 +10,8 @@ - - + + @@ -24,7 +24,7 @@ - +

@@ -47,7 +47,7 @@ - +