com.engiweb.profilemanager.common.interfaces

Interface IAccountDirect

  • All Superinterfaces:
    common.direct.IDirect


    public interface IAccountDirect
    extends common.direct.IDirect
    The IAccount interface allows a client to retrieve and manage all information about account objects.
    Author:
    CrossIdeas developer group
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.String COPYRIGHT
      Copyright
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method and Description
      AccountBean add(AccountBean accountBean, boolean skipPwdHistoryCheck, com.engiweb.pm.dao.db.DAO dao)
      Adds a new account if it not exists yet.
      AccountBean add(AccountBean accountBean, com.engiweb.pm.dao.db.DAO dao)
      Adds a new account if it not exists yet.
      void changePwd(AccountBean accountBean, java.lang.String oldPwd, java.lang.String newPwd, boolean isAdm, boolean forceChangePassword, com.engiweb.pm.dao.db.DAO connDao) 
      void changePwd(AccountBean accountBean, java.lang.String oldPwd, java.lang.String newPwd, boolean isAdm, com.engiweb.pm.dao.db.DAO dao)
      Updates password related to an existing account.
      void checkPwdSyntax(PwdCfgBean pwdCfgBean, java.lang.String candidatePwd, com.engiweb.pm.dao.db.DAO dao)
      Check password syntax.
      void consolidateAccount(AccountBean accountBean, boolean removeOthers, com.engiweb.pm.dao.db.DAO connDao)
      consolidate entitlements to single Default accountBean and clean up the redundant ones
      java.util.HashMap<AccountType,java.lang.Long> countInfoAccount(PwdCfgBean pwdCfgBean, com.engiweb.pm.dao.db.DAO dao)
      Count info account.
      com.engiweb.pm.entity.BeanList<AccountBean> find(AccountBean accountBean, com.engiweb.pm.entity.Paging paging, com.engiweb.pm.dao.db.DAO dao)
      Returns a list of accounts filtered by a passed AccountBean object.
      java.util.Map<java.lang.String,java.util.AbstractMap.SimpleEntry<com.engiweb.profilemanager.common.bean.targetattr.PwdCfgAttrKeyBean,java.util.List<com.engiweb.profilemanager.common.bean.targetattr.PwdManagementAttrValBean>>> findAllAccountAttrKeyWithValue(AccountBean account, java.lang.String languageCode, java.lang.String languageCountry, com.engiweb.pm.dao.db.DAO connDao) 
      com.engiweb.pm.entity.BeanList<ApplicationBean> findApplication(ApplicationBean appBean, AccountBean accountBean, com.engiweb.pm.entity.Paging paging, java.lang.String code_scope, com.engiweb.pm.dao.db.DAO connDao)
      Find account's applications
      java.util.Map<java.lang.String,java.util.List<com.engiweb.profilemanager.common.bean.targetattr.PwdManagementAttrValBean>> findAttrValue(com.engiweb.profilemanager.common.bean.targetattr.PwdCfgAttrKeyBean filterKey, AccountBean account, com.engiweb.pm.dao.db.DAO connDao) 
      com.engiweb.pm.entity.BeanList<com.engiweb.profilemanager.common.bean.targetattr.PwdManagementAttrValBean> findAttrValue(com.engiweb.profilemanager.common.bean.targetattr.PwdCfgAttrKeyBean attrKeyBean, AccountBean account, com.engiweb.pm.entity.Paging paging, com.engiweb.pm.dao.db.DAO connDao) 
      com.engiweb.pm.entity.BeanList<EntitlementBean> findEntitlement(EntitlementBean entBean, ApplicationBean appBean, AccountBean accountBean, com.engiweb.pm.entity.Paging paging, java.lang.String code_scope, com.engiweb.pm.dao.db.DAO connDao)
      Find account's entitlements
      java.lang.String getRandomPwd(UserBean userBean, AccountBean acctBean, PwdCfgBean pwdCfgB, com.engiweb.pm.dao.db.DAO connDao)
      Check password syntax.
      void insertAttrValue(com.engiweb.pm.entity.BeanList<com.engiweb.profilemanager.common.bean.targetattr.PwdManagementAttrValBean> pwdManAttributeBean, com.engiweb.profilemanager.common.bean.targetattr.PwdCfgAttrKeyBean attrKeyBean, AccountBean account, com.engiweb.pm.dao.db.DAO connDao) 
      com.engiweb.pm.entity.BeanList<EntitlementBean> matchAccount(UserBean uBean, AccountBean accountBean, boolean riexecuteTargetEvent, com.engiweb.pm.dao.db.DAO dao)
      Match account.
      AccountBean modify(AccountBean accountBean, com.engiweb.pm.dao.db.DAO dao)
      Updates an existing account.
      void remove(AccountBean accountBean, com.engiweb.pm.dao.db.DAO dao)
      Deletes an existing accountBean.
      void removeAndRefreshSOD(AccountBean accountBean, boolean refreshUserSOD, com.engiweb.pm.dao.db.DAO connDao) 
      java.lang.String resolvePlaceHolder(java.lang.Long personId, java.lang.String placeHolder, com.engiweb.pm.dao.db.DAO connDao)
      Resolves the placeholder with the mapped attribute value of the person
      void synchronizePassword(UserBean owner, com.engiweb.pm.entity.BeanList<AccountBean> accountBeanList, java.lang.String igiPwd, java.lang.String newPwd, boolean isAdm, boolean findOthers, com.engiweb.pm.dao.db.DAO connDao)
      Updates password and synchronizes other account password related to existing accounts with the same password.
      com.engiweb.pm.entity.BeanList<EntitlementBean> unMatchAccount(AccountBean accountBean, com.engiweb.pm.dao.db.DAO dao)
      Unmatch account.
      void updateAccount(AccountBean accountBean, com.engiweb.pm.dao.db.DAO dao) 
      void updateAccount(com.engiweb.pm.entity.BeanList<AccountBean> accountBeanList, AccountBean accountBeanWithValuesSet, com.engiweb.pm.dao.db.DAO dao)
      Updates a list of account according to values set in the object accountBeanWithValuesSet.
      java.util.List<java.lang.Integer> validatePasswordSyntax(PwdCfgBean pwdCfgBean, UserBean userBean, java.lang.String candidatePwd, com.engiweb.pm.dao.db.DAO dao)
      Validate password syntax.
      • Methods inherited from interface common.direct.IDirect

        checkAB, deleteAB, insertAB, modifyAB, openDAO, openDAO
    • Method Detail

      • insertAttrValue

        void insertAttrValue(com.engiweb.pm.entity.BeanList<com.engiweb.profilemanager.common.bean.targetattr.PwdManagementAttrValBean> pwdManAttributeBean,
                             com.engiweb.profilemanager.common.bean.targetattr.PwdCfgAttrKeyBean attrKeyBean,
                             AccountBean account,
                             com.engiweb.pm.dao.db.DAO connDao)
                      throws com.engiweb.toolkit.common.BackendException
        Parameters:
        pwdManAttributeBean -
        attrKeyBean -
        account -
        connDao -
        Throws:
        com.engiweb.toolkit.common.BackendException
      • findAttrValue

        com.engiweb.pm.entity.BeanList<com.engiweb.profilemanager.common.bean.targetattr.PwdManagementAttrValBean> findAttrValue(com.engiweb.profilemanager.common.bean.targetattr.PwdCfgAttrKeyBean attrKeyBean,
                                                                                                                                 AccountBean account,
                                                                                                                                 com.engiweb.pm.entity.Paging paging,
                                                                                                                                 com.engiweb.pm.dao.db.DAO connDao)
                                                                                                                          throws com.engiweb.toolkit.common.BackendException
        Parameters:
        attrKeyBean -
        account -
        paging -
        connDao -
        Returns:
        Throws:
        com.engiweb.toolkit.common.BackendException
      • findAttrValue

        java.util.Map<java.lang.String,java.util.List<com.engiweb.profilemanager.common.bean.targetattr.PwdManagementAttrValBean>> findAttrValue(com.engiweb.profilemanager.common.bean.targetattr.PwdCfgAttrKeyBean filterKey,
                                                                                                                                                 AccountBean account,
                                                                                                                                                 com.engiweb.pm.dao.db.DAO connDao)
                                                                                                                                          throws com.engiweb.toolkit.common.BackendException
        Parameters:
        filterKey -
        account -
        connDao -
        Returns:
        Throws:
        com.engiweb.toolkit.common.BackendException
      • find

        com.engiweb.pm.entity.BeanList<AccountBean> find(AccountBean accountBean,
                                                         com.engiweb.pm.entity.Paging paging,
                                                         com.engiweb.pm.dao.db.DAO dao)
                                                  throws com.engiweb.toolkit.common.BackendException
        Returns a list of accounts filtered by a passed AccountBean object.
        Parameters:
        accountBean - AccountBean the account
        paging - Pagingthe paging
        dao - DAO the connection dao
        Returns:
        BeanList of AccountBean
        Throws:
        com.engiweb.toolkit.common.BackendException - the backend exception
      • add

        AccountBean add(AccountBean accountBean,
                        com.engiweb.pm.dao.db.DAO dao)
                 throws com.engiweb.toolkit.common.BackendException
        Adds a new account if it not exists yet.
        Parameters:
        accountBean - AccountBean the account to add
        dao - DAO the connection dao
        Returns:
        AccountBean added
        Throws:
        com.engiweb.toolkit.common.BackendException - the pM security exception
        com.engiweb.toolkit.common.BackendException
      • add

        AccountBean add(AccountBean accountBean,
                        boolean skipPwdHistoryCheck,
                        com.engiweb.pm.dao.db.DAO dao)
                 throws com.engiweb.toolkit.common.BackendException
        Adds a new account if it not exists yet.
        Parameters:
        accountBean - AccountBean the account to add
        skipPwdHistoryCheck -
        dao - DAO the connection dao
        Returns:
        AccountBean added
        Throws:
        com.engiweb.toolkit.common.BackendException - the pM security exception
        com.engiweb.toolkit.common.BackendException
      • modify

        AccountBean modify(AccountBean accountBean,
                           com.engiweb.pm.dao.db.DAO dao)
                    throws com.engiweb.toolkit.common.BackendException
        Updates an existing account.
        Parameters:
        accountBean - AccountBean the account to modify
        dao - DAO the connection dao
        Returns:
        AccountBean modified
        Throws:
        com.engiweb.toolkit.common.BackendException - the pM security exception
        com.engiweb.toolkit.common.BackendException
      • remove

        void remove(AccountBean accountBean,
                    com.engiweb.pm.dao.db.DAO dao)
             throws com.engiweb.toolkit.common.BackendException
        Deletes an existing accountBean.
        Parameters:
        accountBean - AccountBean the account to remove
        dao - DAO the connection dao
        Throws:
        com.engiweb.toolkit.common.BackendException - the pM security exception
        com.engiweb.toolkit.common.BackendException
      • changePwd

        void changePwd(AccountBean accountBean,
                       java.lang.String oldPwd,
                       java.lang.String newPwd,
                       boolean isAdm,
                       com.engiweb.pm.dao.db.DAO dao)
                throws com.engiweb.toolkit.common.BackendException
        Updates password related to an existing account.
        Parameters:
        accountBean - AccountBean the account
        oldPwd - String the old password
        newPwd - String the new password
        dao - DAO the connection dao
        Throws:
        com.engiweb.toolkit.common.BackendException - the pM security exception
        com.engiweb.toolkit.common.BackendException
      • changePwd

        void changePwd(AccountBean accountBean,
                       java.lang.String oldPwd,
                       java.lang.String newPwd,
                       boolean isAdm,
                       boolean forceChangePassword,
                       com.engiweb.pm.dao.db.DAO connDao)
                throws com.engiweb.toolkit.common.BackendException
        Parameters:
        accountBean - AccountBean the account
        oldPwd - String the old password
        newPwd - String the new password
        isAdm -
        forceChangePassword - Boolean set a force change password for the user
        connDao -
        Throws:
        com.engiweb.toolkit.common.BackendException
      • updateAccount

        void updateAccount(com.engiweb.pm.entity.BeanList<AccountBean> accountBeanList,
                           AccountBean accountBeanWithValuesSet,
                           com.engiweb.pm.dao.db.DAO dao)
                    throws com.engiweb.toolkit.common.BackendException
        Updates a list of account according to values set in the object accountBeanWithValuesSet.
        Parameters:
        accountBeanList - BeanList of AccountBean the account bean
        accountBeanWithValuesSet - AccountBean the account bean with values set
        dao - DAO the connection dao
        Throws:
        com.engiweb.toolkit.common.BackendException - the backend exception
      • updateAccount

        void updateAccount(AccountBean accountBean,
                           com.engiweb.pm.dao.db.DAO dao)
                    throws com.engiweb.toolkit.common.BackendException
        Throws:
        com.engiweb.toolkit.common.BackendException
      • checkPwdSyntax

        void checkPwdSyntax(PwdCfgBean pwdCfgBean,
                            java.lang.String candidatePwd,
                            com.engiweb.pm.dao.db.DAO dao)
                     throws com.engiweb.toolkit.common.BackendException
        Check password syntax.
        Parameters:
        pwdCfgBean - PwdCfgBean the configuration
        candidatePwd - String the candidate password
        dao - DAO the connection dao
        Throws:
        com.engiweb.toolkit.common.BackendException - the backend exception
      • validatePasswordSyntax

        java.util.List<java.lang.Integer> validatePasswordSyntax(PwdCfgBean pwdCfgBean,
                                                                 UserBean userBean,
                                                                 java.lang.String candidatePwd,
                                                                 com.engiweb.pm.dao.db.DAO dao)
                                                          throws com.engiweb.toolkit.common.BackendException
        Validate password syntax.
        Parameters:
        pwdCfgBean - PwdCfgBean the configuration
        userBean - UserBean the user of the account
        candidatePwd - String the candidate password
        dao - DAO the dao
        Returns:
        List of errore code
        Throws:
        com.engiweb.toolkit.common.BackendException - the backend exception
      • matchAccount

        com.engiweb.pm.entity.BeanList<EntitlementBean> matchAccount(UserBean uBean,
                                                                     AccountBean accountBean,
                                                                     boolean riexecuteTargetEvent,
                                                                     com.engiweb.pm.dao.db.DAO dao)
                                                              throws com.engiweb.toolkit.common.BackendException
        Match account.
        Parameters:
        uBean - UserBean the user
        accountBean - AccountBean the account
        riexecuteTargetEvent - the riexecute target event
        dao - DAO the connection dao
        Returns:
        BeanList of EntitlementBean
        Throws:
        com.engiweb.toolkit.common.BackendException - the backend exception
      • unMatchAccount

        com.engiweb.pm.entity.BeanList<EntitlementBean> unMatchAccount(AccountBean accountBean,
                                                                       com.engiweb.pm.dao.db.DAO dao)
                                                                throws com.engiweb.toolkit.common.BackendException
        Unmatch account.
        Parameters:
        accountBean - AccountBean the account
        Returns:
        BeanList of EntitlementBean
        Throws:
        com.engiweb.toolkit.common.BackendException - the backend exception
      • countInfoAccount

        java.util.HashMap<AccountType,java.lang.Long> countInfoAccount(PwdCfgBean pwdCfgBean,
                                                                       com.engiweb.pm.dao.db.DAO dao)
                                                                throws com.engiweb.toolkit.common.BackendException
        Count info account.
        Parameters:
        pwdCfgBean - PwdCfgBean the configuration
        Returns:
        HashMap
        Throws:
        com.engiweb.toolkit.common.BackendException - the backend exception
      • findEntitlement

        com.engiweb.pm.entity.BeanList<EntitlementBean> findEntitlement(EntitlementBean entBean,
                                                                        ApplicationBean appBean,
                                                                        AccountBean accountBean,
                                                                        com.engiweb.pm.entity.Paging paging,
                                                                        java.lang.String code_scope,
                                                                        com.engiweb.pm.dao.db.DAO connDao)
                                                                 throws com.engiweb.toolkit.common.BackendException
        Find account's entitlements
        Parameters:
        entBean - EntitlementBean the entitlement
        appBean - ApplicationBean the application
        accountBean - AccountBean the account
        paging - Paging the paging
        code_scope - String the code scope
        connDao - DAO the connection dao
        Returns:
        BeanList of EntitlementBean
        Throws:
        com.engiweb.toolkit.common.BackendException
      • findApplication

        com.engiweb.pm.entity.BeanList<ApplicationBean> findApplication(ApplicationBean appBean,
                                                                        AccountBean accountBean,
                                                                        com.engiweb.pm.entity.Paging paging,
                                                                        java.lang.String code_scope,
                                                                        com.engiweb.pm.dao.db.DAO connDao)
                                                                 throws com.engiweb.toolkit.common.BackendException
        Find account's applications
        Parameters:
        appBean - ApplicationBean the application
        accountBean - AccountBean the account
        paging - Paging the paging
        code_scope - String the code scope
        connDao - DAO the connection dao
        Returns:
        BeanList of ApplicationBean
        Throws:
        com.engiweb.toolkit.common.BackendException
      • resolvePlaceHolder

        java.lang.String resolvePlaceHolder(java.lang.Long personId,
                                            java.lang.String placeHolder,
                                            com.engiweb.pm.dao.db.DAO connDao)
                                     throws com.engiweb.toolkit.common.BackendException
        Resolves the placeholder with the mapped attribute value of the person
        Parameters:
        personId - id of the person
        placeHolder - placeholder to resolve
        Returns:
        the resolved placeholder
        Throws:
        com.engiweb.toolkit.common.BackendException
      • consolidateAccount

        void consolidateAccount(AccountBean accountBean,
                                boolean removeOthers,
                                com.engiweb.pm.dao.db.DAO connDao)
                         throws com.engiweb.toolkit.common.BackendException
        consolidate entitlements to single Default accountBean and clean up the redundant ones
        Parameters:
        accountBean - the accountBean to consolidate
        Throws:
        com.engiweb.toolkit.common.BackendException
      • synchronizePassword

        void synchronizePassword(UserBean owner,
                                 com.engiweb.pm.entity.BeanList<AccountBean> accountBeanList,
                                 java.lang.String igiPwd,
                                 java.lang.String newPwd,
                                 boolean isAdm,
                                 boolean findOthers,
                                 com.engiweb.pm.dao.db.DAO connDao)
                          throws com.engiweb.toolkit.common.BackendException
        Updates password and synchronizes other account password related to existing accounts with the same password.
        Parameters:
        owner - UserBean the owner of accounts
        accountBeanList - BeanList of AccountBean the account bean
        igiPwd - String user's current system password
        newPwd - String the new password
        isAdm - boolean indication if the operation is triggered by system administrator
        findOthers - boolean indication if resolving other accounts in the group is needed
        dao - DAO the connection dao
        Throws:
        com.engiweb.toolkit.common.BackendException - the pM security exception
      • getRandomPwd

        java.lang.String getRandomPwd(UserBean userBean,
                                      AccountBean acctBean,
                                      PwdCfgBean pwdCfgB,
                                      com.engiweb.pm.dao.db.DAO connDao)
                               throws com.engiweb.toolkit.common.BackendException
        Check password syntax.
        Parameters:
        pwdCfgBean - PwdCfgBean the configuration
        userBean - UserBean the User Bean
        acctBean - AccountBean the Account Bean
        dao - DAO the connection dao
        Throws:
        com.engiweb.toolkit.common.BackendException - the backend exception
      • removeAndRefreshSOD

        void removeAndRefreshSOD(AccountBean accountBean,
                                 boolean refreshUserSOD,
                                 com.engiweb.pm.dao.db.DAO connDao)
                          throws com.engiweb.toolkit.common.BackendException
        Throws:
        com.engiweb.toolkit.common.BackendException
      • findAllAccountAttrKeyWithValue

        java.util.Map<java.lang.String,java.util.AbstractMap.SimpleEntry<com.engiweb.profilemanager.common.bean.targetattr.PwdCfgAttrKeyBean,java.util.List<com.engiweb.profilemanager.common.bean.targetattr.PwdManagementAttrValBean>>> findAllAccountAttrKeyWithValue(AccountBean account,
                                                                                                                                                                                                                                                                         java.lang.String languageCode,
                                                                                                                                                                                                                                                                         java.lang.String languageCountry,
                                                                                                                                                                                                                                                                         com.engiweb.pm.dao.db.DAO connDao)
                                                                                                                                                                                                                                                                  throws com.engiweb.toolkit.common.BackendException
        Throws:
        com.engiweb.toolkit.common.BackendException