private static class SecurityOps.WorkArea
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,SecurityOps.Domain>> |
dbDomains
The db-specific domains.
|
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,SecurityOps.DomainType>> |
dbDomainTypes
The db-specific domain types.
|
private java.util.Map<java.lang.String,java.util.Map<SecurityOps.QUserId,java.lang.String>> |
dbUsers
the db-specific users
|
private java.util.Map<java.lang.String,SecurityOps.Domain> |
defaultDomains
The default domains.
|
private java.util.Map<java.lang.String,SecurityOps.DomainType> |
defaultDomainTypes
The default domain types.
|
private java.util.Set<java.lang.String> |
readDomainsCalled
the set of databases for which the readDomains operation was called
|
Constructor and Description |
---|
WorkArea()
Initialize the default domains and domain types.
|
Modifier and Type | Method and Description |
---|---|
void |
addDomain(java.lang.String dbname,
java.lang.String name,
java.lang.String type,
java.lang.String description,
java.lang.String accessCode,
java.lang.Boolean enabled)
Create a domain with the specified details.
|
SecurityOps.DomainType |
addDomainType(java.lang.String dbname,
java.lang.String name,
java.lang.String description,
java.lang.Boolean enabled)
Create a domain type with the specified details.
|
void |
addUser(java.lang.String dbName,
SecurityOps.QUserId quid,
java.lang.String password)
Add database user.
|
void |
clearDbData(java.lang.String dbName)
Remove previously loaded information about domain types, domains, and users
for a database.
|
private boolean |
domainsLoaded(java.lang.String dbName)
Check if domains where loaded from the db.
|
private SecurityOps.Domain |
findDomain(java.lang.String dbName,
java.lang.String domain)
Find the domain instance; the lookup rules are:
if
dbName is not specified, look in defaultDomains .
if dbName is specified, look in dbDomains .
if not found in dbDomains , look in defaultDomains .
|
private SecurityOps.DomainType |
findDomainType(java.lang.String dbName,
java.lang.String type)
Find the domain type instance; the lookup rules are:
if
dbName is not specified, look in defaultDomainTypes .
if dbName is specified, look in dbDomainTypes .
if not found in dbDomainTypes , look in defaultDomainTypes .
|
java.util.Optional<java.util.Map<SecurityOps.QUserId,java.lang.String>> |
getUsers(java.lang.String dbName)
Get map of database user's passwords by qualified user id
|
private final java.util.Map<java.lang.String,SecurityOps.DomainType> defaultDomainTypes
private final java.util.Map<java.lang.String,SecurityOps.Domain> defaultDomains
private final java.util.Map<java.lang.String,java.util.Map<java.lang.String,SecurityOps.DomainType>> dbDomainTypes
private final java.util.Map<java.lang.String,java.util.Map<java.lang.String,SecurityOps.Domain>> dbDomains
private final java.util.Map<java.lang.String,java.util.Map<SecurityOps.QUserId,java.lang.String>> dbUsers
private final java.util.Set<java.lang.String> readDomainsCalled
public WorkArea()
For each directory-defined domain and domain type, you can specify either the full definition, or just certain state (like disabled), if this is a default domain or domain type.
public SecurityOps.DomainType addDomainType(java.lang.String dbname, java.lang.String name, java.lang.String description, java.lang.Boolean enabled)
dbname
- When null
, this will be added as a defaultDomainTypes
.name
- The domain type's name.description
- The domain type's description.enabled
- Flag indicating if this domain is enabled.public void addDomain(java.lang.String dbname, java.lang.String name, java.lang.String type, java.lang.String description, java.lang.String accessCode, java.lang.Boolean enabled)
dbname
- When null
, this will be added as a defaultDomains
.name
- The domain's name.type
- The domain's type.description
- The domain's description.accessCode
- The domain's access code. If it is not specified and this is a non-default
domain, then the SecurityOps.DEFAULT_DOMAIN_ACCESS_CODE
value will be
used.enabled
- Flag indicating if this domain is enabled.private SecurityOps.DomainType findDomainType(java.lang.String dbName, java.lang.String type)
dbName
is not specified, look in defaultDomainTypes
.dbName
is specified, look in dbDomainTypes
.dbDomainTypes
, look in defaultDomainTypes
.dbName
- The database name. May be null
.type
- The domain type name to look.SecurityOps.DomainType
instance, or null
if not found.private SecurityOps.Domain findDomain(java.lang.String dbName, java.lang.String domain)
dbName
is not specified, look in defaultDomains
.dbName
is specified, look in dbDomains
.dbDomains
, look in defaultDomains
.dbName
- The database name. May be null
.domain
- The domain name to look.SecurityOps.Domain
instance, or null
if not found.private boolean domainsLoaded(java.lang.String dbName)
dbName
- The database name. May be null
.true
if domains where loaded from the dbpublic void addUser(java.lang.String dbName, SecurityOps.QUserId quid, java.lang.String password)
dbName
- the database namequid
- the qualified user idpassword
- the user's passwordpublic java.util.Optional<java.util.Map<SecurityOps.QUserId,java.lang.String>> getUsers(java.lang.String dbName)
dbName
- the database namepublic void clearDbData(java.lang.String dbName)
dbName
- database name