public TransferBackgroundAction(final Controller controller, final SessionPool source, final SessionPool destination, final TransferListener listener, final ProgressListener progress, final Transfer transfer, final TransferOptions options, final TransferPrompt prompt, final TransferErrorCallback error) { this(controller, source, destination, listener, progress, transfer, options, prompt, error, new TransferSpeedometer(transfer), new DisabledStreamListener()); }
public TransferBackgroundAction(final Controller controller, final SessionPool source, final SessionPool destination, final TransferListener listener, final ProgressListener progress, final Transfer transfer, final TransferOptions options) { this(controller, source, destination, listener, progress, transfer, options, TransferPromptControllerFactory.get(controller, transfer, source, destination), TransferErrorCallbackControllerFactory.get(controller)); }
@Override public Transfer run(final Session<?> session) throws BackgroundException { if(log.isDebugEnabled()) { log.debug(String.format("Run upload action for editor %s", editor)); } final SingleTransferWorker worker = new SingleTransferWorker(session, session, upload, new TransferOptions(), new TransferSpeedometer(upload), new DisabledTransferPrompt(), callback, listener, new DisabledStreamListener(), new DisabledLoginCallback(), new DisabledPasswordCallback(), notification); worker.run(); if(!upload.isComplete()) { log.warn(String.format("File size changed for %s", editor.getRemote())); } else { // Update known remote file size editor.getRemote().attributes().setSize(upload.getTransferred()); } return upload; }
@Override public Transfer run(final Session<?> session) throws BackgroundException { final Path file = editor.getRemote(); if(log.isDebugEnabled()) { log.debug(String.format("Run edit action for editor %s", file)); } // Delete any existing file which might be used by a watch editor already final TransferOptions options = new TransferOptions(); options.quarantine = false; options.open = false; final SingleTransferWorker worker = new SingleTransferWorker(session, session, download, options, new TransferSpeedometer(download), new DisabledTransferPrompt(), callback, listener, new DisabledStreamListener(), new DisabledLoginCallback(), new DisabledPasswordCallback(), notification); worker.run(); if(!download.isComplete()) { log.warn(String.format("File size changed for %s", file)); } try { editor.edit(quit, watcher); } catch(IOException e) { throw new DefaultIOExceptionMappingService().map(e); } return download; }
@Override public Path touch(final Path file, final TransferStatus status) throws BackgroundException { final Local temp = TemporaryFileServiceFactory.get().create(file); LocalTouchFactory.get().touch(temp); try { final T reply = feature.upload(file, temp, new BandwidthThrottle(BandwidthThrottle.UNLIMITED), new DisabledStreamListener(), status, new DisabledConnectionCallback()); if(log.isDebugEnabled()) { log.debug(String.format("Received reply %s for creating file %s", reply, file)); } return new Path(file.getParent(), file.getName(), file.getType(), attributes.find(file)); } finally { temp.delete(); } }
transfer.withCache(cache), new TransferOptions().reload(true), prompt, meter, input.hasOption(TerminalOptionsBuilder.Params.quiet.name()) ? new DisabledStreamListener() : new TerminalStreamListener(meter) ); if(!this.execute(action)) {