]> git.mxchange.org Git - jjobs-war.git/commitdiff
Please cherry-pick:
authorRoland Häder <roland@mxchange.org>
Sun, 30 Jul 2017 20:16:54 +0000 (22:16 +0200)
committerRoland Häder <roland@mxchange.org>
Sun, 30 Jul 2017 21:01:05 +0000 (23:01 +0200)
- don't clear user names or passwords directly, let an event do it

Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java
src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionController.java
src/java/org/mxchange/jjobs/beans/user/register/JobsUserRegisterWebSessionBean.java

index 1a915770c4abe0795a59024f4ee0b715d1b99045..d07f7c6a8b90c15053de9c0c8bdf2b949816f4a2 100644 (file)
@@ -39,6 +39,8 @@ import org.mxchange.jjobs.beans.features.JobsFeaturesWebApplicationController;
 import org.mxchange.jjobs.beans.localization.JobsLocalizationSessionController;
 import org.mxchange.jjobs.beans.user.login.JobsUserLoginWebSessionController;
 import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent;
+import org.mxchange.jusercore.events.user.clear.password.ObservableClearUserPasswordEvent;
+import org.mxchange.jusercore.events.user.clear.username.ObservableClearUserNameEvent;
 import org.mxchange.jusercore.events.user.delete.ObservableAdminDeletedUserEvent;
 import org.mxchange.jusercore.events.user.helper.created.ObservableHelperCreatedUserEvent;
 import org.mxchange.jusercore.events.user.linked.ObservableAdminLinkedUserEvent;
@@ -552,17 +554,36 @@ public class JobsUserWebSessionBean extends BaseJobsController implements JobsUs
                return this.visibleUserList;
        }
 
-       @Override
-       public void clearUserName () {
+       /**
+        * Event observer for when a user name should be cleared
+        * <p>
+        * @param event Event being fired
+        */
+       public void clearUserNameEvent (@Observes final ObservableClearUserNameEvent event) {
+               // Is it valid?
+               if (null == event) {
+                       // Throw NPE
+                       throw new NullPointerException("event is null");
+               }
+
                // Clear it
-               this.setUserName(null);
+               this.clearUserName();
        }
 
-       @Override
-       public void clearUserPasswords () {
-               // Clear both
-               this.setUserPassword(null);
-               this.setUserPasswordRepeat(null);
+       /**
+        * Event observer for when both user passwords should be cleared
+        * <p>
+        * @param event Event being fired
+        */
+       public void clearUserPasswordEvent (@Observes final ObservableClearUserPasswordEvent event) {
+               // Is it valid?
+               if (null == event) {
+                       // Throw NPE
+                       throw new NullPointerException("event is null");
+               }
+
+               // Clear it
+               this.clearUserPasswords();
        }
 
        @Override
@@ -1035,6 +1056,23 @@ public class JobsUserWebSessionBean extends BaseJobsController implements JobsUs
                this.clearUserPasswords();
        }
 
+       /**
+        * Clears user name
+        */
+       private void clearUserName () {
+               // Clear it
+               this.setUserName(null);
+       }
+
+       /**
+        * Clears both user passwords
+        */
+       private void clearUserPasswords () {
+               // Clear both
+               this.setUserPassword(null);
+               this.setUserPasswordRepeat(null);
+       }
+
        /**
         * Copies given user into the controller
         * <p>
index ec16ac09bdd366889e68b31d2115fcddc6b0d0f0..8a754557121553c735aeee1161dc83b5cdaf75c7 100644 (file)
@@ -44,16 +44,6 @@ public interface JobsUserWebSessionController extends Serializable {
         */
        String getUserPassword ();
 
-       /**
-        * Clears both user passwords
-        */
-       void clearUserPasswords ();
-
-       /**
-        * Clears user name
-        */
-       void clearUserName ();
-
        /**
         * Checks if both user passwords are left empty and if this is enabled
         * (allowed) in context parameter. If true, the calling bean should create a
index dff3b2cc2e71f32438c69266390c98310c4aba01..f1dd0182319f5b0431e9d6718c299ac84318c39f 100644 (file)
@@ -34,6 +34,10 @@ import org.mxchange.jjobs.beans.contact.JobsContactWebSessionController;
 import org.mxchange.jjobs.beans.features.JobsFeaturesWebApplicationController;
 import org.mxchange.jjobs.beans.user.JobsAdminUserWebRequestController;
 import org.mxchange.jjobs.beans.user.JobsUserWebSessionController;
+import org.mxchange.jusercore.events.user.clear.password.ClearUserPasswordEvent;
+import org.mxchange.jusercore.events.user.clear.password.ObservableClearUserPasswordEvent;
+import org.mxchange.jusercore.events.user.clear.username.ClearUserNameEvent;
+import org.mxchange.jusercore.events.user.clear.username.ObservableClearUserNameEvent;
 import org.mxchange.jusercore.exceptions.DataRepeatMismatchException;
 import org.mxchange.jusercore.exceptions.EmailAddressAlreadyRegisteredException;
 import org.mxchange.jusercore.exceptions.UserNameAlreadyRegisteredException;
@@ -98,6 +102,20 @@ public class JobsUserRegisterWebSessionBean extends BaseJobsController implement
        @Any
        private Event<ObservableUpdatedUserPasswordEvent> userPasswordChangedEvent;
 
+       /**
+        * An event being fired when a user name should be cleared
+        */
+       @Inject
+       @Any
+       private Event<ObservableClearUserNameEvent> clearUserNameEvent;
+
+       /**
+        * An event being fired when a user password should be cleared
+        */
+       @Inject
+       @Any
+       private Event<ObservableClearUserPasswordEvent> clearUserPasswordEvent;
+
        /**
         * An event being fired when a new user has registered
         */
@@ -145,8 +163,10 @@ public class JobsUserRegisterWebSessionBean extends BaseJobsController implement
                                // User name is already used, should not happen here
                                throw new FaceletException(new UserNameAlreadyRegisteredException(user));
                        } else {
-                               // May happen here, reset field
-                               this.userController.clearUserName();
+                               // May happen here, fire event
+                               this.clearUserNameEvent.fire(new ClearUserNameEvent());
+
+                               // Output message
                                this.showFacesMessage("form_register_single:userName", "ERROR_USER_NAME_ALREADY_USED"); //NOI18N
                                return ""; //NOI18N
                        }
@@ -254,7 +274,9 @@ public class JobsUserRegisterWebSessionBean extends BaseJobsController implement
                        throw new NullPointerException("user is null after createUserInstance() was called"); //NOI18N
                } else if ((this.featureController.isFeatureEnabled("user_login_require_user_name")) && (this.userController.isUserNameRegistered(user))) { //NOI18N
                        // User name is already used, so clear it
-                       this.userController.clearUserName();
+                       this.clearUserNameEvent.fire(new ClearUserNameEvent());
+
+                       // Output message
                        this.showFacesMessage("form_register_page1:userName", "ERROR_USER_NAME_ALREADY_USED"); //NOI18N
                        return ""; //NOI18N
                } else if (!this.contactController.isSameEmailAddressEntered()) {
@@ -266,7 +288,7 @@ public class JobsUserRegisterWebSessionBean extends BaseJobsController implement
                        // Is multi-page enabled?
                        if (this.featureController.isFeatureEnabled("user_register_multiple_page")) { //NOI18N
                                // Unset both
-                               this.userController.clearUserPasswords();
+                               this.clearUserPasswordEvent.fire(new ClearUserPasswordEvent());
 
                                // Output faces message
                                this.showFacesMessage("form_register_page1:userPassword", "ERROR_USER_PASSWORD_EMPTY"); //NOI18N