Class DataSourceUserDatabase

    • Field Detail

      • dataSource

        protected final DataSource dataSource
        DataSource to use.
      • id

        protected final String id
        The unique global identifier of this user database.
      • dataSourceName

        protected String dataSourceName
        The name of the JNDI JDBC DataSource
      • roleNameCol

        protected String roleNameCol
        The column in the user role table that names a role
      • roleAndGroupDescriptionCol

        protected String roleAndGroupDescriptionCol
        The column in the role and group tables for the decription
      • groupNameCol

        protected String groupNameCol
        The column in the user group table that names a group
      • userCredCol

        protected String userCredCol
        The column in the user table that holds the user's credentials
      • userFullNameCol

        protected String userFullNameCol
        The column in the user table that holds the user's full name
      • userNameCol

        protected String userNameCol
        The column in the user table that holds the user's name
      • userRoleTable

        protected String userRoleTable
        The table that holds the relation between users and roles
      • userGroupTable

        protected String userGroupTable
        The table that holds the relation between users and groups
      • groupRoleTable

        protected String groupRoleTable
        The table that holds the relation between groups and roles
      • userTable

        protected String userTable
        The table that holds user data.
      • groupTable

        protected String groupTable
        The table that holds user data.
      • roleTable

        protected String roleTable
        The table that holds user data.
      • readonly

        protected boolean readonly
        A flag, indicating if the user database is read only.
    • Constructor Detail

      • DataSourceUserDatabase

        public DataSourceUserDatabase​(DataSource dataSource,
                                      String id)
    • Method Detail

      • getDataSourceName

        public String getDataSourceName()
        Returns:
        the name of the JNDI JDBC DataSource.
      • setDataSourceName

        public void setDataSourceName​(String dataSourceName)
        Set the name of the JNDI JDBC DataSource.
        Parameters:
        dataSourceName - the name of the JNDI JDBC DataSource
      • getRoleNameCol

        public String getRoleNameCol()
        Returns:
        the column in the user role table that names a role.
      • setRoleNameCol

        public void setRoleNameCol​(String roleNameCol)
        Set the column in the user role table that names a role.
        Parameters:
        roleNameCol - The column name
      • getUserCredCol

        public String getUserCredCol()
        Returns:
        the column in the user table that holds the user's credentials.
      • setUserCredCol

        public void setUserCredCol​(String userCredCol)
        Set the column in the user table that holds the user's credentials.
        Parameters:
        userCredCol - The column name
      • getUserNameCol

        public String getUserNameCol()
        Returns:
        the column in the user table that holds the user's name.
      • setUserNameCol

        public void setUserNameCol​(String userNameCol)
        Set the column in the user table that holds the user's name.
        Parameters:
        userNameCol - The column name
      • getUserRoleTable

        public String getUserRoleTable()
        Returns:
        the table that holds the relation between user's and roles.
      • setUserRoleTable

        public void setUserRoleTable​(String userRoleTable)
        Set the table that holds the relation between user's and roles.
        Parameters:
        userRoleTable - The table name
      • getUserTable

        public String getUserTable()
        Returns:
        the table that holds user data..
      • setUserTable

        public void setUserTable​(String userTable)
        Set the table that holds user data.
        Parameters:
        userTable - The table name
      • getRoleAndGroupDescriptionCol

        public String getRoleAndGroupDescriptionCol()
        Returns:
        the roleAndGroupDescriptionCol
      • setRoleAndGroupDescriptionCol

        public void setRoleAndGroupDescriptionCol​(String roleAndGroupDescriptionCol)
        Parameters:
        roleAndGroupDescriptionCol - the roleAndGroupDescriptionCol to set
      • getGroupNameCol

        public String getGroupNameCol()
        Returns:
        the groupNameCol
      • setGroupNameCol

        public void setGroupNameCol​(String groupNameCol)
        Parameters:
        groupNameCol - the groupNameCol to set
      • getUserFullNameCol

        public String getUserFullNameCol()
        Returns:
        the userFullNameCol
      • setUserFullNameCol

        public void setUserFullNameCol​(String userFullNameCol)
        Parameters:
        userFullNameCol - the userFullNameCol to set
      • getUserGroupTable

        public String getUserGroupTable()
        Returns:
        the userGroupTable
      • setUserGroupTable

        public void setUserGroupTable​(String userGroupTable)
        Parameters:
        userGroupTable - the userGroupTable to set
      • getGroupRoleTable

        public String getGroupRoleTable()
        Returns:
        the groupRoleTable
      • setGroupRoleTable

        public void setGroupRoleTable​(String groupRoleTable)
        Parameters:
        groupRoleTable - the groupRoleTable to set
      • getGroupTable

        public String getGroupTable()
        Returns:
        the groupTable
      • setGroupTable

        public void setGroupTable​(String groupTable)
        Parameters:
        groupTable - the groupTable to set
      • getRoleTable

        public String getRoleTable()
        Returns:
        the roleTable
      • setRoleTable

        public void setRoleTable​(String roleTable)
        Parameters:
        roleTable - the roleTable to set
      • getReadonly

        public boolean getReadonly()
        Returns:
        the readonly
      • setReadonly

        public void setReadonly​(boolean readonly)
        Parameters:
        readonly - the readonly to set
      • getId

        public String getId()
        Returns:
        the unique global identifier of this user database.
      • getGroups

        public Iterator<Group> getGroups()
        Returns:
        the set of Groups defined in this user database.
      • getRoles

        public Iterator<Role> getRoles()
        Returns:
        the set of Roles defined in this user database.
      • getUsers

        public Iterator<User> getUsers()
        Returns:
        the set of Users defined in this user database.
      • close

        public void close()
                   throws Exception
        Description copied from interface: UserDatabase
        Finalize access to this user database.
        Throws:
        Exception - if any exception is thrown during closing
      • createGroup

        public Group createGroup​(String groupname,
                                 String description)
        Description copied from interface: UserDatabase
        Create and return a new Group defined in this user database.
        Parameters:
        groupname - The group name of the new group (must be unique)
        description - The description of this group
        Returns:
        The new group
      • createRole

        public Role createRole​(String rolename,
                               String description)
        Description copied from interface: UserDatabase
        Create and return a new Role defined in this user database.
        Parameters:
        rolename - The role name of the new role (must be unique)
        description - The description of this role
        Returns:
        The new role
      • createUser

        public User createUser​(String username,
                               String password,
                               String fullName)
        Description copied from interface: UserDatabase
        Create and return a new User defined in this user database.
        Parameters:
        username - The logon username of the new user (must be unique)
        password - The logon password of the new user
        fullName - The full name of the new user
        Returns:
        The new user
      • findGroup

        public Group findGroup​(String groupname)
        Parameters:
        groupname - Name of the group to return
        Returns:
        the Group with the specified group name, if any; otherwise return null.
      • findRole

        public Role findRole​(String rolename)
        Parameters:
        rolename - Name of the role to return
        Returns:
        the Role with the specified role name, if any; otherwise return null.
      • findUser

        public User findUser​(String username)
        Parameters:
        username - Name of the user to return
        Returns:
        the User with the specified user name, if any; otherwise return null.
      • modifiedGroup

        public void modifiedGroup​(Group group)
        Description copied from interface: UserDatabase
        Signal the specified Group from this user database has been modified.
        Parameters:
        group - The group that has been modified
      • modifiedRole

        public void modifiedRole​(Role role)
        Description copied from interface: UserDatabase
        Signal the specified Role from this user database has been modified.
        Parameters:
        role - The role that has been modified
      • modifiedUser

        public void modifiedUser​(User user)
        Description copied from interface: UserDatabase
        Signal the specified User from this user database has been modified.
        Parameters:
        user - The user that has been modified
      • open

        public void open()
                  throws Exception
        Description copied from interface: UserDatabase
        Initialize access to this user database.
        Throws:
        Exception - if any exception is thrown during opening
      • removeGroup

        public void removeGroup​(Group group)
        Description copied from interface: UserDatabase
        Remove the specified Group from this user database.
        Parameters:
        group - The group to be removed
      • removeRole

        public void removeRole​(Role role)
        Description copied from interface: UserDatabase
        Remove the specified Role from this user database.
        Parameters:
        role - The role to be removed
      • removeUser

        public void removeUser​(User user)
        Description copied from interface: UserDatabase
        Remove the specified User from this user database.
        Parameters:
        user - The user to be removed
      • save

        public void save()
                  throws Exception
        Description copied from interface: UserDatabase
        Save any updated information to the persistent storage location for this user database.
        Throws:
        Exception - if any exception is thrown during saving
      • saveInternal

        protected void saveInternal​(Connection dbConnection)
      • isAvailable

        public boolean isAvailable()
        Description copied from interface: UserDatabase
        Is the database available.
        Returns:
        true
      • isGroupStoreDefined

        protected boolean isGroupStoreDefined()
        Only use groups if the tables are fully defined.
        Returns:
        true when groups are used
      • isRoleStoreDefined

        protected boolean isRoleStoreDefined()
        Only use roles if the tables are fully defined.
        Returns:
        true when roles are used
      • openConnection

        protected Connection openConnection()
        Open the specified database connection.
        Returns:
        Connection to the database
      • closeConnection

        protected void closeConnection​(Connection dbConnection)
        Close the specified database connection.
        Parameters:
        dbConnection - The connection to be closed