From a3ce7393a2efe1d8dd3079b390acf052bf47bb2b Mon Sep 17 00:00:00 2001 From: "angel.herce" Date: Fri, 25 Apr 2025 13:44:53 +0200 Subject: [PATCH] fix: TemporalFileManager fix cleanup and delete --- .../file/DefaultTemporalFileManager.java | 28 ++++++++++++------- .../sdms/common/file/TemporalFileManager.java | 4 +-- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/ontimize-jee-sdms-common/src/main/java/com/ontimize/jee/sdms/common/file/DefaultTemporalFileManager.java b/ontimize-jee-sdms-common/src/main/java/com/ontimize/jee/sdms/common/file/DefaultTemporalFileManager.java index 4bd3c3a..8369457 100644 --- a/ontimize-jee-sdms-common/src/main/java/com/ontimize/jee/sdms/common/file/DefaultTemporalFileManager.java +++ b/ontimize-jee-sdms-common/src/main/java/com/ontimize/jee/sdms/common/file/DefaultTemporalFileManager.java @@ -5,10 +5,14 @@ import org.springframework.stereotype.Component; import org.springframework.web.context.annotation.RequestScope; -import java.io.*; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; import java.nio.file.Files; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.UUID; @Component @@ -39,18 +43,22 @@ public File create( final InputStream inputStream ) throws IOException { } @Override - public void delete( final File file ) { - this.files.stream().filter( target -> target.getAbsolutePath().equals( file.getAbsolutePath() ) ) - .findFirst() - .ifPresent( target -> { - this.files.remove( target ); - if( target.exists() ) target.delete(); - }); + public void delete( final File file ) throws IOException { + final Optional result = this.files.stream() + .filter( target -> target.getAbsolutePath().equals( file.getAbsolutePath() ) ) + .findFirst(); + if( result.isPresent() ){ + final File target = result.get(); + this.files.remove( target ); + if( target.exists() ) Files.delete( target.toPath() ); + } } @PreDestroy @Override - public void cleanUp() { - this.files.forEach( file -> { if( file.exists() ) file.delete(); }); + public void cleanUp() throws IOException { + for( final File file : this.files ){ + if( file.exists() ) Files.delete( file.toPath() ); + } } } diff --git a/ontimize-jee-sdms-common/src/main/java/com/ontimize/jee/sdms/common/file/TemporalFileManager.java b/ontimize-jee-sdms-common/src/main/java/com/ontimize/jee/sdms/common/file/TemporalFileManager.java index d2d0239..c52503f 100644 --- a/ontimize-jee-sdms-common/src/main/java/com/ontimize/jee/sdms/common/file/TemporalFileManager.java +++ b/ontimize-jee-sdms-common/src/main/java/com/ontimize/jee/sdms/common/file/TemporalFileManager.java @@ -8,6 +8,6 @@ public interface TemporalFileManager { File create( InputStream inputStream ) throws IOException; File create( String name, InputStream inputStream ) throws IOException; - void delete( File file ); - void cleanUp(); + void delete( File file ) throws IOException; + void cleanUp() throws IOException; }