@Override public void visit(final AttributedList<Path> list, final int index, final Path f) { try { f.getType().add(Path.Type.encrypted); list.set(index, vault.decrypt(session, f)); } catch(BackgroundException e) { log.error(String.format("Failure decrypting %s. %s", f, e.getDetail())); f.getType().remove(Path.Type.encrypted); } }
@Override public Path move(final Path file, final Path renamed, final TransferStatus status, final Delete.Callback callback, final ConnectionCallback connectionCallback) throws BackgroundException { // Move inside vault moves actual files and only metadata files for directories but not the actual directories final Path target = proxy.move( vault.encrypt(session, file, file.isDirectory()), vault.encrypt(session, renamed, file.isDirectory()), status, callback, connectionCallback); return vault.decrypt(session, target); }