diff --git a/GeneXusFtps/src/main/java/com/genexus/commons/ftps/FtpsClientObject.java b/GeneXusFtps/src/main/java/com/genexus/commons/ftps/FtpsClientObject.java index 50e1967..b2c5f1e 100644 --- a/GeneXusFtps/src/main/java/com/genexus/commons/ftps/FtpsClientObject.java +++ b/GeneXusFtps/src/main/java/com/genexus/commons/ftps/FtpsClientObject.java @@ -13,6 +13,7 @@ public FtpsClientObject() public abstract boolean connect(FtpsOptions options); public abstract boolean put(String localPath, String remoteDir); public abstract boolean get(String remoteFilePath, String localDir); + public abstract boolean rm(String remoteFilePath); public abstract void disconnect(); public abstract String getWorkingDirectory(); } diff --git a/GeneXusFtps/src/main/java/com/genexus/ftps/FtpsClient.java b/GeneXusFtps/src/main/java/com/genexus/ftps/FtpsClient.java index 34cb2e5..d074f31 100644 --- a/GeneXusFtps/src/main/java/com/genexus/ftps/FtpsClient.java +++ b/GeneXusFtps/src/main/java/com/genexus/ftps/FtpsClient.java @@ -188,6 +188,38 @@ public boolean get(String remoteFilePath, String localDir) { return true; } + + public boolean rm(String remoteFilePath) { + if (this.client == null || !this.client.isConnected()) { + this.error.setError("FS019", "The connection is invalid, reconect"); + return false; + } + boolean dirchange = true; + try { + if (!isSameDir(getDirectory(remoteFilePath), this.client.printWorkingDirectory())) { + dirchange = this.client.changeWorkingDirectory(getDirectory(remoteFilePath)); + this.pwd = getDirectory(remoteFilePath); + } + + } catch (IOException e2) { + this.error.setError("FS020", "Error changing directory " + e2.getMessage()); + return false; + } + if (!dirchange) { + this.error.setError("FS021", + "Reply code: " + this.client.getReplyCode() + " Reply String: " + this.client.getReplyString()); + return false; + } + boolean deleted = false; + try { + deleted = this.client.deleteFile(remoteFilePath); + } catch (Exception e) { + this.error.setError("FS022", "Error retrieving file " + e.getMessage()); + deleted = false; + } + return deleted; + + } public void disconnect() { if (this.client != null && this.client.isConnected()) {