package org.kisst.gft.filetransfer.action;
import org.kisst.gft.action.BaseAction;
import org.kisst.gft.filetransfer.FileLocation;
import org.kisst.gft.filetransfer.FileTransferTask;
import org.kisst.gft.task.Task;
import org.kisst.props4j.Props;
import org.kisst.util.exception.BasicFunctionalException;
public class CheckDestFileDoesNotExist extends BaseAction {
public CheckDestFileDoesNotExist(Props props) { super(props); }
public class Problem extends BasicFunctionalException {
private static final long serialVersionUID = 1L;
public Problem(FileLocation loc) { super("On host "+loc.getFileServer()+" there already is a file "+loc.getPath()); }
}
@Override public boolean safeToRetry() { return true; }
@Override public void execute(Task task) {
FileTransferTask ft= (FileTransferTask) task;
FileLocation dest = ft.getDestinationFile();
FileLocation finaldest = ft.getFinalDestinationFile();
if (dest.fileExists())
throw new Problem(dest);
if (finaldest!=null && finaldest.fileExists())
throw new Problem(finaldest);
}
}