public Object doInJcr( final Session session ) throws RepositoryException, IOException { PentahoJcrConstants pentahoJcrConstants = new PentahoJcrConstants( session ); JcrRepositoryFileUtils.checkoutNearestVersionableFileIfNecessary( session, pentahoJcrConstants, acl.getId() ); RepositoryFileAcl updatedAcl = internalUpdateAcl( session, pentahoJcrConstants, acl.getId(), acl ); JcrRepositoryFileUtils.checkinNearestVersionableFileIfNecessary( session, pentahoJcrConstants, acl.getId(), null, null, true ); return updatedAcl; } } );
public static void updateAcl( final Session session, final RepositoryFileAcl acl ) throws RepositoryException { PentahoJcrConstants pentahoJcrConstants = new PentahoJcrConstants( session ); JcrRepositoryFileUtils.checkoutNearestVersionableFileIfNecessary( session, pentahoJcrConstants, acl.getId() ); internalUpdateAcl( session, pentahoJcrConstants, acl.getId(), acl ); JcrRepositoryFileUtils.checkinNearestVersionableFileIfNecessary( session, pentahoJcrConstants, acl.getId(), null, null, true ); }
/** * {@inheritDoc} */ public RepositoryFileAcl updateAcl( final RepositoryFileAcl acl ) { Assert.notNull( acl ); RepositoryFile file = getFileById( acl.getId() ); List<RepositoryFilePermission> perms = new ArrayList<RepositoryFilePermission>(); perms.add( RepositoryFilePermission.ACL_MANAGEMENT ); if ( !hasAccess( file.getPath(), EnumSet.copyOf( perms ) ) ) { throw new UnifiedRepositoryAccessDeniedException( Messages.getInstance().getString( "DefaultUnifiedRepository.ERROR_0001_ACCESS_DENIED_UPDATE_ACL", acl.getId() ) ); } return repositoryFileAclDao.updateAcl( acl ); }
public RepositoryFileAcl updateAcl( final RepositoryFileAcl acl ) { return callLogThrow( new Callable<RepositoryFileAcl>() { public RepositoryFileAcl call() throws Exception { return delegatee.updateAcl( acl ); } }, Messages.getInstance().getString( "ExceptionLoggingDecorator.updateAcl", acl != null ? acl.getId() : null ) ); //$NON-NLS-1$ }
@Override public boolean matchesSafely( final RepositoryFileAcl acl ) { return ( expectedAcl.getId() != null ? expectedAcl.getId().equals( acl.getId() ) : true ) && expectedAcl.isEntriesInheriting() == acl.isEntriesInheriting() && ( testAcesUsingEquals ? acl.getAces().equals( expectedAcl.getAces() ) : acl.getAces().containsAll( expectedAcl.getAces() ) ); }
@Override public void describeTo( final Description description ) { boolean appended = false; description.appendText( shortName ); description.appendText( "(" ); if ( expectedAcl.getId() != null ) { description.appendText( appended ? "," : "" ); description.appendText( "id=" ); description.appendText( expectedAcl.getId().toString() ); appended = true; } description.appendText( appended ? "," : "" ); description.appendText( "isEntriesInheriting=" ); description.appendText( String.valueOf( expectedAcl.isEntriesInheriting() ) ); appended = true; if ( expectedAcl.getAces() != null ) { description.appendText( appended ? "," : "" ); description.appendText( "aces=" ); description.appendText( expectedAcl.getAces().toString() ); appended = true; } description.appendText( ")" ); }
@Override public RepositoryFileAclDto marshal( final RepositoryFileAcl v ) { RepositoryFileAclDto aclDto = new RepositoryFileAclDto(); Serializable id = v.getId(); aclDto.setId( id != null ? id.toString() : null ); RepositoryFileSid owner = v.getOwner(); if ( owner != null ) { aclDto.setOwner( owner.getName() ); aclDto.setOwnerType( owner.getType() != null ? owner.getType().ordinal() : -1 ); } aclDto.setAces( toAcesDto( v.getAces() ), v.isEntriesInheriting() ); return aclDto; }
RepositoryFileAcl.Builder aclBuilder = new RepositoryFileAcl.Builder( acl.getId(), acl.getOwner().getName(), RepositoryFileSid.Type.ROLE ); aclBuilder.aces( acl.getAces() );