diff --git a/redaction-service-v1/redaction-service-api-v1/pom.xml b/redaction-service-v1/redaction-service-api-v1/pom.xml
index a479f545..42f3ed40 100644
--- a/redaction-service-v1/redaction-service-api-v1/pom.xml
+++ b/redaction-service-v1/redaction-service-api-v1/pom.xml
@@ -17,5 +17,10 @@
spring-web
true
+
+ com.iqser.red.service
+ configuration-service-api-v1
+ 2.5.6
+
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLog.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLog.java
index b6c13b93..d8f3bfd6 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLog.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLog.java
@@ -1,5 +1,6 @@
package com.iqser.red.service.redaction.v1.model;
+import com.iqser.red.service.configuration.v1.api.model.LegalBasisMapping;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -11,6 +12,7 @@ public class RedactionLog {
private List redactionLogEntry;
+ private List legalBasis;
private long dictionaryVersion = -1;
private long rulesVersion = -1;
@@ -19,9 +21,12 @@ public class RedactionLog {
private long dossierDictionaryVersion = -1;
- public RedactionLog(List redactionLogEntry, long dictionaryVersion, long rulesVersion, String ruleSetId, long dossierDictionaryVersion) {
+ public RedactionLog(List redactionLogEntry,
+ List legalBasis,
+ long dictionaryVersion, long rulesVersion, String ruleSetId, long dossierDictionaryVersion) {
this.redactionLogEntry = redactionLogEntry;
+ this.legalBasis = legalBasis;
this.dictionaryVersion = dictionaryVersion;
this.rulesVersion = rulesVersion;
this.ruleSetId = ruleSetId;
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLogEntry.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLogEntry.java
index 6421c19e..deb34209 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLogEntry.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLogEntry.java
@@ -3,6 +3,7 @@ package com.iqser.red.service.redaction.v1.model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
+import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
@@ -12,6 +13,7 @@ import java.util.List;
@Builder
@NoArgsConstructor
@AllArgsConstructor
+@EqualsAndHashCode(of = "id")
public class RedactionLogEntry {
private String id;
diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/client/LegalBasisClient.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/client/LegalBasisClient.java
new file mode 100644
index 00000000..1a68ab35
--- /dev/null
+++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/client/LegalBasisClient.java
@@ -0,0 +1,8 @@
+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;
+
+@FeignClient(name = "LegalBasisMappingResource", url = "${configuration-service.url}")
+public interface LegalBasisClient extends LegalBasisMappingResource {
+}
diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java
index 4c8d2e0a..12c10b7e 100644
--- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java
+++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java
@@ -5,6 +5,7 @@ import com.iqser.red.service.redaction.v1.model.*;
import com.iqser.red.service.redaction.v1.server.classification.model.Document;
import com.iqser.red.service.redaction.v1.server.classification.model.SectionText;
import com.iqser.red.service.redaction.v1.server.classification.model.Text;
+import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient;
import com.iqser.red.service.redaction.v1.server.exception.RedactionException;
import com.iqser.red.service.redaction.v1.server.redaction.model.Dictionary;
import com.iqser.red.service.redaction.v1.server.redaction.model.*;
@@ -38,7 +39,7 @@ public class ReanalyzeService {
private final PdfSegmentationService pdfSegmentationService;
private final RedactionChangeLogService redactionChangeLogService;
private final AnalyzeResponseService analyzeResponseService;
-
+ private final LegalBasisClient legalBasisClient;
public AnalyzeResult analyze(AnalyzeRequest analyzeRequest) {
@@ -64,7 +65,8 @@ public class ReanalyzeService {
log.info("Redaction analysis successful...");
- var redactionLog = new RedactionLog(classifiedDoc.getRedactionLogEntities(), classifiedDoc.getDictionaryVersion()
+ var legalBasis = legalBasisClient.getLegalBasisMapping(analyzeRequest.getRuleSetId());
+ var redactionLog = new RedactionLog(classifiedDoc.getRedactionLogEntities(),legalBasis, classifiedDoc.getDictionaryVersion()
.getRulesetVersion(), classifiedDoc.getRulesVersion(), analyzeRequest.getRuleSetId(), classifiedDoc.getDictionaryVersion()
.getDossierVersion());