Class HierarchicalEnvironment
java.lang.Object
org.gcube.informationsystem.resourceregistry.environments.Environment
org.gcube.informationsystem.resourceregistry.environments.HierarchicalEnvironment
- Direct Known Subclasses:
InstanceEnvironment
- Author:
- Luca Frosini (ISTI - CNR) Base class for all environments which have an hierarchy. An example is InstanceEnviroment where the instances belonging to a context must be visible from parent context if the requesting client has enough privileges
-
Nested Class Summary
Nested classes/interfaces inherited from class org.gcube.informationsystem.resourceregistry.environments.Environment
Environment.PermissionMode, Environment.SecurityType -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Set<HierarchicalEnvironment>static final Stringprotected final booleanprotected final Map<Environment.PermissionMode,com.orientechnologies.orient.core.db.ODatabasePool> protected HierarchicalEnvironmentFields inherited from class org.gcube.informationsystem.resourceregistry.environments.Environment
allOperationAllowedRoles, allowedRoles, CONTEXT_MANAGER, DEFAULT_READER_ROLE, DEFAULT_WRITER_ROLE, environmentUUID, INFRASTRUCTURE_MANAGER, IS_MANAGER, poolMap -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddElement(com.orientechnologies.orient.core.record.OElement element, com.orientechnologies.orient.core.db.document.ODatabaseDocument oDatabaseDocument) protected voidaddHierarchicalRoleToParent(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, Environment.PermissionMode permissionMode, com.orientechnologies.orient.core.metadata.security.ORole... roles) protected voidallow(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, com.orientechnologies.orient.core.record.impl.ODocument oDocument, boolean hierarchic) protected booleanallowed(com.orientechnologies.orient.core.metadata.security.ORole role, com.orientechnologies.orient.core.record.impl.ODocument oDocument) voidchangeParentEnvironment(HierarchicalEnvironment newParentEnvironment, com.orientechnologies.orient.core.db.document.ODatabaseDocument orientGraph) Use to change the parent not to set the first timeprotected voidcreateRolesAndUsers(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity) protected voiddeleteRolesAndUsers(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity) protected voiddeny(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, com.orientechnologies.orient.core.record.impl.ODocument oDocument, boolean hierarchical) getContexts(com.orientechnologies.orient.core.record.OElement element) protected com.orientechnologies.orient.core.db.ODatabasePoolgetPool(Environment.PermissionMode permissionMode, boolean recreate) static StringgetRoleOrUserName(Environment.PermissionMode permissionMode, Environment.SecurityType securityType) static StringgetRoleOrUserName(Environment.PermissionMode permissionMode, Environment.SecurityType securityType, boolean hierarchic) getSecurityRoleOrUserName(Environment.PermissionMode permissionMode, Environment.SecurityType securityType, boolean hierarchic) protected booleanprotected voidremoveChildrenHRolesFromMyHUsers(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, Set<HierarchicalEnvironment> children) protected voidremoveChildrenHRolesFromParents(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity) protected voidremoveChildrenHRolesFromParents(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, Set<HierarchicalEnvironment> parents, Set<HierarchicalEnvironment> children) voidremoveElement(com.orientechnologies.orient.core.record.OElement element, com.orientechnologies.orient.core.db.document.ODatabaseDocument oDatabaseDocument) protected voidremoveHierarchicRoleFromMyHUser(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, Environment.PermissionMode permissionMode, String roleName) voidsetParentEnvironment(HierarchicalEnvironment parentEnvironment) Methods inherited from class org.gcube.informationsystem.resourceregistry.environments.Environment
addElement, addExtraRules, allow, create, create, delete, delete, deny, drop, getAllOperationsAllowedRoles, getAllowedRoles, getDatabaseDocument, getSecurityRoleOrUserName, getSuperRole, getUUID, isElementInContext, isUserAllowed, removeElement, toString
-
Field Details
-
H
- See Also:
-
hierarchicalMode
protected final boolean hierarchicalMode -
hierarchicPoolMap
protected final Map<Environment.PermissionMode,com.orientechnologies.orient.core.db.ODatabasePool> hierarchicPoolMap -
parentEnvironment
-
children
-
-
Constructor Details
-
HierarchicalEnvironment
public HierarchicalEnvironment(UUID uuid) throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException - Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-
-
Method Details
-
isHierarchicalMode
protected boolean isHierarchicalMode() -
setParentEnvironment
-
getParentEnvironment
-
getChildren
-
changeParentEnvironment
public void changeParentEnvironment(HierarchicalEnvironment newParentEnvironment, com.orientechnologies.orient.core.db.document.ODatabaseDocument orientGraph) throws org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException Use to change the parent not to set the first time- Parameters:
newParentEnvironment-orientGraph-- Throws:
org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException
-
getPool
protected com.orientechnologies.orient.core.db.ODatabasePool getPool(Environment.PermissionMode permissionMode, boolean recreate) - Overrides:
getPoolin classEnvironment
-
getRoleOrUserName
public static String getRoleOrUserName(Environment.PermissionMode permissionMode, Environment.SecurityType securityType) -
getRoleOrUserName
public static String getRoleOrUserName(Environment.PermissionMode permissionMode, Environment.SecurityType securityType, boolean hierarchic) -
getSecurityRoleOrUserName
public String getSecurityRoleOrUserName(Environment.PermissionMode permissionMode, Environment.SecurityType securityType, boolean hierarchic) -
getContexts
-
allow
protected void allow(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, com.orientechnologies.orient.core.record.impl.ODocument oDocument, boolean hierarchic) -
addElement
public void addElement(com.orientechnologies.orient.core.record.OElement element, com.orientechnologies.orient.core.db.document.ODatabaseDocument oDatabaseDocument) - Overrides:
addElementin classEnvironment
-
deny
protected void deny(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, com.orientechnologies.orient.core.record.impl.ODocument oDocument, boolean hierarchical) -
removeElement
public void removeElement(com.orientechnologies.orient.core.record.OElement element, com.orientechnologies.orient.core.db.document.ODatabaseDocument oDatabaseDocument) - Overrides:
removeElementin classEnvironment
-
allowed
protected boolean allowed(com.orientechnologies.orient.core.metadata.security.ORole role, com.orientechnologies.orient.core.record.impl.ODocument oDocument) - Overrides:
allowedin classEnvironment
-
addHierarchicalRoleToParent
protected void addHierarchicalRoleToParent(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, Environment.PermissionMode permissionMode, com.orientechnologies.orient.core.metadata.security.ORole... roles) -
createRolesAndUsers
protected void createRolesAndUsers(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity) - Overrides:
createRolesAndUsersin classEnvironment
-
removeChildrenHRolesFromParents
protected void removeChildrenHRolesFromParents(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity) -
removeChildrenHRolesFromParents
protected void removeChildrenHRolesFromParents(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, Set<HierarchicalEnvironment> parents, Set<HierarchicalEnvironment> children) -
removeChildrenHRolesFromMyHUsers
protected void removeChildrenHRolesFromMyHUsers(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, Set<HierarchicalEnvironment> children) -
removeHierarchicRoleFromMyHUser
protected void removeHierarchicRoleFromMyHUser(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity, Environment.PermissionMode permissionMode, String roleName) -
deleteRolesAndUsers
protected void deleteRolesAndUsers(com.orientechnologies.orient.core.metadata.security.OSecurity oSecurity) - Overrides:
deleteRolesAndUsersin classEnvironment
-