public boolean containsRole(final Path file, final Acl.Role role) { if(Acl.EMPTY == file.attributes().getAcl()) { // Missing initialization log.warn(String.format("Unknown ACLs on file %s", file)); return true; } if(file.attributes().getAcl().isEmpty()) { // No permissions for Home room return false; } final Set<Acl.Role> roles = file.attributes().getAcl().get(new Acl.CanonicalUser()); if(null == roles) { return false; } return roles.contains(role); } }
@Override public Acl getPermission(final Path file) throws BackgroundException { return new SDSAttributesFinderFeature(session, nodeid).find(file).getAcl(); }
@Override public Acl getPermission(final Path file) { if(containerService.isContainer(file)) { return containerService.getContainer(file).attributes().getAcl(); } return Acl.EMPTY; }
@Override public List<Acl.UserAndRole> run(final Session<?> session) throws BackgroundException { final AclPermission feature = session.getFeature(AclPermission.class); final List<Acl.UserAndRole> updated = new ArrayList<Acl.UserAndRole>(); for(Path next : files) { if(this.isCanceled()) { throw new ConnectionCanceledException(); } if(Acl.EMPTY == next.attributes().getAcl()) { next.attributes().setAcl(feature.getPermission(next)); } for(Acl.UserAndRole acl : next.attributes().getAcl().asList()) { if(updated.contains(acl)) { continue; } updated.add(acl); } } return updated; }
final Acl acl = item.attributes().getAcl(); if(!Acl.EMPTY.equals(acl)) { final StringBuilder s = new StringBuilder();
@Override public Name getLocation(final Path file) { final Path container = containerService.getContainer(file); if(container.isRoot()) { return unknown; } for(Acl.UserAndRole role : container.attributes().getAcl().asList()) { if(role.getUser().equals(new Acl.GroupUser(Acl.GroupUser.EVERYONE))) { if(role.getRole().equals(new Acl.Role(Acl.Role.READ))) { return new B2BucketTypeName(BucketType.allPublic); } } } return new B2BucketTypeName(BucketType.allPrivate); }
@Override public void setConfiguration(final Path container, final LifecycleConfiguration configuration) throws BackgroundException { try { if(LifecycleConfiguration.empty().equals(configuration)) { session.getClient().updateBucket( fileid.getFileid(containerService.getContainer(container), new DisabledListProgressListener()), new B2BucketTypeFeature(session, fileid).convert(container.attributes().getAcl()) ); } else { session.getClient().updateBucket( fileid.getFileid(containerService.getContainer(container), new DisabledListProgressListener()), new B2BucketTypeFeature(session, fileid).convert(container.attributes().getAcl()), new LifecycleRule( null == configuration.getExpiration() ? null : configuration.getExpiration().longValue(), null == configuration.getTransition() ? null : configuration.getTransition().longValue(), StringUtils.EMPTY) ); } } catch(B2ApiException e) { throw new B2ExceptionMappingService().map("Failure to write attributes of {0}", e, container); } catch(IOException e) { throw new DefaultIOExceptionMappingService().map("Failure to write attributes of {0}", e, container); } } }
status.setAcl(attributes.getAcl()); if(options.segments) { if(file.isFile()) {
if(null == acl.getOwner()) { acl.setOwner(file.attributes().getAcl().getOwner());