Class 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 Detail

      • userRoleDao

        protected org.pentaho.platform.api.engine.security.userroledao.IUserRoleDao userRoleDao
      • 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
    • 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 interface org.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
      • 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 interface org.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 interface org.pentaho.platform.api.mt.ITenantManager