From f13eb76463bbcb5ed30c553b500d5b7bccd3a682 Mon Sep 17 00:00:00 2001 From: yhampe Date: Thu, 14 Nov 2024 11:56:18 +0100 Subject: [PATCH 1/3] RED-10268: Prepared download creates zip file although the data inside the dossier have been deleted added filter for soft or hard deleted files on download preperation --- .../api/impl/controller/DownloadController.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java index e743db082..b3f5c6bfe 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java @@ -7,23 +7,17 @@ import java.io.BufferedInputStream; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.concurrent.CompletableFuture; import java.util.regex.Pattern; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.InputStreamResource; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -160,8 +154,11 @@ public class DownloadController implements DownloadResource { } } // otherwise consider the files from dossier + log.info("files: {}", + validFiles.stream() + .toList()); var validFilesAndNotProcessed = validFiles.stream() - .filter(f -> !(f.getAnalysisVersion() > 0 && f.getNumberOfAnalyses() > 0)) + .filter(f -> !(f.getAnalysisVersion() > 0 && f.getNumberOfAnalyses() > 0 && !f.isSoftOrHardDeleted())) .collect(Collectors.toList()); if (!validFilesAndNotProcessed.isEmpty()) { throw new BadRequestException("At least a file is in its initial analysis process"); -- 2.47.2 From 6965238bd5b8b9b92f6a86340d87fcbc50378174 Mon Sep 17 00:00:00 2001 From: yhampe Date: Thu, 14 Nov 2024 11:56:18 +0100 Subject: [PATCH 2/3] RED-10268: Prepared download creates zip file although the data inside the dossier have been deleted added filter for soft or hard deleted files on download preperation --- .../api/impl/controller/DownloadController.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java index e743db082..b3f5c6bfe 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java @@ -7,23 +7,17 @@ import java.io.BufferedInputStream; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.concurrent.CompletableFuture; import java.util.regex.Pattern; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.InputStreamResource; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -160,8 +154,11 @@ public class DownloadController implements DownloadResource { } } // otherwise consider the files from dossier + log.info("files: {}", + validFiles.stream() + .toList()); var validFilesAndNotProcessed = validFiles.stream() - .filter(f -> !(f.getAnalysisVersion() > 0 && f.getNumberOfAnalyses() > 0)) + .filter(f -> !(f.getAnalysisVersion() > 0 && f.getNumberOfAnalyses() > 0 && !f.isSoftOrHardDeleted())) .collect(Collectors.toList()); if (!validFilesAndNotProcessed.isEmpty()) { throw new BadRequestException("At least a file is in its initial analysis process"); -- 2.47.2 From fa36ce7fea37dd1c62fd03d1b1ddab57fa1355d4 Mon Sep 17 00:00:00 2001 From: yhampe Date: Thu, 14 Nov 2024 11:56:18 +0100 Subject: [PATCH 3/3] RED-10268: Prepared download creates zip file although the data inside the dossier have been deleted added filter for soft or hard deleted files on download preperation --- .../api/impl/controller/DownloadController.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java index e743db082..b3f5c6bfe 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DownloadController.java @@ -7,23 +7,17 @@ import java.io.BufferedInputStream; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.concurrent.CompletableFuture; import java.util.regex.Pattern; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.InputStreamResource; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -160,8 +154,11 @@ public class DownloadController implements DownloadResource { } } // otherwise consider the files from dossier + log.info("files: {}", + validFiles.stream() + .toList()); var validFilesAndNotProcessed = validFiles.stream() - .filter(f -> !(f.getAnalysisVersion() > 0 && f.getNumberOfAnalyses() > 0)) + .filter(f -> !(f.getAnalysisVersion() > 0 && f.getNumberOfAnalyses() > 0 && !f.isSoftOrHardDeleted())) .collect(Collectors.toList()); if (!validFilesAndNotProcessed.isEmpty()) { throw new BadRequestException("At least a file is in its initial analysis process"); -- 2.47.2