RED-2440: Fixed image-service-v2 integration problems

This commit is contained in:
deiflaender 2022-01-10 12:33:22 +01:00
parent 640d1a1388
commit f4f388266e
7 changed files with 23 additions and 9 deletions

View File

@ -81,6 +81,10 @@ public class FileManagementStorageService {
}
}
public boolean imageInfoExists(String dossierId, String fileId){
return storageService.objectExists(StorageIdUtils.getStorageId(dossierId, fileId, FileType.IMAGE_INFO));
}
public void deleteObject(String dossierId, String fileId, FileType fileType) {

View File

@ -92,6 +92,7 @@ public class FileStatusService {
fileStatusPersistenceService.updateProcessingStatus(fileId, ProcessingStatus.PROCESSING);
}
public void setStatusImageAnalyzing(String fileId) {
fileStatusPersistenceService.updateProcessingStatus(fileId, ProcessingStatus.IMAGE_ANALYZING);
@ -120,12 +121,7 @@ public class FileStatusService {
public void createStatus(String dossierId, String fileId, String uploader, String filename) {
fileStatusPersistenceService.createStatus(dossierId, fileId, filename, uploader);
if(settings.isImageServiceEnabled()) {
addToImageQueue(dossierId, fileId);
} else {
addToAnalysisQueue(dossierId, fileId, 1, Set.of());
}
addToAnalysisQueue(dossierId, fileId, 1, Set.of());
}
@ -263,6 +259,11 @@ public class FileStatusService {
.equals(ProcessingStatus.FULLREPROCESS) && fileStatus.getRulesVersion() == rulesController.getVersion(dossier.getDossierTemplateId()) && (fileStatus.getLastFileAttributeChange() == null || fileStatus.getLastProcessed()
.isAfter(fileStatus.getLastFileAttributeChange()));
if (!reanalyse && settings.isImageServiceEnabled() && !fileManagementStorageService.imageInfoExists(dossierId, fileId)) {
addToImageQueue(dossierId, fileId);
return;
}
var analyseRequest = AnalyzeRequest.builder()
.messageType(reanalyse ? MessageType.REANALYSE : MessageType.FULL_ANALYSE)
.dossierId(dossierId)
@ -342,6 +343,7 @@ public class FileStatusService {
// remove everything related to redaction
fileManagementStorageService.deleteObject(dossierId, fileId, FileType.REDACTION_LOG);
fileManagementStorageService.deleteObject(dossierId, fileId, FileType.SECTION_GRID);
fileManagementStorageService.deleteObject(dossierId, fileId, FileType.IMAGE_INFO);
// wipe comments
var comments = commentPersistenceService.findCommentsByFileID(fileId, false);

View File

@ -39,7 +39,7 @@ public class ImageMessageReceiver {
String fileId = (String) imageResponse.get("fileId");
fileManagementStorageService.storeObject(dossierId, fileId, FileType.IMAGE_INFO, in);
fileStatusService.addToAnalysisQueue(dossierId, fileId, 1, Set.of());
fileStatusService.setStatusFullReprocess(dossierId, fileId, 1);
}

View File

@ -94,7 +94,7 @@ public class DossierStatsTest extends AbstractPersistenceServerServiceTest {
assertThat(dossierStats.isHasSuggestionsFilePresent()).isTrue();
assertThat(dossierStats.isHasUpdatesFilePresent()).isTrue();
assertThat(dossierStats.isHasNoFlagsFilePresent()).isFalse();
assertThat(dossierStats.getFileCountPerProcessingStatus().get(ProcessingStatus.IMAGE_ANALYZING)).isEqualTo(2);
assertThat(dossierStats.getFileCountPerProcessingStatus().get(ProcessingStatus.PROCESSING)).isEqualTo(2);
}
@Test

View File

@ -65,6 +65,11 @@ public class FileSystemBackedStorageService extends S3StorageService {
}
}
@Override
public boolean objectExists(String objectId) {
return dataMap.containsKey(objectId);
}
public void clearStorage() {
this.dataMap.forEach((k, v) -> {
v.delete();

View File

@ -50,3 +50,6 @@ storage:
server:
port: 28080
persistence-service:
imageServiceEnabled: false

View File

@ -36,7 +36,7 @@
<dependency>
<groupId>com.iqser.red</groupId>
<artifactId>platform-commons-dependency</artifactId>
<version>1.7.0</version>
<version>1.8.0</version>
<scope>import</scope>
<type>pom</type>
</dependency>