diff --git a/bamboo-specs/pom.xml b/bamboo-specs/pom.xml
index 13ff387e..f0524e0f 100644
--- a/bamboo-specs/pom.xml
+++ b/bamboo-specs/pom.xml
@@ -5,7 +5,7 @@
com.atlassian.bamboo
bamboo-specs-parent
- 7.1.2
+ 7.2.2
diff --git a/redaction-service-image-v1/src/main/docker/Dockerfile b/redaction-service-image-v1/src/main/docker/Dockerfile
index 3ab50727..dec2d219 100644
--- a/redaction-service-image-v1/src/main/docker/Dockerfile
+++ b/redaction-service-image-v1/src/main/docker/Dockerfile
@@ -13,6 +13,6 @@ RUN apt-get update \
wget cabextract xfonts-utils fonts-liberation \
&& rm -rf /var/lib/apt/lists/*
-RUN curl http://ftp.br.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.7_all.deb -o /tmp/ttf-mscorefonts-installer_3.7_all.deb \
- && dpkg -i /tmp/ttf-mscorefonts-installer_3.7_all.deb \
- && rm /tmp/ttf-mscorefonts-installer_3.7_all.deb \
+RUN curl http://ftp.br.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.8_all.deb -o /tmp/ttf-mscorefonts-installer_3.8_all.deb \
+ && dpkg -i /tmp/ttf-mscorefonts-installer_3.8_all.deb \
+ && rm /tmp/ttf-mscorefonts-installer_3.8_all.deb \
diff --git a/redaction-service-v1/pom.xml b/redaction-service-v1/pom.xml
index a26607d4..2a2b5838 100644
--- a/redaction-service-v1/pom.xml
+++ b/redaction-service-v1/pom.xml
@@ -5,7 +5,7 @@
platform-dependency
com.iqser.red
- 1.1.2
+ 1.1.3
4.0.0
@@ -32,7 +32,7 @@
com.iqser.red
platform-commons-dependency
- 1.3.1
+ 1.3.6
import
pom
diff --git a/redaction-service-v1/redaction-service-api-v1/pom.xml b/redaction-service-v1/redaction-service-api-v1/pom.xml
index cb0d850a..79cd421c 100644
--- a/redaction-service-v1/redaction-service-api-v1/pom.xml
+++ b/redaction-service-v1/redaction-service-api-v1/pom.xml
@@ -19,14 +19,8 @@
com.iqser.red.service
- configuration-service-api-v1
- 2.7.0
-
-
- com.iqser.red.service
- file-management-service-api-v1
-
-
+ persistence-service-api-v1
+ 0.4.0
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnalyzeRequest.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnalyzeRequest.java
index 113bdd43..8f287ddd 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnalyzeRequest.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnalyzeRequest.java
@@ -6,6 +6,10 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.OffsetDateTime;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
@Data
@Builder
@@ -13,12 +17,20 @@ import java.time.OffsetDateTime;
@AllArgsConstructor
public class AnalyzeRequest {
- private String projectId;
+ private String dossierId;
private String fileId;
- private String ruleSetId;
+ private String dossierTemplateId;
private boolean reanalyseOnlyIfPossible;
private ManualRedactions manualRedactions;
private OffsetDateTime lastProcessed;
+ @Builder.Default
+ private Set excludedPages = new HashSet<>();
+ @Builder.Default
+ private Set sectionsToReanalyse = new HashSet<>();
+
+ @Builder.Default
+ private List fileAttributes = new ArrayList<>();
+
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnalyzeResult.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnalyzeResult.java
index 2f1ffbee..4fc3fada 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnalyzeResult.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnalyzeResult.java
@@ -11,20 +11,20 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class AnalyzeResult {
- private String projectId;
+ private String dossierId;
private String fileId;
private long duration;
private int numberOfPages;
- private boolean hasHints;
- private boolean hasRequests;
- private boolean hasRedactions;
- private boolean hasImages;
private boolean hasUpdates;
private long dictionaryVersion;
private long dossierDictionaryVersion;
private long rulesVersion;
private long legalBasisVersion;
+ private boolean wasReanalyzed;
+
+ private int analysisVersion;
+
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnnotateRequest.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnnotateRequest.java
index 4f65d74e..b80a7365 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnnotateRequest.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnnotateRequest.java
@@ -11,6 +11,7 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class AnnotateRequest {
- private String projectId;
+ private String dossierId;
+ private String dossierTemplateId;
private String fileId;
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/Argument.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/Argument.java
new file mode 100644
index 00000000..fc4ff45e
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/Argument.java
@@ -0,0 +1,15 @@
+package com.iqser.red.service.redaction.v1.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class Argument {
+
+ private String name;
+ private ArgumentType type;
+
+}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ArgumentType.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ArgumentType.java
new file mode 100644
index 00000000..baab0409
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ArgumentType.java
@@ -0,0 +1,7 @@
+package com.iqser.red.service.redaction.v1.model;
+
+public enum ArgumentType {
+
+ INTEGER, BOOLEAN, STRING, FILE_ATTRIBUTE, REGEX, TYPE, RULE_NUMBER, LEGAL_BASIS, REFERENCE_TYPE
+
+}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/Change.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/Change.java
new file mode 100644
index 00000000..ebc59a84
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/Change.java
@@ -0,0 +1,18 @@
+package com.iqser.red.service.redaction.v1.model;
+
+import java.time.OffsetDateTime;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class Change {
+
+ private ChangeType type;
+ private OffsetDateTime dateTime;
+}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ChangeType.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ChangeType.java
index 0c902a8f..53438d3c 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ChangeType.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ChangeType.java
@@ -1,5 +1,5 @@
package com.iqser.red.service.redaction.v1.model;
public enum ChangeType {
- ADDED, REMOVED
+ ADDED, REMOVED, CHANGED
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/Engine.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/Engine.java
new file mode 100644
index 00000000..8dfa1184
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/Engine.java
@@ -0,0 +1,5 @@
+package com.iqser.red.service.redaction.v1.model;
+
+public enum Engine {
+ DICTIONARY, NER, RULE
+}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/FileAttribute.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/FileAttribute.java
new file mode 100644
index 00000000..aea494c9
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/FileAttribute.java
@@ -0,0 +1,19 @@
+package com.iqser.red.service.redaction.v1.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class FileAttribute {
+
+ private String id;
+ private String label;
+ private String placeholder;
+ private String value;
+
+}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/IdRemoval.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/IdRemoval.java
index 2b7b506d..ff5a7329 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/IdRemoval.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/IdRemoval.java
@@ -5,6 +5,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.time.OffsetDateTime;
+
@Data
@Builder
@AllArgsConstructor
@@ -16,4 +18,8 @@ public class IdRemoval {
private Status status;
private boolean removeFromDictionary;
-}
\ No newline at end of file
+ private OffsetDateTime requestDate;
+ private OffsetDateTime processedDate;
+ private OffsetDateTime softDeletedTime;
+
+}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualForceRedact.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualForceRedact.java
index 3af345dd..c005e6d3 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualForceRedact.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualForceRedact.java
@@ -5,6 +5,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.time.OffsetDateTime;
+
@Data
@Builder
@AllArgsConstructor
@@ -16,4 +18,8 @@ public class ManualForceRedact {
private Status status;
private String legalBasis;
-}
\ No newline at end of file
+ private OffsetDateTime requestDate;
+ private OffsetDateTime processedDate;
+ private OffsetDateTime softDeletedTime;
+
+}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualImageRecategorization.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualImageRecategorization.java
new file mode 100644
index 00000000..14924878
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualImageRecategorization.java
@@ -0,0 +1,25 @@
+package com.iqser.red.service.redaction.v1.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.OffsetDateTime;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class ManualImageRecategorization {
+
+ private String id;
+ private String user;
+ private Status status;
+ private String type;
+
+ private OffsetDateTime requestDate;
+ private OffsetDateTime processedDate;
+ private OffsetDateTime softDeletedTime;
+
+}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualLegalBasisChange.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualLegalBasisChange.java
new file mode 100644
index 00000000..39210d07
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualLegalBasisChange.java
@@ -0,0 +1,25 @@
+package com.iqser.red.service.redaction.v1.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.OffsetDateTime;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class ManualLegalBasisChange {
+
+ private String id;
+ private String user;
+ private Status status;
+ private String legalBasis;
+
+ private OffsetDateTime requestDate;
+ private OffsetDateTime processedDate;
+ private OffsetDateTime softDeletedTime;
+
+}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactionEntry.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactionEntry.java
index eb4fbecf..69eb03cf 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactionEntry.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactionEntry.java
@@ -5,6 +5,7 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
@@ -22,11 +23,12 @@ public class ManualRedactionEntry {
private String legalBasis;
private List positions = new ArrayList<>();
private Status status;
+
private boolean addToDictionary;
-
- private String section;
- private int sectionNumber;
-
private boolean addToDossierDictionary;
+ private OffsetDateTime requestDate;
+ private OffsetDateTime processedDate;
+ private OffsetDateTime softDeletedTime;
+
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactionType.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactionType.java
index 83df7d67..0bb0c607 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactionType.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactionType.java
@@ -1,5 +1,5 @@
package com.iqser.red.service.redaction.v1.model;
public enum ManualRedactionType {
- ADD, REMOVE, FORCE_REDACT
+ ADD, REMOVE, FORCE_REDACT, RECATEGORIZE, LEGAL_BASIS_CHANGE
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactions.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactions.java
index af866d09..baffede0 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactions.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/ManualRedactions.java
@@ -26,6 +26,12 @@ public class ManualRedactions {
@Builder.Default
private Set entriesToAdd = new HashSet<>();
+ @Builder.Default
+ private Set imageRecategorizations = new HashSet<>();
+
+ @Builder.Default
+ private Set manualLegalBasisChanges = new HashSet<>();
+
@Builder.Default
private Map> comments = new HashMap<>();
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionChangeLogEntry.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionChangeLogEntry.java
deleted file mode 100644
index 3dfbacce..00000000
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionChangeLogEntry.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.iqser.red.service.redaction.v1.model;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Data
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class RedactionChangeLogEntry {
-
- private String id;
- private String type;
- private String value;
- private String reason;
- private int matchedRule;
- private String legalBasis;
- private boolean redacted;
- private boolean isHint;
- private boolean isRecommendation;
- private String section;
- private float[] color;
-
- @Builder.Default
- private List positions = new ArrayList<>();
- private int sectionNumber;
- private boolean manual;
- private Status status;
- private ManualRedactionType manualRedactionType;
- private boolean isDictionaryEntry;
-
- private String textBefore;
- private String textAfter;
-
- @Builder.Default
- private List comments = new ArrayList<>();
-
- private ChangeType changeType;
-
- private boolean isDossierDictionaryEntry;
-
-}
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 9c28f5fc..2e404431 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,27 +1,29 @@
package com.iqser.red.service.redaction.v1.model;
-import com.iqser.red.service.configuration.v1.api.model.LegalBasisMapping;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.List;
+import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.LegalBasis;
+
@Data
@AllArgsConstructor
public class RedactionLog {
- private List redactionLogEntry;
- private List legalBasis;
- private String ruleSetId;
+ /**
+ * Version 0 Redaction Logs have manual redactions merged inside them
+ * Version 1 Redaction Logs only contain system ( rule/dictionary ) redactions. Manual Redactions are merged in at runtime.
+ */
+ private long analysisVersion;
+
+ private List redactionLogEntry;
+ private List legalBasis;
private long dictionaryVersion = -1;
- private long rulesVersion = -1;
private long dossierDictionaryVersion = -1;
+ private long rulesVersion = -1;
private long legalBasisVersion = -1;
-
-
-
-
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLogChanges.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLogChanges.java
new file mode 100644
index 00000000..77fe374d
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLogChanges.java
@@ -0,0 +1,17 @@
+package com.iqser.red.service.redaction.v1.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class RedactionLogChanges {
+
+ private RedactionLog redactionLog;
+ private boolean hasChanges;
+
+}
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 deb34209..807b219c 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
@@ -7,13 +7,15 @@ import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
-@EqualsAndHashCode(of = "id")
+@EqualsAndHashCode
public class RedactionLogEntry {
private String id;
@@ -34,6 +36,7 @@ public class RedactionLogEntry {
private boolean manual;
private Status status;
private ManualRedactionType manualRedactionType;
+ private String manualRedactionUserId;
private boolean isDictionaryEntry;
private String textBefore;
@@ -46,7 +49,23 @@ public class RedactionLogEntry {
private int endOffset;
private boolean isImage;
+ private boolean imageHasTransparency;
private boolean isDossierDictionaryEntry;
+ private boolean excluded;
+
+ private String recategorizationType;
+ private String legalBasisChangeValue;
+
+ @EqualsAndHashCode.Exclude
+ @Builder.Default
+ private List changes = new ArrayList<>();
+
+ private Set engines= new HashSet<>();
+
+ private Set reference = new HashSet<>();
+
+
+
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionRequest.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionRequest.java
index fd525887..d92f0edf 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionRequest.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionRequest.java
@@ -1,5 +1,8 @@
package com.iqser.red.service.redaction.v1.model;
+import java.util.HashSet;
+import java.util.Set;
+
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -11,8 +14,10 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class RedactionRequest {
- private String projectId;
+ private String dossierId;
private String fileId;
- private String ruleSetId;
+ private String dossierTemplateId;
private ManualRedactions manualRedactions;
+ @Builder.Default
+ private Set excludedPages = new HashSet<>();
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RuleBuilderModel.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RuleBuilderModel.java
new file mode 100644
index 00000000..37664151
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RuleBuilderModel.java
@@ -0,0 +1,14 @@
+package com.iqser.red.service.redaction.v1.model;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class RuleBuilderModel {
+
+ private List whenClauses = new ArrayList<>();
+ private List thenConditions = new ArrayList<>();
+
+}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionChangeLog.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RuleElement.java
similarity index 51%
rename from redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionChangeLog.java
rename to redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RuleElement.java
index 1270b800..21bd59b1 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionChangeLog.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RuleElement.java
@@ -8,15 +8,11 @@ import java.util.ArrayList;
import java.util.List;
@Data
-@AllArgsConstructor
@NoArgsConstructor
-public class RedactionChangeLog {
+@AllArgsConstructor
+public class RuleElement {
- private List redactionLogEntry = new ArrayList<>();
-
- private long dictionaryVersion = -1;
- private long rulesVersion = -1;
-
- private String ruleSetId;
+ private String conditionName;
+ private List arguments = new ArrayList<>();
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/SectionRectangle.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/SectionRectangle.java
index 38031b36..3a21bb47 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/SectionRectangle.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/SectionRectangle.java
@@ -30,4 +30,5 @@ public class SectionRectangle {
private int numberOfParts;
private List tableCells;
+
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/StructureAnalyzeRequest.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/StructureAnalyzeRequest.java
new file mode 100644
index 00000000..bd464e36
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/StructureAnalyzeRequest.java
@@ -0,0 +1,18 @@
+package com.iqser.red.service.redaction.v1.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class StructureAnalyzeRequest {
+
+ private String dossierId;
+ private String fileId;
+
+}
+
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RedactionResource.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RedactionResource.java
index de766ba5..d6bb66f9 100644
--- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RedactionResource.java
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RedactionResource.java
@@ -8,12 +8,6 @@ import org.springframework.web.bind.annotation.RequestBody;
public interface RedactionResource {
- String SERVICE_NAME = "redaction-service-v1";
-
- String RULE_SET_PARAMETER_NAME = "ruleSetId";
- String RULE_SET_PATH_VARIABLE = "/{" + RULE_SET_PARAMETER_NAME + "}";
-
-
@PostMapping(value = "/annotate", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
AnnotateResponse annotate(@RequestBody AnnotateRequest annotateRequest);
@@ -26,10 +20,10 @@ public interface RedactionResource {
@PostMapping(value = "/debug/htmlTables", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
RedactionResult htmlTables(@RequestBody RedactionRequest redactionRequest);
- @PostMapping(value = "/rules/update" + RULE_SET_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE)
- void updateRules(@PathVariable(RULE_SET_PARAMETER_NAME) String ruleSetId);
-
@PostMapping(value = "/rules/test", consumes = MediaType.APPLICATION_JSON_VALUE)
void testRules(@RequestBody String rules);
+ @PostMapping(value = "/redaction-log/preview", consumes = MediaType.APPLICATION_JSON_VALUE)
+ RedactionLog getRedactionLog(@RequestBody RedactionRequest redactionRequest);
+
}
diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RuleBuilderResource.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RuleBuilderResource.java
new file mode 100644
index 00000000..d65cdab5
--- /dev/null
+++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/resources/RuleBuilderResource.java
@@ -0,0 +1,12 @@
+package com.iqser.red.service.redaction.v1.resources;
+
+import com.iqser.red.service.redaction.v1.model.RuleBuilderModel;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PostMapping;
+
+public interface RuleBuilderResource {
+
+ @PostMapping(value = "/rule-builder-model", produces = MediaType.APPLICATION_JSON_VALUE)
+ RuleBuilderModel getRuleBuilderModel();
+
+}
diff --git a/redaction-service-v1/redaction-service-server-v1/pom.xml b/redaction-service-v1/redaction-service-server-v1/pom.xml
index 91b484a2..52a51cb7 100644
--- a/redaction-service-v1/redaction-service-server-v1/pom.xml
+++ b/redaction-service-v1/redaction-service-server-v1/pom.xml
@@ -21,21 +21,6 @@
redaction-service-api-v1
${project.version}
-
- com.iqser.red.service
- file-management-service-api-v1
- 2.7.4
-
-
- com.iqser.red.service
- redaction-service-api-v1
-
-
- com.iqser.red.service
- configuration-service-api-v1
-
-
-
org.drools
drools-core
diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/classification/model/Document.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/classification/model/Document.java
index d312bd8c..393e2fcd 100644
--- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/classification/model/Document.java
+++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/classification/model/Document.java
@@ -1,19 +1,14 @@
package com.iqser.red.service.redaction.v1.server.classification.model;
-import com.iqser.red.service.redaction.v1.model.RedactionLogEntry;
+import java.util.ArrayList;
+import java.util.List;
+
import com.iqser.red.service.redaction.v1.model.SectionGrid;
import com.iqser.red.service.redaction.v1.server.redaction.model.DictionaryVersion;
-import com.iqser.red.service.redaction.v1.server.redaction.model.Entity;
-import com.iqser.red.service.redaction.v1.server.redaction.model.Image;
+
import lombok.Data;
import lombok.NoArgsConstructor;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
@Data
@NoArgsConstructor
public class Document {
@@ -23,20 +18,14 @@ public class Document {
private List headers = new ArrayList<>();
private List