From ba82b94db08d86d320ffe4952d4e93a218d06d5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominique=20Eifl=C3=A4nder?= Date: Thu, 18 Apr 2024 09:47:47 +0200 Subject: [PATCH] hotfix added endpoint to restart zip all files for saas migration --- .../api/impl/controller/MigrationStatusController.java | 6 ++++++ .../api/external/resource/MigrationStatusResource.java | 9 +++++++++ .../v1/processor/migration/SaasMigrationService.java | 10 ++++++++++ 3 files changed, 25 insertions(+) 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/MigrationStatusController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/MigrationStatusController.java index 0e3666b70..43cbd63d5 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/MigrationStatusController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/MigrationStatusController.java @@ -99,6 +99,12 @@ public class MigrationStatusController implements MigrationStatusResource { } + public void retryZipFiles(){ + saasMigrationService.restartZipFiles(); + } + + + private static boolean migrationIsFinished(MigrationStatusResponse migrationStatus) { return migrationStatus.getFilesInStatus().entrySet().stream().filter(e -> e.getValue() > 0).allMatch(e -> e.getKey().equals(FINISHED) || e.getKey().equals(ERROR)); diff --git a/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/MigrationStatusResource.java b/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/MigrationStatusResource.java index 691f04140..766827e82 100644 --- a/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/MigrationStatusResource.java +++ b/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/MigrationStatusResource.java @@ -17,6 +17,8 @@ public interface MigrationStatusResource { String REVERT_MIGRATION_REST_PATH = ExternalApi.BASE_PATH + "/revert_migration"; String RETRY_MIGRATION_REST_PATH = ExternalApi.BASE_PATH + "/retry_migration"; + String RETRY_ZIP_FILES_REST_PATH = ExternalApi.BASE_PATH + "/retry_zip_files"; + String FILE_ID = "fileId"; String FILE_ID_PATH_VARIABLE = "/{" + FILE_ID + "}"; @@ -48,6 +50,13 @@ public interface MigrationStatusResource { ResponseEntity requeueErrorFiles(); + @ResponseBody + @PostMapping(value = RETRY_ZIP_FILES_REST_PATH) + @Operation(summary = "Restart zip all files in storage that are not zipped", description = "None") + @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "Success.")}) + void retryZipFiles(); + + } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/SaasMigrationService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/SaasMigrationService.java index 217398bbf..f42f5b125 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/SaasMigrationService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/SaasMigrationService.java @@ -9,6 +9,7 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; @@ -133,6 +134,7 @@ public class SaasMigrationService implements TenantSyncService { } + @Async public void requeueErrorFiles() { automaticAnalysisJob.stopForTenant(TenantContext.getTenantId()); @@ -142,6 +144,14 @@ public class SaasMigrationService implements TenantSyncService { } + @Async + public void restartZipFiles(){ + log.info("Starting uncompressed files migration ..."); + uncompressedFilesMigrationService.migrateUncompressedFiles(TenantContext.getTenantId()); + log.info("Finished uncompressed files migration ..."); + } + + public void handleLayoutParsingFinished(String dossierId, String fileId) { if (!layoutParsingFilesExist(dossierId, fileId)) {