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 104f2b6d3..0b860d95d 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 @@ -88,16 +88,10 @@ public class SaasMigrationService implements TenantSyncService { log.info("Finished uncompressed files migration ..."); int numberOfFiles = 0; - var dossiers = dossierService.getAllDossiers() - .stream() - .filter(dossier -> dossier.getHardDeletedTime() == null) - .toList(); + var dossiers = dossierService.getAllDossiers().stream().filter(dossier -> dossier.getHardDeletedTime() == null).toList(); for (var dossier : dossiers) { - var files = fileStatusPersistenceService.getStatusesForDossier(dossier.getId()) - .stream() - .filter(file -> file.getHardDeletedTime() == null) - .toList(); + var files = fileStatusPersistenceService.getStatusesForDossier(dossier.getId()).stream().filter(file -> file.getHardDeletedTime() == null).toList(); var migrationStati = saasMigrationStatusPersistenceService.findAll() .stream() @@ -163,12 +157,12 @@ public class SaasMigrationService implements TenantSyncService { String dossierTemplateId = dossierService.getDossierById(dossierId).getDossierTemplateId(); rabbitTemplate.convertAndSend(MIGRATION_QUEUE, - MigrationRequest.builder() - .dossierTemplateId(dossierTemplateId) - .dossierId(dossierId) - .fileId(fileId) - .manualRedactions(manualRedactionProviderService.getManualRedactions(fileId, ManualChangesQueryOptions.allWithoutDeleted())) - .build()); + MigrationRequest.builder() + .dossierTemplateId(dossierTemplateId) + .dossierId(dossierId) + .fileId(fileId) + .manualRedactions(manualRedactionProviderService.getManualRedactions(fileId, ManualChangesQueryOptions.allWithoutDeleted())) + .build()); log.info("Layout Parsing finished for saas migration for tenant {} dossier {} and file {}", TenantContext.getTenantId(), dossierId, fileId); } catch (Exception e) { log.error("Queuing of entityLog migration failed with {}", e.getMessage()); @@ -181,9 +175,9 @@ public class SaasMigrationService implements TenantSyncService { private boolean layoutParsingFilesExist(String dossierId, String fileId) { return storageService.objectExists(TenantContext.getTenantId(), StorageIdUtils.getStorageId(dossierId, fileId, FileType.DOCUMENT_STRUCTURE)) // - && storageService.objectExists(TenantContext.getTenantId(), StorageIdUtils.getStorageId(dossierId, fileId, FileType.DOCUMENT_TEXT)) // - && storageService.objectExists(TenantContext.getTenantId(), StorageIdUtils.getStorageId(dossierId, fileId, FileType.DOCUMENT_PAGES)) // - && storageService.objectExists(TenantContext.getTenantId(), StorageIdUtils.getStorageId(dossierId, fileId, FileType.DOCUMENT_POSITION)); + && storageService.objectExists(TenantContext.getTenantId(), StorageIdUtils.getStorageId(dossierId, fileId, FileType.DOCUMENT_TEXT)) // + && storageService.objectExists(TenantContext.getTenantId(), StorageIdUtils.getStorageId(dossierId, fileId, FileType.DOCUMENT_PAGES)) // + && storageService.objectExists(TenantContext.getTenantId(), StorageIdUtils.getStorageId(dossierId, fileId, FileType.DOCUMENT_POSITION)); } @@ -196,7 +190,7 @@ public class SaasMigrationService implements TenantSyncService { saasMigrationStatusPersistenceService.updateStatus(fileId, SaasMigrationStatus.REDACTION_LOGS_MIGRATED); log.info("EntityLog migration finished for saas migration for tenant {} dossier {} and file {}", TenantContext.getTenantId(), dossierId, fileId); - migrateAnnotationIdsAndAddManualAddRedactions(dossierId, fileId); + migrateAnnotationIdsAndAddManualAddRedactionsAndDeleteSectionGrid(dossierId, fileId); } @@ -223,7 +217,7 @@ public class SaasMigrationService implements TenantSyncService { } - private void migrateAnnotationIdsAndAddManualAddRedactions(String dossierId, String fileId) { + private void migrateAnnotationIdsAndAddManualAddRedactionsAndDeleteSectionGrid(String dossierId, String fileId) { MigratedIds migratedIds = getMigratedIds(dossierId, fileId); Map oldToNewMapping = migratedIds.buildOldToNewMapping(); @@ -231,6 +225,7 @@ public class SaasMigrationService implements TenantSyncService { List manualRedactionEntriesToAdd = migratedIds.getManualRedactionEntriesToAdd(); int count = addManualRedactionEntries(manualRedactionEntriesToAdd); log.info("Added {} additional manual entries.", count); + deleteSectionGrid(dossierId, fileId); saasMigrationStatusPersistenceService.updateStatus(fileId, SaasMigrationStatus.FINISHED); log.info("AnnotationIds migration finished for saas migration for tenant {} dossier {} and file {}", TenantContext.getTenantId(), dossierId, fileId); @@ -238,15 +233,25 @@ public class SaasMigrationService implements TenantSyncService { } + private void deleteSectionGrid(String dossierId, String fileId) { + + try { + storageService.deleteObject(TenantContext.getTenantId(), StorageIdUtils.getStorageId(dossierId, fileId, FileType.SECTION_GRID)); + } catch (StorageObjectDoesNotExist e) { + log.info("No sectiongrid found for {}, {}, ignoring....", dossierId, fileId); + } + } + + private int addManualRedactionEntries(List manualRedactionEntriesToAdd) { manualRedactionEntriesToAdd.forEach(add -> { - if(add.getSection() != null && add.getSection().length() > 254){ + if (add.getSection() != null && add.getSection().length() > 254) { add.setSection(add.getSection().substring(0, 254)); } }); - return manualRedactionService.addManualRedactionEntries(manualRedactionEntriesToAdd, true); + return manualRedactionService.addManualRedactionEntries(manualRedactionEntriesToAdd, true); } @@ -273,10 +278,10 @@ public class SaasMigrationService implements TenantSyncService { updateAnnotationIds(fileId, idMapping); } catch (Exception e) { String message = String.format("Error during annotation id migration for tenant %s dossier %s and file %s, cause %s", - TenantContext.getTenantId(), - dossierId, - fileId, - e.getMessage()); + TenantContext.getTenantId(), + dossierId, + fileId, + e.getMessage()); saasMigrationStatusPersistenceService.updateErrorStatus(fileId, message); log.error(message); throw e;