Pull request #405: RED-3985: No Re-Analyze after set Vertebrate Study to Yes

Merge in RED/persistence-service from RED-3985-ps2 to master

* commit '7bc374783cb52a3a9bc491563f0dbb50542a9ce8':
  RED-3985: No Re-Analyze after set Vertebrate Study to Yes
This commit is contained in:
Ali Oezyetimoglu 2022-05-10 11:45:05 +02:00
commit 09988f5caf
3 changed files with 19 additions and 14 deletions

View File

@ -1,5 +1,18 @@
package com.iqser.red.service.persistence.management.v1.processor.service.persistence; package com.iqser.red.service.persistence.management.v1.processor.service.persistence;
import java.time.OffsetDateTime;
import java.time.temporal.ChronoUnit;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import javax.transaction.Transactional;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity;
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeEntity;
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
@ -9,18 +22,8 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.ProcessingStatus; import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.ProcessingStatus;
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.WorkflowStatus; import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.WorkflowStatus;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional; import lombok.RequiredArgsConstructor;
import java.time.OffsetDateTime;
import java.time.temporal.ChronoUnit;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor

View File

@ -124,7 +124,6 @@ public class FileAttributesController implements FileAttributesResource {
} }
@Transactional
public void setFileAttributes(@PathVariable(DOSSIER_ID_PARAM) String dossierId, public void setFileAttributes(@PathVariable(DOSSIER_ID_PARAM) String dossierId,
@PathVariable(FILE_ID) String fileId, @RequestBody Map<String, String> fileAttributesMap) { @PathVariable(FILE_ID) String fileId, @RequestBody Map<String, String> fileAttributesMap) {

View File

@ -220,7 +220,7 @@ public class FileStatusService {
return; return;
} }
MessageType messageType = calculateMessageType(dossierId, fileId, reanalyse, fileModel.getProcessingStatus()); MessageType messageType = calculateMessageType(dossierId, fileId, reanalyse, fileModel.getProcessingStatus(), fileModel);
if (MessageType.ANALYSE.equals(messageType) && settings.isNerServiceEnabled() && !fileManagementStorageService.objectExists(dossierId, fileId, FileType.NER_ENTITIES)) { if (MessageType.ANALYSE.equals(messageType) && settings.isNerServiceEnabled() && !fileManagementStorageService.objectExists(dossierId, fileId, FileType.NER_ENTITIES)) {
log.debug("Add file: {} from dossier {} to NER queue", fileId, dossierId); log.debug("Add file: {} from dossier {} to NER queue", fileId, dossierId);
@ -262,7 +262,7 @@ public class FileStatusService {
private MessageType calculateMessageType(String dossierId, String fileId, boolean reanalyse, private MessageType calculateMessageType(String dossierId, String fileId, boolean reanalyse,
ProcessingStatus processingStatus) { ProcessingStatus processingStatus, FileModel fileModel) {
if (!fileManagementStorageService.objectExists(dossierId, fileId, FileType.TEXT)) { if (!fileManagementStorageService.objectExists(dossierId, fileId, FileType.TEXT)) {
return MessageType.STRUCTURE_ANALYSE; return MessageType.STRUCTURE_ANALYSE;
@ -271,6 +271,9 @@ public class FileStatusService {
return MessageType.ANALYSE; return MessageType.ANALYSE;
} }
if (reanalyse) { if (reanalyse) {
if (fileModel.getLastFileAttributeChange() != null && fileModel.getLastProcessed().isBefore(fileModel.getLastFileAttributeChange())) {
return MessageType.ANALYSE;
}
return MessageType.REANALYSE; return MessageType.REANALYSE;
} }
return MessageType.ANALYSE; return MessageType.ANALYSE;