RED-3720: Added migrarion for highlights

This commit is contained in:
deiflaender 2022-04-06 13:18:58 +02:00
parent da3e48eff7
commit 9f0a4f358e
3 changed files with 66 additions and 1 deletions

View File

@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
import com.iqser.red.service.peristence.v1.server.migration.migrations.DictionaryToEntityMigration2;
import com.iqser.red.service.peristence.v1.server.migration.migrations.IndexMigration1;
import com.iqser.red.service.peristence.v1.server.migration.migrations.MigrateHighlights3;
import com.iqser.red.service.peristence.v1.server.settings.FileManagementServiceSettings;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.MigrationPersistenceService;
@ -25,6 +26,8 @@ public class MigrationStarterService {
private final IndexMigration1 indexMigration1;
private final DictionaryToEntityMigration2 dictionaryToEntityMigration2;
private final MigrateHighlights3 migrateHighlights3;
private final FileManagementServiceSettings settings;
private final ApplicationContext ctx;
private final MigrationPersistenceService migrationPersistenceService;
@ -41,6 +44,7 @@ public class MigrationStarterService {
indexMigration1.run();
dictionaryToEntityMigration2.run();
migrateHighlights3.run();
System.exit(SpringApplication.exit(ctx, () -> 0));
}

View File

@ -0,0 +1,61 @@
package com.iqser.red.service.peristence.v1.server.migration.migrations;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.iqser.red.service.pdftron.redaction.v1.api.model.DocumentRequest;
import com.iqser.red.service.peristence.v1.server.migration.Migration;
import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageService;
import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Setter
@Service
public class MigrateHighlights3 extends Migration {
private static final String NAME = "Migrate Highlights";
private static final long VERSION = 3;
@Autowired
private DossierPersistenceService dossierPersistenceService;
@Autowired
private FileStatusPersistenceService fileStatusPersistenceService;
@Autowired
private PDFTronRedactionClient pdfTronRedactionClient;
@Autowired
private FileManagementStorageService fileManagementStorageService;
public MigrateHighlights3() {
super(NAME, VERSION);
}
@Override
protected void migrate() {
var dossiers = dossierPersistenceService.findAllDossiers();
dossiers.forEach(dossier -> {
var files = fileStatusPersistenceService.getStatusesForDossier(dossier.getId());
files.forEach(file -> {
if (file.getDeleted() != null) {
var fileBytes = fileManagementStorageService.getStoredObjectBytes(dossier.getId(), file.getId(), FileType.ORIGIN);
var hasHighlights = pdfTronRedactionClient.extractHighlights(new DocumentRequest(dossier.getId(), file.getId(), fileBytes));
fileStatusPersistenceService.updateHasHighlights(file.getId(), hasHighlights);
}
});
});
}
}

View File

@ -27,7 +27,7 @@
<properties>
<redaction-service.version>3.93.0</redaction-service.version>
<search-service.version>2.26.0</search-service.version>
<pdftron-redaction-service.version>3.59.0</pdftron-redaction-service.version>
<pdftron-redaction-service.version>3.63.0</pdftron-redaction-service.version>
<redaction-report-service.version>3.19.0</redaction-report-service.version>
</properties>