Package org.pentaho.platform.api.mt

Examples of org.pentaho.platform.api.mt.ITenant


  }

  @Test
  public void testGetChildrenTenants() {
    loginAsSysTenantAdmin();
    ITenant tenantRoot =
      tenantManager.createTenant( systemTenant, TENANT_ID_ACME, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( tenantRoot, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );
    assertNotNull( tenantRoot );
    assertTrue( tenantRoot.isEnabled() );

    ITenant subTenantRoot1 =
      tenantManager.createTenant( tenantRoot, TENANT_ID_APPLE, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenantRoot1, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );
    assertTrue( subTenantRoot1.isEnabled() );

    ITenant subTenantRoot2 =
      tenantManager.createTenant( tenantRoot, TENANT_ID_MICROSOFT, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenantRoot2, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );
    assertTrue( subTenantRoot2.isEnabled() );

    List<ITenant> tenantChildren = tenantManager.getChildTenants( tenantRoot );
    assertTrue( tenantChildren.size() == 2 );
    List<ITenant> tenantChildrenId = tenantManager.getChildTenants( tenantRoot );
    assertTrue( tenantChildrenId.size() == 2 );
View Full Code Here


  }

  @Test
  public void testDeleteTenant() {
    loginAsSysTenantAdmin();
    ITenant mainTenant_1 =
      tenantManager.createTenant( systemTenant, MAIN_TENANT_1, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( mainTenant_1, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );
    ITenant mainTenant_2 =
      tenantManager.createTenant( systemTenant, MAIN_TENANT_2, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( mainTenant_2, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );
    ITenant subTenant1_1 = null;
    // Testing SubTenant1_1 as a TenantAdmin of MainTenant2. This should fail
    login( USERNAME_ADMIN, mainTenant_2, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );
    try {
      subTenant1_1 =
        tenantManager.createTenant( mainTenant_1, SUB_TENANT1_1, tenantAdminRoleName,
          tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
      fail( "should have thrown an exception" );
    } catch ( Throwable th ) {
      assertNotNull( th );
    }
    logout();
    login( USERNAME_ADMIN, mainTenant_1, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );
    subTenant1_1 =
      tenantManager.createTenant( mainTenant_1, SUB_TENANT1_1, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant1_1, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );

    ITenant subTenant1_1_1 =
      tenantManager.createTenant( subTenant1_1, SUB_TENANT1_1_1, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant1_1_1, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );

    ITenant subTenant1_1_2 =
      tenantManager.createTenant( subTenant1_1, SUB_TENANT1_1_2, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant1_1_2, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );
    logout();
    // Testing SubTenant1_2 as a TenantAdmin of MainTenant2. This should fail
    login( USERNAME_ADMIN, mainTenant_2, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );
    ITenant subTenant1_2 = null;
    try {
      subTenant1_2 =
        tenantManager.createTenant( mainTenant_1, SUB_TENANT1_2, tenantAdminRoleName,
          tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
      fail( "should have thrown an exception" );
    } catch ( Throwable th ) {
      assertNotNull( th );
    }
    logout();
    login( USERNAME_ADMIN, mainTenant_1, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );
    subTenant1_2 =
      tenantManager.createTenant( mainTenant_1, SUB_TENANT1_2, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant1_2, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );
    logout();
    login( USERNAME_ADMIN, subTenant1_2, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );
    ITenant subTenant1_2_1 =
      tenantManager.createTenant( subTenant1_2, SUB_TENANT1_2_1, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant1_2_1, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );

    ITenant subTenant1_2_2 =
      tenantManager.createTenant( subTenant1_2, SUB_TENANT1_2_2, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant1_2_2, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );
    logout();
    login( USERNAME_ADMIN, mainTenant_2, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );
    ITenant subTenant2_1 =
      tenantManager.createTenant( mainTenant_2, SUB_TENANT2_1, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant2_1, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );
    ITenant subTenant2_1_1 =
      tenantManager.createTenant( subTenant2_1, SUB_TENANT2_1_1, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant2_1_1, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );

    ITenant subTenant2_1_2 =
      tenantManager.createTenant( subTenant2_1, SUB_TENANT2_1_2, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant2_1_2, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );
    logout();
    login( USERNAME_ADMIN, mainTenant_1, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );
    ITenant subTenant2_2 = null;
    try {
      subTenant2_2 =
        tenantManager.createTenant( mainTenant_2, SUB_TENANT2_2, tenantAdminRoleName,
          tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
      fail( "should have thrown an exception" );
    } catch ( Throwable th ) {
      assertNotNull( th );
    }
    logout();
    login( USERNAME_ADMIN, mainTenant_2, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );
    subTenant2_2 =
      tenantManager.createTenant( mainTenant_2, SUB_TENANT2_2, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant2_2, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );

    logout();
    login( USERNAME_ADMIN, subTenant2_2, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );

    ITenant subTenant2_2_1 =
      tenantManager.createTenant( subTenant2_2, SUB_TENANT2_2_1, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant2_2_1, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );

    ITenant subTenant2_2_2 =
      tenantManager.createTenant( subTenant2_2, SUB_TENANT2_2_2, tenantAdminRoleName,
        tenantAuthenticatedRoleName, ANONYMOUS_ROLE_NAME );
    userRoleDao.createUser( subTenant2_2_2, USERNAME_ADMIN, PASSWORD, "", new String[]{ tenantAdminRoleName } );

    // Delete Tenants

    login( USERNAME_ADMIN, subTenant2_1, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );
    try {
      tenantManager.deleteTenant( subTenant2_1 );
      fail( "should have thrown an exception" );
    } catch ( Throwable th ) {
      assertNotNull( th );
    }
    logout();

    login( USERNAME_ADMIN, mainTenant_2, new String[]{ tenantAdminRoleName, tenantAuthenticatedRoleName } );
    tenantManager.deleteTenant( subTenant2_1 );
    ITenant tenant = tenantManager.getTenant( subTenant2_1.getRootFolderAbsolutePath() );
    assertNull( tenant );
    tenant = tenantManager.getTenant( subTenant2_1_1.getRootFolderAbsolutePath() );
    assertNull( tenant );
    tenant = tenantManager.getTenant( subTenant2_1_2.getRootFolderAbsolutePath() );
    assertNull( tenant );
View Full Code Here

      }
    }

    HashMap<String, User> finalCollectionOfAssignedUsers = new HashMap<String, User>();
    if ( memberUserNames != null ) {
      ITenant tenant = theTenant == null ? JcrTenantUtils.getTenant( roleName, false ) : theTenant;
      for ( String user : memberUserNames ) {
        User jackrabbitUser = getJackrabbitUser( tenant, user, session );
        if ( jackrabbitUser != null ) {
          finalCollectionOfAssignedUsers.put(
            getTenantedUserNameUtils().getPrincipleId( tenant, user ), jackrabbitUser );
View Full Code Here

      throw new NotFoundException( Messages.getInstance().getString(
          "AbstractJcrBackedUserRoleDao.ERROR_0003_USER_NOT_FOUND" ) );
    }

    HashMap<String, Group> finalCollectionOfAssignedGroups = new HashMap<String, Group>();
    ITenant tenant = theTenant == null ? JcrTenantUtils.getTenant( userName, true ) : theTenant;
    for ( String role : roleSet ) {
      Group jackrabbitGroup = getJackrabbitGroup( tenant, role, session );
      if ( jackrabbitGroup != null ) {
        finalCollectionOfAssignedGroups.put( tenantedRoleNameUtils.getPrincipleId( tenant, role ), jackrabbitGroup );
      }
View Full Code Here

      Group currentGroup = currentGroups.next();
      currentlyAssignedGroups.put( currentGroup.getID(), currentGroup );
    }

    HashMap<String, Group> finalCollectionOfAssignedGroups = new HashMap<String, Group>();
    ITenant tenant = theTenant == null ? JcrTenantUtils.getTenant( userName, true ) : theTenant;
    for ( String role : roleSet ) {
      Group jackrabbitGroup = getJackrabbitGroup( tenant, role, session );
      if ( jackrabbitGroup != null ) {
        finalCollectionOfAssignedGroups.put( tenantedRoleNameUtils.getPrincipleId( tenant, role ), jackrabbitGroup );
      }
View Full Code Here

  }

  public IPentahoRole createRole( Session session, final ITenant theTenant, final String roleName,
      final String description, final String[] memberUserNames ) throws AuthorizableExistsException,
    RepositoryException {
    ITenant tenant = theTenant;
    String role = roleName;
    if ( tenant == null ) {
      tenant = JcrTenantUtils.getTenant( roleName, false );
      role = JcrTenantUtils.getPrincipalName( roleName, false );
    }
    if ( tenant == null || tenant.getId() == null ) {
      tenant = JcrTenantUtils.getCurrentTenant();
    }
    if ( !TenantUtils.isAccessibleTenant( tenant ) ) {
      throw new NotFoundException( Messages.getInstance().getString(
          "AbstractJcrBackedUserRoleDao.ERROR_0006_TENANT_NOT_FOUND", theTenant.getId() ) );
View Full Code Here

  }

  public IPentahoUser createUser( Session session, final ITenant theTenant, final String userName,
      final String password, final String description, final String[] roles ) throws AuthorizableExistsException,
    RepositoryException {
    ITenant tenant = theTenant;
    String user = userName;
    if ( tenant == null ) {
      tenant = JcrTenantUtils.getTenant( userName, true );
      user = JcrTenantUtils.getPrincipalName( userName, true );
    }
    if ( tenant == null || tenant.getId() == null ) {
      tenant = JcrTenantUtils.getCurrentTenant();
    }
    if ( !TenantUtils.isAccessibleTenant( tenant ) ) {
      throw new NotFoundException( Messages.getInstance().getString(
          "AbstractJcrBackedUserRoleDao.ERROR_0006_TENANT_NOT_FOUND", theTenant.getId() ) );
View Full Code Here

  private Group getJackrabbitGroup( ITenant theTenant, String name, Session session ) throws RepositoryException {
    Group jackrabbitGroup = null;
    String roleId = name;
    String roleName = name;
    ITenant tenant = theTenant;

    if ( tenant == null ) {
      tenant = JcrTenantUtils.getTenant( roleName, false );
      roleName = JcrTenantUtils.getPrincipalName( roleName, false );
    }
    if ( tenant == null || tenant.getId() == null ) {
      tenant = JcrTenantUtils.getCurrentTenant();
    }
    if ( tenant == null || tenant.getId() == null ) {
      tenant = JcrTenantUtils.getDefaultTenant();
    }
    roleId = tenantedRoleNameUtils.getPrincipleId( tenant, roleName );

    UserManager userMgr = getUserManager( tenant, session );
View Full Code Here

  private User getJackrabbitUser( ITenant theTenant, String name, Session session ) throws RepositoryException {
    User jackrabbitUser = null;
    String userId = name;
    String userName = name;
    ITenant tenant = theTenant;
    if ( tenant == null ) {
      tenant = JcrTenantUtils.getTenant( userName, true );
      userName = JcrTenantUtils.getPrincipalName( userName, true );
    }
    if ( tenant == null || tenant.getId() == null ) {
      tenant = JcrTenantUtils.getCurrentTenant();
    }
    if ( tenant == null || tenant.getId() == null ) {
      tenant = JcrTenantUtils.getDefaultTenant();
    }

    if ( tenant != null ) {
      userId = tenantedUserNameUtils.getPrincipleId( tenant, userName );
View Full Code Here

    JcrRepositoryFileAclUtils.setAclMetadata( session, absPath, acList, new AclMetadata( acl.getOwner().getName(), acl
        .isEntriesInheriting() ) );

    // add entries to now empty list but only if not inheriting; force user to start with clean slate
    boolean adminPrincipalExist = false;
    ITenant principalTenant = null;
    if ( !acl.isEntriesInheriting() ) {
      for ( RepositoryFileAce ace : acl.getAces() ) {
        Principal principal = null;
        if ( RepositoryFileSid.Type.ROLE == ace.getSid().getType() ) {
          String principalName = JcrTenantUtils.getRoleNameUtils().getPrincipleName( ace.getSid().getName() );
          if ( tenantAdminAuthorityName.equals( principalName ) ) {
            adminPrincipalExist = true;
          }
          principal = new SpringSecurityRolePrincipal( JcrTenantUtils.getTenantedRole( ace.getSid().getName() ) );
        } else {
          principal = new SpringSecurityUserPrincipal( JcrTenantUtils.getTenantedUser( ace.getSid().getName() ) );
        }
        acList.addAccessControlEntry( principal, permissionConversionHelper.pentahoPermissionsToPrivileges( session,
            ace.getPermissions() ) );
      }
      if ( !adminPrincipalExist ) {
        if ( acl.getAces() != null && acl.getAces().size() > 0 ) {
          principalTenant = JcrTenantUtils.getRoleNameUtils().getTenant( acl.getAces().get( 0 ).getSid().getName() );
        }

        if ( principalTenant == null || principalTenant.getId() == null ) {
          principalTenant = JcrTenantUtils.getTenant();
        }

        List<RepositoryFilePermission> permissionList = new ArrayList<RepositoryFilePermission>();
        permissionList.add( RepositoryFilePermission.ALL );
View Full Code Here

TOP

Related Classes of org.pentaho.platform.api.mt.ITenant

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.