@Override public Permission getDefault(final EnumSet<Path.Type> type) { return proxy.getDefault(type); }
@Override public Permission getUnixPermission(final Path file) throws BackgroundException { return delegate.getUnixPermission(cryptomator.encrypt(session, file)); }
@Override public void setUnixGroup(final Path file, final String group) throws BackgroundException { delegate.setUnixGroup(cryptomator.encrypt(session, file), group); }
@Override public void setUnixPermission(final Path file, final Permission permission) throws BackgroundException { delegate.setUnixPermission(cryptomator.encrypt(session, file), permission); }
@Override public void setUnixOwner(final Path file, final String owner) throws BackgroundException { delegate.setUnixOwner(cryptomator.encrypt(session, file), owner); }
@Override public void setUnixPermission(final Path file, final Permission permission) throws BackgroundException { registry.find(session, file).getFeature(session, UnixPermission.class, proxy).setUnixPermission(file, permission); }
@Override public void setUnixOwner(final Path file, final String owner) throws BackgroundException { registry.find(session, file).getFeature(session, UnixPermission.class, proxy).setUnixOwner(file, owner); }
@Override public Permission getDefault(final Local file) { return delegate.getDefault(file); }
protected void write(final Session<?> session, final UnixPermission feature, final Path file, final Permission permission) throws BackgroundException { listener.message(MessageFormat.format(LocaleFactory.localizedString("Changing permission of {0} to {1}", "Status"), file.getName(), permission)); feature.setUnixPermission(file, permission); if(file.isDirectory()) { if(callback.recurse(file, permission)) { for(Path child : session.getFeature(ListService.class).list(file, new WorkerListProgressListener(this, listener))) { this.write(session, feature, child, permission); } } } }
@Override public Permission getUnixPermission(final Path file) throws BackgroundException { return registry.find(session, file).getFeature(session, UnixPermission.class, proxy).getUnixPermission(file); }
@Override public void setUnixGroup(final Path file, final String group) throws BackgroundException { registry.find(session, file).getFeature(session, UnixPermission.class, proxy).setUnixGroup(file, group); }
@Override public Permission getDefault(final Local file) { return proxy.getDefault(file); }
listener.message(MessageFormat.format(LocaleFactory.localizedString("Changing permission of {0} to {1}", "Status"), file.getName(), status.getPermission())); feature.setUnixPermission(file, status.getPermission());
@Override public PermissionOverwrite run(final Session<?> session) throws BackgroundException { final UnixPermission feature = session.getFeature(UnixPermission.class); final List<Permission> permissions = new ArrayList<>(); for(Path next : files) { if(this.isCanceled()) { throw new ConnectionCanceledException(); } if(Permission.EMPTY == next.attributes().getPermission()) { next.attributes().setPermission(feature.getUnixPermission(next)); } permissions.add(next.attributes().getPermission()); } final PermissionOverwrite overwrite = new PermissionOverwrite(); final Supplier<Stream<Permission>> supplier = permissions::stream; overwrite.user.read = resolveOverwrite(map(supplier, Permission::getUser, Permission.Action.read)); overwrite.user.write = resolveOverwrite(map(supplier, Permission::getUser, Permission.Action.write)); overwrite.user.execute = resolveOverwrite(map(supplier, Permission::getUser, Permission.Action.execute)); overwrite.group.read = resolveOverwrite(map(supplier, Permission::getGroup, Permission.Action.read)); overwrite.group.write = resolveOverwrite(map(supplier, Permission::getGroup, Permission.Action.write)); overwrite.group.execute = resolveOverwrite(map(supplier, Permission::getGroup, Permission.Action.execute)); overwrite.other.read = resolveOverwrite(map(supplier, Permission::getOther, Permission.Action.read)); overwrite.other.write = resolveOverwrite(map(supplier, Permission::getOther, Permission.Action.write)); overwrite.other.execute = resolveOverwrite(map(supplier, Permission::getOther, Permission.Action.execute)); return overwrite; }
@Override public Permission getDefault(final EnumSet<Path.Type> type) { return delegate.getDefault(type); }
listener.message(MessageFormat.format(LocaleFactory.localizedString("Changing permission of {0} to {1}", "Status"), file.getName(), status.getPermission())); feature.setUnixPermission(file, status.getPermission());
@Override public Path run(final Session<?> session) throws BackgroundException { final Directory feature = session.getFeature(Directory.class); final TransferStatus status = new TransferStatus(); final Encryption encryption = session.getFeature(Encryption.class); if(encryption != null) { status.setEncryption(encryption.getDefault(folder)); } final Redundancy redundancy = session.getFeature(Redundancy.class); if(redundancy != null) { status.setStorageClass(redundancy.getDefault()); } status.setTimestamp(System.currentTimeMillis()); final UnixPermission permission = session.getFeature(UnixPermission.class); if(permission != null) { status.setPermission(permission.getDefault(EnumSet.of(Path.Type.directory))); } return feature.mkdir(folder, region, status); }
@Override public Path run(final Session<?> session) throws BackgroundException { final Touch feature = session.getFeature(Touch.class); final TransferStatus status = new TransferStatus() .exists(false) .length(0L) .withMime(new MappingMimeTypeService().getMime(file.getName())); final Encryption encryption = session.getFeature(Encryption.class); if(encryption != null) { status.setEncryption(encryption.getDefault(file)); } final Redundancy redundancy = session.getFeature(Redundancy.class); if(redundancy != null) { status.setStorageClass(redundancy.getDefault()); } status.setTimestamp(System.currentTimeMillis()); final UnixPermission permission = session.getFeature(UnixPermission.class); if(permission != null) { status.setPermission(permission.getDefault(EnumSet.of(Path.Type.file))); } return feature.touch(file, status); }
status.setPermission(feature.getDefault(local));