Pull request #131: RED-2171: Fixed rollback in migration because of exit 0
Merge in RED/persistence-service from RED-2171-fix to master * commit '6ca2d3ae2697c7bf5f7b8b32da7d7e2616532c21': RED-2171: Fixed migration of dossier attributes and redaction logs RED-2171: Fixed rollback in migration because of exit 0
This commit is contained in:
commit
9c8f0c87b3
@ -15,10 +15,6 @@ import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -50,7 +46,6 @@ import com.iqser.red.service.peristence.v1.server.migration.model.NewIdForDossie
|
||||
import com.iqser.red.service.peristence.v1.server.migration.model.VersionRow;
|
||||
import com.iqser.red.service.peristence.v1.server.migration.model.VersionType;
|
||||
import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageService;
|
||||
import com.iqser.red.service.peristence.v1.server.settings.FileManagementServiceSettings;
|
||||
import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.CommentEntity;
|
||||
@ -162,20 +157,6 @@ public class MigrationService {
|
||||
|
||||
private final StorageService storageService;
|
||||
|
||||
private final FileManagementServiceSettings settings;
|
||||
private final ApplicationContext ctx;
|
||||
|
||||
|
||||
@Transactional
|
||||
@EventListener(ApplicationReadyEvent.class)
|
||||
public void runMigration() {
|
||||
|
||||
if (settings.isMigrateOnly()) {
|
||||
migrate();
|
||||
System.exit(SpringApplication.exit(ctx, () -> 0));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SneakyThrows
|
||||
@Transactional
|
||||
@ -198,9 +179,9 @@ public class MigrationService {
|
||||
dossierTemplates.forEach(dossierTemplate -> {
|
||||
migrateDossierTemplate(dossierTemplate);
|
||||
log.info("Migrated dossierTemplates");
|
||||
dossierAttributesOldIdToNewId.putAll(migrateDossierAttributeConfiguration(dossierTemplate.getDossierTemplateId(), configurationRows));
|
||||
addValues(dossierAttributesOldIdToNewId,migrateDossierAttributeConfiguration(dossierTemplate.getDossierTemplateId(), configurationRows));
|
||||
log.info("Migrated dossier attributes config");
|
||||
fileAttributesOldIdToNewId.putAll(migrateFileAttributeConfiguration(dossierTemplate.getDossierTemplateId(), configurationRows));
|
||||
addValues(fileAttributesOldIdToNewId, migrateFileAttributeConfiguration(dossierTemplate.getDossierTemplateId(), configurationRows));
|
||||
log.info("Migrated file attributes config");
|
||||
migrateLegalBasis(dossierTemplate.getDossierTemplateId(), configurationRows, versions);
|
||||
log.info("Migrated legal basis");
|
||||
@ -257,6 +238,13 @@ public class MigrationService {
|
||||
}
|
||||
|
||||
|
||||
private void addValues(Map<String, List<NewIdForDossierTemplate>> existing, Map<String, List<NewIdForDossierTemplate>> newValues){
|
||||
newValues.entrySet().forEach(entry -> {
|
||||
existing.computeIfAbsent(entry.getKey(), x -> new ArrayList<>()).addAll(entry.getValue());
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private void migrateRedactionLogs() {
|
||||
|
||||
List<FileEntity> files = fileRepository.findAll();
|
||||
@ -721,7 +709,7 @@ public class MigrationService {
|
||||
.hardDeletedTime(oldDossier.getHardDeletedTime())
|
||||
.dueDate(oldDossier.getDueDate())
|
||||
.dossierTemplate(dossierTemplateRepository.getOne(oldDossier.getDossierTemplateId()))
|
||||
// .dossierTemplateId(oldDossier.getDossierTemplateId())
|
||||
.dossierTemplateId(oldDossier.getDossierTemplateId())
|
||||
.reportTemplates(reportTemplates)
|
||||
.build();
|
||||
|
||||
@ -868,7 +856,7 @@ public class MigrationService {
|
||||
.analysisVersion(oldFile.getAnalysisVersion())
|
||||
.excludedPages(oldFile.getExcludedPages())
|
||||
.dossier(dossierEntity)
|
||||
// .dossierId(oldFile.getDossierId())
|
||||
.dossierId(oldFile.getDossierId())
|
||||
.build();
|
||||
|
||||
List<FileAttributeEntity> convertedFileAttributes = new ArrayList<>();
|
||||
|
||||
@ -0,0 +1,35 @@
|
||||
package com.iqser.red.service.peristence.v1.server.migration;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.settings.FileManagementServiceSettings;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class MigrationStarterService {
|
||||
|
||||
// This is a seperate class because exit 0 causes rollback if the method is @Transactional.
|
||||
|
||||
private final MigrationService migrationService;
|
||||
private final FileManagementServiceSettings settings;
|
||||
private final ApplicationContext ctx;
|
||||
|
||||
|
||||
@EventListener(ApplicationReadyEvent.class)
|
||||
public void runMigration() {
|
||||
|
||||
if (settings.isMigrateOnly()) {
|
||||
migrationService.migrate();
|
||||
System.exit(SpringApplication.exit(ctx, () -> 0));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user