Class AbstractRepositoryTenantManager
- java.lang.Object
-
- org.pentaho.platform.repository2.mt.AbstractRepositoryTenantManager
-
- All Implemented Interfaces:
org.pentaho.platform.api.mt.ITenantManager
- Direct Known Subclasses:
RepositoryTenantManager
public abstract class AbstractRepositoryTenantManager extends Object implements org.pentaho.platform.api.mt.ITenantManager
-
-
Field Summary
Fields Modifier and Type Field Description static String
FOLDER_NAME_AUTHZ
static String
FOLDER_NAME_ROLEBASED
static String
FOLDER_NAME_RUNTIMEROLES
protected IPathConversionHelper
pathConversionHelper
protected String
repositoryAdminUsername
protected IRepositoryFileAclDao
repositoryFileAclDao
protected IRepositoryFileDao
repositoryFileDao
protected IRoleAuthorizationPolicyRoleBindingDao
roleBindingDao
protected List<String>
singleTenantAuthenticatedAuthorityRoleBindingList
protected String
tenantAdminRoleName
protected String
tenantAuthenticatedRoleName
protected org.pentaho.platform.api.mt.ITenantedPrincipleNameResolver
tenantedRoleNameResolver
protected org.pentaho.platform.api.mt.ITenantedPrincipleNameResolver
tenantedUserNameResolver
protected org.pentaho.platform.api.engine.security.userroledao.IUserRoleDao
userRoleDao
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractRepositoryTenantManager(IRepositoryFileDao contentDao, org.pentaho.platform.api.engine.security.userroledao.IUserRoleDao userRoleDao, IRepositoryFileAclDao repositoryFileAclDao, IRoleAuthorizationPolicyRoleBindingDao roleBindingDao, String repositoryAdminUsername, String tenantAuthenticatedAuthorityNamePattern, org.pentaho.platform.api.mt.ITenantedPrincipleNameResolver tenantedUserNameResolver, org.pentaho.platform.api.mt.ITenantedPrincipleNameResolver tenantedRoleNameResolver, String tenantAdminRoleName, List<String> singleTenantAuthenticatedAuthorityRoleBindingList)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
createInitialTenantFolders(javax.jcr.Session session, org.pentaho.platform.api.repository2.unified.RepositoryFile tenantRootFolder, org.pentaho.platform.api.repository2.unified.RepositoryFileSid fileOwnerSid, org.pentaho.platform.api.repository2.unified.RepositoryFileSid authenticatedRoleSid)
org.pentaho.platform.api.repository2.unified.RepositoryFile
createUserHomeFolder(org.pentaho.platform.api.mt.ITenant theTenant, String username)
void
deleteTenant(javax.jcr.Session jcrSession, org.pentaho.platform.api.mt.ITenant tenant)
void
deleteTenants(javax.jcr.Session session, List<org.pentaho.platform.api.mt.ITenant> tenants)
void
enableTenant(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant tenant, boolean enable)
void
enableTenants(javax.jcr.Session session, List<org.pentaho.platform.api.mt.ITenant> tenants, boolean enable)
List<org.pentaho.platform.api.mt.ITenant>
getChildTenants(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant parentTenant)
List<org.pentaho.platform.api.mt.ITenant>
getChildTenants(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant parentTenant, boolean includeDisabledTenants)
org.pentaho.platform.api.mt.ITenant
getTenant(javax.jcr.Session session, String tenantId)
org.pentaho.platform.api.repository2.unified.RepositoryFile
getTenantRootFolder(org.pentaho.platform.api.mt.ITenant tenant)
org.pentaho.platform.api.repository2.unified.RepositoryFile
getUserHomeFolder(org.pentaho.platform.api.mt.ITenant theTenant, String username)
boolean
isSubTenant(javax.jcr.Session jcrSession, org.pentaho.platform.api.mt.ITenant parentTenant, org.pentaho.platform.api.mt.ITenant descendantTenant)
protected void
setAsSystemFolder(Serializable fileId)
void
updateTentant(javax.jcr.Session jcrSession, String arg0, Map<String,Serializable> arg1)
-
-
-
Field Detail
-
FOLDER_NAME_AUTHZ
public static final String FOLDER_NAME_AUTHZ
- See Also:
- Constant Field Values
-
FOLDER_NAME_ROLEBASED
public static final String FOLDER_NAME_ROLEBASED
- See Also:
- Constant Field Values
-
FOLDER_NAME_RUNTIMEROLES
public static final String FOLDER_NAME_RUNTIMEROLES
- See Also:
- Constant Field Values
-
repositoryFileAclDao
protected IRepositoryFileAclDao repositoryFileAclDao
-
roleBindingDao
protected IRoleAuthorizationPolicyRoleBindingDao roleBindingDao
-
userRoleDao
protected org.pentaho.platform.api.engine.security.userroledao.IUserRoleDao userRoleDao
-
repositoryFileDao
protected IRepositoryFileDao repositoryFileDao
-
tenantedRoleNameResolver
protected org.pentaho.platform.api.mt.ITenantedPrincipleNameResolver tenantedRoleNameResolver
-
tenantedUserNameResolver
protected org.pentaho.platform.api.mt.ITenantedPrincipleNameResolver tenantedUserNameResolver
-
repositoryAdminUsername
protected String repositoryAdminUsername
-
tenantAdminRoleName
protected String tenantAdminRoleName
-
tenantAuthenticatedRoleName
protected String tenantAuthenticatedRoleName
-
singleTenantAuthenticatedAuthorityRoleBindingList
protected List<String> singleTenantAuthenticatedAuthorityRoleBindingList
-
pathConversionHelper
protected IPathConversionHelper pathConversionHelper
-
-
Constructor Detail
-
AbstractRepositoryTenantManager
protected AbstractRepositoryTenantManager(IRepositoryFileDao contentDao, org.pentaho.platform.api.engine.security.userroledao.IUserRoleDao userRoleDao, IRepositoryFileAclDao repositoryFileAclDao, IRoleAuthorizationPolicyRoleBindingDao roleBindingDao, String repositoryAdminUsername, String tenantAuthenticatedAuthorityNamePattern, org.pentaho.platform.api.mt.ITenantedPrincipleNameResolver tenantedUserNameResolver, org.pentaho.platform.api.mt.ITenantedPrincipleNameResolver tenantedRoleNameResolver, String tenantAdminRoleName, List<String> singleTenantAuthenticatedAuthorityRoleBindingList)
-
-
Method Detail
-
deleteTenants
public void deleteTenants(javax.jcr.Session session, List<org.pentaho.platform.api.mt.ITenant> tenants) throws javax.jcr.RepositoryException
- Throws:
javax.jcr.RepositoryException
-
deleteTenant
public void deleteTenant(javax.jcr.Session jcrSession, org.pentaho.platform.api.mt.ITenant tenant) throws javax.jcr.RepositoryException
- Throws:
javax.jcr.RepositoryException
-
enableTenant
public void enableTenant(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant tenant, boolean enable) throws javax.jcr.ItemNotFoundException, javax.jcr.RepositoryException
- Throws:
javax.jcr.ItemNotFoundException
javax.jcr.RepositoryException
-
getTenantRootFolder
public org.pentaho.platform.api.repository2.unified.RepositoryFile getTenantRootFolder(org.pentaho.platform.api.mt.ITenant tenant)
- Specified by:
getTenantRootFolder
in interfaceorg.pentaho.platform.api.mt.ITenantManager
-
enableTenants
public void enableTenants(javax.jcr.Session session, List<org.pentaho.platform.api.mt.ITenant> tenants, boolean enable) throws javax.jcr.ItemNotFoundException, javax.jcr.RepositoryException
- Throws:
javax.jcr.ItemNotFoundException
javax.jcr.RepositoryException
-
getChildTenants
public List<org.pentaho.platform.api.mt.ITenant> getChildTenants(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant parentTenant, boolean includeDisabledTenants) throws javax.jcr.RepositoryException
- Throws:
javax.jcr.RepositoryException
-
getChildTenants
public List<org.pentaho.platform.api.mt.ITenant> getChildTenants(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant parentTenant) throws javax.jcr.RepositoryException
- Throws:
javax.jcr.RepositoryException
-
updateTentant
public void updateTentant(javax.jcr.Session jcrSession, String arg0, Map<String,Serializable> arg1)
-
createInitialTenantFolders
protected void createInitialTenantFolders(javax.jcr.Session session, org.pentaho.platform.api.repository2.unified.RepositoryFile tenantRootFolder, org.pentaho.platform.api.repository2.unified.RepositoryFileSid fileOwnerSid, org.pentaho.platform.api.repository2.unified.RepositoryFileSid authenticatedRoleSid) throws javax.jcr.RepositoryException
- Throws:
javax.jcr.RepositoryException
-
setAsSystemFolder
protected void setAsSystemFolder(Serializable fileId)
-
isSubTenant
public boolean isSubTenant(javax.jcr.Session jcrSession, org.pentaho.platform.api.mt.ITenant parentTenant, org.pentaho.platform.api.mt.ITenant descendantTenant)
-
getTenant
public org.pentaho.platform.api.mt.ITenant getTenant(javax.jcr.Session session, String tenantId) throws javax.jcr.RepositoryException
- Throws:
javax.jcr.RepositoryException
-
createUserHomeFolder
public org.pentaho.platform.api.repository2.unified.RepositoryFile createUserHomeFolder(org.pentaho.platform.api.mt.ITenant theTenant, String username)
- Specified by:
createUserHomeFolder
in interfaceorg.pentaho.platform.api.mt.ITenantManager
-
getUserHomeFolder
public org.pentaho.platform.api.repository2.unified.RepositoryFile getUserHomeFolder(org.pentaho.platform.api.mt.ITenant theTenant, String username)
- Specified by:
getUserHomeFolder
in interfaceorg.pentaho.platform.api.mt.ITenantManager
-
-