]> git.mxchange.org Git - addressbook-war.git/commitdiff
Continued a bit: (please cherry-pick)
authorRoland Häder <roland@mxchange.org>
Wed, 3 Aug 2016 09:03:18 +0000 (11:03 +0200)
committerRoland Haeder <roland@mxchange.org>
Sat, 6 Aug 2016 21:25:12 +0000 (23:25 +0200)
- added retrival of user's password history for current user (not admin)
- added getter in interface

Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/addressbook/beans/login/AddressbookUserLoginWebSessionBean.java
src/java/org/mxchange/addressbook/beans/login/AddressbookUserLoginWebSessionController.java

index 224255aa4a6725a4f3daaac440e014803ca42b75..a9012f2542c840a93737b031f9096f47f41bea4b 100644 (file)
@@ -17,6 +17,8 @@
 package org.mxchange.addressbook.beans.login;
 
 import java.text.MessageFormat;
+import java.util.Collections;
+import java.util.List;
 import java.util.Objects;
 import javax.enterprise.context.SessionScoped;
 import javax.enterprise.event.Event;
@@ -43,6 +45,8 @@ import org.mxchange.jusercore.exceptions.UserStatusUnconfirmedException;
 import org.mxchange.jusercore.model.login.UserLoginSessionBeanRemote;
 import org.mxchange.jusercore.model.user.User;
 import org.mxchange.jusercore.model.user.UserUtils;
+import org.mxchange.jusercore.model.user.password_history.PasswordHistory;
+import org.mxchange.jusercore.model.user.password_history.UserPasswordHistorySessionBeanRemote;
 import org.mxchange.jusercore.model.user.profilemodes.ProfileMode;
 import org.mxchange.jusercore.model.user.status.UserAccountStatus;
 
@@ -87,7 +91,7 @@ public class AddressbookUserLoginWebSessionBean extends BaseAddressbookControlle
        private User loggedInUser;
 
        /**
-        * Remote register session bean
+        * EJB for user-login
         */
        private UserLoginSessionBeanRemote loginBean;
 
@@ -123,6 +127,16 @@ public class AddressbookUserLoginWebSessionBean extends BaseAddressbookControlle
        @Any
        private Event<ObserveableUserLogoutEvent> userLogoutEvent;
 
+       /**
+        * User's password history
+        */
+       private List<PasswordHistory> userPasswordHistory;
+
+       /**
+        * EJB for user's password history
+        */
+       private UserPasswordHistorySessionBeanRemote userPasswordHistoryBean;
+
        /**
         * Default constructor
         */
@@ -134,6 +148,9 @@ public class AddressbookUserLoginWebSessionBean extends BaseAddressbookControlle
                        // Try to lookup
                        this.loginBean = (UserLoginSessionBeanRemote) context.lookup("java:global/addressbook-ejb/login!org.mxchange.jusercore.model.login.UserLoginSessionBeanRemote"); //NOI18N
 
+                       // Also find this
+                       this.userPasswordHistoryBean = (UserPasswordHistorySessionBeanRemote) context.lookup(""); //NOI18N
+
                        // Defaul template is guest
                        this.baseTemplatePathName = GUEST_BASE_TEMPLATE_NAME;
                } catch (final NamingException ex) {
@@ -175,6 +192,9 @@ public class AddressbookUserLoginWebSessionBean extends BaseAddressbookControlle
                        // All fine here so set it here
                        this.setLoggedInUser(confirmedUser);
 
+                       // Retrieve user's password list
+                       this.userPasswordHistory = this.userPasswordHistoryBean.getUserPasswordHistory(confirmedUser);
+
                        // Set template to "login"
                        this.setBaseTemplatePathName(USER_BASE_TEMPLATE_NAME); //NOI18N
 
@@ -255,6 +275,11 @@ public class AddressbookUserLoginWebSessionBean extends BaseAddressbookControlle
                this.loggedInUser = loggedInUser;
        }
 
+       @Override
+       public List<PasswordHistory> getUserPasswordHistory () {
+               return Collections.unmodifiableList(this.userPasswordHistory);
+       }
+
        @Override
        public boolean ifCurrentPasswordMatches () {
                // The current password must be set and not empty
index 826c6a2125ac0750b43cc9c1abc6c8727c7f2d04..ff4b487a5ba0d2a2af4e193bc881d54355fc3688 100644 (file)
 package org.mxchange.addressbook.beans.login;
 
 import java.io.Serializable;
+import java.util.List;
+import javax.ejb.Local;
 import org.mxchange.jusercore.model.user.User;
+import org.mxchange.jusercore.model.user.password_history.PasswordHistory;
 
 /**
  * An interface for registration web controllers
  * <p>
  * @author Roland Haeder<roland@mxchange.org>
  */
+@Local
 public interface AddressbookUserLoginWebSessionController extends Serializable {
 
        /**
@@ -112,11 +116,18 @@ public interface AddressbookUserLoginWebSessionController extends Serializable {
        String getCurrentPassword ();
 
        /**
-        * Checks whether the (previously entered) current password matches with from
-        * the user instance.
+        * Checks whether the (previously entered) current password matches with
+        * from the user instance.
         * <p>
         * @return If current password matches
         */
        boolean ifCurrentPasswordMatches ();
 
+       /**
+        * Getter for user's password history
+        * <p>
+        * @return User's password history
+        */
+       List<PasswordHistory> getUserPasswordHistory ();
+
 }