Pull request #128: RED-2171: Fixed missing session in migration

Merge in RED/persistence-service from RED-2171-2 to master

* commit '50b369132b160a743e390a36d806097fb2a16fd8':
  RED-2171: Fixed missing session in migration
This commit is contained in:
Dominique Eiflaender 2021-11-22 14:59:53 +01:00
commit 9e54f6860d

View File

@ -166,6 +166,7 @@ public class MigrationService {
private final ApplicationContext ctx;
@Transactional
@EventListener(ApplicationReadyEvent.class)
public void runMigration() {
@ -693,7 +694,7 @@ public class MigrationService {
@SneakyThrows
private void migrateDossiers() {
public void migrateDossiers() {
byte[] dossierBytes = fileManagementStorageService.getStoredObjectBytes(getMigrationId("dossier_v4"));
List<MigrationDossier> oldDossiers = objectMapper.readValue(dossierBytes, new TypeReference<List<MigrationDossier>>() {
@ -720,7 +721,7 @@ public class MigrationService {
.hardDeletedTime(oldDossier.getHardDeletedTime())
.dueDate(oldDossier.getDueDate())
.dossierTemplate(dossierTemplateRepository.getOne(oldDossier.getDossierTemplateId()))
.dossierTemplateId(oldDossier.getDossierTemplateId())
// .dossierTemplateId(oldDossier.getDossierTemplateId())
.reportTemplates(reportTemplates)
.build();
@ -867,7 +868,7 @@ public class MigrationService {
.analysisVersion(oldFile.getAnalysisVersion())
.excludedPages(oldFile.getExcludedPages())
.dossier(dossierEntity)
.dossierId(oldFile.getDossierId())
// .dossierId(oldFile.getDossierId())
.build();
List<FileAttributeEntity> convertedFileAttributes = new ArrayList<>();
@ -945,7 +946,6 @@ public class MigrationService {
types.stream().forEach(typeEntity -> {
if (typeEntity.getDossierId().equals("global")) {
typeEntity.setDossierId(null);
var version = versions.stream()
.filter(versionRow -> versionRow.getDossierId()
.equals("global") && versionRow.getDossierTemplateId()
@ -955,8 +955,7 @@ public class MigrationService {
.get()
.getVersion();
typeEntity.setId(toTypeId(typeEntity.getType(), typeEntity.getDossierTemplateId(), typeEntity.getDossierId()));
typeEntity.setDossier(typeEntity.getDossierId() == null ? null : dossierRepository.getOne(typeEntity.getDossierId()));
typeEntity.setId(toTypeId(typeEntity.getType(), typeEntity.getDossierTemplateId(), null));
typeEntity.setDossierTemplate(dossierTemplateRepository.getOne(typeEntity.getDossierTemplateId()));
typeEntity.setVersion(version);
typeRepository.save(typeEntity);
@ -1024,6 +1023,7 @@ public class MigrationService {
reportTemplates.forEach(reportTemplateEntity -> {
var dossierTemplate = dossierTemplateRepository.getOne(reportTemplateEntity.getDossierTemplateId());
reportTemplateEntity.setDossierTemplate(dossierTemplate);
reportTemplateEntity.setDossierTemplateId(null);
reportTemplateRepository.save(reportTemplateEntity);
dossierTemplateRepository.save(dossierTemplate);
});