fr.paris.lutece.portal.business.user
Class AdminUserDAO

java.lang.Object
  extended by fr.paris.lutece.portal.business.user.AdminUserDAO
All Implemented Interfaces:
IAdminUserDAO

public class AdminUserDAO
extends Object
implements IAdminUserDAO

This class porvides Data Access methods for AdminUser objects


Constructor Summary
AdminUserDAO()
           
 
Method Summary
 int checkAccessCodeAlreadyInUse(String strAccessCode)
          Checks the availibility of an access code
 int checkEmailAlreadyInUse(String strEmail)
          Checks the availibility of an email
 boolean checkRoleAttributed(String strRoleKey)
          Checks wether the role is in use or not
 int countUserPasswordHistoryFromDate(Timestamp minDate, int nUserId)
          Get the number of password change done by a user since the given date.
 void delete(int nUserId)
          Delete an user
 void deleteAllDelegatedRightsForUser(int nUserId, int nUserLevel)
          Deletes rights delegated by user ie rights with level < userlevel
 void deleteAllOwnRightsForUser(int nUserId, int nUserLevel)
          Deletes all rights owned by user ie rights with level >= userlevel
 void deleteAllRightsForUser(int nUserId)
          Delete all rights owned by an user
 void deleteAllRolesForUser(int nUserId)
          Remove all rights from an user
 void deleteRightForUser(int nUserId, String strIdRight)
          Remove a right for an user
 void deleteRoleForUser(int nUserId, String strRoleKey)
          Remove role for an user
 List<Integer> findAllExpiredUserId()
          Get the list of id of user with the expired status.
 List<Integer> getIdUsersToSendFirstAlert(Timestamp alertMaxDate)
          Get the list of id of users that need to receive their first alert
 List<Integer> getIdUsersToSendOtherAlert(Timestamp alertMaxDate, Timestamp timeBetweenAlerts, int maxNumberAlerts)
          Get the list of id of users that need to receive their first alert
 List<Integer> getIdUsersWithExpiredLifeTimeList(Timestamp currentTimestamp)
          Get the list of id of users that have an expired time life but not the expired status
 List<Integer> getIdUsersWithExpiredPasswordsList(Timestamp currentTimestamp)
          Get the list of id of users that have an expired password but not the change password flag
 boolean hasRight(int nUserId, String strIdRight)
          Check if the user has the given right
 boolean hasRole(int nUserId, String strRoleKey)
          Check if the user has the role
 void insert(AdminUser user)
          Insert a new record in the table.
 void insert(LuteceDefaultAdminUser user)
          Insert a new record in the table.
 void insertNewPasswordInHistory(String strPassword, int nUserId)
          Log a password change in the password history
 void insertRightsListForUser(int nUserId, String strRightId)
          Add a right to an user
 void insertRolesListForUser(int nUserId, String strRoleKey)
          Gives a role to an user
 AdminUser load(int nUserId)
          Load an AdminUser
 LuteceDefaultAdminUser loadDefaultAdminUser(int nUserId)
          Load a default AdminUser
 int newPrimaryKey()
          Generates a new primary key
 void removeAllPasswordHistoryForUser(int nUserId)
          Remove every password saved in the password history for a given user.
 Map<String,Boolean> selectAnonymizationStatusUserStaticField()
          Get a map of anonymization status of a user field.
 Map<String,Right> selectRightsListForUser(int nUserId)
          Get the right list associated to a given user id
 Map<String,AdminRole> selectRolesListForUser(int nUserId)
          Get the role list associated to a given user id
 AdminUser selectUserByAccessCode(String strUserAccessCode)
          Get an user by its access code (login)
 String selectUserByEmail(String strEmail)
          Get the user access code from its email.
 Collection<AdminUser> selectUserList()
          Gets the collection of all AdminUsers
 List<String> selectUserPasswordHistory(int nUserID)
          Gets the history of password of the given user
 Collection<AdminUser> selectUsersByFilter(AdminUserFilter auFilter)
          Select users by filter
 Collection<AdminUser> selectUsersByLevel(int nIdLevel)
          Select all user that own a given level
 Collection<AdminUser> selectUsersByRight(String strIdRight)
          Get all users having a given right
 Collection<AdminUser> selectUsersByRole(String strRoleKey)
          Gets a collection of AdminUser that share a given role
 void store(AdminUser user)
          Update AdminUser data
 void store(LuteceDefaultAdminUser user)
          Update AdminUser data
 void storeUsersRole(String strOldRoleKey, AdminRole role)
          Update role key if role key name has change
 void updateAnonymizationStatusUserStaticField(String strFieldName, boolean bAnonymizeFiled)
          Update the anonymization status of a user field.
 void updateChangePassword(List<Integer> listIdUser)
          Set the "change password" flag of users to true
 void updateDateLastLogin(int nIdUser, Timestamp dateLastLogin)
          Update the admin user last login date.
 void updateNbAlert(List<Integer> listIdUser)
          Increment the number of alert send to users by 1
 void updateUserExpirationDate(int nIdUser, Timestamp newExpirationDate)
          Update the admin user expiration date with the new values.
 void updateUserStatus(List<Integer> listIdUser, int nNewStatus)
          Update status of a list of user accounts
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AdminUserDAO

public AdminUserDAO()
Method Detail

load

public AdminUser load(int nUserId)
Load an AdminUser

Specified by:
load in interface IAdminUserDAO
Parameters:
nUserId - the user id
Returns:
user

selectUserByAccessCode

public AdminUser selectUserByAccessCode(String strUserAccessCode)
Get an user by its access code (login)

Specified by:
selectUserByAccessCode in interface IAdminUserDAO
Parameters:
strUserAccessCode - the login
Returns:
The user found, otherwise null

selectUserByEmail

public String selectUserByEmail(String strEmail)
Get the user access code from its email.

Specified by:
selectUserByEmail in interface IAdminUserDAO
Parameters:
strEmail - The email
Returns:
The access code of the user with the given email, or null if no user has been found

selectUserList

public Collection<AdminUser> selectUserList()
Gets the collection of all AdminUsers

Specified by:
selectUserList in interface IAdminUserDAO
Returns:
The user list

newPrimaryKey

public int newPrimaryKey()
Generates a new primary key

Specified by:
newPrimaryKey in interface IAdminUserDAO
Returns:
nKey

insert

public void insert(AdminUser user)
Insert a new record in the table.

Specified by:
insert in interface IAdminUserDAO
Parameters:
user - The AdminUser

store

public void store(AdminUser user)
Update AdminUser data

Specified by:
store in interface IAdminUserDAO
Parameters:
user - The AdminUser

delete

public void delete(int nUserId)
Delete an user

Specified by:
delete in interface IAdminUserDAO
Parameters:
nUserId - the user id

selectRightsListForUser

public Map<String,Right> selectRightsListForUser(int nUserId)
Get the right list associated to a given user id

Specified by:
selectRightsListForUser in interface IAdminUserDAO
Parameters:
nUserId - the id of the user to retrieve rights
Returns:
the right list as a collection of strings

insertRightsListForUser

public void insertRightsListForUser(int nUserId,
                                    String strRightId)
Add a right to an user

Specified by:
insertRightsListForUser in interface IAdminUserDAO
Parameters:
nUserId - the user id
strRightId - the right id

deleteAllRightsForUser

public void deleteAllRightsForUser(int nUserId)
Delete all rights owned by an user

Specified by:
deleteAllRightsForUser in interface IAdminUserDAO
Parameters:
nUserId - the user id

selectRolesListForUser

public Map<String,AdminRole> selectRolesListForUser(int nUserId)
Get the role list associated to a given user id

Specified by:
selectRolesListForUser in interface IAdminUserDAO
Parameters:
nUserId - the id of the user to retrieve roles
Returns:
the role list

insertRolesListForUser

public void insertRolesListForUser(int nUserId,
                                   String strRoleKey)
Gives a role to an user

Specified by:
insertRolesListForUser in interface IAdminUserDAO
Parameters:
nUserId - the user id
strRoleKey - the key role

deleteAllRolesForUser

public void deleteAllRolesForUser(int nUserId)
Remove all rights from an user

Specified by:
deleteAllRolesForUser in interface IAdminUserDAO
Parameters:
nUserId - the user id

checkRoleAttributed

public boolean checkRoleAttributed(String strRoleKey)
Checks wether the role is in use or not

Specified by:
checkRoleAttributed in interface IAdminUserDAO
Parameters:
strRoleKey - the role key to check
Returns:
user ID if the emaile is already used by another user, -1 otherwise

checkAccessCodeAlreadyInUse

public int checkAccessCodeAlreadyInUse(String strAccessCode)
Checks the availibility of an access code

Specified by:
checkAccessCodeAlreadyInUse in interface IAdminUserDAO
Parameters:
strAccessCode - The access code
Returns:
user ID if the access code is already used by another user, -1 otherwise

checkEmailAlreadyInUse

public int checkEmailAlreadyInUse(String strEmail)
Checks the availibility of an email

Specified by:
checkEmailAlreadyInUse in interface IAdminUserDAO
Parameters:
strEmail - The email
Returns:
True if the email is already used by another user

insert

public void insert(LuteceDefaultAdminUser user)
Insert a new record in the table.

Specified by:
insert in interface IAdminUserDAO
Parameters:
user - The AdminUser

store

public void store(LuteceDefaultAdminUser user)
Update AdminUser data

Specified by:
store in interface IAdminUserDAO
Parameters:
user - The AdminUser

loadDefaultAdminUser

public LuteceDefaultAdminUser loadDefaultAdminUser(int nUserId)
Load a default AdminUser

Specified by:
loadDefaultAdminUser in interface IAdminUserDAO
Parameters:
nUserId - the user id
Returns:
user

selectUsersByRole

public Collection<AdminUser> selectUsersByRole(String strRoleKey)
Gets a collection of AdminUser that share a given role

Specified by:
selectUsersByRole in interface IAdminUserDAO
Parameters:
strRoleKey - The role key
Returns:
The user List

selectUsersByLevel

public Collection<AdminUser> selectUsersByLevel(int nIdLevel)
Select all user that own a given level

Specified by:
selectUsersByLevel in interface IAdminUserDAO
Parameters:
nIdLevel - The level
Returns:
userList The user's list

deleteAllOwnRightsForUser

public void deleteAllOwnRightsForUser(int nUserId,
                                      int nUserLevel)
Deletes all rights owned by user ie rights with level >= userlevel

Specified by:
deleteAllOwnRightsForUser in interface IAdminUserDAO
Parameters:
nUserId - the user id
nUserLevel - the user level

deleteAllDelegatedRightsForUser

public void deleteAllDelegatedRightsForUser(int nUserId,
                                            int nUserLevel)
Deletes rights delegated by user ie rights with level < userlevel

Specified by:
deleteAllDelegatedRightsForUser in interface IAdminUserDAO
Parameters:
nUserId - the user id
nUserLevel - the user level

storeUsersRole

public void storeUsersRole(String strOldRoleKey,
                           AdminRole role)
Update role key if role key name has change

Specified by:
storeUsersRole in interface IAdminUserDAO
Parameters:
strOldRoleKey - The old role key name
role - The new role

hasRole

public boolean hasRole(int nUserId,
                       String strRoleKey)
Check if the user has the role

Specified by:
hasRole in interface IAdminUserDAO
Parameters:
nUserId - The ID of the user
strRoleKey - The role Key
Returns:
true if the user has the role

deleteRoleForUser

public void deleteRoleForUser(int nUserId,
                              String strRoleKey)
Remove role for an user

Specified by:
deleteRoleForUser in interface IAdminUserDAO
Parameters:
nUserId - The ID of the user
strRoleKey - The role key

selectUsersByFilter

public Collection<AdminUser> selectUsersByFilter(AdminUserFilter auFilter)
Select users by filter

Specified by:
selectUsersByFilter in interface IAdminUserDAO
Parameters:
auFilter - the filter
Returns:
a list of AdminUser

selectUsersByRight

public Collection<AdminUser> selectUsersByRight(String strIdRight)
Get all users having a given right

Specified by:
selectUsersByRight in interface IAdminUserDAO
Parameters:
strIdRight - The ID right
Returns:
A collection of AdminUser

hasRight

public boolean hasRight(int nUserId,
                        String strIdRight)
Check if the user has the given right

Specified by:
hasRight in interface IAdminUserDAO
Parameters:
nUserId - The ID of the user
strIdRight - The ID right
Returns:
true if the user has the right

deleteRightForUser

public void deleteRightForUser(int nUserId,
                               String strIdRight)
Remove a right for an user

Specified by:
deleteRightForUser in interface IAdminUserDAO
Parameters:
nUserId - The user ID
strIdRight - The right ID

selectUserPasswordHistory

public List<String> selectUserPasswordHistory(int nUserID)
Gets the history of password of the given user

Specified by:
selectUserPasswordHistory in interface IAdminUserDAO
Parameters:
nUserID - Id of the user
Returns:
The collection of recent passwords used by the user.

countUserPasswordHistoryFromDate

public int countUserPasswordHistoryFromDate(Timestamp minDate,
                                            int nUserId)
Get the number of password change done by a user since the given date.

Specified by:
countUserPasswordHistoryFromDate in interface IAdminUserDAO
Parameters:
minDate - Minimum date to consider.
nUserId - Id of the user
Returns:
The number of password change done by the user since the given date.

insertNewPasswordInHistory

public void insertNewPasswordInHistory(String strPassword,
                                       int nUserId)
Log a password change in the password history

Specified by:
insertNewPasswordInHistory in interface IAdminUserDAO
Parameters:
strPassword - New password of the user
nUserId - Id of the user

removeAllPasswordHistoryForUser

public void removeAllPasswordHistoryForUser(int nUserId)
Remove every password saved in the password history for a given user.

Specified by:
removeAllPasswordHistoryForUser in interface IAdminUserDAO
Parameters:
nUserId - Id of the user

selectAnonymizationStatusUserStaticField

public Map<String,Boolean> selectAnonymizationStatusUserStaticField()
Get a map of anonymization status of a user field.

Specified by:
selectAnonymizationStatusUserStaticField in interface IAdminUserDAO
Returns:
A map containing the associations of user field name and a boolean describing whether the field should be anonymized.

updateAnonymizationStatusUserStaticField

public void updateAnonymizationStatusUserStaticField(String strFieldName,
                                                     boolean bAnonymizeFiled)
Update the anonymization status of a user field.

Specified by:
updateAnonymizationStatusUserStaticField in interface IAdminUserDAO
Parameters:
strFieldName - Name of the field to update
bAnonymizeFiled - True if the field should be anonymized, false otherwise

findAllExpiredUserId

public List<Integer> findAllExpiredUserId()
Get the list of id of user with the expired status.

Specified by:
findAllExpiredUserId in interface IAdminUserDAO
Returns:
The list of if of user with the expired status.

getIdUsersWithExpiredLifeTimeList

public List<Integer> getIdUsersWithExpiredLifeTimeList(Timestamp currentTimestamp)
Get the list of id of users that have an expired time life but not the expired status

Specified by:
getIdUsersWithExpiredLifeTimeList in interface IAdminUserDAO
Parameters:
currentTimestamp - Timestamp describing the current time.
Returns:
the list of id of users with expired time life

getIdUsersToSendFirstAlert

public List<Integer> getIdUsersToSendFirstAlert(Timestamp alertMaxDate)
Get the list of id of users that need to receive their first alert

Specified by:
getIdUsersToSendFirstAlert in interface IAdminUserDAO
Parameters:
alertMaxDate - The maximum date to send alerts.
Returns:
the list of id of users that need to receive their first alert

getIdUsersToSendOtherAlert

public List<Integer> getIdUsersToSendOtherAlert(Timestamp alertMaxDate,
                                                Timestamp timeBetweenAlerts,
                                                int maxNumberAlerts)
Get the list of id of users that need to receive their first alert

Specified by:
getIdUsersToSendOtherAlert in interface IAdminUserDAO
Parameters:
alertMaxDate - The maximum date to send alerts.
timeBetweenAlerts - Timestamp describing the time between two alerts.
maxNumberAlerts - Maximum number of alerts to send to a user
Returns:
the list of id of users that need to receive their first alert

getIdUsersWithExpiredPasswordsList

public List<Integer> getIdUsersWithExpiredPasswordsList(Timestamp currentTimestamp)
Get the list of id of users that have an expired password but not the change password flag

Specified by:
getIdUsersWithExpiredPasswordsList in interface IAdminUserDAO
Parameters:
currentTimestamp - Timestamp describing the current time.
Returns:
the list of id of users with expired passwords

updateUserStatus

public void updateUserStatus(List<Integer> listIdUser,
                             int nNewStatus)
Update status of a list of user accounts

Specified by:
updateUserStatus in interface IAdminUserDAO
Parameters:
listIdUser - List of user accounts to update
nNewStatus - New status of the user

updateNbAlert

public void updateNbAlert(List<Integer> listIdUser)
Increment the number of alert send to users by 1

Specified by:
updateNbAlert in interface IAdminUserDAO
Parameters:
listIdUser - The list of users to update

updateChangePassword

public void updateChangePassword(List<Integer> listIdUser)
Set the "change password" flag of users to true

Specified by:
updateChangePassword in interface IAdminUserDAO
Parameters:
listIdUser - The list of users to update

updateUserExpirationDate

public void updateUserExpirationDate(int nIdUser,
                                     Timestamp newExpirationDate)
Update the admin user expiration date with the new values. Also update his alert account to 0

Specified by:
updateUserExpirationDate in interface IAdminUserDAO
Parameters:
nIdUser - Id of the admin user to update
newExpirationDate - New expiration date of the user

updateDateLastLogin

public void updateDateLastLogin(int nIdUser,
                                Timestamp dateLastLogin)
Update the admin user last login date.

Specified by:
updateDateLastLogin in interface IAdminUserDAO
Parameters:
nIdUser - Id of the admin user to update
dateLastLogin - New last login date of the user


Copyright © 2014 Mairie de Paris. All Rights Reserved.