diff --git a/pom.xml b/pom.xml
index a015965..cfbd703 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
org.gcube.data.transfer
data-transfer-service
- 2.0.0-SNAPSHOT
+ 2.0.1-SNAPSHOT
war
DataTransferService
@@ -49,7 +49,11 @@
decompress-archive-plugin
[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
-
+
+ org.gcube.data.transfer
+ sis-geotk-plugin
+ LATEST
+
diff --git a/src/main/java/org/gcube/data/transfer/service/transfers/engine/impl/AbstractTicketHandler.java b/src/main/java/org/gcube/data/transfer/service/transfers/engine/impl/AbstractTicketHandler.java
index 0a8d132..f1be9ab 100644
--- a/src/main/java/org/gcube/data/transfer/service/transfers/engine/impl/AbstractTicketHandler.java
+++ b/src/main/java/org/gcube/data/transfer/service/transfers/engine/impl/AbstractTicketHandler.java
@@ -87,7 +87,8 @@ public abstract class AbstractTicketHandler {
BufferedOutputStream out=null;
Boolean completedTransfer=false;
File destination=null;
-
+ File tempFile=null;
+
try{
if(ticket.getSettings().getOptions().getMethod().equals(TransferMethod.DirectTransfer))
throw new NotSupportedMethodException("Unable to manage request [ID "+ticket.getId()+"]. Method not supported : "+ticket.getSettings().getOptions().getMethod());
@@ -110,10 +111,10 @@ public abstract class AbstractTicketHandler {
is=getInputStream();
-
+ tempFile=File.createTempFile("transfer_"+ticket.getId(), ".tmp");
try{
- out=new BufferedOutputStream(new FileOutputStream(destination));
+ out=new BufferedOutputStream(new FileOutputStream(tempFile));
} catch (IOException e) {
log.warn("Unable to create destination file.",e);
throw new ManagedException("Cannot save file in host");
@@ -123,7 +124,8 @@ public abstract class AbstractTicketHandler {
completedTransfer=true;
// IF TRANSFER FAILS, EXCEPTIONS AR THROWN
-
+ log.debug("Completed transfer to {} , moving to destination {} ",tempFile.getAbsolutePath(),destination.getAbsolutePath());
+ tempFile.renameTo(destination);
//Plugin execution
if(ticket.getPluginInvocations()!=null){
@@ -146,7 +148,8 @@ public abstract class AbstractTicketHandler {
}
}
- log.debug("Completed Transfer for ticket ID {} ",ticket.getId());
+
+ log.info("Completed Transfer for ticket ID {} ",ticket.getId());
onStep("Completed transfer",1d,Status.SUCCESS);
}catch(PluginNotFoundException e){