Class RepositoryTenantManager

  • All Implemented Interfaces:
    org.pentaho.platform.api.mt.ITenantManager

    public class RepositoryTenantManager
    extends AbstractRepositoryTenantManager
    Author:
    wseyler
    • Field Detail

      • logger

        protected static final org.apache.commons.logging.Log logger
      • jcrTemplate

        protected org.springframework.extensions.jcr.JcrTemplate jcrTemplate
        When not using multi-tenancy, this value is used as opposed to tenantAuthenticatedAuthorityPattern.
    • Constructor Detail

      • RepositoryTenantManager

        public RepositoryTenantManager​(IRepositoryFileDao contentDao,
                                       org.pentaho.platform.api.engine.security.userroledao.IUserRoleDao userRoleDao,
                                       IRepositoryFileAclDao repositoryFileAclDao,
                                       IRoleAuthorizationPolicyRoleBindingDao roleBindingDao,
                                       org.springframework.extensions.jcr.JcrTemplate jcrTemplate,
                                       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

      • createAuthzFolderNode

        public javax.jcr.Node createAuthzFolderNode​(javax.jcr.Session session,
                                                    PentahoJcrConstants pentahoJcrConstants,
                                                    org.pentaho.platform.api.mt.ITenant tenant)
                                             throws javax.jcr.RepositoryException
        Throws:
        javax.jcr.RepositoryException
      • createRoleBasedFolderNode

        public javax.jcr.Node createRoleBasedFolderNode​(javax.jcr.Session session,
                                                        PentahoJcrConstants pentahoJcrConstants,
                                                        org.pentaho.platform.api.mt.ITenant tenant)
                                                 throws javax.jcr.RepositoryException
        Throws:
        javax.jcr.RepositoryException
      • createRuntimeRolesFolderNode

        public javax.jcr.Node createRuntimeRolesFolderNode​(javax.jcr.Session session,
                                                           PentahoJcrConstants pentahoJcrConstants,
                                                           org.pentaho.platform.api.mt.ITenant tenant)
                                                    throws javax.jcr.RepositoryException
        Throws:
        javax.jcr.RepositoryException
      • createTenant

        public org.pentaho.platform.api.mt.ITenant createTenant​(org.pentaho.platform.api.mt.ITenant parentTenant,
                                                                String tenantName,
                                                                String tenantAdminRoleName,
                                                                String authenticatedRoleName,
                                                                String anonymousRoleName)
      • createAuthenticatedPentahoSession

        protected org.pentaho.platform.api.engine.IPentahoSession createAuthenticatedPentahoSession​(String tenantId,
                                                                                                    String userName)
      • login

        protected void login​(String username,
                             String tenantAdminRoleId)
      • deleteTenants

        public void deleteTenants​(List<org.pentaho.platform.api.mt.ITenant> tenants)
      • deleteTenant

        public void deleteTenant​(org.pentaho.platform.api.mt.ITenant tenant)
      • enableTenant

        public void enableTenant​(org.pentaho.platform.api.mt.ITenant tenant,
                                 boolean enable)
      • 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
        Overrides:
        getTenantRootFolder in class AbstractRepositoryTenantManager
      • enableTenants

        public void enableTenants​(List<org.pentaho.platform.api.mt.ITenant> tenants,
                                  boolean enable)
      • getChildTenants

        public List<org.pentaho.platform.api.mt.ITenant> getChildTenants​(org.pentaho.platform.api.mt.ITenant parentTenant,
                                                                         boolean includeDisabledTenants)
      • getChildTenants

        public List<org.pentaho.platform.api.mt.ITenant> getChildTenants​(org.pentaho.platform.api.mt.ITenant parentTenant)
      • getTenant

        public org.pentaho.platform.api.mt.ITenant getTenant​(String tenantId)
      • getTenantByRootFolderPath

        public org.pentaho.platform.api.mt.ITenant getTenantByRootFolderPath​(String tenantRootFolderPath)
      • isSubTenant

        public boolean isSubTenant​(org.pentaho.platform.api.mt.ITenant parentTenant,
                                   org.pentaho.platform.api.mt.ITenant descendantTenant)
      • getUserRoleDao

        public org.pentaho.platform.api.engine.security.userroledao.IUserRoleDao getUserRoleDao()
      • createInitialTenantFolders

        protected void createInitialTenantFolders​(org.pentaho.platform.api.mt.ITenant tenant,
                                                  org.pentaho.platform.api.repository2.unified.RepositoryFile tenantRootFolder,
                                                  org.pentaho.platform.api.repository2.unified.RepositoryFileSid fileOwnerSid)
                                           throws javax.jcr.RepositoryException
        Throws:
        javax.jcr.RepositoryException