RED-2228: Use persistence-service instead of configuration/file-management-service
This commit is contained in:
parent
86b28b0612
commit
146b0f5c8e
@ -19,14 +19,8 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.iqser.red.service</groupId>
|
<groupId>com.iqser.red.service</groupId>
|
||||||
<artifactId>configuration-service-api-v1</artifactId>
|
<artifactId>persistence-service-api-v1</artifactId>
|
||||||
<version>2.11.0</version>
|
<version>0.4.0</version>
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>com.iqser.red.service</groupId>
|
|
||||||
<artifactId>file-management-service-api-v1</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
package com.iqser.red.service.redaction.v1.model;
|
package com.iqser.red.service.redaction.v1.model;
|
||||||
|
|
||||||
import com.iqser.red.service.configuration.v1.api.model.LegalBasisMapping;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.LegalBasis;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RedactionLog {
|
public class RedactionLog {
|
||||||
@ -18,7 +19,7 @@ public class RedactionLog {
|
|||||||
private long analysisVersion;
|
private long analysisVersion;
|
||||||
|
|
||||||
private List<RedactionLogEntry> redactionLogEntry;
|
private List<RedactionLogEntry> redactionLogEntry;
|
||||||
private List<LegalBasisMapping> legalBasis;
|
private List<LegalBasis> legalBasis;
|
||||||
|
|
||||||
private long dictionaryVersion = -1;
|
private long dictionaryVersion = -1;
|
||||||
private long dossierDictionaryVersion = -1;
|
private long dossierDictionaryVersion = -1;
|
||||||
|
|||||||
@ -21,21 +21,6 @@
|
|||||||
<artifactId>redaction-service-api-v1</artifactId>
|
<artifactId>redaction-service-api-v1</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.iqser.red.service</groupId>
|
|
||||||
<artifactId>file-management-service-api-v1</artifactId>
|
|
||||||
<version>2.96.0</version>
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>com.iqser.red.service</groupId>
|
|
||||||
<artifactId>redaction-service-api-v1</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>com.iqser.red.service</groupId>
|
|
||||||
<artifactId>configuration-service-api-v1</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.drools</groupId>
|
<groupId>org.drools</groupId>
|
||||||
<artifactId>drools-core</artifactId>
|
<artifactId>drools-core</artifactId>
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.client;
|
package com.iqser.red.service.redaction.v1.server.client;
|
||||||
|
|
||||||
import com.iqser.red.service.configuration.v1.api.resource.DictionaryResource;
|
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
|
||||||
@FeignClient(name = "DictionaryResource", url = "${configuration-service.url}")
|
import com.iqser.red.service.persistence.service.v1.api.resources.DictionaryResource;
|
||||||
|
|
||||||
|
@FeignClient(name = "DictionaryResource", url = "${persistence-service.url}")
|
||||||
public interface DictionaryClient extends DictionaryResource {
|
public interface DictionaryClient extends DictionaryResource {
|
||||||
}
|
}
|
||||||
@ -1,9 +1,10 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.client;
|
package com.iqser.red.service.redaction.v1.server.client;
|
||||||
|
|
||||||
|
|
||||||
import com.iqser.red.service.file.management.v1.api.resources.FileStatusProcessingUpdateResource;
|
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
|
||||||
@FeignClient(name = "FileStatusProcessingUpdateResource", url = "${file-management-service.url}")
|
import com.iqser.red.service.persistence.service.v1.api.resources.FileStatusProcessingUpdateResource;
|
||||||
|
|
||||||
|
@FeignClient(name = "FileStatusProcessingUpdateResource", url = "${persistence-service.url}")
|
||||||
public interface FileStatusProcessingUpdateClient extends FileStatusProcessingUpdateResource {
|
public interface FileStatusProcessingUpdateClient extends FileStatusProcessingUpdateResource {
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.client;
|
package com.iqser.red.service.redaction.v1.server.client;
|
||||||
|
|
||||||
import com.iqser.red.service.configuration.v1.api.resource.LegalBasisMappingResource;
|
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
|
||||||
@FeignClient(name = "LegalBasisMappingResource", url = "${configuration-service.url}")
|
import com.iqser.red.service.persistence.service.v1.api.resources.LegalBasisMappingResource;
|
||||||
|
|
||||||
|
@FeignClient(name = "LegalBasisMappingResource", url = "${persistence-service.url}")
|
||||||
public interface LegalBasisClient extends LegalBasisMappingResource {
|
public interface LegalBasisClient extends LegalBasisMappingResource {
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.client;
|
package com.iqser.red.service.redaction.v1.server.client;
|
||||||
|
|
||||||
import com.iqser.red.service.configuration.v1.api.resource.RulesResource;
|
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
|
||||||
@FeignClient(name = "RulesResource", url = "${configuration-service.url}")
|
import com.iqser.red.service.persistence.service.v1.api.resources.RulesResource;
|
||||||
|
|
||||||
|
@FeignClient(name = "RulesResource", url = "${persistence-service.url}")
|
||||||
public interface RulesClient extends RulesResource {
|
public interface RulesClient extends RulesResource {
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.controller;
|
package com.iqser.red.service.redaction.v1.server.controller;
|
||||||
|
|
||||||
import com.iqser.red.service.file.management.v1.api.model.FileType;
|
import com.iqser.red.service.persistence.service.v1.api.model.FileType;
|
||||||
import com.iqser.red.service.redaction.v1.model.*;
|
import com.iqser.red.service.redaction.v1.model.*;
|
||||||
import com.iqser.red.service.redaction.v1.resources.RedactionResource;
|
import com.iqser.red.service.redaction.v1.resources.RedactionResource;
|
||||||
import com.iqser.red.service.redaction.v1.server.classification.model.Document;
|
import com.iqser.red.service.redaction.v1.server.classification.model.Document;
|
||||||
@ -11,7 +11,6 @@ import com.iqser.red.service.redaction.v1.server.redaction.service.DictionarySer
|
|||||||
import com.iqser.red.service.redaction.v1.server.redaction.service.DroolsExecutionService;
|
import com.iqser.red.service.redaction.v1.server.redaction.service.DroolsExecutionService;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.service.RedactionLogMergeService;
|
import com.iqser.red.service.redaction.v1.server.redaction.service.RedactionLogMergeService;
|
||||||
import com.iqser.red.service.redaction.v1.server.segmentation.PdfSegmentationService;
|
import com.iqser.red.service.redaction.v1.server.segmentation.PdfSegmentationService;
|
||||||
import com.iqser.red.service.redaction.v1.server.settings.RedactionServiceSettings;
|
|
||||||
import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService;
|
import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService;
|
||||||
import com.iqser.red.service.redaction.v1.server.tableextraction.model.AbstractTextContainer;
|
import com.iqser.red.service.redaction.v1.server.tableextraction.model.AbstractTextContainer;
|
||||||
import com.iqser.red.service.redaction.v1.server.tableextraction.model.Table;
|
import com.iqser.red.service.redaction.v1.server.tableextraction.model.Table;
|
||||||
@ -20,7 +19,6 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.pdfbox.io.MemoryUsageSetting;
|
import org.apache.pdfbox.io.MemoryUsageSetting;
|
||||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.redaction.model;
|
package com.iqser.red.service.redaction.v1.server.redaction.model;
|
||||||
|
|
||||||
|
|
||||||
import com.iqser.red.service.configuration.v1.api.model.DictionaryEntry;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@ -9,6 +8,8 @@ import java.io.Serializable;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DictionaryEntry;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class DictionaryModel implements Serializable {
|
public class DictionaryModel implements Serializable {
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import org.kie.api.runtime.KieContainer;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
import com.iqser.red.service.file.management.v1.api.model.FileType;
|
import com.iqser.red.service.persistence.service.v1.api.model.FileType;
|
||||||
import com.iqser.red.service.redaction.v1.model.AnalyzeRequest;
|
import com.iqser.red.service.redaction.v1.model.AnalyzeRequest;
|
||||||
import com.iqser.red.service.redaction.v1.model.AnalyzeResult;
|
import com.iqser.red.service.redaction.v1.model.AnalyzeResult;
|
||||||
import com.iqser.red.service.redaction.v1.model.IdRemoval;
|
import com.iqser.red.service.redaction.v1.model.IdRemoval;
|
||||||
|
|||||||
@ -1,9 +1,7 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.redaction.service;
|
package com.iqser.red.service.redaction.v1.server.redaction.service;
|
||||||
|
|
||||||
import com.iqser.red.service.configuration.v1.api.model.Colors;
|
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Colors;
|
||||||
import com.iqser.red.service.configuration.v1.api.model.DictionaryEntry;
|
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DictionaryEntry;
|
||||||
import com.iqser.red.service.configuration.v1.api.model.TypeResponse;
|
|
||||||
import com.iqser.red.service.configuration.v1.api.model.TypeResult;
|
|
||||||
import com.iqser.red.service.redaction.v1.server.client.DictionaryClient;
|
import com.iqser.red.service.redaction.v1.server.client.DictionaryClient;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.model.Dictionary;
|
import com.iqser.red.service.redaction.v1.server.redaction.model.Dictionary;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.model.*;
|
import com.iqser.red.service.redaction.v1.server.redaction.model.*;
|
||||||
@ -18,7 +16,6 @@ import java.awt.Color;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.iqser.red.service.configuration.v1.api.resource.DictionaryResource.GLOBAL_DOSSIER;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@ -34,13 +31,13 @@ public class DictionaryService {
|
|||||||
public DictionaryVersion updateDictionary(String dossierTemplateId, String dossierId) {
|
public DictionaryVersion updateDictionary(String dossierTemplateId, String dossierId) {
|
||||||
|
|
||||||
log.info("Updating dictionary data for dossierTemplate {} and dossier {}", dossierTemplateId, dossierId);
|
log.info("Updating dictionary data for dossierTemplate {} and dossier {}", dossierTemplateId, dossierId);
|
||||||
long dossierTemplateDictionaryVersion = dictionaryClient.getVersion(dossierTemplateId, GLOBAL_DOSSIER);
|
long dossierTemplateDictionaryVersion = dictionaryClient.getVersion(dossierTemplateId);
|
||||||
var dossierTemplateDictionary = dictionariesByDossierTemplate.get(dossierTemplateId);
|
var dossierTemplateDictionary = dictionariesByDossierTemplate.get(dossierTemplateId);
|
||||||
if (dossierTemplateDictionary == null || dossierTemplateDictionaryVersion > dossierTemplateDictionary.getDictionaryVersion()) {
|
if (dossierTemplateDictionary == null || dossierTemplateDictionaryVersion > dossierTemplateDictionary.getDictionaryVersion()) {
|
||||||
updateDictionaryEntry(dossierTemplateId, dossierTemplateDictionaryVersion, GLOBAL_DOSSIER);
|
updateDictionaryEntry(dossierTemplateId, dossierTemplateDictionaryVersion, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
long dossierDictionaryVersion = dictionaryClient.getVersion(dossierTemplateId, dossierId);
|
long dossierDictionaryVersion = dictionaryClient.getVersionForDossier(dossierId);
|
||||||
var dossierDictionary = dictionariesByDossier.get(dossierId);
|
var dossierDictionary = dictionariesByDossier.get(dossierId);
|
||||||
if (dossierDictionary == null || dossierDictionaryVersion > dossierDictionary.getDictionaryVersion()) {
|
if (dossierDictionary == null || dossierDictionaryVersion > dossierDictionary.getDictionaryVersion()) {
|
||||||
updateDictionaryEntry(dossierTemplateId, dossierDictionaryVersion, dossierId);
|
updateDictionaryEntry(dossierTemplateId, dossierDictionaryVersion, dossierId);
|
||||||
@ -84,13 +81,13 @@ public class DictionaryService {
|
|||||||
try {
|
try {
|
||||||
DictionaryRepresentation dictionaryRepresentation = new DictionaryRepresentation();
|
DictionaryRepresentation dictionaryRepresentation = new DictionaryRepresentation();
|
||||||
|
|
||||||
TypeResponse typeResponse = dictionaryClient.getAllTypes(dossierTemplateId, dossierId);
|
var typeResponse = dossierId == null ? dictionaryClient.getAllTypesForDossierTemplate(dossierTemplateId) : dictionaryClient.getAllTypesForDossier(dossierId);
|
||||||
if (typeResponse != null && CollectionUtils.isNotEmpty(typeResponse.getTypes())) {
|
if (typeResponse != null && CollectionUtils.isNotEmpty(typeResponse)) {
|
||||||
|
|
||||||
List<DictionaryModel> dictionary = typeResponse.getTypes()
|
List<DictionaryModel> dictionary = typeResponse
|
||||||
.stream()
|
.stream()
|
||||||
.map(t -> new DictionaryModel(t.getType(), t.getRank(), convertColor(t.getHexColor()), t.isCaseInsensitive(), t
|
.map(t -> new DictionaryModel(t.getType(), t.getRank(), convertColor(t.getHexColor()), t.isCaseInsensitive(), t
|
||||||
.isHint(), t.isRecommendation(), convertEntries(t, dossierId), new HashSet<>(), !dossierId.equals(GLOBAL_DOSSIER)))
|
.isHint(), t.isRecommendation(), convertEntries(t.getId()), new HashSet<>(), dossierId != null))
|
||||||
.sorted(Comparator.comparingInt(DictionaryModel::getRank).reversed())
|
.sorted(Comparator.comparingInt(DictionaryModel::getRank).reversed())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
@ -106,7 +103,7 @@ public class DictionaryService {
|
|||||||
dictionaryRepresentation.setDictionaryVersion(version);
|
dictionaryRepresentation.setDictionaryVersion(version);
|
||||||
dictionaryRepresentation.setDictionary(dictionary);
|
dictionaryRepresentation.setDictionary(dictionary);
|
||||||
|
|
||||||
if(dossierId.equals(GLOBAL_DOSSIER)) {
|
if(dossierId == null) {
|
||||||
dictionariesByDossierTemplate.put(dossierTemplateId, dictionaryRepresentation);
|
dictionariesByDossierTemplate.put(dossierTemplateId, dictionaryRepresentation);
|
||||||
} else {
|
} else {
|
||||||
dictionariesByDossier.put(dossierId, dictionaryRepresentation);
|
dictionariesByDossier.put(dossierId, dictionaryRepresentation);
|
||||||
@ -123,8 +120,8 @@ public class DictionaryService {
|
|||||||
|
|
||||||
dictionary.getDictionaryModels().forEach(dm -> {
|
dictionary.getDictionaryModels().forEach(dm -> {
|
||||||
if (dm.isRecommendation() && !dm.getLocalEntries().isEmpty()) {
|
if (dm.isRecommendation() && !dm.getLocalEntries().isEmpty()) {
|
||||||
dictionaryClient.addEntries(dm.getType(), dossierTemplateId, new ArrayList<>(dm.getLocalEntries()), false, GLOBAL_DOSSIER);
|
dictionaryClient.addEntries(dm.getType(), new ArrayList<>(dm.getLocalEntries()), false);
|
||||||
long externalVersion = dictionaryClient.getVersion(dossierTemplateId, GLOBAL_DOSSIER);
|
long externalVersion = dictionaryClient.getVersion(dossierTemplateId);
|
||||||
if (externalVersion == dictionary.getVersion().getDossierTemplateVersion() + 1) {
|
if (externalVersion == dictionary.getVersion().getDossierTemplateVersion() + 1) {
|
||||||
dictionary.getVersion().setDossierTemplateVersion(externalVersion);
|
dictionary.getVersion().setDossierTemplateVersion(externalVersion);
|
||||||
}
|
}
|
||||||
@ -133,12 +130,14 @@ public class DictionaryService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Set<DictionaryEntry> convertEntries(TypeResult t, String dossierId) {
|
private Set<DictionaryEntry> convertEntries(String typeId) {
|
||||||
|
|
||||||
Set<DictionaryEntry> entries = new HashSet<>(dictionaryClient.getDictionaryForType(t.getType(), t.getDossierTemplateId(), dossierId)
|
var type = dictionaryClient.getDictionaryForType(typeId);
|
||||||
|
|
||||||
|
Set<DictionaryEntry> entries = new HashSet<>(type
|
||||||
.getEntries());
|
.getEntries());
|
||||||
|
|
||||||
if (t.isCaseInsensitive()) {
|
if (type.isCaseInsensitive()) {
|
||||||
entries.forEach(entry -> entry.setValue(entry.getValue().toLowerCase(Locale.ROOT)));
|
entries.forEach(entry -> entry.setValue(entry.getValue().toLowerCase(Locale.ROOT)));
|
||||||
}
|
}
|
||||||
return entries;
|
return entries;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.redaction.service;
|
package com.iqser.red.service.redaction.v1.server.redaction.service;
|
||||||
|
|
||||||
import com.iqser.red.service.configuration.v1.api.model.RulesResponse;
|
|
||||||
import com.iqser.red.service.redaction.v1.server.client.RulesClient;
|
import com.iqser.red.service.redaction.v1.server.client.RulesClient;
|
||||||
import com.iqser.red.service.redaction.v1.server.exception.RulesValidationException;
|
import com.iqser.red.service.redaction.v1.server.exception.RulesValidationException;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.model.Section;
|
import com.iqser.red.service.redaction.v1.server.redaction.model.Section;
|
||||||
@ -76,13 +75,13 @@ public class DroolsExecutionService {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
RulesResponse rules = rulesClient.getRules(dossierTemplateId);
|
var rules = rulesClient.getRules(dossierTemplateId);
|
||||||
if (rules == null || StringUtils.isEmpty(rules.getRules())) {
|
if (rules == null || StringUtils.isEmpty(rules.getValue())) {
|
||||||
throw new RuntimeException("Rules cannot be empty.");
|
throw new RuntimeException("Rules cannot be empty.");
|
||||||
}
|
}
|
||||||
|
|
||||||
KieServices kieServices = KieServices.Factory.get();
|
KieServices kieServices = KieServices.Factory.get();
|
||||||
KieModule kieModule = getKieModule(dossierTemplateId, rules.getRules(), kieServices);
|
KieModule kieModule = getKieModule(dossierTemplateId, rules.getValue(), kieServices);
|
||||||
|
|
||||||
var container = kieContainers.get(dossierTemplateId);
|
var container = kieContainers.get(dossierTemplateId);
|
||||||
if (container != null) {
|
if (container != null) {
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import java.util.stream.Collectors;
|
|||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.iqser.red.service.file.management.v1.api.model.FileType;
|
import com.iqser.red.service.persistence.service.v1.api.model.FileType;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.EntityRecognitionClient;
|
import com.iqser.red.service.redaction.v1.server.client.EntityRecognitionClient;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.model.EntityRecognitionRequest;
|
import com.iqser.red.service.redaction.v1.server.client.model.EntityRecognitionRequest;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.model.EntityRecognitionSection;
|
import com.iqser.red.service.redaction.v1.server.client.model.EntityRecognitionSection;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package com.iqser.red.service.redaction.v1.server.storage;
|
package com.iqser.red.service.redaction.v1.server.storage;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.iqser.red.service.file.management.v1.api.model.FileType;
|
import com.iqser.red.service.persistence.service.v1.api.model.FileType;
|
||||||
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
||||||
import com.iqser.red.service.redaction.v1.model.SectionGrid;
|
import com.iqser.red.service.redaction.v1.model.SectionGrid;
|
||||||
import com.iqser.red.service.redaction.v1.server.classification.model.Text;
|
import com.iqser.red.service.redaction.v1.server.classification.model.Text;
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
info:
|
info:
|
||||||
description: Redaction Service Server V1
|
description: Redaction Service Server V1
|
||||||
|
|
||||||
configuration-service.url: "http://configuration-service-v1:8080"
|
persistence-service.url: "http://persistence-service-v1:8080"
|
||||||
file-management-service.url: "http://file-management-service-v1:8080"
|
|
||||||
image-service.url: "http://image-service-v1:8080"
|
image-service.url: "http://image-service-v1:8080"
|
||||||
entity-recognition-service.url: "http://entity-recognition-service-v1:8080"
|
entity-recognition-service.url: "http://entity-recognition-service-v1:8080"
|
||||||
|
|
||||||
|
|||||||
@ -2,9 +2,11 @@ package com.iqser.red.service.redaction.v1.server;
|
|||||||
|
|
||||||
import com.amazonaws.services.s3.AmazonS3;
|
import com.amazonaws.services.s3.AmazonS3;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.iqser.red.service.configuration.v1.api.model.*;
|
import com.iqser.red.service.persistence.service.v1.api.model.FileType;
|
||||||
import com.iqser.red.service.configuration.v1.api.resource.DictionaryResource;
|
import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive;
|
||||||
import com.iqser.red.service.file.management.v1.api.model.FileType;
|
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Colors;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DictionaryEntry;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type;
|
||||||
import com.iqser.red.service.redaction.v1.model.*;
|
import com.iqser.red.service.redaction.v1.model.*;
|
||||||
import com.iqser.red.service.redaction.v1.server.classification.model.SectionText;
|
import com.iqser.red.service.redaction.v1.server.classification.model.SectionText;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.DictionaryClient;
|
import com.iqser.red.service.redaction.v1.server.client.DictionaryClient;
|
||||||
@ -176,69 +178,64 @@ public class RedactionIntegrationTest {
|
|||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void stubClients() {
|
public void stubClients() {
|
||||||
//Testkommentar
|
|
||||||
|
|
||||||
when(rulesClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(0L);
|
when(rulesClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(0L);
|
||||||
when(rulesClient.getRules(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(new RulesResponse(RULES));
|
when(rulesClient.getRules(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(JSONPrimitive.of(RULES));
|
||||||
|
|
||||||
loadDictionaryForTest();
|
loadDictionaryForTest();
|
||||||
loadTypeForTest();
|
loadTypeForTest();
|
||||||
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER)).thenReturn(0L);
|
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(0L);
|
||||||
when(dictionaryClient.getAllTypes(TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER)).thenReturn(TypeResponse
|
when(dictionaryClient.getAllTypesForDossierTemplate(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(getTypeResponse());
|
||||||
.builder()
|
|
||||||
.types(getTypeResponse())
|
|
||||||
.build());
|
|
||||||
|
|
||||||
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID, TEST_DOSSIER_ID)).thenReturn(0L);
|
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(0L);
|
||||||
when(dictionaryClient.getAllTypes(TEST_DOSSIER_TEMPLATE_ID, TEST_DOSSIER_ID)).thenReturn(TypeResponse.builder()
|
when(dictionaryClient.getAllTypesForDossier(TEST_DOSSIER_ID)).thenReturn(List.of(Type.builder()
|
||||||
.types(List.of(TypeResult.builder()
|
.id(DOSSIER_REDACTIONS +":"+ TEST_DOSSIER_TEMPLATE_ID)
|
||||||
.type(DOSSIER_REDACTIONS)
|
.type(DOSSIER_REDACTIONS)
|
||||||
.dossierTemplateId(TEST_DOSSIER_TEMPLATE_ID)
|
.dossierTemplateId(TEST_DOSSIER_ID)
|
||||||
.hexColor("#ffe187")
|
.hexColor("#ffe187")
|
||||||
.isHint(hintTypeMap.get(DOSSIER_REDACTIONS))
|
.isHint(hintTypeMap.get(DOSSIER_REDACTIONS))
|
||||||
.isCaseInsensitive(caseInSensitiveMap.get(DOSSIER_REDACTIONS))
|
.isCaseInsensitive(caseInSensitiveMap.get(DOSSIER_REDACTIONS))
|
||||||
.isRecommendation(recommendationTypeMap.get(DOSSIER_REDACTIONS))
|
.isRecommendation(recommendationTypeMap.get(DOSSIER_REDACTIONS))
|
||||||
.rank(rankTypeMap.get(DOSSIER_REDACTIONS))
|
.rank(rankTypeMap.get(DOSSIER_REDACTIONS))
|
||||||
.build()))
|
.build()));
|
||||||
.build());
|
|
||||||
|
|
||||||
when(dictionaryClient.getDictionaryForType(VERTEBRATE, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(VERTEBRATE + ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(VERTEBRATE, false));
|
.thenReturn(getDictionaryResponse(VERTEBRATE, false));
|
||||||
when(dictionaryClient.getDictionaryForType(ADDRESS, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(ADDRESS+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(ADDRESS, false));
|
.thenReturn(getDictionaryResponse(ADDRESS, false));
|
||||||
when(dictionaryClient.getDictionaryForType(AUTHOR, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(AUTHOR+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(AUTHOR, false));
|
.thenReturn(getDictionaryResponse(AUTHOR, false));
|
||||||
when(dictionaryClient.getDictionaryForType(SPONSOR, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(SPONSOR+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(SPONSOR, false));
|
.thenReturn(getDictionaryResponse(SPONSOR, false));
|
||||||
when(dictionaryClient.getDictionaryForType(NO_REDACTION_INDICATOR, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(NO_REDACTION_INDICATOR+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(NO_REDACTION_INDICATOR, false));
|
.thenReturn(getDictionaryResponse(NO_REDACTION_INDICATOR, false));
|
||||||
when(dictionaryClient.getDictionaryForType(REDACTION_INDICATOR, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(REDACTION_INDICATOR+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(REDACTION_INDICATOR, false));
|
.thenReturn(getDictionaryResponse(REDACTION_INDICATOR, false));
|
||||||
when(dictionaryClient.getDictionaryForType(HINT_ONLY, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(HINT_ONLY+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(HINT_ONLY, false));
|
.thenReturn(getDictionaryResponse(HINT_ONLY, false));
|
||||||
when(dictionaryClient.getDictionaryForType(MUST_REDACT, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(MUST_REDACT+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(MUST_REDACT, false));
|
.thenReturn(getDictionaryResponse(MUST_REDACT, false));
|
||||||
when(dictionaryClient.getDictionaryForType(PUBLISHED_INFORMATION, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(PUBLISHED_INFORMATION+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(PUBLISHED_INFORMATION, false));
|
.thenReturn(getDictionaryResponse(PUBLISHED_INFORMATION, false));
|
||||||
when(dictionaryClient.getDictionaryForType(TEST_METHOD, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(TEST_METHOD+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(TEST_METHOD, false));
|
.thenReturn(getDictionaryResponse(TEST_METHOD, false));
|
||||||
when(dictionaryClient.getDictionaryForType(PII, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER)).thenReturn(getDictionaryResponse(PII, false));
|
when(dictionaryClient.getDictionaryForType(PII+ ":" + TEST_DOSSIER_TEMPLATE_ID)).thenReturn(getDictionaryResponse(PII, false));
|
||||||
when(dictionaryClient.getDictionaryForType(RECOMMENDATION_AUTHOR, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(RECOMMENDATION_AUTHOR+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(RECOMMENDATION_AUTHOR, false));
|
.thenReturn(getDictionaryResponse(RECOMMENDATION_AUTHOR, false));
|
||||||
when(dictionaryClient.getDictionaryForType(RECOMMENDATION_ADDRESS, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(RECOMMENDATION_ADDRESS+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(RECOMMENDATION_ADDRESS, false));
|
.thenReturn(getDictionaryResponse(RECOMMENDATION_ADDRESS, false));
|
||||||
when(dictionaryClient.getDictionaryForType(FALSE_POSITIVE, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(FALSE_POSITIVE+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(FALSE_POSITIVE, false));
|
.thenReturn(getDictionaryResponse(FALSE_POSITIVE, false));
|
||||||
when(dictionaryClient.getDictionaryForType(PURITY, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(PURITY+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(PURITY, false));
|
.thenReturn(getDictionaryResponse(PURITY, false));
|
||||||
when(dictionaryClient.getDictionaryForType(IMAGE, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER)).thenReturn(getDictionaryResponse(IMAGE, false));
|
when(dictionaryClient.getDictionaryForType(IMAGE+ ":" + TEST_DOSSIER_TEMPLATE_ID)).thenReturn(getDictionaryResponse(IMAGE, false));
|
||||||
when(dictionaryClient.getDictionaryForType(OCR, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER)).thenReturn(getDictionaryResponse(OCR, false));
|
when(dictionaryClient.getDictionaryForType(OCR+ ":" + TEST_DOSSIER_TEMPLATE_ID)).thenReturn(getDictionaryResponse(OCR, false));
|
||||||
when(dictionaryClient.getDictionaryForType(LOGO, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER)).thenReturn(getDictionaryResponse(LOGO, false));
|
when(dictionaryClient.getDictionaryForType(LOGO+ ":" + TEST_DOSSIER_TEMPLATE_ID)).thenReturn(getDictionaryResponse(LOGO, false));
|
||||||
when(dictionaryClient.getDictionaryForType(SIGNATURE, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(SIGNATURE+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(SIGNATURE, false));
|
.thenReturn(getDictionaryResponse(SIGNATURE, false));
|
||||||
when(dictionaryClient.getDictionaryForType(FORMULA, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(FORMULA+ ":" + TEST_DOSSIER_TEMPLATE_ID))
|
||||||
.thenReturn(getDictionaryResponse(FORMULA, false));
|
.thenReturn(getDictionaryResponse(FORMULA, false));
|
||||||
when(dictionaryClient.getDictionaryForType(DOSSIER_REDACTIONS, TEST_DOSSIER_TEMPLATE_ID, TEST_DOSSIER_ID)).thenReturn(getDictionaryResponse(DOSSIER_REDACTIONS, true));
|
when(dictionaryClient.getDictionaryForType(DOSSIER_REDACTIONS+ ":" + TEST_DOSSIER_TEMPLATE_ID)).thenReturn(getDictionaryResponse(DOSSIER_REDACTIONS, true));
|
||||||
when(dictionaryClient.getColors(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(colors);
|
when(dictionaryClient.getColors(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(colors);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -477,11 +474,12 @@ public class RedactionIntegrationTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<TypeResult> getTypeResponse() {
|
private List<Type> getTypeResponse() {
|
||||||
|
|
||||||
return typeColorMap.entrySet()
|
return typeColorMap.entrySet()
|
||||||
.stream()
|
.stream()
|
||||||
.map(typeColor -> TypeResult.builder()
|
.map(typeColor -> Type.builder()
|
||||||
|
.id(typeColor.getKey() + ":" + TEST_DOSSIER_TEMPLATE_ID)
|
||||||
.type(typeColor.getKey())
|
.type(typeColor.getKey())
|
||||||
.dossierTemplateId(TEST_DOSSIER_TEMPLATE_ID)
|
.dossierTemplateId(TEST_DOSSIER_TEMPLATE_ID)
|
||||||
.hexColor(typeColor.getValue())
|
.hexColor(typeColor.getValue())
|
||||||
@ -495,9 +493,10 @@ public class RedactionIntegrationTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private DictionaryResponse getDictionaryResponse(String type, boolean isDossierDictionary) {
|
private Type getDictionaryResponse(String type, boolean isDossierDictionary) {
|
||||||
|
|
||||||
return DictionaryResponse.builder()
|
return Type.builder()
|
||||||
|
.id(type + ":" +TEST_DOSSIER_TEMPLATE_ID)
|
||||||
.hexColor(typeColorMap.get(type))
|
.hexColor(typeColorMap.get(type))
|
||||||
.entries(isDossierDictionary ? toDictionaryEntry(dossierDictionary.get(type)) : toDictionaryEntry(dictionary
|
.entries(isDossierDictionary ? toDictionaryEntry(dossierDictionary.get(type)) : toDictionaryEntry(dictionary
|
||||||
.get(type)))
|
.get(type)))
|
||||||
@ -513,8 +512,11 @@ public class RedactionIntegrationTest {
|
|||||||
|
|
||||||
List<DictionaryEntry> dictionaryEntries = new ArrayList<>();
|
List<DictionaryEntry> dictionaryEntries = new ArrayList<>();
|
||||||
entries.forEach(entry -> {
|
entries.forEach(entry -> {
|
||||||
dictionaryEntries.add(new DictionaryEntry(entry, reanlysisVersions.containsKey(entry) ? reanlysisVersions.get(entry) : 0L, deleted
|
dictionaryEntries.add(DictionaryEntry.builder()
|
||||||
.contains(entry) ? true : false));
|
.value(entry)
|
||||||
|
.version(reanlysisVersions.containsKey(entry) ? reanlysisVersions.get(entry) : 0L)
|
||||||
|
.deleted(deleted
|
||||||
|
.contains(entry) ? true : false).build());
|
||||||
});
|
});
|
||||||
return dictionaryEntries;
|
return dictionaryEntries;
|
||||||
}
|
}
|
||||||
@ -566,7 +568,7 @@ public class RedactionIntegrationTest {
|
|||||||
});
|
});
|
||||||
|
|
||||||
dictionary.get(AUTHOR).add("Drinking water");
|
dictionary.get(AUTHOR).add("Drinking water");
|
||||||
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER)).thenReturn(1L);
|
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(1L);
|
||||||
|
|
||||||
AnnotateResponse annotateResponse = redactionController.annotate(AnnotateRequest.builder()
|
AnnotateResponse annotateResponse = redactionController.annotate(AnnotateRequest.builder()
|
||||||
.dossierId(TEST_DOSSIER_ID)
|
.dossierId(TEST_DOSSIER_ID)
|
||||||
@ -625,7 +627,7 @@ public class RedactionIntegrationTest {
|
|||||||
});
|
});
|
||||||
|
|
||||||
dictionary.get(AUTHOR).add("Drinking water");
|
dictionary.get(AUTHOR).add("Drinking water");
|
||||||
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER)).thenReturn(1L);
|
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(1L);
|
||||||
|
|
||||||
long rstart = System.currentTimeMillis();
|
long rstart = System.currentTimeMillis();
|
||||||
analyzeService.reanalyze(request);
|
analyzeService.reanalyze(request);
|
||||||
@ -730,12 +732,12 @@ public class RedactionIntegrationTest {
|
|||||||
|
|
||||||
reanlysisVersions.put("mouse", 3L);
|
reanlysisVersions.put("mouse", 3L);
|
||||||
|
|
||||||
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER)).thenReturn(3L);
|
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(3L);
|
||||||
|
|
||||||
when(dictionaryClient.getDictionaryForType(VERTEBRATE, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(VERTEBRATE))
|
||||||
.thenReturn(getDictionaryResponse(VERTEBRATE, false));
|
.thenReturn(getDictionaryResponse(VERTEBRATE, false));
|
||||||
|
|
||||||
when(dictionaryClient.getDictionaryForType(FALSE_POSITIVE, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(FALSE_POSITIVE))
|
||||||
.thenReturn(getDictionaryResponse(FALSE_POSITIVE, false));
|
.thenReturn(getDictionaryResponse(FALSE_POSITIVE, false));
|
||||||
|
|
||||||
start = System.currentTimeMillis();
|
start = System.currentTimeMillis();
|
||||||
@ -770,9 +772,9 @@ public class RedactionIntegrationTest {
|
|||||||
deleted.remove("mouse");
|
deleted.remove("mouse");
|
||||||
reanlysisVersions.put("mouse", 4L);
|
reanlysisVersions.put("mouse", 4L);
|
||||||
|
|
||||||
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER)).thenReturn(4L);
|
when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(4L);
|
||||||
|
|
||||||
when(dictionaryClient.getDictionaryForType(VERTEBRATE, TEST_DOSSIER_TEMPLATE_ID, DictionaryResource.GLOBAL_DOSSIER))
|
when(dictionaryClient.getDictionaryForType(VERTEBRATE))
|
||||||
.thenReturn(getDictionaryResponse(VERTEBRATE, false));
|
.thenReturn(getDictionaryResponse(VERTEBRATE, false));
|
||||||
|
|
||||||
analyzeService.reanalyze(request);
|
analyzeService.reanalyze(request);
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
configuration-service.url: "http://configuration-service-v1:8080"
|
|
||||||
image-service.url: "http://image-service-v1:8080"
|
image-service.url: "http://image-service-v1:8080"
|
||||||
file-management-service.url: "http://file-management-service-v1:8080"
|
persistence-service.url: "http://persistence-service-v1:8080"
|
||||||
entity-recognition-service.url: "localhost:8080"
|
entity-recognition-service.url: "localhost:8080"
|
||||||
|
|
||||||
ribbon:
|
ribbon:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user