AdminUserDAO.java
- /*
- * Copyright (c) 2002-2022, City of Paris
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice
- * and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice
- * and the following disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * 3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * License 1.0
- */
- package fr.paris.lutece.portal.business.user;
- import fr.paris.lutece.portal.business.rbac.RBACRole;
- import fr.paris.lutece.portal.business.right.Right;
- import fr.paris.lutece.portal.business.user.authentication.LuteceDefaultAdminUser;
- import fr.paris.lutece.util.password.IPassword;
- import fr.paris.lutece.util.password.IPasswordFactory;
- import fr.paris.lutece.util.sql.DAOUtil;
- import java.sql.Statement;
- import java.sql.Timestamp;
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Locale;
- import java.util.Map;
- import javax.inject.Inject;
- import org.apache.commons.collections.CollectionUtils;
- /**
- * This class porvides Data Access methods for AdminUser objects
- */
- public class AdminUserDAO implements IAdminUserDAO
- {
- // Constants
- private static final String CONSTANT_AND_STATUS = " AND status = ?";
- private static final String CONSTANT_AND_USER_LEVEL = " AND level_user = ?";
- private static final String CONSTANT_ORDER_BY_LAST_NAME = " ORDER BY last_name ";
- private static final String CONSTANT_PERCENT = "%";
- private static final String SQL_QUERY_INSERT = "INSERT INTO core_admin_user ( access_code, last_name , first_name, email, status, locale, level_user, accessibility_mode, password_max_valid_date, account_max_valid_date ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ";
- private static final String SQL_QUERY_SELECTALL = "SELECT id_user , access_code, last_name , first_name, email, status, locale, level_user, accessibility_mode, reset_password, password_max_valid_date, account_max_valid_date, last_login, workgroup_key FROM core_admin_user ORDER BY last_name ";
- private static final String SQL_QUERY_SELECT_USER_FROM_USER_ID = "SELECT id_user , access_code, last_name , first_name, email, status, password, locale, level_user, reset_password, accessibility_mode, password_max_valid_date, account_max_valid_date, workgroup_key FROM core_admin_user WHERE id_user = ? ";
- private static final String SQL_QUERY_SELECT_USER_FROM_ACCESS_CODE = "SELECT id_user, access_code, last_name, first_name, email, status, locale, level_user, reset_password, accessibility_mode, password_max_valid_date, last_login FROM core_admin_user WHERE access_code = ? ";
- private static final String SQL_QUERY_SELECT_USER_FROM_EMAIL = "SELECT access_code FROM core_admin_user WHERE email = ? ";
- private static final String SQL_QUERY_SELECT_RIGHTS_FROM_USER_ID = " SELECT a.id_right , a.name, a.admin_url , a.description , a.plugin_name, a.id_feature_group, a.icon_url, a.level_right, a.documentation_url, a.id_order, a.is_external_feature "
- + " FROM core_admin_right a , core_user_right b " + " WHERE a.id_right = b.id_right " + " AND b.id_user = ? "
- + " ORDER BY a.id_order ASC, a.id_right ASC ";
- private static final String SQL_QUERY_UPDATE = "UPDATE core_admin_user SET access_code = ? , last_name = ? , first_name = ?, email = ?, status = ?, locale = ?, reset_password = ?, accessibility_mode = ?, password_max_valid_date = ?, level_user = ? WHERE id_user = ? ";
- private static final String SQL_QUERY_DELETE = "DELETE FROM core_admin_user WHERE id_user = ? ";
- private static final String SQL_QUERY_INSERT_USER_RIGHT = "INSERT INTO core_user_right ( id_right, id_user ) VALUES ( ? , ? ) ";
- private static final String SQL_QUERY_DELETE_ALL_USER_RIGHTS = "DELETE FROM core_user_right WHERE id_user = ? ";
- private static final String SQL_QUERY_SELECT_ROLES_FROM_USER_ID = " SELECT a.role_key , a.role_description "
- + " FROM core_admin_role a , core_user_role b WHERE a.role_key = b.role_key " + " AND b.id_user = ? ORDER BY a.role_key ";
- private static final String SQL_QUERY_INSERT_USER_ROLE = " INSERT INTO core_user_role ( role_key, id_user ) VALUES ( ? , ? ) ";
- private static final String SQL_QUERY_DELETE_ALL_USER_ROLES = " DELETE FROM core_user_role WHERE id_user = ? ";
- private static final String SQL_CHECK_ROLE_ATTRIBUTED = " SELECT id_user FROM core_user_role WHERE role_key = ?";
- private static final String SQL_CHECK_ACCESS_CODE_IN_USE = " SELECT id_user FROM core_admin_user WHERE access_code = ?";
- private static final String SQL_CHECK_EMAIL_IN_USE = " SELECT id_user FROM core_admin_user WHERE email = ?";
- private static final String SQL_QUERY_INSERT_DEFAULT_USER = " INSERT INTO core_admin_user ( access_code, last_name, first_name, email, status, password, locale, level_user, accessibility_mode, reset_password, password_max_valid_date, account_max_valid_date, last_login, workgroup_key ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ";
- private static final String SQL_QUERY_UPDATE_DEFAULT_USER = " UPDATE core_admin_user SET access_code = ?, last_name = ?, first_name = ?, email = ?, status = ?, password = ?, locale = ?, reset_password = ?, accessibility_mode = ?, password_max_valid_date = ?, workgroup_key = ?, level_user = ? WHERE id_user = ? ";
- private static final String SQL_QUERY_UPDATE_DEFAULT_USER_IGNORE_PASSWORD = " UPDATE core_admin_user SET access_code = ?, last_name = ?, first_name = ?, email = ?, status = ?, locale = ?, reset_password = ?, accessibility_mode = ?, password_max_valid_date = ?, workgroup_key = ?, level_user = ? WHERE id_user = ? ";
- private static final String SQL_QUERY_SELECT_USERS_ID_BY_ROLES = " SELECT a.id_user , a.access_code, a.last_name , a.first_name, a.email, a.status, a.locale, a.accessibility_mode, a.password_max_valid_date "
- + " FROM core_admin_user a, core_user_role b WHERE a.id_user = b.id_user AND b.role_key = ? ";
- private static final String SQL_QUERY_SELECT_USER_RIGHTS_OWN = " SELECT DISTINCT b.id_right FROM core_admin_right a , core_user_right b WHERE b.id_user = ? and a.id_right = b.id_right and a.level_right >= ?";
- private static final String SQL_QUERY_SELECT_USER_RIGHTS_DELEGATED = " SELECT DISTINCT b.id_right FROM core_admin_right a , core_user_right b WHERE b.id_user = ? and a.id_right = b.id_right and a.level_right < ?";
- private static final String SQL_QUERY_DELETE_USER_RIGHTS = " DELETE FROM core_user_right WHERE id_user = ? and id_right = ?";
- private static final String SQL_QUERY_SELECT_USERS_BY_LEVEL = " SELECT a.id_user, a.access_code, a.last_name, a.first_name, a.email, a.status, a.locale, a.accessibility_mode "
- + " FROM core_admin_user a WHERE a.level_user = ? ";
- private static final String SQL_QUERY_UPDATE_USERS_ROLE = "UPDATE core_user_role SET role_key = ? WHERE role_key = ?";
- private static final String SQL_QUERY_SELECT_USER_ROLE = " SELECT id_user FROM core_user_role WHERE id_user = ? AND role_key = ? ";
- private static final String SQL_QUERY_DELETE_ROLE_FOR_USER = " DELETE FROM core_user_role WHERE id_user = ? AND role_key = ? ";
- private static final String SQL_QUERY_SELECT_USER_FROM_SEARCH = " SELECT id_user, access_code, last_name, first_name, email, status, locale, level_user, accessibility_mode "
- + " FROM core_admin_user WHERE access_code LIKE ? AND last_name LIKE ? AND email LIKE ? AND first_name LIKE ? ";
- private static final String SQL_QUERY_SELECT_USERS_BY_RIGHT = " SELECT u.id_user , u.access_code, u.last_name , u.first_name, u.email, u.status, u.locale, u.level_user, u.accessibility_mode "
- + " FROM core_admin_user u INNER JOIN core_user_right r ON u.id_user = r.id_user WHERE r.id_right = ? ";
- private static final String SQL_QUERY_SELECT_USER_RIGHT = " SELECT id_user FROM core_user_right WHERE id_user = ? AND id_right = ? ";
- private static final String SQL_SELECT_USER_PASSWORD_HISTORY = "SELECT password FROM core_user_password_history WHERE id_user = ? ORDER BY date_password_change desc";
- private static final String SQL_COUNT_USER_PASSWORD_HISTORY = "SELECT COUNT(*) FROM core_user_password_history WHERE id_user = ? AND date_password_change > ?";
- private static final String SQL_INSERT_PASSWORD_HISTORY = "INSERT INTO core_user_password_history (id_user, password) VALUES ( ?, ? ) ";
- private static final String SQL_DELETE_PASSWORD_HISTORY = "DELETE FROM core_user_password_history WHERE id_user = ?";
- private static final String SQL_SELECT_ANONYMIZATION_STATUS_USER_FILED = "SELECT field_name, anonymize from core_admin_user_anonymize_field";
- private static final String SQL_UPDATE_ANONYMIZATION_STATUS_USER_FILED = "UPDATE core_admin_user_anonymize_field SET anonymize = ? WHERE field_name = ? ";
- private static final String SQL_QUERY_SELECT_EXPIRED_USER_ID = "SELECT id_user FROM core_admin_user WHERE status = ?";
- private static final String SQL_QUERY_SELECT_EXPIRED_LIFE_TIME_USER_ID = "SELECT id_user FROM core_admin_user WHERE account_max_valid_date < ? and status < ? ";
- private static final String SQL_QUERY_SELECT_USER_ID_FIRST_ALERT = "SELECT id_user FROM core_admin_user WHERE nb_alerts_sent = 0 and status < ? and account_max_valid_date < ? ";
- private static final String SQL_QUERY_SELECT_USER_ID_OTHER_ALERT = "SELECT id_user FROM core_admin_user "
- + "WHERE nb_alerts_sent > 0 and nb_alerts_sent <= ? and status < ? and (account_max_valid_date + nb_alerts_sent * ?) < ? ";
- private static final String SQL_QUERY_SELECT_USER_ID_PASSWORD_EXPIRED = " SELECT id_user FROM core_admin_user WHERE password_max_valid_date < ? AND reset_password = 0 ";
- private static final String SQL_QUERY_UPDATE_STATUS = " UPDATE core_admin_user SET status = ? WHERE id_user IN ( ";
- private static final String SQL_QUERY_UPDATE_NB_ALERT = " UPDATE core_admin_user SET nb_alerts_sent = nb_alerts_sent + 1 WHERE id_user IN ( ";
- private static final String SQL_QUERY_UPDATE_RESET_PASSWORD_LIST_ID = " UPDATE core_admin_user SET reset_password = 1 WHERE id_user IN ( ";
- private static final String SQL_QUERY_UPDATE_REACTIVATE_ACCOUNT = " UPDATE core_admin_user SET nb_alerts_sent = 0, account_max_valid_date = ? WHERE id_user = ? ";
- private static final String SQL_QUERY_UPDATE_DATE_LAST_LOGIN = " UPDATE core_admin_user SET last_login = ? WHERE id_user = ? ";
- private static final String CONSTANT_CLOSE_PARENTHESIS = " ) ";
- private static final String CONSTANT_COMMA = ", ";
- @Inject
- private IPasswordFactory _passwordFactory;
- /**
- * {@inheritDoc}
- */
- @Override
- public AdminUser load( int nUserId )
- {
- AdminUser user = null;
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USER_FROM_USER_ID ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.executeQuery( );
- if ( daoUtil.next( ) )
- {
- user = new AdminUser( );
- user.setUserId( daoUtil.getInt( 1 ) );
- user.setAccessCode( daoUtil.getString( 2 ) );
- user.setLastName( daoUtil.getString( 3 ) );
- user.setFirstName( daoUtil.getString( 4 ) );
- user.setEmail( daoUtil.getString( 5 ) );
- user.setStatus( daoUtil.getInt( 6 ) );
- user.setLocale( new Locale( daoUtil.getString( 8 ) ) );
- user.setUserLevel( daoUtil.getInt( 9 ) );
- user.setPasswordReset( daoUtil.getBoolean( 10 ) );
- user.setAccessibilityMode( daoUtil.getBoolean( 11 ) );
- user.setPasswordMaxValidDate( daoUtil.getTimestamp( 12 ) );
- long accountTime = daoUtil.getLong( 13 );
- if ( accountTime > 0 )
- {
- user.setAccountMaxValidDate( new Timestamp( accountTime ) );
- }
- }
- }
- return user;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public AdminUser selectUserByAccessCode( String strUserAccessCode )
- {
- AdminUser user = null;
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USER_FROM_ACCESS_CODE ) )
- {
- daoUtil.setString( 1, strUserAccessCode );
- daoUtil.executeQuery( );
- if ( daoUtil.next( ) )
- {
- user = new AdminUser( );
- user.setUserId( daoUtil.getInt( 1 ) );
- user.setAccessCode( daoUtil.getString( 2 ) );
- user.setLastName( daoUtil.getString( 3 ) );
- user.setFirstName( daoUtil.getString( 4 ) );
- user.setEmail( daoUtil.getString( 5 ) );
- user.setStatus( daoUtil.getInt( 6 ) );
- user.setLocale( new Locale( daoUtil.getString( 7 ) ) );
- user.setUserLevel( daoUtil.getInt( 8 ) );
- user.setPasswordReset( daoUtil.getBoolean( 9 ) );
- user.setAccessibilityMode( daoUtil.getBoolean( 10 ) );
- user.setPasswordMaxValidDate( daoUtil.getTimestamp( 11 ) );
- Timestamp dateLastLogin = daoUtil.getTimestamp( 12 );
- if ( ( dateLastLogin != null ) && !dateLastLogin.equals( AdminUser.getDefaultDateLastLogin( ) ) )
- {
- user.setDateLastLogin( dateLastLogin );
- }
- }
- }
- return user;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public <T extends AdminUser> T selectUserByAccessCode(String strUserAccessCode, T user) {
-
- if(user != null)
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USER_FROM_ACCESS_CODE ) )
- {
- daoUtil.setString( 1, strUserAccessCode );
- daoUtil.executeQuery( );
-
- if ( daoUtil.next( ) )
- {
- user.setUserId( daoUtil.getInt( 1 ) );
- user.setAccessCode( daoUtil.getString( 2 ) );
- user.setLastName( daoUtil.getString( 3 ) );
- user.setFirstName( daoUtil.getString( 4 ) );
- user.setEmail( daoUtil.getString( 5 ) );
- user.setStatus( daoUtil.getInt( 6 ) );
- user.setLocale( new Locale( daoUtil.getString( 7 ) ) );
- user.setUserLevel( daoUtil.getInt( 8 ) );
- user.setPasswordReset( daoUtil.getBoolean( 9 ) );
- user.setAccessibilityMode( daoUtil.getBoolean( 10 ) );
- user.setPasswordMaxValidDate( daoUtil.getTimestamp( 11 ) );
-
- Timestamp dateLastLogin = daoUtil.getTimestamp( 12 );
-
- if ( ( dateLastLogin != null ) && !dateLastLogin.equals( AdminUser.getDefaultDateLastLogin( ) ) )
- {
- user.setDateLastLogin( dateLastLogin );
- }
- }
- else
- {
- //there is no user in database with strUserAccessCode the user return must be null
- user= null;
- }
-
-
- }
- }
- return user;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public String selectUserByEmail( String strEmail )
- {
- String strAccessCode = null;
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USER_FROM_EMAIL ) )
- {
- daoUtil.setString( 1, strEmail );
- daoUtil.executeQuery( );
- if ( daoUtil.next( ) )
- {
- strAccessCode = daoUtil.getString( 1 );
- }
- }
- return strAccessCode;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<AdminUser> selectUserList( )
- {
- Collection<AdminUser> userList = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL ) )
- {
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- AdminUser user = new AdminUser( );
- user.setUserId( daoUtil.getInt( 1 ) );
- user.setAccessCode( daoUtil.getString( 2 ) );
- user.setLastName( daoUtil.getString( 3 ) );
- user.setFirstName( daoUtil.getString( 4 ) );
- user.setEmail( daoUtil.getString( 5 ) );
- user.setStatus( daoUtil.getInt( 6 ) );
- user.setLocale( new Locale( daoUtil.getString( 7 ) ) );
- user.setUserLevel( daoUtil.getInt( 8 ) );
- user.setAccessibilityMode( daoUtil.getBoolean( 9 ) );
- user.setPasswordReset( daoUtil.getBoolean( 10 ) );
- user.setPasswordMaxValidDate( daoUtil.getTimestamp( 11 ) );
- long accountTime = daoUtil.getLong( 12 );
- if ( accountTime > 0 )
- {
- user.setAccountMaxValidDate( new Timestamp( accountTime ) );
- }
- Timestamp dateLastLogin = daoUtil.getTimestamp( 13 );
- if ( ( dateLastLogin != null ) && !dateLastLogin.equals( AdminUser.getDefaultDateLastLogin( ) ) )
- {
- user.setDateLastLogin( dateLastLogin );
- }
- user.setWorkgroupKey( daoUtil.getString( 14 ) );
- userList.add( user );
- }
- }
- return userList;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void insert( AdminUser user )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, Statement.RETURN_GENERATED_KEYS ) )
- {
- int nIndex = 1;
- daoUtil.setString( nIndex++, user.getAccessCode( ) );
- daoUtil.setString( nIndex++, user.getLastName( ) );
- daoUtil.setString( nIndex++, user.getFirstName( ) );
- daoUtil.setString( nIndex++, user.getEmail( ) );
- daoUtil.setInt( nIndex++, user.getStatus( ) );
- daoUtil.setString( nIndex++, user.getLocale( ).toString( ) );
- daoUtil.setInt( nIndex++, user.getUserLevel( ) );
- daoUtil.setBoolean( nIndex++, user.getAccessibilityMode( ) );
- daoUtil.setTimestamp( nIndex++, user.getPasswordMaxValidDate( ) );
- if ( user.getAccountMaxValidDate( ) == null )
- {
- daoUtil.setLongNull( nIndex );
- }
- else
- {
- daoUtil.setLong( nIndex, user.getAccountMaxValidDate( ).getTime( ) );
- }
- daoUtil.executeUpdate( );
- if ( daoUtil.nextGeneratedKey( ) )
- {
- user.setUserId( daoUtil.getGeneratedKeyInt( 1 ) );
- }
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void store( AdminUser user )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE ) )
- {
- daoUtil.setString( 1, user.getAccessCode( ) );
- daoUtil.setString( 2, user.getLastName( ) );
- daoUtil.setString( 3, user.getFirstName( ) );
- daoUtil.setString( 4, user.getEmail( ) );
- daoUtil.setInt( 5, user.getStatus( ) );
- daoUtil.setString( 6, user.getLocale( ).toString( ) );
- daoUtil.setBoolean( 7, user.isPasswordReset( ) );
- daoUtil.setBoolean( 8, user.getAccessibilityMode( ) );
- daoUtil.setTimestamp( 9, user.getPasswordMaxValidDate( ) );
- daoUtil.setInt( 10, user.getUserLevel( ) );
- daoUtil.setInt( 11, user.getUserId( ) );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void delete( int nUserId )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Map<String, Right> selectRightsListForUser( int nUserId )
- {
- Map<String, Right> rightsMap = new HashMap<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_RIGHTS_FROM_USER_ID ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- Right right = new Right( );
- right.setId( daoUtil.getString( 1 ) );
- right.setNameKey( daoUtil.getString( 2 ) );
- right.setUrl( daoUtil.getString( 3 ) );
- right.setDescriptionKey( daoUtil.getString( 4 ) );
- right.setPluginName( daoUtil.getString( 5 ) );
- right.setFeatureGroup( daoUtil.getString( 6 ) );
- right.setIconUrl( daoUtil.getString( 7 ) );
- right.setLevel( daoUtil.getInt( 8 ) );
- right.setDocumentationUrl( daoUtil.getString( 9 ) );
- right.setOrder( daoUtil.getInt( 10 ) );
- right.setExternalFeature( daoUtil.getBoolean( 11 ) );
- rightsMap.put( right.getId( ), right );
- }
- }
- return rightsMap;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void insertRightsListForUser( int nUserId, String strRightId )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT_USER_RIGHT ) )
- {
- daoUtil.setString( 1, strRightId );
- daoUtil.setInt( 2, nUserId );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void deleteAllRightsForUser( int nUserId )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_ALL_USER_RIGHTS ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Map<String, RBACRole> selectRolesListForUser( int nUserId )
- {
- Map<String, RBACRole> rolesMap = new HashMap<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_ROLES_FROM_USER_ID ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- RBACRole role = new RBACRole( );
- role.setKey( daoUtil.getString( 1 ) );
- role.setDescription( daoUtil.getString( 2 ) );
- rolesMap.put( role.getKey( ), role );
- }
- }
- return rolesMap;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void insertRolesListForUser( int nUserId, String strRoleKey )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT_USER_ROLE ) )
- {
- daoUtil.setString( 1, strRoleKey );
- daoUtil.setInt( 2, nUserId );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void deleteAllRolesForUser( int nUserId )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_ALL_USER_ROLES ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean checkRoleAttributed( String strRoleKey )
- {
- boolean bInUse = false;
- try ( DAOUtil daoUtil = new DAOUtil( SQL_CHECK_ROLE_ATTRIBUTED ) )
- {
- daoUtil.setString( 1, strRoleKey );
- daoUtil.executeQuery( );
- if ( daoUtil.next( ) )
- {
- bInUse = true;
- }
- }
- return bInUse;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public int checkAccessCodeAlreadyInUse( String strAccessCode )
- {
- int nIdUser = -1;
- try ( DAOUtil daoUtil = new DAOUtil( SQL_CHECK_ACCESS_CODE_IN_USE ) )
- {
- daoUtil.setString( 1, strAccessCode );
- daoUtil.executeQuery( );
- if ( daoUtil.next( ) )
- {
- nIdUser = daoUtil.getInt( 1 );
- }
- }
- return nIdUser;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public int checkEmailAlreadyInUse( String strEmail )
- {
- int nIdUser = -1;
- try ( DAOUtil daoUtil = new DAOUtil( SQL_CHECK_EMAIL_IN_USE ) )
- {
- daoUtil.setString( 1, strEmail );
- daoUtil.executeQuery( );
- if ( daoUtil.next( ) )
- {
- nIdUser = daoUtil.getInt( 1 );
- }
- }
- return nIdUser;
- }
- // ////////////////////////////////////////////////////////////////
- // for no-module mode
- /**
- * {@inheritDoc}
- */
- @Override
- public void insert( LuteceDefaultAdminUser user )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT_DEFAULT_USER, Statement.RETURN_GENERATED_KEYS ) )
- {
- int nIndex = 1;
- daoUtil.setString( nIndex++, user.getAccessCode( ) );
- daoUtil.setString( nIndex++, user.getLastName( ) );
- daoUtil.setString( nIndex++, user.getFirstName( ) );
- daoUtil.setString( nIndex++, user.getEmail( ) );
- daoUtil.setInt( nIndex++, user.getStatus( ) );
- daoUtil.setString( nIndex++, user.getPassword( ).getStorableRepresentation( ) );
- daoUtil.setString( nIndex++, user.getLocale( ).toString( ) );
- daoUtil.setInt( nIndex++, user.getUserLevel( ) );
- daoUtil.setBoolean( nIndex++, user.getAccessibilityMode( ) );
- daoUtil.setBoolean( nIndex++, user.isPasswordReset( ) );
- daoUtil.setTimestamp( nIndex++, user.getPasswordMaxValidDate( ) );
- if ( user.getAccountMaxValidDate( ) == null )
- {
- daoUtil.setLongNull( nIndex++ );
- }
- else
- {
- daoUtil.setLong( nIndex++, user.getAccountMaxValidDate( ).getTime( ) );
- }
- daoUtil.setTimestamp( nIndex++, user.getDateLastLogin( ) );
- daoUtil.setString( nIndex, user.getWorkgroupKey( ) );
- daoUtil.executeUpdate( );
- if ( daoUtil.nextGeneratedKey( ) )
- {
- user.setUserId( daoUtil.getGeneratedKeyInt( 1 ) );
- }
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void store( LuteceDefaultAdminUser user, PasswordUpdateMode passwordMode )
- {
- String query = SQL_QUERY_UPDATE_DEFAULT_USER_IGNORE_PASSWORD;
- if ( PasswordUpdateMode.UPDATE.equals( passwordMode ) )
- {
- query = SQL_QUERY_UPDATE_DEFAULT_USER;
- }
- try ( DAOUtil daoUtil = new DAOUtil( query ) )
- {
- int nArgIndex = 1;
- daoUtil.setString( nArgIndex++, user.getAccessCode( ) );
- daoUtil.setString( nArgIndex++, user.getLastName( ) );
- daoUtil.setString( nArgIndex++, user.getFirstName( ) );
- daoUtil.setString( nArgIndex++, user.getEmail( ) );
- daoUtil.setInt( nArgIndex++, user.getStatus( ) );
- if ( PasswordUpdateMode.UPDATE.equals( passwordMode ) )
- {
- daoUtil.setString( nArgIndex++, user.getPassword( ).getStorableRepresentation( ) );
- }
- daoUtil.setString( nArgIndex++, user.getLocale( ).toString( ) );
- daoUtil.setBoolean( nArgIndex++, user.isPasswordReset( ) );
- daoUtil.setBoolean( nArgIndex++, user.getAccessibilityMode( ) );
- daoUtil.setTimestamp( nArgIndex++, user.getPasswordMaxValidDate( ) );
- daoUtil.setString( nArgIndex++, user.getWorkgroupKey( ) );
- daoUtil.setInt( nArgIndex++, user.getUserLevel( ) );
- daoUtil.setInt( nArgIndex++, user.getUserId( ) );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public LuteceDefaultAdminUser loadDefaultAdminUser( int nUserId )
- {
- LuteceDefaultAdminUser user = new LuteceDefaultAdminUser( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USER_FROM_USER_ID ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.executeQuery( );
- if ( daoUtil.next( ) )
- {
- user.setUserId( daoUtil.getInt( 1 ) );
- user.setAccessCode( daoUtil.getString( 2 ) );
- user.setLastName( daoUtil.getString( 3 ) );
- user.setFirstName( daoUtil.getString( 4 ) );
- user.setEmail( daoUtil.getString( 5 ) );
- user.setStatus( daoUtil.getInt( 6 ) );
- user.setPassword( _passwordFactory.getPassword( daoUtil.getString( 7 ) ) );
- Locale locale = new Locale( daoUtil.getString( 8 ) );
- user.setLocale( locale );
- user.setUserLevel( daoUtil.getInt( 9 ) );
- user.setPasswordReset( daoUtil.getBoolean( 10 ) );
- user.setAccessibilityMode( daoUtil.getBoolean( 11 ) );
- user.setWorkgroupKey( daoUtil.getString( 14 ) );
- }
- }
- return user;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<AdminUser> selectUsersByRole( String strRoleKey )
- {
- Collection<AdminUser> userList = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USERS_ID_BY_ROLES ) )
- {
- daoUtil.setString( 1, strRoleKey );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- AdminUser user = new AdminUser( );
- user.setUserId( daoUtil.getInt( 1 ) );
- user.setAccessCode( daoUtil.getString( 2 ) );
- user.setLastName( daoUtil.getString( 3 ) );
- user.setFirstName( daoUtil.getString( 4 ) );
- user.setEmail( daoUtil.getString( 5 ) );
- user.setStatus( daoUtil.getInt( 6 ) );
- user.setLocale( new Locale( daoUtil.getString( 7 ) ) );
- user.setAccessibilityMode( daoUtil.getBoolean( 8 ) );
- user.setPasswordMaxValidDate( daoUtil.getTimestamp( 9 ) );
- userList.add( user );
- }
- }
- return userList;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<AdminUser> selectUsersByLevel( int nIdLevel )
- {
- Collection<AdminUser> userList = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USERS_BY_LEVEL ) )
- {
- daoUtil.setInt( 1, nIdLevel );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- AdminUser user = new AdminUser( );
- user.setUserId( daoUtil.getInt( 1 ) );
- user.setAccessCode( daoUtil.getString( 2 ) );
- user.setLastName( daoUtil.getString( 3 ) );
- user.setFirstName( daoUtil.getString( 4 ) );
- user.setEmail( daoUtil.getString( 5 ) );
- user.setStatus( daoUtil.getInt( 6 ) );
- user.setLocale( new Locale( daoUtil.getString( 7 ) ) );
- user.setAccessibilityMode( daoUtil.getBoolean( 8 ) );
- userList.add( user );
- }
- }
- return userList;
- }
- /**
- * Select rights by user, by user level and by type (Delegated or own)
- *
- * @param nUserId
- * the id of the user
- * @param nUserLevel
- * the id of the user level
- * @param bDelegated
- * true if select concern delegated rights
- * @return collection of id rights
- */
- private Collection<String> selectIdRights( int nUserId, int nUserLevel, boolean bDelegated )
- {
- String strSqlQuery = bDelegated ? SQL_QUERY_SELECT_USER_RIGHTS_DELEGATED : SQL_QUERY_SELECT_USER_RIGHTS_OWN;
- Collection<String> idRightList = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( strSqlQuery ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.setInt( 2, nUserLevel );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- idRightList.add( daoUtil.getString( 1 ) );
- }
- }
- return idRightList;
- }
- /**
- * Deletes rights by user and by id right
- *
- * @param nUserId
- * the user id
- * @param idRightList
- * the list of rights to delete
- */
- private void deleteRightsForUser( int nUserId, Collection<String> idRightList )
- {
- for ( String strIdRight : idRightList )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_USER_RIGHTS ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.setString( 2, strIdRight );
- daoUtil.executeUpdate( );
- }
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void deleteAllOwnRightsForUser( int nUserId, int nUserLevel )
- {
- Collection<String> idRightList = selectIdRights( nUserId, nUserLevel, false );
- deleteRightsForUser( nUserId, idRightList );
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void deleteAllDelegatedRightsForUser( int nUserId, int nUserLevel )
- {
- Collection<String> idRightList = selectIdRights( nUserId, nUserLevel, true );
- deleteRightsForUser( nUserId, idRightList );
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void storeUsersRole( String strOldRoleKey, RBACRole role )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE_USERS_ROLE ) )
- {
- daoUtil.setString( 1, role.getKey( ) );
- daoUtil.setString( 2, strOldRoleKey );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean hasRole( int nUserId, String strRoleKey )
- {
- boolean bHasRole = false;
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USER_ROLE ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.setString( 2, strRoleKey );
- daoUtil.executeQuery( );
- if ( daoUtil.next( ) )
- {
- bHasRole = true;
- }
- }
- return bHasRole;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void deleteRoleForUser( int nUserId, String strRoleKey )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_ROLE_FOR_USER ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.setString( 2, strRoleKey );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<AdminUser> selectUsersByFilter( AdminUserFilter auFilter )
- {
- Collection<AdminUser> userList = new ArrayList<>( );
- String query = SQL_QUERY_SELECT_USER_FROM_SEARCH;
- if ( auFilter.getStatus( ) != -1 )
- {
- query += CONSTANT_AND_STATUS;
- }
- if ( auFilter.getUserLevel( ) != -1 )
- {
- query += CONSTANT_AND_USER_LEVEL;
- }
- query += CONSTANT_ORDER_BY_LAST_NAME;
- try ( DAOUtil daoUtil = new DAOUtil( query ) )
- {
- int nIndex = 0;
- daoUtil.setString( ++nIndex, CONSTANT_PERCENT + auFilter.getAccessCode( ) + CONSTANT_PERCENT );
- daoUtil.setString( ++nIndex, CONSTANT_PERCENT + auFilter.getLastName( ) + CONSTANT_PERCENT );
- daoUtil.setString( ++nIndex, CONSTANT_PERCENT + auFilter.getEmail( ) + CONSTANT_PERCENT );
- daoUtil.setString( ++nIndex, CONSTANT_PERCENT + auFilter.getFirstName( ) + CONSTANT_PERCENT );
- if ( auFilter.getStatus( ) != -1 )
- {
- daoUtil.setInt( ++nIndex, auFilter.getStatus( ) );
- }
- if ( auFilter.getUserLevel( ) != -1 )
- {
- daoUtil.setInt( ++nIndex, auFilter.getUserLevel( ) );
- }
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- AdminUser user = new AdminUser( );
- user.setUserId( daoUtil.getInt( 1 ) );
- user.setAccessCode( daoUtil.getString( 2 ) );
- user.setLastName( daoUtil.getString( 3 ) );
- user.setFirstName( daoUtil.getString( 4 ) );
- user.setEmail( daoUtil.getString( 5 ) );
- user.setStatus( daoUtil.getInt( 6 ) );
- user.setLocale( new Locale( daoUtil.getString( 7 ) ) );
- user.setUserLevel( daoUtil.getInt( 8 ) );
- user.setAccessibilityMode( daoUtil.getBoolean( 9 ) );
- userList.add( user );
- }
- }
- return userList;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Collection<AdminUser> selectUsersByRight( String strIdRight )
- {
- Collection<AdminUser> userList = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USERS_BY_RIGHT ) )
- {
- daoUtil.setString( 1, strIdRight );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- AdminUser user = new AdminUser( );
- user.setUserId( daoUtil.getInt( 1 ) );
- user.setAccessCode( daoUtil.getString( 2 ) );
- user.setLastName( daoUtil.getString( 3 ) );
- user.setFirstName( daoUtil.getString( 4 ) );
- user.setEmail( daoUtil.getString( 5 ) );
- user.setStatus( daoUtil.getInt( 6 ) );
- user.setLocale( new Locale( daoUtil.getString( 7 ) ) );
- user.setUserLevel( daoUtil.getInt( 8 ) );
- user.setAccessibilityMode( daoUtil.getBoolean( 9 ) );
- userList.add( user );
- }
- }
- return userList;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean hasRight( int nUserId, String strIdRight )
- {
- boolean bHasRight = false;
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USER_RIGHT ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.setString( 2, strIdRight );
- daoUtil.executeQuery( );
- if ( daoUtil.next( ) )
- {
- bHasRight = true;
- }
- }
- return bHasRight;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void deleteRightForUser( int nUserId, String strIdRight )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_USER_RIGHTS ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.setString( 2, strIdRight );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public List<IPassword> selectUserPasswordHistory( int nUserID )
- {
- List<IPassword> listPasswordHistory = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_SELECT_USER_PASSWORD_HISTORY ) )
- {
- daoUtil.setInt( 1, nUserID );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- listPasswordHistory.add( _passwordFactory.getPassword( daoUtil.getString( 1 ) ) );
- }
- }
- return listPasswordHistory;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public int countUserPasswordHistoryFromDate( Timestamp minDate, int nUserId )
- {
- int nNbRes = 0;
- try ( DAOUtil daoUtil = new DAOUtil( SQL_COUNT_USER_PASSWORD_HISTORY ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.setTimestamp( 2, minDate );
- daoUtil.executeQuery( );
- if ( daoUtil.next( ) )
- {
- nNbRes = daoUtil.getInt( 1 );
- }
- }
- return nNbRes;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void insertNewPasswordInHistory( IPassword password, int nUserId )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_INSERT_PASSWORD_HISTORY ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.setString( 2, password.getStorableRepresentation( ) );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void removeAllPasswordHistoryForUser( int nUserId )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_DELETE_PASSWORD_HISTORY ) )
- {
- daoUtil.setInt( 1, nUserId );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public Map<String, Boolean> selectAnonymizationStatusUserStaticField( )
- {
- Map<String, Boolean> resultMap = new HashMap<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_SELECT_ANONYMIZATION_STATUS_USER_FILED ) )
- {
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- resultMap.put( daoUtil.getString( 1 ), daoUtil.getBoolean( 2 ) );
- }
- }
- return resultMap;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void updateAnonymizationStatusUserStaticField( String strFieldName, boolean bAnonymizeFiled )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_UPDATE_ANONYMIZATION_STATUS_USER_FILED ) )
- {
- daoUtil.setBoolean( 1, bAnonymizeFiled );
- daoUtil.setString( 2, strFieldName );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public List<Integer> findAllExpiredUserId( )
- {
- List<Integer> listIdExpiredUser = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_EXPIRED_USER_ID ) )
- {
- daoUtil.setInt( 1, AdminUser.EXPIRED_CODE );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- listIdExpiredUser.add( daoUtil.getInt( 1 ) );
- }
- }
- return listIdExpiredUser;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public List<Integer> getIdUsersWithExpiredLifeTimeList( Timestamp currentTimestamp )
- {
- List<Integer> listIdExpiredUser = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_EXPIRED_LIFE_TIME_USER_ID ) )
- {
- daoUtil.setLong( 1, currentTimestamp.getTime( ) );
- daoUtil.setInt( 2, AdminUser.EXPIRED_CODE );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- listIdExpiredUser.add( daoUtil.getInt( 1 ) );
- }
- }
- return listIdExpiredUser;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public List<Integer> getIdUsersToSendFirstAlert( Timestamp alertMaxDate )
- {
- List<Integer> listIdUserFirstAlert = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USER_ID_FIRST_ALERT ) )
- {
- daoUtil.setInt( 1, AdminUser.EXPIRED_CODE );
- daoUtil.setLong( 2, alertMaxDate.getTime( ) );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- listIdUserFirstAlert.add( daoUtil.getInt( 1 ) );
- }
- }
- return listIdUserFirstAlert;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public List<Integer> getIdUsersToSendOtherAlert( Timestamp alertMaxDate, Timestamp timeBetweenAlerts, int maxNumberAlerts )
- {
- List<Integer> listIdUserFirstAlert = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USER_ID_OTHER_ALERT ) )
- {
- daoUtil.setInt( 1, maxNumberAlerts );
- daoUtil.setInt( 2, AdminUser.EXPIRED_CODE );
- daoUtil.setLong( 3, timeBetweenAlerts.getTime( ) );
- daoUtil.setLong( 4, alertMaxDate.getTime( ) );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- listIdUserFirstAlert.add( daoUtil.getInt( 1 ) );
- }
- }
- return listIdUserFirstAlert;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public List<Integer> getIdUsersWithExpiredPasswordsList( Timestamp currentTimestamp )
- {
- List<Integer> idUserPasswordExpiredlist = new ArrayList<>( );
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_USER_ID_PASSWORD_EXPIRED ) )
- {
- daoUtil.setTimestamp( 1, currentTimestamp );
- daoUtil.executeQuery( );
- while ( daoUtil.next( ) )
- {
- idUserPasswordExpiredlist.add( daoUtil.getInt( 1 ) );
- }
- }
- return idUserPasswordExpiredlist;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void updateUserStatus( List<Integer> listIdUser, int nNewStatus )
- {
- if ( CollectionUtils.isNotEmpty( listIdUser ) )
- {
- StringBuilder sbSQL = new StringBuilder( );
- sbSQL.append( SQL_QUERY_UPDATE_STATUS );
- for ( int i = 0; i < listIdUser.size( ); i++ )
- {
- if ( i > 0 )
- {
- sbSQL.append( CONSTANT_COMMA );
- }
- sbSQL.append( listIdUser.get( i ) );
- }
- sbSQL.append( CONSTANT_CLOSE_PARENTHESIS );
- try ( DAOUtil daoUtil = new DAOUtil( sbSQL.toString( ) ) )
- {
- daoUtil.setInt( 1, nNewStatus );
- daoUtil.executeUpdate( );
- }
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void updateNbAlert( List<Integer> listIdUser )
- {
- if ( CollectionUtils.isNotEmpty( listIdUser ) )
- {
- StringBuilder sbSQL = new StringBuilder( );
- sbSQL.append( SQL_QUERY_UPDATE_NB_ALERT );
- for ( int i = 0; i < listIdUser.size( ); i++ )
- {
- if ( i > 0 )
- {
- sbSQL.append( CONSTANT_COMMA );
- }
- sbSQL.append( listIdUser.get( i ) );
- }
- sbSQL.append( CONSTANT_CLOSE_PARENTHESIS );
- try ( DAOUtil daoUtil = new DAOUtil( sbSQL.toString( ) ) )
- {
- daoUtil.executeUpdate( );
- }
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void updateChangePassword( List<Integer> listIdUser )
- {
- if ( CollectionUtils.isNotEmpty( listIdUser ) )
- {
- StringBuilder sbSQL = new StringBuilder( );
- sbSQL.append( SQL_QUERY_UPDATE_RESET_PASSWORD_LIST_ID );
- for ( int i = 0; i < listIdUser.size( ); i++ )
- {
- if ( i > 0 )
- {
- sbSQL.append( CONSTANT_COMMA );
- }
- sbSQL.append( listIdUser.get( i ) );
- }
- sbSQL.append( CONSTANT_CLOSE_PARENTHESIS );
- try ( DAOUtil daoUtil = new DAOUtil( sbSQL.toString( ) ) )
- {
- daoUtil.executeUpdate( );
- }
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void updateUserExpirationDate( int nIdUser, Timestamp newExpirationDate )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE_REACTIVATE_ACCOUNT ) )
- {
- if ( newExpirationDate == null )
- {
- daoUtil.setLongNull( 1 );
- }
- else
- {
- daoUtil.setLong( 1, newExpirationDate.getTime( ) );
- }
- daoUtil.setInt( 2, nIdUser );
- daoUtil.executeUpdate( );
- }
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public void updateDateLastLogin( int nIdUser, Timestamp dateLastLogin )
- {
- try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE_DATE_LAST_LOGIN ) )
- {
- daoUtil.setTimestamp( 1, dateLastLogin );
- daoUtil.setInt( 2, nIdUser );
- daoUtil.executeUpdate( );
- }
- }
-
- }