diff --git a/.dev/docker-compose.yaml b/.dev/docker-compose.yaml index 73613ea2e..00f6876c9 100644 --- a/.dev/docker-compose.yaml +++ b/.dev/docker-compose.yaml @@ -24,6 +24,6 @@ services: minio: mem_limit: 1000m image: minio/minio - command: server /data + command: server /entity ports: - 9000:9000 diff --git a/persistence-service-v1/persistence-service-api-v1/pom.xml b/persistence-service-v1/persistence-service-api-v1/pom.xml index fb329153b..960a22db7 100644 --- a/persistence-service-v1/persistence-service-api-v1/pom.xml +++ b/persistence-service-v1/persistence-service-api-v1/pom.xml @@ -1,6 +1,6 @@ - @@ -22,6 +22,10 @@ com.iqser.red.service persistence-service-api-v1 + + com.iqser.red.service + pdftron-redaction-service-api-v1 + @@ -50,18 +54,7 @@ com.iqser.red.commons jackson-commons - - org.hibernate - hibernate-core - 5.4.28.Final - compile - - - org.springframework.data - spring-data-commons - 2.4.5 - compile - + diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/AddRedactionRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/AddRedactionRequest.java similarity index 65% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/AddRedactionRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/AddRedactionRequest.java index f08fb5d35..6030bdbea 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/AddRedactionRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/AddRedactionRequest.java @@ -1,7 +1,5 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.Rectangle; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -17,7 +15,7 @@ import java.util.List; public class AddRedactionRequest { private String user; - private String type; + private String typeId; private String value; private String reason; private String legalBasis; @@ -30,5 +28,4 @@ public class AddRedactionRequest { private String comment; - //TODO: forceAddToDictionary flag? } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/AnnotationStatus.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/AnnotationStatus.java new file mode 100644 index 000000000..6f4d882d0 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/AnnotationStatus.java @@ -0,0 +1,8 @@ +package com.iqser.red.service.persistence.service.v1.api.model.annotations; + +public enum AnnotationStatus { + REQUESTED, + APPROVED, + DECLINED + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/Comment.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/Comment.java new file mode 100644 index 000000000..c8d12ebf9 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/Comment.java @@ -0,0 +1,25 @@ +package com.iqser.red.service.persistence.service.v1.api.model.annotations; + +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.OffsetDateTime; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class Comment { + + private long id; + private String fileId; + private String annotationId; + private OffsetDateTime date; + private String text; + private String user; + private OffsetDateTime softDeletedTime; + private FileModel fileStatus; +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/CommentRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/CommentRequest.java similarity index 76% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/CommentRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/CommentRequest.java index dbbbbcfcd..2c8b9c857 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/CommentRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/CommentRequest.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.annotations; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ForceRedactionRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ForceRedactionRequest.java similarity index 69% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ForceRedactionRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ForceRedactionRequest.java index 22f690d43..47b00145c 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ForceRedactionRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ForceRedactionRequest.java @@ -1,6 +1,5 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/IdRemoval.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/IdRemoval.java new file mode 100644 index 000000000..dcf148f45 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/IdRemoval.java @@ -0,0 +1,25 @@ +package com.iqser.red.service.persistence.service.v1.api.model.annotations; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.OffsetDateTime; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class IdRemoval { + + private String annotationId; + private String fileId; + private String user; + private AnnotationStatus status; + private boolean removeFromDictionary; + private OffsetDateTime requestDate; + private OffsetDateTime processedDate; + private OffsetDateTime softDeletedTime; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ImageRecategorizationRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ImageRecategorizationRequest.java similarity index 64% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ImageRecategorizationRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ImageRecategorizationRequest.java index fed3a5fcb..14ac8bfbd 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ImageRecategorizationRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ImageRecategorizationRequest.java @@ -1,6 +1,5 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,7 +14,7 @@ public class ImageRecategorizationRequest { private String annotationId; private String user; private AnnotationStatus status; - private String type; + private String typeId; private String comment; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/LegalBasisChangeRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/LegalBasisChangeRequest.java similarity index 69% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/LegalBasisChangeRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/LegalBasisChangeRequest.java index 522b10f7c..b8a83416f 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/LegalBasisChangeRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/LegalBasisChangeRequest.java @@ -1,6 +1,5 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ManualAddResponse.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualAddResponse.java similarity index 69% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ManualAddResponse.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualAddResponse.java index 54a346141..160eecd28 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ManualAddResponse.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualAddResponse.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.annotations; import lombok.AllArgsConstructor; import lombok.Builder; @@ -12,5 +12,5 @@ import lombok.NoArgsConstructor; public class ManualAddResponse { private String annotationId; - private String commentId; + private Long commentId; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualForceRedaction.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualForceRedaction.java new file mode 100644 index 000000000..4edca2348 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualForceRedaction.java @@ -0,0 +1,29 @@ +package com.iqser.red.service.persistence.service.v1.api.model.annotations; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.Entity; +import javax.persistence.Table; +import java.time.OffsetDateTime; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Entity +@Table(name = "manual_force_redaction") +public class ManualForceRedaction { + + private String annotationId; + private String fileId; + private String user; + private AnnotationStatus status; + private String legalBasis; + private OffsetDateTime requestDate; + private OffsetDateTime processedDate; + private OffsetDateTime softDeletedTime; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualImageRecategorization.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualImageRecategorization.java new file mode 100644 index 000000000..bd46ab120 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualImageRecategorization.java @@ -0,0 +1,28 @@ +package com.iqser.red.service.persistence.service.v1.api.model.annotations; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.Entity; +import javax.persistence.Table; +import java.time.OffsetDateTime; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Entity +@Table(name = "manual_image_recategorization") +public class ManualImageRecategorization { + + private String annotationId; + private String fileId; + private String user; + private AnnotationStatus status; + private String type; + private OffsetDateTime requestDate; + private OffsetDateTime processedDate; + private OffsetDateTime softDeletedTime; +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualLegalBasisChange.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualLegalBasisChange.java new file mode 100644 index 000000000..9b1c20046 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualLegalBasisChange.java @@ -0,0 +1,29 @@ +package com.iqser.red.service.persistence.service.v1.api.model.annotations; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.Entity; +import javax.persistence.Table; +import java.time.OffsetDateTime; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Entity +@Table(name = "manual_legal_basis_change") +public class ManualLegalBasisChange { + + private String annotationId; + private String fileId; + private String user; + private AnnotationStatus status; + private String legalBasis; + private OffsetDateTime requestDate; + private OffsetDateTime processedDate; + private OffsetDateTime softDeletedTime; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualRedactionEntry.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualRedactionEntry.java new file mode 100644 index 000000000..9db064187 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualRedactionEntry.java @@ -0,0 +1,37 @@ +package com.iqser.red.service.persistence.service.v1.api.model.annotations; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.Entity; +import javax.persistence.Table; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +@Data +@Entity +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Table(name = "manual_redaction") +public class ManualRedactionEntry { + + private String annotationId; + private String fileId; + private String user; + private String type; + private String value; + private String reason; + private String legalBasis; + private AnnotationStatus status; + private boolean addToDictionary; + private boolean addToDossierDictionary; + private OffsetDateTime requestDate; + private OffsetDateTime processedDate; + private OffsetDateTime softDeletedTime; + private List positions = new ArrayList<>(); + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ManualRedactions.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualRedactions.java similarity index 84% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ManualRedactions.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualRedactions.java index 3f53332a7..9fce6c05a 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ManualRedactions.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ManualRedactions.java @@ -1,6 +1,5 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.*; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/Rectangle.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/Rectangle.java similarity index 78% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/Rectangle.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/Rectangle.java index 0a1ee7b71..a2b9dffc1 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/Rectangle.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/Rectangle.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.annotations; +package com.iqser.red.service.persistence.service.v1.api.model.annotations; import lombok.AllArgsConstructor; import lombok.Builder; @@ -19,15 +19,15 @@ public class Rectangle { @GeneratedValue private long id; - @Column + private float topLeftX; - @Column + private float topLeftY; - @Column + private float width; - @Column + private float height; - @Column + private int page; @ManyToOne(fetch = FetchType.LAZY) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/RemoveRedactionRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/RemoveRedactionRequest.java similarity index 69% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/RemoveRedactionRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/RemoveRedactionRequest.java index 4eb1b0d5c..2ddec5930 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/RemoveRedactionRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/RemoveRedactionRequest.java @@ -1,6 +1,5 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ViewedPage.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ViewedPage.java new file mode 100644 index 000000000..73202f13b --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/annotations/ViewedPage.java @@ -0,0 +1,19 @@ +package com.iqser.red.service.persistence.service.v1.api.model.annotations; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.OffsetDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ViewedPage { + + private String fileId; + private int page; + private String userId; + private OffsetDateTime viewedTime; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AddNotificationRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AddNotificationRequest.java similarity index 85% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AddNotificationRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AddNotificationRequest.java index 287781c63..28d6f607f 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AddNotificationRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AddNotificationRequest.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.audit; +package com.iqser.red.service.persistence.service.v1.api.model.audit; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AuditModel.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AuditModel.java new file mode 100644 index 000000000..f1412b869 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AuditModel.java @@ -0,0 +1,30 @@ +package com.iqser.red.service.persistence.service.v1.api.model.audit; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.Entity; +import javax.persistence.Table; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Entity +@Table(name = "audit") +public class AuditModel { + + private long recordId; + private OffsetDateTime recordDate; + private String objectId; + private String category; + private String userId; + private String message; + private Map details = new HashMap<>(); + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AuditRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AuditRequest.java similarity index 85% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AuditRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AuditRequest.java index 16b6318df..648959759 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AuditRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AuditRequest.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.audit; +package com.iqser.red.service.persistence.service.v1.api.model.audit; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AuditSearchRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AuditSearchRequest.java similarity index 86% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AuditSearchRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AuditSearchRequest.java index d8d11fe80..18dae1942 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AuditSearchRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/AuditSearchRequest.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.audit; +package com.iqser.red.service.persistence.service.v1.api.model.audit; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/CategoryModel.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/CategoryModel.java similarity index 74% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/CategoryModel.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/CategoryModel.java index 7cdc39085..eecba3812 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/CategoryModel.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/audit/CategoryModel.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.audit; +package com.iqser.red.service.persistence.service.v1.api.model.audit; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/JSONPrimitive.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/common/JSONPrimitive.java similarity index 82% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/JSONPrimitive.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/common/JSONPrimitive.java index d109733ca..16c6cd023 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/JSONPrimitive.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/common/JSONPrimitive.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.common; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/common/Page.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/common/Page.java new file mode 100644 index 000000000..e82fd7c53 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/common/Page.java @@ -0,0 +1,22 @@ +package com.iqser.red.service.persistence.service.v1.api.model.common; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.List; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Builder +public class Page { + + @Builder.Default + private List elements = new ArrayList<>(); + private long totalHits; + private int page; + private int pageSize; +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/AnnotationStatus.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/AnnotationStatus.java deleted file mode 100644 index 154fe576a..000000000 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/AnnotationStatus.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.annotations; - -public enum AnnotationStatus { - REQUESTED, - APPROVED, - DECLINED - -} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/download/DownloadStatusValue.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/download/DownloadStatusValue.java deleted file mode 100644 index cd9ad5027..000000000 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/download/DownloadStatusValue.java +++ /dev/null @@ -1,2 +0,0 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.download; - diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/CreateOrUpdateDossierTemplateRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/CreateOrUpdateDossierTemplateRequest.java similarity index 77% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/CreateOrUpdateDossierTemplateRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/CreateOrUpdateDossierTemplateRequest.java index 174aba5d0..64210c033 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/CreateOrUpdateDossierTemplateRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/CreateOrUpdateDossierTemplateRequest.java @@ -1,6 +1,5 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DownloadFileType; import lombok.AllArgsConstructor; import lombok.Builder; @@ -8,9 +7,7 @@ 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; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DossierAttributeConfig.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DossierAttributeConfig.java new file mode 100644 index 000000000..f64234980 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DossierAttributeConfig.java @@ -0,0 +1,27 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; + +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierAttributeType; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.Id; + + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DossierAttributeConfig { + + @Id + private String id; + private String label; + private boolean editable; + private String placeholder; + private DossierAttributeType type = DossierAttributeType.TEXT; + private String dossierTemplateId; + + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DossierTemplate.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DossierTemplate.java new file mode 100644 index 000000000..6410932e5 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DossierTemplate.java @@ -0,0 +1,33 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.OffsetDateTime; +import java.util.HashSet; +import java.util.Set; + + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class DossierTemplate { + + @JsonProperty("dossierTemplateId") + private String id; + private String name; + private String description; + private OffsetDateTime dateAdded; + private OffsetDateTime dateModified; + private String createdBy; + private String modifiedBy; + private OffsetDateTime validFrom; + private OffsetDateTime validTo; + private boolean deleted; + private Set downloadFileTypes = new HashSet<>(); + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DownloadFileType.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DownloadFileType.java similarity index 90% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DownloadFileType.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DownloadFileType.java index dd3ff0496..77d083f4d 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DownloadFileType.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/DownloadFileType.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; public enum DownloadFileType { ORIGINAL, PREVIEW, REDACTED, ANNOTATED, FLATTEN diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/FileAttributesGeneralConfiguration.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/FileAttributesGeneralConfiguration.java new file mode 100644 index 000000000..1e3f1d12f --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/FileAttributesGeneralConfiguration.java @@ -0,0 +1,19 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FileAttributesGeneralConfiguration { + + private String dossierTemplateId; + private String filenameMappingColumnHeaderName; + private String delimiter; + + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ImportCsvRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ImportCsvRequest.java similarity index 74% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ImportCsvRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ImportCsvRequest.java index cbe251e14..ab4978c26 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ImportCsvRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ImportCsvRequest.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ImportCsvResponse.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ImportCsvResponse.java similarity index 83% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ImportCsvResponse.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ImportCsvResponse.java index 474067899..c45af1b14 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ImportCsvResponse.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ImportCsvResponse.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ReportTemplate.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ReportTemplate.java new file mode 100644 index 000000000..9a1a700ca --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ReportTemplate.java @@ -0,0 +1,24 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.OffsetDateTime; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ReportTemplate { + + private String templateId; + private String storageId; + private String fileName; + private OffsetDateTime uploadDate; + private boolean multiFileReport; + private boolean activeByDefault; + private String dossierTemplateId; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ReportTemplateDownload.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ReportTemplateDownload.java similarity index 74% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ReportTemplateDownload.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ReportTemplateDownload.java index ee24a3aa8..95449c089 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ReportTemplateDownload.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ReportTemplateDownload.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ReportTemplateUploadRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ReportTemplateUploadRequest.java similarity index 81% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ReportTemplateUploadRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ReportTemplateUploadRequest.java index 830006024..ea1dabbf1 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ReportTemplateUploadRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/ReportTemplateUploadRequest.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate; import lombok.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/Colors.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/Colors.java new file mode 100644 index 000000000..28ac1ebc8 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/Colors.java @@ -0,0 +1,25 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Colors { + + private String dossierTemplateId; + private String defaultColor; + private String requestAdd; + private String requestRemove; + private String notRedacted; + private String analysisColor; + private String updatedColor; + private String dictionaryRequestColor; + private String manualRedactionColor; + private String previewColor; + +} diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/configuration/v1/api/model/DigitalSignatureModel.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/DigitalSignature.java similarity index 69% rename from persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/configuration/v1/api/model/DigitalSignatureModel.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/DigitalSignature.java index 58a3ee655..87ce9f9de 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/configuration/v1/api/model/DigitalSignatureModel.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/DigitalSignature.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.configuration.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration; import lombok.AllArgsConstructor; import lombok.Builder; @@ -7,14 +7,16 @@ import lombok.NoArgsConstructor; @Data @Builder -@AllArgsConstructor @NoArgsConstructor -// TODO remove this - compatibility for classpath error -public class DigitalSignatureModel { +@AllArgsConstructor +public class DigitalSignature { + + private String id; private String location; private String reason; private String contactInfo; private String certificateName; - private byte[] privateKey; private String password; + private byte[] privateKey; + } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/DigitalSignatureUpdateModel.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/DigitalSignatureUpdateModel.java similarity index 74% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/DigitalSignatureUpdateModel.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/DigitalSignatureUpdateModel.java index 2115c160a..6915076d2 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/DigitalSignatureUpdateModel.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/DigitalSignatureUpdateModel.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration; import lombok.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/RuleSet.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/RuleSet.java new file mode 100644 index 000000000..30ddcefa7 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/RuleSet.java @@ -0,0 +1,16 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class RuleSet { + + private String dossierTemplateId; + private long version; + private String value; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/SMTPConfiguration.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/SMTPConfiguration.java new file mode 100644 index 000000000..9c7393d3a --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/SMTPConfiguration.java @@ -0,0 +1,28 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class SMTPConfiguration { + + private String id; + private String from; + private String fromDisplayName; + private String envelopeFrom; + private String host; + private Integer port; + private String replyTo; + private String replyToDisplayName; + private boolean ssl; + private boolean starttls; + private boolean auth; + private String user; + private String password; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/Watermark.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/Watermark.java new file mode 100644 index 000000000..1987e6c88 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/Watermark.java @@ -0,0 +1,23 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Watermark { + + private String dossierTemplateId; + private String text; + private String hexColor; + private int opacity; + private int fontSize; + private String fontType; + private WatermarkOrientation orientation; + + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/WatermarkOrientation.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/WatermarkOrientation.java new file mode 100644 index 000000000..59d79a209 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/configuration/WatermarkOrientation.java @@ -0,0 +1,5 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration; + +public enum WatermarkOrientation { + VERTICAL, HORIZONTAL, DIAGONAL +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/CreateOrUpdateDossierRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/CreateOrUpdateDossierRequest.java similarity index 83% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/CreateOrUpdateDossierRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/CreateOrUpdateDossierRequest.java index 691cb2f77..a613bfaa3 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/CreateOrUpdateDossierRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/CreateOrUpdateDossierRequest.java @@ -1,4 +1,10 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier; + +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; import java.time.OffsetDateTime; import java.util.ArrayList; @@ -6,13 +12,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DownloadFileType; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - @Data @NoArgsConstructor @AllArgsConstructor diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/DeletedDossier.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DeletedDossier.java similarity index 69% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/DeletedDossier.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DeletedDossier.java index fbb9b24c3..ed9b4dcc3 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/DeletedDossier.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DeletedDossier.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier; import lombok.Builder; import lombok.Data; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/Dossier.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/Dossier.java new file mode 100644 index 000000000..b5045db33 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/Dossier.java @@ -0,0 +1,38 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.OffsetDateTime; +import java.util.HashSet; +import java.util.Set; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class Dossier { + + @JsonProperty("dossierId") + private String id; + private String dossierName; + private OffsetDateTime date; + private String description; + private DossierStatus status; + private String ownerId; + private Set memberIds = new HashSet<>(); + private Set approverIds = new HashSet<>(); + private Set downloadFileTypes = new HashSet<>(); + private Set reportTemplateIds = new HashSet<>(); + private boolean watermarkEnabled; + private OffsetDateTime softDeletedTime; + private OffsetDateTime hardDeletedTime; + private OffsetDateTime startDate; + private OffsetDateTime dueDate; + private String dossierTemplateId; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierAttribute.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierAttribute.java new file mode 100644 index 000000000..a00b0c68b --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierAttribute.java @@ -0,0 +1,19 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class DossierAttribute { + + private String dossierId; + private String dossierAttributeConfigId; + private String value; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierAttributeType.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierAttributeType.java new file mode 100644 index 000000000..aca46c8e9 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierAttributeType.java @@ -0,0 +1,5 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier; + +public enum DossierAttributeType { + TEXT, NUMBER, DATE, IMAGE +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierStatus.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStatus.java similarity index 82% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierStatus.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStatus.java index fad4f4821..2e00a8556 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierStatus.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStatus.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier; public enum DossierStatus { ACTIVE, DELETED diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/BinaryFileRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/BinaryFileRequest.java similarity index 75% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/BinaryFileRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/BinaryFileRequest.java index 425218e92..624a2997c 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/BinaryFileRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/BinaryFileRequest.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file; import lombok.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/BinaryFileResult.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/BinaryFileResult.java similarity index 70% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/BinaryFileResult.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/BinaryFileResult.java index 5f8abb1bc..02929b66e 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/BinaryFileResult.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/BinaryFileResult.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file; import lombok.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileAttribute.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileAttribute.java new file mode 100644 index 000000000..a6c0c229a --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileAttribute.java @@ -0,0 +1,14 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file; + +import lombok.Data; + +@Data +public class FileAttribute { + + private String fileId; + private String fileAttributeConfigId; + private String value; + +} + + diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileAttributeConfig.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileAttributeConfig.java new file mode 100644 index 000000000..cdac75ffe --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileAttributeConfig.java @@ -0,0 +1,26 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class FileAttributeConfig { + + private String id; + private String csvColumnHeader; + private String label; + private boolean primaryAttribute; + private boolean editable; + private boolean filterable; + private boolean displayedInFileList; + private String placeholder; + private FileAttributeType type = FileAttributeType.TEXT; + private String dossierTemplateId; + + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileAttributeType.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileAttributeType.java new file mode 100644 index 000000000..15ae6db0c --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileAttributeType.java @@ -0,0 +1,5 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file; + +public enum FileAttributeType { + TEXT, NUMBER, DATE +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileModel.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileModel.java new file mode 100644 index 000000000..1929e22b1 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileModel.java @@ -0,0 +1,64 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.Entity; +import javax.persistence.Table; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Entity +@Table(name = "file") +public class FileModel { + + @JsonProperty("fileId") + private String id; + private String filename; + private FileStatus status; + private FileStatus lastSuccessfulStatus; + private int numberOfPages; + private OffsetDateTime added; + private OffsetDateTime lastUpdated; + private OffsetDateTime deleted; + private OffsetDateTime lastProcessed; + private OffsetDateTime lastIndexed; + private int numberOfAnalyses; + private String currentReviewer; + private String lastReviewer; + private OffsetDateTime lastManualRedaction; + private boolean hasRedactions; + private boolean hasHints; + private boolean hasSuggestions; + private boolean hasImages; + private boolean hasUpdates; + private String uploader; + private long dictionaryVersion; + private long rulesVersion; + private long dossierDictionaryVersion; + private long legalBasisVersion; + private OffsetDateTime approvalDate; + private OffsetDateTime lastUploaded; + private long analysisDuration; + private OffsetDateTime lastOCRTime; + private boolean hasAnnotationComments; + private boolean excluded; + private OffsetDateTime hardDeletedTime; + private OffsetDateTime lastFileAttributeChange; + private int analysisVersion; + private Set excludedPages = new HashSet<>(); + private Map fileAttributes = new HashMap<>(); + private String dossierId; + + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/FileStatus.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileStatus.java similarity index 89% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/FileStatus.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileStatus.java index ed0ddd4ed..2f91739a8 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/FileStatus.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileStatus.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file; public enum FileStatus { UNPROCESSED, REPROCESS, PROCESSING, ERROR, DELETED, UNASSIGNED, UNDER_REVIEW, UNDER_APPROVAL, APPROVED, FULLREPROCESS, OCR_PROCESSING, INDEXING diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/FileType.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileType.java similarity index 75% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/FileType.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileType.java index cb4c4fbe2..4db185c15 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/FileType.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/file/FileType.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file; import lombok.Getter; diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/configuration/v1/api/model/LegalBasisMapping.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/legalbasis/LegalBasis.java similarity index 56% rename from persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/configuration/v1/api/model/LegalBasisMapping.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/legalbasis/LegalBasis.java index 95c3d7699..0b921ea80 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/configuration/v1/api/model/LegalBasisMapping.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/legalbasis/LegalBasis.java @@ -1,17 +1,20 @@ -package com.iqser.red.service.configuration.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Data -@AllArgsConstructor @NoArgsConstructor -// TODO remove this - compatibility for classpath error -public class LegalBasisMapping { +@AllArgsConstructor +@Builder +public class LegalBasis { + private long id; private String name; private String description; private String reason; + } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/LegalBasisMapping.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/legalbasis/LegalBasisMapping.java similarity index 66% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/LegalBasisMapping.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/legalbasis/LegalBasisMapping.java index e1ad39f19..f72e0eea2 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/LegalBasisMapping.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/legalbasis/LegalBasisMapping.java @@ -1,24 +1,17 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.configuration; +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis; import lombok.Data; import lombok.NoArgsConstructor; -import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Data @NoArgsConstructor -@Entity -@Table(name = "legal_basis_mapping") public class LegalBasisMapping { - @Id private String dossierTemplateId; - @Column private long version; - - @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) private List legalBasis = new ArrayList<>(); } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/type/DictionaryEntry.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/type/DictionaryEntry.java new file mode 100644 index 000000000..f0c508f89 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/type/DictionaryEntry.java @@ -0,0 +1,22 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DictionaryEntry implements Serializable { + + private long entryId; + private String value; + private long version; + private boolean deleted; + private String typeId; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/type/Type.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/type/Type.java new file mode 100644 index 000000000..766341e5f --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/type/Type.java @@ -0,0 +1,32 @@ +package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type; + +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 Type { + + private String id; + private String type; + private String label; + private String hexColor; + private int rank; + private boolean isHint; + private boolean isCaseInsensitive; + private boolean isRecommendation; + private String description; + private long version; + private boolean addToDictionaryAction; + private String dossierTemplateId; + private String dossierId; + private List entries = new ArrayList<>(); + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/DownloadRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/DownloadRequest.java similarity index 81% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/DownloadRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/DownloadRequest.java index 9c850c10e..ec0227423 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/DownloadRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/DownloadRequest.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.download; import lombok.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/DownloadStatus.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/DownloadStatus.java new file mode 100644 index 000000000..bc171efc6 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/DownloadStatus.java @@ -0,0 +1,32 @@ +package com.iqser.red.service.persistence.service.v1.api.model.download; + +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class DownloadStatus { + + private String storageId; + private String userId; + private String filename; + private String mimeType; + private DownloadStatusValue status; + private OffsetDateTime creationDate; + private OffsetDateTime lastDownload; + private long fileSize; + private String dossierId; + private List fileIds = new ArrayList<>(); + private List downloadFileTypes = new ArrayList<>(); + + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/DownloadStatusValue.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/DownloadStatusValue.java new file mode 100644 index 000000000..a71ca8d98 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/DownloadStatusValue.java @@ -0,0 +1,5 @@ +package com.iqser.red.service.persistence.service.v1.api.model.download; + +public enum DownloadStatusValue { + QUEUED, GENERATING, READY, FAILED +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/SetDownloadedRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/SetDownloadedRequest.java similarity index 73% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/SetDownloadedRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/SetDownloadedRequest.java index 6cdc33cac..d99baedd2 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/SetDownloadedRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/download/SetDownloadedRequest.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.download; import lombok.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/LicenseReport.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/LicenseReport.java similarity index 91% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/LicenseReport.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/LicenseReport.java index d45350426..547f09af6 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/LicenseReport.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/LicenseReport.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.license; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/LicenseReportRequest.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/LicenseReportRequest.java similarity index 81% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/LicenseReportRequest.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/LicenseReportRequest.java index e85bd4be4..6c7bd557f 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/LicenseReportRequest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/LicenseReportRequest.java @@ -1,10 +1,6 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.license; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; +import lombok.*; import java.time.Instant; import java.time.Year; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ReportData.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/ReportData.java similarity index 74% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ReportData.java rename to persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/ReportData.java index e54adc093..9f80f69c1 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/ReportData.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/license/ReportData.java @@ -1,7 +1,7 @@ -package com.iqser.red.service.persistence.service.v1.api.model; +package com.iqser.red.service.persistence.service.v1.api.model.license; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/notification/Notification.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/notification/Notification.java new file mode 100644 index 000000000..0220c2dd9 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/notification/Notification.java @@ -0,0 +1,28 @@ +package com.iqser.red.service.persistence.service.v1.api.model.notification; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class Notification { + + private long id; + private String userId; + private String notificationType; + private String issuerId; + private OffsetDateTime creationDate; + private OffsetDateTime seenDate; + private OffsetDateTime readDate; + private OffsetDateTime softDeleted; + private String notificationDetails; + private Map target = new HashMap<>(); +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/AuditResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/AuditResource.java index 5f09829f4..c4e129696 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/AuditResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/AuditResource.java @@ -1,10 +1,10 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditModel; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditSearchRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.CategoryModel; -import org.springframework.data.domain.Page; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditModel; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditRequest; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditSearchRequest; +import com.iqser.red.service.persistence.service.v1.api.model.audit.CategoryModel; +import com.iqser.red.service.persistence.service.v1.api.model.common.Page; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DictionaryResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DictionaryResource.java index 3c9d71128..405c01444 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DictionaryResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DictionaryResource.java @@ -1,8 +1,8 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -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.persistence.service.v1.api.model.dossiertemplate.configuration.Colors; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionaryEntry; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.Type; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; @@ -30,23 +30,21 @@ public interface DictionaryResource { String ENTRIES_PATH = "/entries"; - - @ResponseStatus(HttpStatus.NO_CONTENT) - @PostMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE , consumes = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) void addEntries(@PathVariable(TYPE_PARAMETER_NAME) String typeId, @RequestBody List entries, @RequestParam(value = "removeCurrent", required = false, defaultValue = "false") boolean removeCurrent); @ResponseStatus(HttpStatus.NO_CONTENT) - @DeleteMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE , consumes = MediaType.APPLICATION_JSON_VALUE) + @DeleteMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) void deleteEntries(@PathVariable(TYPE_PARAMETER_NAME) String typeId, @RequestBody List entries); @ResponseStatus(HttpStatus.NO_CONTENT) - @PostMapping(value = TYPE_PATH + TYPE_PATH_VARIABLE , consumes = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = TYPE_PATH + TYPE_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) void updateTypeValue(@PathVariable(TYPE_PARAMETER_NAME) String typeId, @RequestBody Type typeValue); @@ -57,7 +55,7 @@ public interface DictionaryResource { @ResponseStatus(HttpStatus.NO_CONTENT) - @DeleteMapping(value = TYPE_PATH + TYPE_PATH_VARIABLE ) + @DeleteMapping(value = TYPE_PATH + TYPE_PATH_VARIABLE) void deleteType(@PathVariable(TYPE_PARAMETER_NAME) String typeId); @@ -68,17 +66,17 @@ public interface DictionaryResource { List getAllTypesForDossier(@PathVariable(DOSSIER_ID_PARAMETER_NAME) String dossierId); - @GetMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE , produces = MediaType.APPLICATION_JSON_VALUE) + @GetMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE) Type getDictionaryForType(@PathVariable(TYPE_PARAMETER_NAME) String typeId); - @GetMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE+ENTRIES_PATH , produces = MediaType.APPLICATION_JSON_VALUE) + @GetMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE + ENTRIES_PATH, produces = MediaType.APPLICATION_JSON_VALUE) List getEntriesForType(@PathVariable(TYPE_PARAMETER_NAME) String typeId); @GetMapping(value = VERSION_PATH + DOSSIER_TEMPLATE_PATH_VARIABLE) long getVersion(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId); - @GetMapping(value = VERSION_PATH + DOSSIER_PATH+DOSSIER_ID_PATH_VARIABLE) + @GetMapping(value = VERSION_PATH + DOSSIER_PATH + DOSSIER_ID_PATH_VARIABLE) long getVersionForDossier(@PathVariable(DOSSIER_ID_PARAMETER_NAME) String dossierId); diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DigitalSignatureResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DigitalSignatureResource.java index 984bb1c5b..dd5138e6c 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DigitalSignatureResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DigitalSignatureResource.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DigitalSignature; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.DigitalSignature; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierAttributesConfigResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierAttributesConfigResource.java index a13434731..c7b27a1f3 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierAttributesConfigResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierAttributesConfigResource.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttributeConfig; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierAttributeConfig; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierAttributesResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierAttributesResource.java index 746b115fe..9bc8cd486 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierAttributesResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierAttributesResource.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttribute; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierAttribute; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java index d2061fcd6..bac573ce7 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierTemplateResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierTemplateResource.java index cd19897d9..1377947bd 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierTemplateResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierTemplateResource.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierTemplateRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplate; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DownloadResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DownloadResource.java index 548167db4..bba222ef2 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DownloadResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DownloadResource.java @@ -1,9 +1,8 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.DownloadRequest; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.SetDownloadedRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.download.DownloadStatus; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadRequest; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadStatus; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/FileAttributesConfigResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/FileAttributesConfigResource.java index 986c7eb9e..4e8adbf92 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/FileAttributesConfigResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/FileAttributesConfigResource.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.FileAttributesGeneralConfiguration; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttributeConfig; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.FileAttributesGeneralConfiguration; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileAttributeConfig; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/FileAttributesResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/FileAttributesResource.java index 55024d98a..57d2e967b 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/FileAttributesResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/FileAttributesResource.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.ImportCsvRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ImportCsvResponse; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ImportCsvRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ImportCsvResponse; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -29,6 +29,6 @@ public interface FileAttributesResource { @PostMapping(value = REST_PATH + SET_PATH + DOSSIER_ID_PATH_PARAM + FILE_ID_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) void setFileAttributes(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @PathVariable(FILE_ID) String fileId, - @RequestBody Map fileAttributes); + @RequestBody Map fileAttributes); } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/LegalBasisMappingResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/LegalBasisMappingResource.java index 74e1729f3..7b7811efa 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/LegalBasisMappingResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/LegalBasisMappingResource.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.LegalBasis; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis.LegalBasis; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/LicenseReportResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/LicenseReportResource.java index 9bfbea81c..ee488194b 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/LicenseReportResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/LicenseReportResource.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.LicenseReport; -import com.iqser.red.service.persistence.service.v1.api.model.LicenseReportRequest; +import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReport; +import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReportRequest; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ManualRedactionResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ManualRedactionResource.java index 9baf57732..65b20c199 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ManualRedactionResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ManualRedactionResource.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.*; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.*; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.*; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/NotificationResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/NotificationResource.java index 883760d2f..23dcdb924 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/NotificationResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/NotificationResource.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AddNotificationRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.notification.Notification; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AddNotificationRequest; +import com.iqser.red.service.persistence.service.v1.api.model.notification.Notification; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ReportTemplateResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ReportTemplateResource.java index f61da3387..8b840581d 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ReportTemplateResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ReportTemplateResource.java @@ -1,8 +1,8 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.ReportTemplateDownload; -import com.iqser.red.service.persistence.service.v1.api.model.ReportTemplateUploadRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.ReportTemplate; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplate; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplateDownload; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplateUploadRequest; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/RulesResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/RulesResource.java index 799c46269..790fc80f5 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/RulesResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/RulesResource.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/SMTPConfigurationResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/SMTPConfigurationResource.java index 191e4b3f6..9839a0f59 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/SMTPConfigurationResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/SMTPConfigurationResource.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.SMTPConfiguration; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.SMTPConfiguration; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/StatusResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/StatusResource.java index 7cbfcde79..fda563f8f 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/StatusResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/StatusResource.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; @@ -26,23 +26,23 @@ public interface StatusResource { @ResponseBody @ResponseStatus(value = HttpStatus.OK) @GetMapping(value = STATUS_PATH, produces = MediaType.APPLICATION_JSON_VALUE) - List getAllStatuses(); + List getAllStatuses(); @ResponseBody @ResponseStatus(value = HttpStatus.OK) @GetMapping(value = STATUS_PATH + DOSSIER_ID_PATH_PARAM, produces = MediaType.APPLICATION_JSON_VALUE) - List getDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId); + List getDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId); @ResponseBody @ResponseStatus(value = HttpStatus.OK) @GetMapping(value = STATUS_PATH + DELETED_PATH + DOSSIER_ID_PATH_PARAM, produces = MediaType.APPLICATION_JSON_VALUE) - List getSoftDeletedDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId); + List getSoftDeletedDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId); @ResponseBody @ResponseStatus(value = HttpStatus.OK) @GetMapping(value = STATUS_PATH + DOSSIER_ID_PATH_PARAM + FILE_ID_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE) - File getFileStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @PathVariable(FILE_ID) String fileId); + FileModel getFileStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @PathVariable(FILE_ID) String fileId); @PostMapping(value = STATUS_PATH + "/reviewer" + DOSSIER_ID_PATH_PARAM + FILE_ID_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/UploadResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/UploadResource.java index d6e56173f..9653a0064 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/UploadResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/UploadResource.java @@ -1,8 +1,8 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.BinaryFileRequest; -import com.iqser.red.service.persistence.service.v1.api.model.BinaryFileResult; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.BinaryFileRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.BinaryFileResult; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; @@ -12,8 +12,6 @@ import java.util.Set; @ResponseStatus(value = HttpStatus.OK) public interface UploadResource { - String SERVICE_NAME = "file-management-service-v1"; - String REST_PATH = "/file"; String DELETE_PATH = REST_PATH + "/delete"; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ViewedPagesResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ViewedPagesResource.java index 86ff2f74f..d769cfad9 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ViewedPagesResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/ViewedPagesResource.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ViewedPage; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.ViewedPage; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/WatermarkResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/WatermarkResource.java index 383889bd8..d4cb47872 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/WatermarkResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/WatermarkResource.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.service.v1.api.resources; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Watermark; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Watermark; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; diff --git a/persistence-service-v1/persistence-service-api-v1/src/test/java/com/iqser/red/service/persistence/service/v1/api/model/IdentityTest.java b/persistence-service-v1/persistence-service-api-v1/src/test/java/com/iqser/red/service/persistence/service/v1/api/model/IdentityTest.java index 9606c4133..8a77f5461 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/test/java/com/iqser/red/service/persistence/service/v1/api/model/IdentityTest.java +++ b/persistence-service-v1/persistence-service-api-v1/src/test/java/com/iqser/red/service/persistence/service/v1/api/model/IdentityTest.java @@ -1,14 +1,13 @@ package com.iqser.red.service.persistence.service.v1.api.model; import org.junit.Test; -import org.junit.runner.RunWith; import static org.assertj.core.api.Assertions.assertThat; public class IdentityTest { @Test - public void mockTest(){ + public void mockTest() { int i = 1; assertThat(i).isEqualTo(1); } diff --git a/persistence-service-v1/persistence-service-processor-v1/pom.xml b/persistence-service-v1/persistence-service-processor-v1/pom.xml index 4a4caa1f2..3347fd5a6 100644 --- a/persistence-service-v1/persistence-service-processor-v1/pom.xml +++ b/persistence-service-v1/persistence-service-processor-v1/pom.xml @@ -1,6 +1,6 @@ - @@ -22,7 +22,12 @@ com.iqser.red.service pdftron-redaction-service-api-v1 - 2.18.0 + + + com.iqser.red.service + persistence-service-api-v1 + + org.springframework.boot @@ -90,6 +95,12 @@ log4j-slf4j-impl test + + com.google.guava + guava + 29.0-jre + compile + diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/PersistenceServiceProcessorConfiguration.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/PersistenceServiceProcessorConfiguration.java index 67c27b9f2..51de764f3 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/PersistenceServiceProcessorConfiguration.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/PersistenceServiceProcessorConfiguration.java @@ -1,13 +1,13 @@ package com.iqser.red.service.persistence.management.v1.processor; import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.CommentEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.audit.AuditEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.ColorsEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.download.DownloadStatusEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.notification.NotificationEntity; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ColorsRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.Comment; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditModel; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Colors; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.download.DownloadStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.notification.Notification; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.support.PageJacksonModule; @@ -19,7 +19,7 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories; @Configuration @ComponentScan -@EntityScan(basePackageClasses = {Comment.class, AuditModel.class, Notification.class, Colors.class, Dossier.class, DownloadStatus.class}) +@EntityScan(basePackageClasses = {CommentEntity.class, AuditEntity.class, NotificationEntity.class, ColorsEntity.class, DossierEntity.class, DownloadStatusEntity.class}) @EnableJpaRepositories(basePackageClasses = ColorsRepository.class) @EnableFeignClients(basePackageClasses = {PDFTronRedactionClient.class}) public class PersistenceServiceProcessorConfiguration { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/client/PDFTronRedactionClient.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/client/PDFTronRedactionClient.java index 554f19fe5..2c10e56c6 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/client/PDFTronRedactionClient.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/client/PDFTronRedactionClient.java @@ -3,7 +3,7 @@ package com.iqser.red.service.persistence.management.v1.processor.client; import com.iqser.red.service.pdftron.redaction.v1.api.resources.PDFTronRedactionResource; import org.springframework.cloud.openfeign.FeignClient; -@FeignClient(name = "PDFTronRedactionResource", url = "${pdftron-redaction-service.url}") +@FeignClient(name = "PDFTronRedactionClient", url = "${pdftron-redaction-service.url}") public interface PDFTronRedactionClient extends PDFTronRedactionResource { } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/AnnotationId.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/AnnotationEntityId.java similarity index 65% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/AnnotationId.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/AnnotationEntityId.java index e29dd4525..e565f13be 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/AnnotationId.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/AnnotationEntityId.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.annotations; +package com.iqser.red.service.persistence.management.v1.processor.entity.annotations; import lombok.AllArgsConstructor; import lombok.Builder; @@ -14,10 +14,10 @@ import java.io.Serializable; @Builder @NoArgsConstructor @AllArgsConstructor -public class AnnotationId implements Serializable { +public class AnnotationEntityId implements Serializable { @Column - private String id; + private String annotationId; @Column private String fileId; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/Comment.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/CommentEntity.java similarity index 71% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/Comment.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/CommentEntity.java index 349999546..3c7f1aee9 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/Comment.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/CommentEntity.java @@ -1,6 +1,6 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.annotations; +package com.iqser.red.service.persistence.management.v1.processor.entity.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,7 +15,7 @@ import java.time.OffsetDateTime; @Table(name = "comment") @AllArgsConstructor @NoArgsConstructor -public class Comment { +public class CommentEntity { @Id @GeneratedValue @@ -38,5 +38,5 @@ public class Comment { private OffsetDateTime softDeletedTime; @ManyToOne - private File fileStatus; + private FileEntity fileStatus; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/IdRemoval.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/IdRemovalEntity.java similarity index 62% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/IdRemoval.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/IdRemovalEntity.java index b5e2dcd0d..379e6bfde 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/IdRemoval.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/IdRemovalEntity.java @@ -1,6 +1,7 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.annotations; +package com.iqser.red.service.persistence.management.v1.processor.entity.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,10 +16,10 @@ import java.time.OffsetDateTime; @Builder @AllArgsConstructor @NoArgsConstructor -public class IdRemoval { +public class IdRemovalEntity { @EmbeddedId - private AnnotationId id; + private AnnotationEntityId id; @Column(name = "user_id") private String user; @Column @@ -33,6 +34,6 @@ public class IdRemoval { private OffsetDateTime softDeletedTime; @ManyToOne - private File fileStatus; + private FileEntity fileStatus; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualForceRedaction.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualForceRedactionEntity.java similarity index 61% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualForceRedaction.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualForceRedactionEntity.java index 560105f9d..0d1022c4d 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualForceRedaction.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualForceRedactionEntity.java @@ -1,6 +1,7 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.annotations; +package com.iqser.red.service.persistence.management.v1.processor.entity.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,10 +16,10 @@ import java.time.OffsetDateTime; @NoArgsConstructor @Entity @Table(name = "manual_force_redaction") -public class ManualForceRedaction { +public class ManualForceRedactionEntity { @EmbeddedId - private AnnotationId id; + private AnnotationEntityId id; @Column(name = "user_id") private String user; @Column @@ -33,6 +34,6 @@ public class ManualForceRedaction { private OffsetDateTime softDeletedTime; @ManyToOne - private File fileStatus; + private FileEntity fileStatus; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualImageRecategorization.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualImageRecategorizationEntity.java similarity index 58% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualImageRecategorization.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualImageRecategorizationEntity.java index 0232e4989..c6fdfb3e2 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualImageRecategorization.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualImageRecategorizationEntity.java @@ -1,6 +1,7 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.annotations; +package com.iqser.red.service.persistence.management.v1.processor.entity.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,16 +16,16 @@ import java.time.OffsetDateTime; @NoArgsConstructor @Entity @Table(name = "manual_image_recategorization") -public class ManualImageRecategorization { +public class ManualImageRecategorizationEntity { @EmbeddedId - private AnnotationId id; + private AnnotationEntityId id; @Column(name = "user_id") private String user; @Column private AnnotationStatus status; @Column - private String type; + private String typeId; @Column private OffsetDateTime requestDate; @Column @@ -33,5 +34,5 @@ public class ManualImageRecategorization { private OffsetDateTime softDeletedTime; @ManyToOne - private File fileStatus; + private FileEntity fileStatus; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualLegalBasisChange.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualLegalBasisChangeEntity.java similarity index 61% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualLegalBasisChange.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualLegalBasisChangeEntity.java index 4cdc88607..854d82d15 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualLegalBasisChange.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualLegalBasisChangeEntity.java @@ -1,6 +1,7 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.annotations; +package com.iqser.red.service.persistence.management.v1.processor.entity.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,10 +16,10 @@ import java.time.OffsetDateTime; @NoArgsConstructor @Entity @Table(name = "manual_legal_basis_change") -public class ManualLegalBasisChange { +public class ManualLegalBasisChangeEntity { @EmbeddedId - private AnnotationId id; + private AnnotationEntityId id; @Column(name = "user_id") private String user; @@ -34,6 +35,6 @@ public class ManualLegalBasisChange { private OffsetDateTime softDeletedTime; @ManyToOne - private File fileStatus; + private FileEntity fileStatus; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualRedactionEntry.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualRedactionEntryEntity.java similarity index 68% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualRedactionEntry.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualRedactionEntryEntity.java index 0574c0f4e..1d6d479fc 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ManualRedactionEntry.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ManualRedactionEntryEntity.java @@ -1,7 +1,7 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.annotations; - -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +package com.iqser.red.service.persistence.management.v1.processor.entity.annotations; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -18,10 +18,10 @@ import java.util.List; @AllArgsConstructor @NoArgsConstructor @Table(name = "manual_redaction") -public class ManualRedactionEntry { +public class ManualRedactionEntryEntity { @EmbeddedId - private AnnotationId id; + private AnnotationEntityId id; @Column(name = "user_id") private String user; @Column @@ -47,10 +47,10 @@ public class ManualRedactionEntry { @OneToMany(mappedBy = "manualRedaction", cascade = CascadeType.ALL, fetch = FetchType.LAZY) - private List positions = new ArrayList<>(); + private List positions = new ArrayList<>(); @ManyToOne - private File fileStatus; + private FileEntity fileStatus; } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/RectangleEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/RectangleEntity.java new file mode 100644 index 000000000..5c40efb55 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/RectangleEntity.java @@ -0,0 +1,35 @@ +package com.iqser.red.service.persistence.management.v1.processor.entity.annotations; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Entity +@Table(name = "rectangle") +public class RectangleEntity { + + @Id + @GeneratedValue + private long id; + + @Column + private float topLeftX; + @Column + private float topLeftY; + @Column + private float width; + @Column + private float height; + @Column + private int page; + + @ManyToOne(fetch = FetchType.LAZY) + private ManualRedactionEntryEntity manualRedaction; +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ViewedPage.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ViewedPageEntity.java similarity index 76% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ViewedPage.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ViewedPageEntity.java index d937e4e48..679db9730 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/annotations/ViewedPage.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/annotations/ViewedPageEntity.java @@ -1,6 +1,6 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.annotations; +package com.iqser.red.service.persistence.management.v1.processor.entity.annotations; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,7 +15,7 @@ import java.time.OffsetDateTime; @AllArgsConstructor @NoArgsConstructor @Table(name = "viewed_page") -public class ViewedPage { +public class ViewedPageEntity { @EmbeddedId private ViewedPageId id; @@ -24,7 +24,7 @@ public class ViewedPage { @ManyToOne(fetch = FetchType.LAZY) @MapsId("fileId") - private File file; + private FileEntity file; @Data @Builder diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AuditModel.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/audit/AuditEntity.java similarity index 88% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AuditModel.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/audit/AuditEntity.java index 06a89930a..f0cca830d 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/audit/AuditModel.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/audit/AuditEntity.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.audit; +package com.iqser.red.service.persistence.management.v1.processor.entity.audit; import com.iqser.red.service.persistence.service.v1.api.utils.JSONConverter; import lombok.AllArgsConstructor; @@ -17,7 +17,7 @@ import java.util.Map; @AllArgsConstructor @Entity @Table(name = "audit") -public class AuditModel { +public class AuditEntity { @Id @GeneratedValue diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/Colors.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/ColorsEntity.java similarity index 87% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/Colors.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/ColorsEntity.java index d725e2a8e..b319e38a8 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/Colors.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/ColorsEntity.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.configuration; +package com.iqser.red.service.persistence.management.v1.processor.entity.configuration; import lombok.AllArgsConstructor; import lombok.Builder; @@ -16,7 +16,7 @@ import javax.persistence.Table; @AllArgsConstructor @Entity @Table(name = "color_configuration") -public class Colors { +public class ColorsEntity { @Id @Column diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/DictionaryEntry.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/DictionaryEntryEntity.java similarity index 73% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/DictionaryEntry.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/DictionaryEntryEntity.java index 67ec9f515..d53ca6ed9 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/DictionaryEntry.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/DictionaryEntryEntity.java @@ -1,9 +1,6 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.configuration; - -import java.io.Serializable; +package com.iqser.red.service.persistence.management.v1.processor.entity.configuration; import com.fasterxml.jackson.annotation.JsonIgnore; - import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -17,7 +14,7 @@ import javax.persistence.*; @NoArgsConstructor @AllArgsConstructor @Table(name = "dictionary_entry") -public class DictionaryEntry implements Serializable { +public class DictionaryEntryEntity { @Id @GeneratedValue @@ -31,7 +28,7 @@ public class DictionaryEntry implements Serializable { @JsonIgnore @ManyToOne(fetch = FetchType.LAZY) - private Type type; + private TypeEntity type; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/DigitalSignature.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/DigitalSignatureEntity.java similarity index 79% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/DigitalSignature.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/DigitalSignatureEntity.java index 30d345924..3170b0a79 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/DigitalSignature.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/DigitalSignatureEntity.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.configuration; +package com.iqser.red.service.persistence.management.v1.processor.entity.configuration; import com.iqser.red.service.persistence.service.v1.api.utils.SuppressFBWarnings; import lombok.AllArgsConstructor; @@ -15,12 +15,12 @@ import javax.persistence.*; @AllArgsConstructor @Table(name = "digital_signature") @SuppressFBWarnings("RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE") -public class DigitalSignature { +public class DigitalSignatureEntity { public final static String ID = "CONFIG_ID"; @Id - private final String id = DigitalSignature.ID; + private final String id = DigitalSignatureEntity.ID; @Column private String location; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/FileAttributesGeneralConfiguration.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/FileAttributesGeneralConfigurationEntity.java similarity index 65% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/FileAttributesGeneralConfiguration.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/FileAttributesGeneralConfigurationEntity.java index de14ed70b..18bdbf036 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/FileAttributesGeneralConfiguration.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/FileAttributesGeneralConfigurationEntity.java @@ -1,7 +1,7 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.configuration; +package com.iqser.red.service.persistence.management.v1.processor.entity.configuration; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,7 +15,7 @@ import javax.persistence.*; @Builder @NoArgsConstructor @AllArgsConstructor -public class FileAttributesGeneralConfiguration { +public class FileAttributesGeneralConfigurationEntity { @Id @Column(name = "dossier_template_id") @@ -28,6 +28,6 @@ public class FileAttributesGeneralConfiguration { @OneToOne @JsonIgnore @MapsId("dossierTemplateId") - private DossierTemplate dossierTemplate; + private DossierTemplateEntity dossierTemplate; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/LegalBasis.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/LegalBasisEntity.java similarity index 79% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/LegalBasis.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/LegalBasisEntity.java index c0b05c07f..8b43ab5d3 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/LegalBasis.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/LegalBasisEntity.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.configuration; +package com.iqser.red.service.persistence.management.v1.processor.entity.configuration; import lombok.AllArgsConstructor; import lombok.Builder; @@ -13,7 +13,7 @@ import javax.persistence.*; @AllArgsConstructor @Builder @Table(name = "legal_basis") -public class LegalBasis { +public class LegalBasisEntity { @Id @GeneratedValue diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/LegalBasisMappingEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/LegalBasisMappingEntity.java new file mode 100644 index 000000000..3e3ae43b5 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/LegalBasisMappingEntity.java @@ -0,0 +1,24 @@ +package com.iqser.red.service.persistence.management.v1.processor.entity.configuration; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.*; +import java.util.ArrayList; +import java.util.List; + +@Data +@NoArgsConstructor +@Entity +@Table(name = "legal_basis_mapping") +public class LegalBasisMappingEntity { + + @Id + private String dossierTemplateId; + @Column + private long version; + + @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) + private List legalBasis = new ArrayList<>(); + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/RuleSet.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/RuleSetEntity.java similarity index 65% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/RuleSet.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/RuleSetEntity.java index da2b5862a..0a7fe668c 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/RuleSet.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/RuleSetEntity.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.configuration; +package com.iqser.red.service.persistence.management.v1.processor.entity.configuration; import lombok.AllArgsConstructor; import lombok.Data; @@ -11,7 +11,7 @@ import javax.persistence.*; @AllArgsConstructor @Entity @Table(name = "rule_set") -public class RuleSet { +public class RuleSetEntity { @Id @Column @@ -21,6 +21,6 @@ public class RuleSet { private long version; @Lob - @Column(name = "value", columnDefinition="TEXT") + @Column(name = "value", columnDefinition = "TEXT") private String value; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/SMTPConfiguration.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/SMTPConfigurationEntity.java similarity index 83% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/SMTPConfiguration.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/SMTPConfigurationEntity.java index 5f90121ae..77efb86f4 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/SMTPConfiguration.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/SMTPConfigurationEntity.java @@ -1,7 +1,6 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.configuration; +package com.iqser.red.service.persistence.management.v1.processor.entity.configuration; import com.iqser.red.service.persistence.service.v1.api.utils.SuppressFBWarnings; - import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -19,12 +18,12 @@ import javax.persistence.Table; @NoArgsConstructor @Table(name = "smtp_configuration") @SuppressFBWarnings("RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE") -public class SMTPConfiguration { +public class SMTPConfigurationEntity { public final static String ID = "CONFIG_ID"; @Id - private final String id = SMTPConfiguration.ID; + private final String id = SMTPConfigurationEntity.ID; @Column(name = "from_email") private String from; @@ -48,7 +47,7 @@ public class SMTPConfiguration { // if AUTH is true, following must also be set @Column private boolean auth; - @Column(name="username") + @Column(name = "username") private String user; @Column private String password; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/Type.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/TypeEntity.java similarity index 73% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/Type.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/TypeEntity.java index e036146f8..3bb21160f 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/Type.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/TypeEntity.java @@ -1,9 +1,8 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.configuration; +package com.iqser.red.service.persistence.management.v1.processor.entity.configuration; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; - +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -21,7 +20,7 @@ import static javax.persistence.CascadeType.ALL; @NoArgsConstructor @AllArgsConstructor @Table(name = "type") -public class Type { +public class TypeEntity { @Id private String id; @@ -47,12 +46,12 @@ public class Type { private boolean addToDictionaryAction; @OneToMany(cascade = ALL, mappedBy = "type", orphanRemoval = true, fetch = FetchType.LAZY) - private List entries = new ArrayList<>(); + private List entries = new ArrayList<>(); @ManyToOne @JsonIgnore @JoinColumn(name = "dossier_template_id") - private DossierTemplate dossierTemplate; + private DossierTemplateEntity dossierTemplate; @Column(updatable = false, insertable = false, name = "dossier_template_id") private String dossierTemplateId; @@ -60,7 +59,7 @@ public class Type { @ManyToOne @JsonIgnore @JoinColumn(name = "dossier_id") - private Dossier dossier; + private DossierEntity dossier; @Column(updatable = false, insertable = false, name = "dossier_id") private String dossierId; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/Watermark.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/WatermarkEntity.java similarity index 62% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/Watermark.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/WatermarkEntity.java index 7552afa66..c8fe951ed 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/configuration/Watermark.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/configuration/WatermarkEntity.java @@ -1,7 +1,8 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.configuration; +package com.iqser.red.service.persistence.management.v1.processor.entity.configuration; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.WatermarkOrientation; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -15,12 +16,12 @@ import javax.persistence.*; @Table(name = "watermark_configuration") @NoArgsConstructor @AllArgsConstructor -public class Watermark { +public class WatermarkEntity { @Id @Column private String dossierTemplateId; - @Column + @Column(columnDefinition = "text") private String text; @Column private String hexColor; @@ -36,10 +37,7 @@ public class Watermark { @JsonIgnore @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "dossier_template_id") - private DossierTemplate dossierTemplate; + private DossierTemplateEntity dossierTemplate; - public enum WatermarkOrientation { - VERTICAL, HORIZONTAL, DIAGONAL - } } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierAttributeConfig.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierAttributeConfigEntity.java similarity index 63% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierAttributeConfig.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierAttributeConfigEntity.java index 845c16f4c..b3d818cda 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierAttributeConfig.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierAttributeConfigEntity.java @@ -1,5 +1,6 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.management.v1.processor.entity.dossier; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierAttributeType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -14,7 +15,7 @@ import javax.persistence.*; @NoArgsConstructor @AllArgsConstructor @Table(name = "dossier_attribute_config") -public class DossierAttributeConfig { +public class DossierAttributeConfigEntity { @Id private String id; @@ -30,12 +31,7 @@ public class DossierAttributeConfig { @ManyToOne - private DossierTemplate dossierTemplate; - - - public enum DossierAttributeType { - TEXT, NUMBER, DATE, IMAGE - } + private DossierTemplateEntity dossierTemplate; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierAttribute.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierAttributeEntity.java similarity index 70% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierAttribute.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierAttributeEntity.java index e8f8fd0ea..15e1359bd 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierAttribute.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierAttributeEntity.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.management.v1.processor.entity.dossier; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.AllArgsConstructor; @@ -16,10 +16,10 @@ import java.io.Serializable; @AllArgsConstructor @NoArgsConstructor @Builder -public class DossierAttribute { +public class DossierAttributeEntity { @EmbeddedId - private DossierAttributeId id; + private DossierAttributeEntityId id; @Column private String value; @@ -27,18 +27,18 @@ public class DossierAttribute { @JsonIgnore @ManyToOne(fetch = FetchType.LAZY) @MapsId("dossierId") - private Dossier dossier; + private DossierEntity dossier; @JsonIgnore @ManyToOne(fetch = FetchType.LAZY) @MapsId("dossierAttributeConfigId") - private DossierAttributeConfig dossierAttributeConfig; + private DossierAttributeConfigEntity dossierAttributeConfig; @Data @NoArgsConstructor @AllArgsConstructor @Embeddable - public static class DossierAttributeId implements Serializable { + public static class DossierAttributeEntityId implements Serializable { @Column(name = "dossier_id") private String dossierId; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/Dossier.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierEntity.java similarity index 68% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/Dossier.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierEntity.java index ab71fe5e2..ecb1273eb 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/Dossier.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierEntity.java @@ -1,6 +1,9 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.management.v1.processor.entity.dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.TypeEntity; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -19,7 +22,7 @@ import java.util.Set; @NoArgsConstructor @AllArgsConstructor @Table(name = "dossier") -public class Dossier { +public class DossierEntity { @Id private String id; @@ -66,22 +69,23 @@ public class Dossier { @Column private OffsetDateTime dueDate; + @JsonIgnore @ManyToOne(fetch = FetchType.LAZY) - private DossierTemplate dossierTemplate; + private DossierTemplateEntity dossierTemplate; @Column(updatable = false, insertable = false, name = "dossier_template_id") private String dossierTemplateId; @Builder.Default @ManyToMany(fetch = FetchType.LAZY, mappedBy = "dossiers") - private List reportTemplates = new ArrayList<>(); + private List reportTemplates = new ArrayList<>(); @Builder.Default @OneToMany(cascade = CascadeType.ALL, mappedBy = "dossier") - private List dossierTypes = new ArrayList<>(); + private List dossierTypes = new ArrayList<>(); @Builder.Default @OneToMany(cascade = CascadeType.ALL, mappedBy = "dossier") - private List dossierAttributes = new ArrayList<>(); + private List dossierAttributes = new ArrayList<>(); } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierTemplate.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierTemplateEntity.java similarity index 66% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierTemplate.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierTemplateEntity.java index b5267391a..6f3e6c5b6 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/DossierTemplate.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierTemplateEntity.java @@ -1,8 +1,8 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.management.v1.processor.entity.dossier; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type; - +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.TypeEntity; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -22,7 +22,7 @@ import java.util.Set; @AllArgsConstructor @NoArgsConstructor @Table(name = "dossier_template") -public class DossierTemplate { +public class DossierTemplateEntity { @Id private String id; @@ -59,17 +59,17 @@ public class DossierTemplate { @JsonIgnore @OneToMany(mappedBy = "dossierTemplate") - private List reportTemplates = new ArrayList<>(); + private List reportTemplates = new ArrayList<>(); @JsonIgnore @OneToMany(mappedBy = "dossierTemplate") - private List dossierTypes = new ArrayList<>(); + private List dossierTypes = new ArrayList<>(); @JsonIgnore @OneToMany(mappedBy = "dossierTemplate") - private List dossiers = new ArrayList<>(); + private List dossiers = new ArrayList<>(); @JsonIgnore @OneToMany(mappedBy = "dossierTemplate") - private List fileAttributeConfigs = new ArrayList<>(); + private List fileAttributeConfigs = new ArrayList<>(); } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/FileAttributeConfig.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileAttributeConfigEntity.java similarity index 72% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/FileAttributeConfig.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileAttributeConfigEntity.java index a9a98a025..5b2b318f4 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/FileAttributeConfig.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileAttributeConfigEntity.java @@ -1,6 +1,7 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.management.v1.processor.entity.dossier; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileAttributeType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -14,7 +15,7 @@ import javax.persistence.*; @AllArgsConstructor @Builder @Table(name = "file_attribute_config") -public class FileAttributeConfig { +public class FileAttributeConfigEntity { @Id private String id; @@ -37,12 +38,7 @@ public class FileAttributeConfig { @ManyToOne @JsonIgnore - private DossierTemplate dossierTemplate; - - - public enum FileAttributeType { - TEXT, NUMBER, DATE - } + private DossierTemplateEntity dossierTemplate; } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/FileAttribute.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileAttributeEntity.java similarity index 64% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/FileAttribute.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileAttributeEntity.java index f716bf4d0..bc09712d3 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/FileAttribute.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileAttributeEntity.java @@ -1,4 +1,4 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.management.v1.processor.entity.dossier; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; @@ -9,10 +9,10 @@ import java.io.Serializable; @Data @Entity @Table(name = "file_attribute") -public class FileAttribute { +public class FileAttributeEntity { @EmbeddedId - private FileAttributeId fileAttributeId; + private FileAttributeEntityId fileAttributeId; @Column private String value; @@ -20,17 +20,17 @@ public class FileAttribute { @JsonIgnore @ManyToOne(fetch = FetchType.LAZY) @MapsId("fileId") - private File file; + private FileEntity file; @JsonIgnore @ManyToOne(fetch = FetchType.LAZY) @MapsId("fileAttributeConfigId") - private FileAttributeConfig fileAttributeConfig; + private FileAttributeConfigEntity fileAttributeConfig; @Data @Embeddable - public static class FileAttributeId implements Serializable { + public static class FileAttributeEntityId implements Serializable { @Column(name = "file_id") private String fileId; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/File.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileEntity.java similarity index 86% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/File.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileEntity.java index d708467c6..653613fe5 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/File.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/FileEntity.java @@ -1,7 +1,7 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.management.v1.processor.entity.dossier; import com.fasterxml.jackson.annotation.JsonIgnore; - +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -20,7 +20,7 @@ import java.util.Set; @NoArgsConstructor @Entity @Table(name = "file") -public class File { +public class FileEntity { @Id private String id; @@ -121,16 +121,15 @@ public class File { @Column private int analysisVersion; - @ElementCollection + @ElementCollection(fetch = FetchType.EAGER) private Set excludedPages = new HashSet<>(); @OneToMany(mappedBy = "file", fetch = FetchType.EAGER, cascade = CascadeType.ALL) - private List fileAttributes = new ArrayList<>(); + private List fileAttributes = new ArrayList<>(); @JsonIgnore @ManyToOne - private Dossier dossier; - + private DossierEntity dossier; @Column(updatable = false, insertable = false, name = "dossier_id") private String dossierId; diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/ReportTemplate.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/ReportTemplateEntity.java similarity index 71% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/ReportTemplate.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/ReportTemplateEntity.java index 0b96db4c4..c8536fd6a 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/ReportTemplate.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/ReportTemplateEntity.java @@ -1,7 +1,6 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.dossier; +package com.iqser.red.service.persistence.management.v1.processor.entity.dossier; import com.fasterxml.jackson.annotation.JsonIgnore; - import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -18,7 +17,7 @@ import java.util.List; @NoArgsConstructor @Entity @Table(name = "report_template") -public class ReportTemplate { +public class ReportTemplateEntity { @Id private String templateId; @@ -36,13 +35,13 @@ public class ReportTemplate { @JsonIgnore @ManyToOne(fetch = FetchType.LAZY) - private DossierTemplate dossierTemplate; + private DossierTemplateEntity dossierTemplate; - @Column(updatable = false,insertable = false,name = "dossier_template_id") + @Column(updatable = false, insertable = false, name = "dossier_template_id") private String dossierTemplateId; @ManyToMany @JsonIgnore - private List dossiers = new ArrayList<>(); + private List dossiers = new ArrayList<>(); } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/download/DownloadStatus.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/download/DownloadStatusEntity.java similarity index 58% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/download/DownloadStatus.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/download/DownloadStatusEntity.java index cb38aefd5..96a64374d 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/download/DownloadStatus.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/download/DownloadStatusEntity.java @@ -1,9 +1,9 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.download; - -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DownloadFileType; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +package com.iqser.red.service.persistence.management.v1.processor.entity.download; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadStatusValue; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -20,7 +20,7 @@ import java.util.List; @AllArgsConstructor @NoArgsConstructor @Table(name = "download_status") -public class DownloadStatus { +public class DownloadStatusEntity { @Id private String storageId; @@ -40,17 +40,13 @@ public class DownloadStatus { private long fileSize; @ManyToOne - private Dossier dossier; + private DossierEntity dossier; @ManyToMany - private List files = new ArrayList<>(); + private List files = new ArrayList<>(); @ElementCollection private List downloadFileTypes = new ArrayList<>(); - public enum DownloadStatusValue { - QUEUED, GENERATING, READY, FAILED - } - } diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/notification/Notification.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/notification/NotificationEntity.java similarity index 89% rename from persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/notification/Notification.java rename to persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/notification/NotificationEntity.java index c9d5e98d3..386a15df1 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/notification/Notification.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/notification/NotificationEntity.java @@ -1,7 +1,6 @@ -package com.iqser.red.service.persistence.service.v1.api.model.data.notification; +package com.iqser.red.service.persistence.management.v1.processor.entity.notification; import com.iqser.red.service.persistence.service.v1.api.utils.JSONConverter; - import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -18,7 +17,7 @@ import java.util.Map; @NoArgsConstructor @Entity @Table(name = "notification") -public class Notification { +public class NotificationEntity { @Id @GeneratedValue diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ColorsService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ColorsService.java index 61b6885cb..17db7ff1e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ColorsService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/ColorsService.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.management.v1.processor.service; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Colors; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.ColorsEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ColorsRepository; import lombok.RequiredArgsConstructor; @@ -19,11 +19,11 @@ public class ColorsService { colorsRepository.deleteById(dossierTemplateId); } - public Colors getColors(String dossierTemplateId) { + public ColorsEntity getColors(String dossierTemplateId) { return colorsRepository.findById(dossierTemplateId).orElseThrow(() -> new NotFoundException("Colors Configuration not found")); } - public Colors saveColors(Colors colors) { + public ColorsEntity saveColors(ColorsEntity colors) { return colorsRepository.save(colors); } } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureService.java index 6a61c8e1c..0263da393 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureService.java @@ -1,10 +1,11 @@ package com.iqser.red.service.persistence.management.v1.processor.service; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DigitalSignature; import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.DigitalSignatureEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DigitalSignatureRepository; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.DigitalSignature; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -12,6 +13,9 @@ import org.springframework.stereotype.Service; import javax.transaction.Transactional; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + + @Slf4j @Service @RequiredArgsConstructor @@ -22,12 +26,12 @@ public class DigitalSignatureService { private final PDFTronRedactionClient pdfTronRedactionClient; public void deleteDigitalSignature() { - digitalSignatureRepository.deleteById(DigitalSignature.ID); + digitalSignatureRepository.deleteById(DigitalSignatureEntity.ID); } - public DigitalSignature getDigitalSignature() { - return digitalSignatureRepository.findById(DigitalSignature.ID).map(digitalSignature -> { - DigitalSignature result = new DigitalSignature(); + public DigitalSignatureEntity getDigitalSignature() { + return digitalSignatureRepository.findById(DigitalSignatureEntity.ID).map(digitalSignature -> { + DigitalSignatureEntity result = new DigitalSignatureEntity(); BeanUtils.copyProperties(digitalSignature, result); result.setPrivateKey(encryptionDecryptionService.decrypt(digitalSignature.getPrivateKey())); result.setPassword(encryptionDecryptionService.decrypt(digitalSignature.getPassword())); @@ -35,14 +39,13 @@ public class DigitalSignatureService { }).orElseThrow(() -> new NotFoundException("Digital Signature Not found")); } - public DigitalSignature saveDigitalSignature(DigitalSignature digitalSignature) { + public DigitalSignatureEntity saveDigitalSignature(DigitalSignatureEntity digitalSignature) { -// try { - // TODO - // pdfTronRedactionClient.testDigitalCurrentSignature(digitalSignature); -// } catch (Exception e) { -// throw new BadRequestException("Failed to test digital signature"); -// } + try { + pdfTronRedactionClient.testDigitalCurrentSignature(convert(digitalSignature, DigitalSignature.class)); + } catch (Exception e) { + throw new BadRequestException("Failed to test digital signature"); + } digitalSignature.setPrivateKey(encryptionDecryptionService.encrypt(digitalSignature.getPrivateKey())); digitalSignature.setPassword(encryptionDecryptionService.encrypt(digitalSignature.getPassword())); @@ -51,9 +54,9 @@ public class DigitalSignatureService { } @Transactional - public void updateDigitalSignature(DigitalSignature digitalSignatureModel) { + public void updateDigitalSignature(DigitalSignatureEntity digitalSignatureModel) { - digitalSignatureRepository.findById(DigitalSignature.ID).ifPresentOrElse(digitalSignature -> { + digitalSignatureRepository.findById(DigitalSignatureEntity.ID).ifPresentOrElse(digitalSignature -> { digitalSignature.setCertificateName(digitalSignatureModel.getCertificateName()); digitalSignature.setLocation(digitalSignatureModel.getLocation()); digitalSignature.setContactInfo(digitalSignatureModel.getContactInfo()); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EmailService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EmailService.java index ff093c1c6..f724c909b 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EmailService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EmailService.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.SMTPConfiguration; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.SMTPConfiguration; import lombok.extern.slf4j.Slf4j; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSenderImpl; diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EncryptionDecryptionService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EncryptionDecryptionService.java index e6915cbf2..be071f77f 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EncryptionDecryptionService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EncryptionDecryptionService.java @@ -37,14 +37,14 @@ public class EncryptionDecryptionService { } @SneakyThrows - public byte[] encrypt(byte[] bytes){ + public byte[] encrypt(byte[] bytes) { Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, secretKey); return cipher.doFinal(bytes); } @SneakyThrows - public byte[] decrypt(byte[] bytes){ + public byte[] decrypt(byte[] bytes) { Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, secretKey); return cipher.doFinal(bytes); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/WatermarkService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/WatermarkService.java index d09312f49..b4f32a60f 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/WatermarkService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/WatermarkService.java @@ -1,8 +1,8 @@ package com.iqser.red.service.persistence.management.v1.processor.service; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.WatermarkEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.WatermarkRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Watermark; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -23,12 +23,12 @@ public class WatermarkService { watermarkRepository.deleteById(dossierTemplateId); } - public Watermark getWatermark(String dossierTemplateId) { + public WatermarkEntity getWatermark(String dossierTemplateId) { return watermarkRepository.findById(dossierTemplateId).orElseThrow(() -> new NotFoundException("Watermark Configuration not found")); } @Transactional - public Watermark saveWatermark(String dossierTemplateId, Watermark watermark) { + public WatermarkEntity saveWatermark(String dossierTemplateId, WatermarkEntity watermark) { watermarkRepository.findById(dossierTemplateId).ifPresentOrElse( loadedWatermark -> BeanUtils.copyProperties(watermark, loadedWatermark, "dossierTemplateId") diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AddRedactionPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AddRedactionPersistenceService.java index afe0a16e6..5b45bcb0f 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AddRedactionPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AddRedactionPersistenceService.java @@ -1,17 +1,21 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualRedactionEntryEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.RectangleEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ManualRedactionRepository; -import com.iqser.red.service.persistence.service.v1.api.model.AddRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationId; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualRedactionEntry; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AddRedactionRequest; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.Rectangle; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.transaction.Transactional; import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -25,28 +29,39 @@ public class AddRedactionPersistenceService { public void insert(String fileId, String annotationId, AddRedactionRequest addRedactionRequest) { - ManualRedactionEntry manualRedactionEntry = new ManualRedactionEntry(); - manualRedactionEntry.setId(new AnnotationId(annotationId, fileId)); + ManualRedactionEntryEntity manualRedactionEntry = new ManualRedactionEntryEntity(); + manualRedactionEntry.setId(new AnnotationEntityId(annotationId, fileId)); BeanUtils.copyProperties(addRedactionRequest, manualRedactionEntry); manualRedactionEntry.setRequestDate(OffsetDateTime.now()); - manualRedactionEntry.setPositions(addRedactionRequest.getPositions()); - manualRedactionEntry.setTypeId(addRedactionRequest.getType()); + manualRedactionEntry.setPositions(convert(addRedactionRequest.getPositions())); + manualRedactionEntry.setTypeId(addRedactionRequest.getTypeId()); manualRedactionRepository.save(manualRedactionEntry); } + private List convert(List positions) { - public ManualRedactionEntry findAddRedaction(String fileId, String annotationId) { + List rectangleEntities = new ArrayList<>(); + positions.forEach(p -> { + RectangleEntity re = new RectangleEntity(); + BeanUtils.copyProperties(p, re); + rectangleEntities.add(re); + }); + return rectangleEntities; + } - return manualRedactionRepository.findById(new AnnotationId(annotationId, fileId)) + + public ManualRedactionEntryEntity findAddRedaction(String fileId, String annotationId) { + + return manualRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)) .filter(mre -> mre.getSoftDeletedTime() == null) .orElseThrow(() -> new NotFoundException("Unknown file/annotation combination: " + fileId + "/" + annotationId)); } - public Set findAddRedactions(String fileId, boolean includeDeletions) { + public Set findAddRedactions(String fileId, boolean includeDeletions) { return manualRedactionRepository.findByIdFileId(fileId).stream().filter(mre -> includeDeletions || mre.getSoftDeletedTime() == null).collect(Collectors.toSet()); @@ -55,25 +70,25 @@ public class AddRedactionPersistenceService { @Transactional public void hardDelete(String fileId, String annotationId) { - manualRedactionRepository.deleteById(new AnnotationId(annotationId, fileId)); + manualRedactionRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); } @Transactional public void softDelete(String fileId, String annotationId, OffsetDateTime softDeleteTime) { - manualRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(softDeleteTime)); + manualRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(softDeleteTime)); } @Transactional public void undelete(String fileId, String annotationId) { - manualRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(null)); + manualRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(null)); } @Transactional public void updateStatus(String fileId, String annotationId, AnnotationStatus annotationStatus) { - manualRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> { + manualRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> { mre.setProcessedDate(OffsetDateTime.now()); mre.setStatus(annotationStatus); }); @@ -84,7 +99,7 @@ public class AddRedactionPersistenceService { @Transactional public void updateStatus(String fileId, String annotationId, AnnotationStatus annotationStatus, boolean isAddOrRemoveFromDictionary) { - manualRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> { + manualRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> { mre.setProcessedDate(OffsetDateTime.now()); mre.setStatus(annotationStatus); mre.setAddToDictionary(isAddOrRemoveFromDictionary); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AuditPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AuditPersistenceService.java index 4dff70b0c..dc6422875 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AuditPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AuditPersistenceService.java @@ -1,10 +1,10 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.audit.AuditEntity; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.AuditRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditModel; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditSearchRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.CategoryModel; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditRequest; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditSearchRequest; +import com.iqser.red.service.persistence.service.v1.api.model.audit.CategoryModel; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import org.springframework.beans.BeanUtils; @@ -32,7 +32,7 @@ public class AuditPersistenceService { public void insertRecord(AuditRequest auditRequest) { - var auditModel = new AuditModel(); + var auditModel = new AuditEntity(); BeanUtils.copyProperties(auditRequest, auditModel); auditModel.setRecordDate(OffsetDateTime.now()); @@ -45,10 +45,10 @@ public class AuditPersistenceService { } - public Page search(AuditSearchRequest auditRequest) { + public Page search(AuditSearchRequest auditRequest) { - AuditModel example = new AuditModel(); + AuditEntity example = new AuditEntity(); example.setCategory(auditRequest.getCategory()); example.setUserId(auditRequest.getUserId()); example.setObjectId(auditRequest.getObjectId()); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/CommentPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/CommentPersistenceService.java index f9ac27f52..1a9e92cc7 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/CommentPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/CommentPersistenceService.java @@ -1,8 +1,8 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.CommentEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.CommentRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.Comment; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -20,27 +20,27 @@ public class CommentPersistenceService { private final CommentRepository commentRepository; - public Comment insert(Comment comment) { + public CommentEntity insert(CommentEntity comment) { return commentRepository.save(comment); } - public Comment findComment(long commentId) { + public CommentEntity findComment(long commentId) { return commentRepository.findById(commentId).orElseThrow(() -> new NotFoundException("Comment with id: " + commentId + " not found")); } - public List findCommentsByAnnotationId(String fileId, String annotationId, boolean includeDeletions) { + public List findCommentsByAnnotationId(String fileId, String annotationId, boolean includeDeletions) { return commentRepository.findByFileIdAndAnnotationId(fileId, annotationId).stream().filter(mre -> includeDeletions || mre.getSoftDeletedTime() == null).collect(Collectors.toList()); } - public Map> findCommentsByFileID(String fileId, boolean includeDeletions) { - List comments = commentRepository.findByFileId(fileId).stream().filter(mre -> includeDeletions || mre.getSoftDeletedTime() == null).collect(Collectors.toList()); + public Map> findCommentsByFileID(String fileId, boolean includeDeletions) { + List comments = commentRepository.findByFileId(fileId).stream().filter(mre -> includeDeletions || mre.getSoftDeletedTime() == null).collect(Collectors.toList()); - return comments.stream().collect(Collectors.groupingBy(Comment::getAnnotationId)); + return comments.stream().collect(Collectors.groupingBy(CommentEntity::getAnnotationId)); } public boolean fileHasComments(String fileId) { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java index 4156b34c0..431195ae2 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java @@ -1,11 +1,11 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.TypeEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.TypeRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; import javax.transaction.Transactional; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; @Service @@ -26,13 +27,13 @@ public class DictionaryPersistenceService { private final DossierRepository dossierRepository; - public Type addType(String type, String dossierTemplateId, String hexColor, int rank, boolean isHint, - boolean caseInsensitive, boolean isRecommendation, String description, - boolean addToDictionaryAction, String label, String dossierId) { + public TypeEntity addType(String type, String dossierTemplateId, String hexColor, int rank, boolean isHint, + boolean caseInsensitive, boolean isRecommendation, String description, + boolean addToDictionaryAction, String label, String dossierId) { checkRankAlreadyExists(type, dossierTemplateId, rank, dossierId); - Type t = new Type(); + TypeEntity t = new TypeEntity(); t.setId(type + ":" + getTypeIdSuffix(dossierTemplateId, dossierId)); t.setType(type); t.setDossier(dossierId == null ? null : dossierRepository.getOne(dossierId)); @@ -59,7 +60,7 @@ public class DictionaryPersistenceService { } @Transactional - public void updateType(String typeId, Type typeValueRequest) { + public void updateType(String typeId, TypeEntity typeValueRequest) { typeRepository.findById(typeId).ifPresent((type) -> { type.setVersion(type.getVersion() + 1); @@ -69,7 +70,7 @@ public class DictionaryPersistenceService { } - public Optional getTypeForRank(String dossierTemplateId, int rank, String dossierId) { + public Optional getTypeForRank(String dossierTemplateId, int rank, String dossierId) { return typeRepository.findOneByDossierTemplateAndDossierAndRank( dossierTemplateRepository.getOne(dossierTemplateId), dossierId == null ? null : dossierRepository.getOne(dossierId), rank); @@ -77,7 +78,7 @@ public class DictionaryPersistenceService { } - public List getCumulatedTypes(String dossierTemplateId, String dossierId) { + public List getCumulatedTypes(String dossierTemplateId, String dossierId) { var templateTypes = getAllTypesForDossierTemplate(dossierTemplateId); templateTypes.addAll(getAllTypesForDossier(dossierId)); @@ -85,12 +86,11 @@ public class DictionaryPersistenceService { } - public List getAllTypesForDossierTemplate(String dossierTemplateId) { - - return typeRepository.findByDossierTemplateId(dossierTemplateId); + public List getAllTypesForDossierTemplate(String dossierTemplateId) { + return typeRepository.findByDossierTemplateId(dossierTemplateId).stream().filter( d -> d.getDossierId() == null).collect(Collectors.toList()); } - public List getAllTypesForDossier(String dossierId) { + public List getAllTypesForDossier(String dossierId) { return typeRepository.findByDossierId(dossierId); } @@ -101,14 +101,14 @@ public class DictionaryPersistenceService { } - public Type getType(String typeId) { + public TypeEntity getType(String typeId) { return typeRepository.findById(typeId).orElseThrow(() -> new NotFoundException("Type: " + typeId + " not found")); } private void checkRankAlreadyExists(String type, String dossierTemplateId, int rank, String dossierId) { - Optional existingTypeValueForRank = getTypeForRank(dossierTemplateId, rank, dossierId); + Optional existingTypeValueForRank = getTypeForRank(dossierTemplateId, rank, dossierId); // not the current type - which we are about to upsert -> throw exception if (existingTypeValueForRank.isPresent() && !existingTypeValueForRank.get().getType().equalsIgnoreCase(type)) { throw new BadRequestException("Rank already exists: " + rank + " on type: " + existingTypeValueForRank.get() diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributeConfigPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributeConfigPersistenceService.java index 21fb9c066..7a8e94927 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributeConfigPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributeConfigPersistenceService.java @@ -1,11 +1,10 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeConfigEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeConfigRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttributeConfig; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttributeConfig; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.text.WordUtils; @@ -23,7 +22,7 @@ public class DossierAttributeConfigPersistenceService { private final DossierAttributeRepository dossierAttributeRepository; private final DossierTemplateRepository dossierTemplateRepository; - public DossierAttributeConfig addOrUpdateDossierAttribute(String dossierTemplateId, DossierAttributeConfig dossierAttributeConfig) { + public DossierAttributeConfigEntity addOrUpdateDossierAttribute(String dossierTemplateId, DossierAttributeConfigEntity dossierAttributeConfig) { var dossierTemplate = dossierTemplateRepository.getOne(dossierTemplateId); dossierAttributeConfig.setDossierTemplate(dossierTemplate); if (dossierAttributeConfig.getId() == null) { @@ -33,7 +32,7 @@ public class DossierAttributeConfigPersistenceService { return dossierAttributeConfigRepository.save(dossierAttributeConfig); } else { - Optional optionalConfig = dossierAttributeConfigRepository.findById(dossierAttributeConfig.getId()); + Optional optionalConfig = dossierAttributeConfigRepository.findById(dossierAttributeConfig.getId()); if (optionalConfig.isPresent()) { var config = optionalConfig.get(); @@ -54,12 +53,12 @@ public class DossierAttributeConfigPersistenceService { } @Transactional - public List setDossierAttributesConfig(String dossierTemplateId, List dossierAttributesConfig) { + public List setDossierAttributesConfig(String dossierTemplateId, List dossierAttributesConfig) { - Set toSetIds = dossierAttributesConfig.stream().map(DossierAttributeConfig::getId).filter(Objects::nonNull).collect(Collectors.toSet()); + Set toSetIds = dossierAttributesConfig.stream().map(DossierAttributeConfigEntity::getId).filter(Objects::nonNull).collect(Collectors.toSet()); var currentConfigs = dossierAttributeConfigRepository.findAllByDossierTemplateId(dossierTemplateId); - Set configsToRemove = currentConfigs.stream().filter(c -> !toSetIds.contains(c.getId())).collect(Collectors.toSet()); + Set configsToRemove = currentConfigs.stream().filter(c -> !toSetIds.contains(c.getId())).collect(Collectors.toSet()); dossierAttributesConfig.forEach(fac -> addOrUpdateDossierAttribute(dossierTemplateId, fac)); @@ -84,18 +83,18 @@ public class DossierAttributeConfigPersistenceService { dossierAttributeIds.forEach(dossierAttributeConfigRepository::deleteById); } - public List getDossierAttributes(String dossierTemplateId) { + public List getDossierAttributes(String dossierTemplateId) { return dossierAttributeConfigRepository.findAllByDossierTemplateId(dossierTemplateId); } - private void setPlaceholder(DossierAttributeConfig dossierAttributeConfig) { + private void setPlaceholder(DossierAttributeConfigEntity dossierAttributeConfig) { if (dossierAttributeConfig.getPlaceholder() == null || dossierAttributeConfig.getPlaceholder().isEmpty()) { String placeholder = "{{dossier.attribute." + StringUtils.remove(WordUtils.capitalizeFully(dossierAttributeConfig.getLabel(), ' '), " ") + "}}"; dossierAttributeConfig.setPlaceholder(placeholder); } } - private void uniqueLabelAndPlaceholder(DossierAttributeConfig dossierAttributesConfig) { + private void uniqueLabelAndPlaceholder(DossierAttributeConfigEntity dossierAttributesConfig) { getDossierAttributes(dossierAttributesConfig.getDossierTemplate().getId()).stream().filter( d -> !d.getId().equals(dossierAttributesConfig.getId())).forEach(other -> { if (other.getLabel().equalsIgnoreCase(dossierAttributesConfig.getLabel())) { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributePersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributePersistenceService.java index 07aa6ebe1..6242791fc 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributePersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierAttributePersistenceService.java @@ -1,10 +1,10 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeConfigRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttribute; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -23,8 +23,8 @@ public class DossierAttributePersistenceService { @Transactional public void insertDossierAttribute(String dossierId, String dossierAttributeId, String dossierAttributeValue) { - DossierAttribute dossierAttribute = new DossierAttribute(); - dossierAttribute.setId(new DossierAttribute.DossierAttributeId(null, null)); + DossierAttributeEntity dossierAttribute = new DossierAttributeEntity(); + dossierAttribute.setId(new DossierAttributeEntity.DossierAttributeEntityId(null, null)); dossierAttribute.setValue(dossierAttributeValue); dossierAttribute.setDossier(dossierRepository.getOne(dossierId)); dossierAttribute.setDossierAttributeConfig(dossierAttributeConfigRepository.getOne(dossierAttributeId)); @@ -34,7 +34,7 @@ public class DossierAttributePersistenceService { @Transactional public void updateDossierAttribute(String dossierId, String dossierAttributeId, String dossierAttributeValue) { - dossierAttributeRepository.findById(new DossierAttribute.DossierAttributeId(dossierId, dossierAttributeId)).ifPresent(dossierAttribute -> dossierAttribute.setValue(dossierAttributeValue)); + dossierAttributeRepository.findById(new DossierAttributeEntity.DossierAttributeEntityId(dossierId, dossierAttributeId)).ifPresent(dossierAttribute -> dossierAttribute.setValue(dossierAttributeValue)); } @@ -45,15 +45,15 @@ public class DossierAttributePersistenceService { @Transactional public void deleteDossierAttribute(String dossierId, String dossierAttributeId) { - dossierAttributeRepository.deleteById(new DossierAttribute.DossierAttributeId(dossierId, dossierAttributeId)); + dossierAttributeRepository.deleteById(new DossierAttributeEntity.DossierAttributeEntityId(dossierId, dossierAttributeId)); } - public List getDossierAttributes(String dossierId) { + public List getDossierAttributes(String dossierId) { return dossierAttributeRepository.findByIdDossierId(dossierId); } - public DossierAttribute findOne(String dossierId, String dossierAttributeId) { - return dossierAttributeRepository.findById(new DossierAttribute.DossierAttributeId(dossierId, dossierAttributeId)) + public DossierAttributeEntity findOne(String dossierId, String dossierAttributeId) { + return dossierAttributeRepository.findById(new DossierAttributeEntity.DossierAttributeEntityId(dossierId, dossierAttributeId)) .orElseThrow(() -> new NotFoundException("Dossier Attribute not set")); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierPersistenceService.java index de3e2ce9f..be30ef0b9 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierPersistenceService.java @@ -1,12 +1,13 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierStatus; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ReportTemplateRepository; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatus; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -29,9 +30,9 @@ public class DossierPersistenceService { private final DossierTemplateRepository dossierTemplateRepository; private final ReportTemplateRepository reportTemplateRepository; - public Dossier insert(CreateOrUpdateDossierRequest createOrUpdateDossierRequest) { + public DossierEntity insert(CreateOrUpdateDossierRequest createOrUpdateDossierRequest) { - Dossier dossier = new Dossier(); + DossierEntity dossier = new DossierEntity(); BeanUtils.copyProperties(createOrUpdateDossierRequest, dossier); dossier.setId(UUID.randomUUID().toString()); dossier.setStatus(DossierStatus.ACTIVE); @@ -65,7 +66,7 @@ public class DossierPersistenceService { } - public Dossier getAndValidateDossier(String dossierId) { + public DossierEntity getAndValidateDossier(String dossierId) { // check whether the dossierId exists and is not deleted var dossier = findByDossierId(dossierId); if (dossier == null || dossier.getStatus().equals(DossierStatus.DELETED)) { @@ -76,17 +77,17 @@ public class DossierPersistenceService { } - public Dossier findByDossierId(String dossierId) { + public DossierEntity findByDossierId(String dossierId) { return dossierRepository.findById(dossierId).orElseThrow(() -> new DossierNotFoundException(String.format(DOSSIER_NOT_FOUND_MESSAGE, dossierId))); } - public List findAllDossiers() { + public List findAllDossiers() { return dossierRepository.findAll(); } - public List findSoftDeletedDossiers() { + public List findSoftDeletedDossiers() { return findAllDossiers().stream().filter(d -> d.getSoftDeletedTime() != null).collect(Collectors.toList()); @@ -106,6 +107,9 @@ public class DossierPersistenceService { @Transactional public void undelete(String dossierId) { dossierRepository.findById(dossierId).ifPresent(dossier -> { + if (dossier.getHardDeletedTime() != null) { + throw new BadRequestException("Cannot undelete a hard-dossier file!"); + } dossier.setStatus(DossierStatus.ACTIVE); dossier.setSoftDeletedTime(null); }); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java index 78b1e62cd..9f46b7836 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DossierTemplatePersistenceService.java @@ -1,10 +1,10 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierTemplateRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -26,9 +26,9 @@ public class DossierTemplatePersistenceService { @Transactional - public DossierTemplate createOrUpdateDossierTemplate(CreateOrUpdateDossierTemplateRequest createOrUpdateDossierRequest) { + public DossierTemplateEntity createOrUpdateDossierTemplate(CreateOrUpdateDossierTemplateRequest createOrUpdateDossierRequest) { if (createOrUpdateDossierRequest.getDossierTemplateId() != null) { - Optional dossierTemplate = dossierTemplateRepository.findById(createOrUpdateDossierRequest.getDossierTemplateId()); + Optional dossierTemplate = dossierTemplateRepository.findById(createOrUpdateDossierRequest.getDossierTemplateId()); if (dossierTemplate.isPresent()) { dossierTemplate.get().setDateModified(OffsetDateTime.now()); dossierTemplate.get().setModifiedBy(createOrUpdateDossierRequest.getRequestingUser()); @@ -38,7 +38,7 @@ public class DossierTemplatePersistenceService { throw new NotFoundException(String.format(DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE, createOrUpdateDossierRequest.getDossierTemplateId())); } } else { - DossierTemplate dossierTemplate = new DossierTemplate(); + DossierTemplateEntity dossierTemplate = new DossierTemplateEntity(); dossierTemplate.setId(UUID.randomUUID().toString()); dossierTemplate.setDateAdded(OffsetDateTime.now()); dossierTemplate.setCreatedBy(createOrUpdateDossierRequest.getRequestingUser()); @@ -49,12 +49,11 @@ public class DossierTemplatePersistenceService { } - - public List getAllDossierTemplates() { + public List getAllDossierTemplates() { return dossierTemplateRepository.findAllWhereDeletedIsFalse(); } - public DossierTemplate getDossierTemplate(String dossierTemplateId) { + public DossierTemplateEntity getDossierTemplate(String dossierTemplateId) { return dossierTemplateRepository.findById(dossierTemplateId).filter(d -> !d.isDeleted()).orElseThrow(() -> new NotFoundException(String.format(DOSSIER_TEMPLATE_NOT_FOUND_MESSAGE, dossierTemplateId))); } @@ -62,12 +61,12 @@ public class DossierTemplatePersistenceService { public void deleteDossierTemplate(String dossierTemplateId, String deletingUserId) { dossierTemplateRepository.findById(dossierTemplateId).ifPresentOrElse((dossierTemplate) -> { - if(dossierTemplate.getDossiers().isEmpty()) { + if (dossierTemplate.getDossiers().isEmpty()) { dossierTemplate.setModifiedBy(deletingUserId); dossierTemplate.setDateModified(OffsetDateTime.now()); dossierTemplate.setDeleted(true); - }else{ + } else { throw new BadRequestException("Cannot delete dossier template with active dossiers!"); } }, () -> { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DownloadStatusPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DownloadStatusPersistenceService.java index 097224954..e3d4fe793 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DownloadStatusPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DownloadStatusPersistenceService.java @@ -1,10 +1,11 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.download.DownloadStatusEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DownloadStatusRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.download.DownloadStatus; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadStatusValue; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -19,11 +20,11 @@ public class DownloadStatusPersistenceService { private final DownloadStatusRepository downloadStatusRepository; private final FileRepository fileRepository; - public void createStatus(String userId, String storageId, Dossier dossier, String filename, String mimeType, + public void createStatus(String userId, String storageId, DossierEntity dossier, String filename, String mimeType, List fileIds) { - DownloadStatus downloadStatus = new DownloadStatus(); + DownloadStatusEntity downloadStatus = new DownloadStatusEntity(); downloadStatus.setUserId(userId); downloadStatus.setStorageId(storageId); downloadStatus.setFilename(filename); @@ -37,14 +38,14 @@ public class DownloadStatusPersistenceService { @Transactional - public void updateStatus(String storageId, DownloadStatus.DownloadStatusValue status) { + public void updateStatus(String storageId, DownloadStatusValue status) { downloadStatusRepository.findById(storageId).ifPresent(downloadStatus -> downloadStatus.setStatus(status)); } @Transactional - public void updateStatus(String storageId, DownloadStatus.DownloadStatusValue status, long fileSize) { + public void updateStatus(String storageId, DownloadStatusValue status, long fileSize) { downloadStatusRepository.findById(storageId).ifPresent(downloadStatus -> { downloadStatus.setStatus(status); downloadStatus.setFileSize(fileSize); @@ -68,7 +69,7 @@ public class DownloadStatusPersistenceService { } - public DownloadStatus getStatus(String storageId) { + public DownloadStatusEntity getStatus(String storageId) { return downloadStatusRepository.findById(storageId).orElseThrow(() -> new NotFoundException(String.format("DownloadStatus not found for storageId: %s", storageId))); @@ -76,14 +77,14 @@ public class DownloadStatusPersistenceService { } - public List getStatusesByUser(String userId) { + public List getStatusesByUser(String userId) { return downloadStatusRepository.findAllByUserId(userId); } - public List getStatus() { + public List getStatus() { return downloadStatusRepository.findAll(); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/EntryPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/EntryPersistenceService.java index 316609131..3a7d65508 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/EntryPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/EntryPersistenceService.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DictionaryEntry; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.DictionaryEntryEntity; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.EntryRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.TypeRepository; import lombok.RequiredArgsConstructor; @@ -26,7 +26,7 @@ public class EntryPersistenceService { var type = typeRepository.getOne(typeId); var dictionaryEntries = entries.stream().map(word -> { - DictionaryEntry entry = new DictionaryEntry(); + DictionaryEntryEntity entry = new DictionaryEntryEntity(); entry.setVersion(version); entry.setValue(word); entry.setType(type); @@ -43,12 +43,13 @@ public class EntryPersistenceService { } + @Transactional public void setVersion(String typeId, List values, long version) { entryRepository.updateVersionWhereTypeIdAndValueIn(version, typeId, values); } - public List getEntries(String typeId) { + public List getEntries(String typeId) { return entryRepository.findByTypeId(typeId); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileAttributeConfigPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileAttributeConfigPersistenceService.java index 28243b739..d17d21a7e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileAttributeConfigPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileAttributeConfigPersistenceService.java @@ -1,14 +1,14 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.FileAttributesGeneralConfigurationEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileAttributeConfigRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileAttributesGeneralConfigurationRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileAttributesRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.FileAttributesGeneralConfiguration; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttributeConfig; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.text.WordUtils; @@ -27,7 +27,7 @@ public class FileAttributeConfigPersistenceService { private final DossierTemplateRepository dossierTemplateRepository; private final FileAttributesRepository fileAttributesRepository; - public FileAttributeConfig addOrUpdateFileAttribute(String dossierTemplateId, FileAttributeConfig fileAttributeConfig) { + public FileAttributeConfigEntity addOrUpdateFileAttribute(String dossierTemplateId, FileAttributeConfigEntity fileAttributeConfig) { var dossierTemplate = dossierTemplateRepository.getOne(dossierTemplateId); fileAttributeConfig.setDossierTemplate(dossierTemplate); if (fileAttributeConfig.getId() == null) { @@ -37,7 +37,7 @@ public class FileAttributeConfigPersistenceService { return fileAttributeConfigRepository.save(fileAttributeConfig); } else { - Optional optionalConfig = fileAttributeConfigRepository.findById(fileAttributeConfig.getId()); + Optional optionalConfig = fileAttributeConfigRepository.findById(fileAttributeConfig.getId()); if (optionalConfig.isPresent()) { var config = optionalConfig.get(); @@ -61,22 +61,22 @@ public class FileAttributeConfigPersistenceService { } } - public FileAttributesGeneralConfiguration setFileAttributesGeneralConfig(String dossierTemplateId, FileAttributesGeneralConfiguration fileAttributesConfig) { + public FileAttributesGeneralConfigurationEntity setFileAttributesGeneralConfig(String dossierTemplateId, FileAttributesGeneralConfigurationEntity fileAttributesConfig) { fileAttributesConfig.setDossierTemplateId(dossierTemplateId); fileAttributesConfig.setDossierTemplate(dossierTemplateRepository.getOne(dossierTemplateId)); return fileAttributesGeneralConfigurationRepository.save(fileAttributesConfig); } - public FileAttributesGeneralConfiguration getFileAttributesGeneralConfiguration(String dossierTemplateId) { + public FileAttributesGeneralConfigurationEntity getFileAttributesGeneralConfiguration(String dossierTemplateId) { return fileAttributesGeneralConfigurationRepository.findById(dossierTemplateId).orElseThrow(() -> new NotFoundException("File Attribute Config not found")); } @Transactional - public List setFileAttributesConfig(String dossierTemplateId, List fileAttributesConfig) { + public List setFileAttributesConfig(String dossierTemplateId, List fileAttributesConfig) { - Set toSetIds = fileAttributesConfig.stream().map(FileAttributeConfig::getId).filter(Objects::nonNull).collect(Collectors.toSet()); + Set toSetIds = fileAttributesConfig.stream().map(FileAttributeConfigEntity::getId).filter(Objects::nonNull).collect(Collectors.toSet()); var currentConfigs = fileAttributeConfigRepository.findByDossierTemplateId(dossierTemplateId); - Set configsToRemove = currentConfigs.stream().filter(c -> !toSetIds.contains(c.getId())).collect(Collectors.toSet()); + Set configsToRemove = currentConfigs.stream().filter(c -> !toSetIds.contains(c.getId())).collect(Collectors.toSet()); fileAttributesConfig.forEach(fac -> addOrUpdateFileAttribute(dossierTemplateId, fac)); @@ -103,18 +103,18 @@ public class FileAttributeConfigPersistenceService { }); } - public List getFileAttributes(String dossierTemplateId) { + public List getFileAttributes(String dossierTemplateId) { return fileAttributeConfigRepository.findByDossierTemplateId(dossierTemplateId); } - private void setPlaceholder(FileAttributeConfig fileAttributeConfig) { + private void setPlaceholder(FileAttributeConfigEntity fileAttributeConfig) { if (fileAttributeConfig.getPlaceholder() == null || fileAttributeConfig.getPlaceholder().isEmpty()) { String placeholder = "{{file.attribute." + StringUtils.remove(WordUtils.capitalizeFully(fileAttributeConfig.getLabel(), ' '), " ") + "}}"; fileAttributeConfig.setPlaceholder(placeholder); } } - private void uniqueLabelAndPlaceholder(FileAttributeConfig fileAttributeConfig) { + private void uniqueLabelAndPlaceholder(FileAttributeConfigEntity fileAttributeConfig) { getFileAttributes(fileAttributeConfig.getDossierTemplate().getId()).stream().filter( d -> !d.getId().equals(fileAttributeConfig.getId())).forEach(other -> { if (other.getLabel().equalsIgnoreCase(fileAttributeConfig.getLabel())) { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java index 21b52e3b6..fdb59f878 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java @@ -1,22 +1,19 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +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.exception.BadRequestException; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttribute; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttributeConfig; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository; 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.FileStatus; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import javax.transaction.Transactional; import java.time.OffsetDateTime; import java.util.List; -import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; @Service @@ -29,7 +26,7 @@ public class FileStatusPersistenceService { public void createStatus(String dossierId, String fileId, String filename, String uploader) { - File file = new File(); + FileEntity file = new FileEntity(); file.setId(fileId); file.setDossier(dossierRepository.getOne(dossierId)); file.setFilename(filename); @@ -68,6 +65,20 @@ public class FileStatusPersistenceService { } + @Transactional + public void updateFlags(String fileId,boolean hasRedactions,boolean hasHints,boolean hasImages,boolean hasSuggestions,boolean hasComments){ + fileRepository.findById(fileId).ifPresentOrElse((file) -> { + file.setHasRedactions(hasRedactions); + file.setHasHints(hasHints); + file.setHasImages(hasImages); + file.setHasSuggestions(hasSuggestions); + file.setHasAnnotationComments(hasComments); + }, () -> { + throw new NotFoundException("Unknown file=" + fileId); + }); + } + + @Transactional public void updateStatusSuccessful(String fileId, FileStatus status, boolean approval) { @@ -85,7 +96,7 @@ public class FileStatusPersistenceService { @Transactional - public void updateStatus(String fileId, FileStatus status, String uploader) { + public void updateStatus(String fileId, FileStatus status, String uploader) { if (status.equals(FileStatus.UNASSIGNED) || status.equals(FileStatus.UNPROCESSED)) { throw new IllegalArgumentException("please use specific methods for these calls!"); @@ -113,7 +124,7 @@ public class FileStatusPersistenceService { } @Transactional - public void setUpdateStatusIndexingSuccessful( String fileId, FileStatus status) { + public void setUpdateStatusIndexingSuccessful(String fileId, FileStatus status) { fileRepository.findById(fileId).ifPresentOrElse((file) -> { file.setStatus(status); @@ -125,7 +136,7 @@ public class FileStatusPersistenceService { } @Transactional - public void updateLastOCRTime( String fileId, OffsetDateTime time) { + public void updateLastOCRTime(String fileId, OffsetDateTime time) { fileRepository.findById(fileId).ifPresentOrElse((file) -> { file.setLastOCRTime(time); @@ -169,7 +180,7 @@ public class FileStatusPersistenceService { } @Transactional - public void setFileAttributes(String fileId, List fileAttributes) { + public void setFileAttributes(String fileId, List fileAttributes) { fileRepository.findById(fileId).ifPresentOrElse((file) -> { file.setLastFileAttributeChange(OffsetDateTime.now()); @@ -193,18 +204,18 @@ public class FileStatusPersistenceService { } - public File getStatus(String fileId) { + public FileEntity getStatus(String fileId) { return fileRepository.findById(fileId).orElseThrow(() -> new NotFoundException("Unknown file=" + fileId)); } - public List getStatusesForDossier(String dossierId) { + public List getStatusesForDossier(String dossierId) { return fileRepository.findByDossierId(dossierId); } - public List getAllStatuses() { + public List getAllStatuses() { return fileRepository.findAll(); } @@ -238,6 +249,9 @@ public class FileStatusPersistenceService { public void undelete(String fileId, FileStatus statusBefore) { fileRepository.findById(fileId).ifPresentOrElse((file) -> { + if (file.getHardDeletedTime() != null) { + throw new BadRequestException("Cannot undelete a hard-dossier file!"); + } file.setStatus(statusBefore != null ? statusBefore : FileStatus.UNASSIGNED); file.setDeleted(null); }, () -> { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ForceRedactionPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ForceRedactionPersistenceService.java index 0abbb9308..58b00b2b5 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ForceRedactionPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ForceRedactionPersistenceService.java @@ -1,12 +1,12 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualForceRedactionEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ForceRedactionRepository; -import com.iqser.red.service.persistence.service.v1.api.model.ForceRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationId; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualForceRedaction; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.ForceRedactionRequest; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -26,8 +26,8 @@ public class ForceRedactionPersistenceService { public void insert(String fileId, ForceRedactionRequest forceRedactionRequest) { - ManualForceRedaction manualForceRedaction = new ManualForceRedaction(); - manualForceRedaction.setId(new AnnotationId(forceRedactionRequest.getAnnotationId(), fileId)); + ManualForceRedactionEntity manualForceRedaction = new ManualForceRedactionEntity(); + manualForceRedaction.setId(new AnnotationEntityId(forceRedactionRequest.getAnnotationId(), fileId)); BeanUtils.copyProperties(forceRedactionRequest, manualForceRedaction); manualForceRedaction.setRequestDate(OffsetDateTime.now()); @@ -36,7 +36,7 @@ public class ForceRedactionPersistenceService { @Transactional public void updateStatus(String fileId, String annotationId, AnnotationStatus annotationStatus) { - forceRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> { + forceRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> { mre.setProcessedDate(OffsetDateTime.now()); mre.setStatus(annotationStatus); }); @@ -45,29 +45,29 @@ public class ForceRedactionPersistenceService { @Transactional public void hardDelete(String fileId, String annotationId) { - forceRedactionRepository.deleteById(new AnnotationId(annotationId, fileId)); + forceRedactionRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); } @Transactional public void softDelete(String fileId, String annotationId, OffsetDateTime softDeleteTime) { - forceRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(softDeleteTime)); + forceRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(softDeleteTime)); } @Transactional public void undelete(String fileId, String annotationId) { - forceRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(null)); + forceRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(null)); } - public ManualForceRedaction findForceRedaction(String fileId, String annotationId) { + public ManualForceRedactionEntity findForceRedaction(String fileId, String annotationId) { - return forceRedactionRepository.findById(new AnnotationId(annotationId, fileId)) + return forceRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)) .filter(mre -> mre.getSoftDeletedTime() == null) .orElseThrow(() -> new NotFoundException("Unknown file/annotation combination: " + fileId + "/" + annotationId)); } - public Set findForceRedactions(String fileId, boolean includeDeletions) { + public Set findForceRedactions(String fileId, boolean includeDeletions) { return forceRedactionRepository.findByIdFileId(fileId).stream().filter(mre -> includeDeletions || mre.getSoftDeletedTime() == null).collect(Collectors.toSet()); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ImageRecategorizationPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ImageRecategorizationPersistenceService.java index d22f617e2..c945c3cba 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ImageRecategorizationPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ImageRecategorizationPersistenceService.java @@ -1,11 +1,11 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualImageRecategorizationEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ImageRecategorizationRepository; -import com.iqser.red.service.persistence.service.v1.api.model.ImageRecategorizationRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationId; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualImageRecategorization; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.ImageRecategorizationRequest; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -24,8 +24,8 @@ public class ImageRecategorizationPersistenceService { public void insert(String fileId, ImageRecategorizationRequest imageRecategorizationRequest) { - ManualImageRecategorization manualImageRecategorization = new ManualImageRecategorization(); - manualImageRecategorization.setId(new AnnotationId(imageRecategorizationRequest.getAnnotationId(), fileId)); + ManualImageRecategorizationEntity manualImageRecategorization = new ManualImageRecategorizationEntity(); + manualImageRecategorization.setId(new AnnotationEntityId(imageRecategorizationRequest.getAnnotationId(), fileId)); BeanUtils.copyProperties(imageRecategorizationRequest, manualImageRecategorization); manualImageRecategorization.setRequestDate(OffsetDateTime.now()); imageRecategorizationRepository.save(manualImageRecategorization); @@ -35,7 +35,7 @@ public class ImageRecategorizationPersistenceService { @Transactional public void updateStatus(String fileId, String annotationId, AnnotationStatus annotationStatus) { - imageRecategorizationRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> { + imageRecategorizationRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> { mre.setProcessedDate(OffsetDateTime.now()); mre.setStatus(annotationStatus); }); @@ -44,30 +44,30 @@ public class ImageRecategorizationPersistenceService { @Transactional public void hardDelete(String fileId, String annotationId) { - imageRecategorizationRepository.deleteById(new AnnotationId(annotationId, fileId)); + imageRecategorizationRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); } @Transactional public void softDelete(String fileId, String annotationId, OffsetDateTime softDeleteTime) { - imageRecategorizationRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(softDeleteTime)); + imageRecategorizationRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(softDeleteTime)); } @Transactional public void undelete(String fileId, String annotationId) { - imageRecategorizationRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(null)); + imageRecategorizationRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(null)); } - public ManualImageRecategorization findRecategorization(String fileId, String annotationId) { + public ManualImageRecategorizationEntity findRecategorization(String fileId, String annotationId) { - return imageRecategorizationRepository.findById(new AnnotationId(annotationId, fileId)) + return imageRecategorizationRepository.findById(new AnnotationEntityId(annotationId, fileId)) .filter(mre -> mre.getSoftDeletedTime() == null) .orElseThrow(() -> new NotFoundException("Unknown file/annotation combination: " + fileId + "/" + annotationId)); } - public Set findRecategorizations(String fileId, boolean includeDeletions) { + public Set findRecategorizations(String fileId, boolean includeDeletions) { return imageRecategorizationRepository.findByIdFileId(fileId).stream().filter(mre -> includeDeletions || mre.getSoftDeletedTime() == null).collect(Collectors.toSet()); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisChangePersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisChangePersistenceService.java index 91b52e6b6..8618d3bfa 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisChangePersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/LegalBasisChangePersistenceService.java @@ -1,11 +1,11 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualLegalBasisChangeEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.LegalBasisChangeRepository; -import com.iqser.red.service.persistence.service.v1.api.model.LegalBasisChangeRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationId; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualLegalBasisChange; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.LegalBasisChangeRequest; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -24,8 +24,8 @@ public class LegalBasisChangePersistenceService { public void insert(String fileId, LegalBasisChangeRequest legalBasisChangeRequest) { - ManualLegalBasisChange manualLegalBasisChange = new ManualLegalBasisChange(); - manualLegalBasisChange.setId(new AnnotationId(legalBasisChangeRequest.getAnnotationId(), fileId)); + ManualLegalBasisChangeEntity manualLegalBasisChange = new ManualLegalBasisChangeEntity(); + manualLegalBasisChange.setId(new AnnotationEntityId(legalBasisChangeRequest.getAnnotationId(), fileId)); BeanUtils.copyProperties(legalBasisChangeRequest, manualLegalBasisChange); manualLegalBasisChange.setRequestDate(OffsetDateTime.now()); legalBasisChangeRepository.save(manualLegalBasisChange); @@ -34,26 +34,26 @@ public class LegalBasisChangePersistenceService { @Transactional public void hardDelete(String fileId, String annotationId) { - legalBasisChangeRepository.deleteById(new AnnotationId(annotationId, fileId)); + legalBasisChangeRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); } @Transactional public void softDelete(String fileId, String annotationId, OffsetDateTime softDeleteTime) { - legalBasisChangeRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(softDeleteTime)); + legalBasisChangeRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(softDeleteTime)); } @Transactional public void undelete(String fileId, String annotationId) { - legalBasisChangeRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(null)); + legalBasisChangeRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(null)); } @Transactional public void updateStatus(String fileId, String annotationId, AnnotationStatus annotationStatus) { - legalBasisChangeRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> { + legalBasisChangeRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> { mre.setProcessedDate(OffsetDateTime.now()); mre.setStatus(annotationStatus); }); @@ -61,15 +61,15 @@ public class LegalBasisChangePersistenceService { } - public ManualLegalBasisChange findLegalBasisChange(String fileId, String annotationId) { - return legalBasisChangeRepository.findById(new AnnotationId(annotationId, fileId)) + public ManualLegalBasisChangeEntity findLegalBasisChange(String fileId, String annotationId) { + return legalBasisChangeRepository.findById(new AnnotationEntityId(annotationId, fileId)) .filter(mre -> mre.getSoftDeletedTime() == null) .orElseThrow(() -> new NotFoundException("Unknown file/annotation combination: " + fileId + "/" + annotationId)); } - public Set findLegalBasisChanges(String fileId, boolean includeDeletions) { + public Set findLegalBasisChanges(String fileId, boolean includeDeletions) { return legalBasisChangeRepository.findByIdFileId(fileId).stream().filter(mre -> includeDeletions || mre.getSoftDeletedTime() == null).collect(Collectors.toSet()); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/NotificationPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/NotificationPersistenceService.java index 9201fbebf..0b3267a33 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/NotificationPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/NotificationPersistenceService.java @@ -1,9 +1,9 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.notification.NotificationEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.NotificationRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AddNotificationRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.notification.Notification; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AddNotificationRequest; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import org.springframework.beans.BeanUtils; @@ -24,7 +24,7 @@ public class NotificationPersistenceService { @SneakyThrows public void insertNotification(AddNotificationRequest addNotificationRequest) { - var notification = new Notification(); + var notification = new NotificationEntity(); BeanUtils.copyProperties(addNotificationRequest, notification); notification.setCreationDate(OffsetDateTime.now()); @@ -62,7 +62,7 @@ public class NotificationPersistenceService { } - public List getNotifications(String userId, boolean includeSeen) { + public List getNotifications(String userId, boolean includeSeen) { if (includeSeen) { return notificationRepository.findForUser(userId); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RemoveRedactionPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RemoveRedactionPersistenceService.java index 124f710fc..306b683aa 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RemoveRedactionPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RemoveRedactionPersistenceService.java @@ -1,11 +1,11 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.IdRemovalEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.RemoveRedactionRepository; -import com.iqser.red.service.persistence.service.v1.api.model.RemoveRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationId; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.IdRemoval; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.RemoveRedactionRequest; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -26,8 +26,8 @@ public class RemoveRedactionPersistenceService { public void insert(String fileId, RemoveRedactionRequest removeRedactionRequest) { - IdRemoval idRemoval = new IdRemoval(); - idRemoval.setId(new AnnotationId(removeRedactionRequest.getAnnotationId(), fileId)); + IdRemovalEntity idRemoval = new IdRemovalEntity(); + idRemoval.setId(new AnnotationEntityId(removeRedactionRequest.getAnnotationId(), fileId)); BeanUtils.copyProperties(removeRedactionRequest, idRemoval); idRemoval.setRequestDate(OffsetDateTime.now()); @@ -35,38 +35,38 @@ public class RemoveRedactionPersistenceService { } - public IdRemoval findRemoveRedaction(String fileId, String annotationId) { + public IdRemovalEntity findRemoveRedaction(String fileId, String annotationId) { - return removeRedactionRepository.findById(new AnnotationId(annotationId, fileId)) + return removeRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)) .filter(mre -> mre.getSoftDeletedTime() == null) .orElseThrow(() -> new NotFoundException("Unknown file/annotation combination: " + fileId + "/" + annotationId)); } - public Set findRemoveRedactions(String fileId, boolean includeDeletions) { + public Set findRemoveRedactions(String fileId, boolean includeDeletions) { return removeRedactionRepository.findByIdFileId(fileId).stream().filter(mre -> includeDeletions || mre.getSoftDeletedTime() == null).collect(Collectors.toSet()); } @Transactional public void hardDelete(String fileId, String annotationId) { - removeRedactionRepository.deleteById(new AnnotationId(annotationId, fileId)); + removeRedactionRepository.deleteById(new AnnotationEntityId(annotationId, fileId)); } @Transactional public void softDelete(String fileId, String annotationId, OffsetDateTime softDeleteTime) { - removeRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(softDeleteTime)); + removeRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(softDeleteTime)); } @Transactional public void undelete(String fileId, String annotationId) { - removeRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(null)); + removeRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> mre.setSoftDeletedTime(null)); } @Transactional public void updateStatus(String fileId, String annotationId, AnnotationStatus annotationStatus) { - removeRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> { + removeRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> { mre.setProcessedDate(OffsetDateTime.now()); mre.setStatus(annotationStatus); }); @@ -76,7 +76,7 @@ public class RemoveRedactionPersistenceService { @Transactional public void updateStatus(String fileId, String annotationId, AnnotationStatus annotationStatus, boolean isAddOrRemoveFromDictionary) { - removeRedactionRepository.findById(new AnnotationId(annotationId, fileId)).ifPresent(mre -> { + removeRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> { mre.setProcessedDate(OffsetDateTime.now()); mre.setStatus(annotationStatus); mre.setRemoveFromDictionary(isAddOrRemoveFromDictionary); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ReportTemplatePersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ReportTemplatePersistenceService.java index 918f3ecfc..39e8f9933 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ReportTemplatePersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ReportTemplatePersistenceService.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.ReportTemplate; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ReportTemplateRepository; @@ -21,7 +21,7 @@ public class ReportTemplatePersistenceService { public void insert(String dossierTemplateId, String templateId, String storageId, String templateName, boolean activeByDefault, boolean multiFileReport) { - ReportTemplate reportTemplate = new ReportTemplate(); + ReportTemplateEntity reportTemplate = new ReportTemplateEntity(); reportTemplate.setTemplateId(templateId); reportTemplate.setDossierTemplate(dossierTemplateRepository.getOne(dossierTemplateId)); reportTemplate.setStorageId(storageId); @@ -39,13 +39,13 @@ public class ReportTemplatePersistenceService { reportTemplateRepository.deleteById(templateId); } - public List findByDossierTemplateId(String dossierTemplateId) { + public List findByDossierTemplateId(String dossierTemplateId) { return reportTemplateRepository.findAllByDossierTemplateId(dossierTemplateId); } - public ReportTemplate find(String templateId) { + public ReportTemplateEntity find(String templateId) { return reportTemplateRepository.findById(templateId).orElseThrow(() -> new NotFoundException("Report Template not found: " + templateId)); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RulesPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RulesPersistenceService.java index 53fd51625..fb578e6ca 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RulesPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/RulesPersistenceService.java @@ -1,8 +1,8 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.RuleSetEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.RuleSetRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.RuleSet; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -13,12 +13,10 @@ import javax.transaction.Transactional; @SuppressWarnings("PMD.TooManyStaticImports") public class RulesPersistenceService { + private static final String RULES_NOT_FOUND = "Could not find rules in database."; private final RuleSetRepository ruleSetRepository; - private static final String RULES_NOT_FOUND = "Could not find rules in database."; - - - public RuleSet getRules(String dossierTemplateId) { + public RuleSetEntity getRules(String dossierTemplateId) { return ruleSetRepository.findById(dossierTemplateId).orElseThrow(() -> new NotFoundException(RULES_NOT_FOUND)); } @@ -29,7 +27,7 @@ public class RulesPersistenceService { r.setValue(rules); r.setVersion(r.getVersion() + 1); }, () -> { - RuleSet ruleSet = new RuleSet(); + RuleSetEntity ruleSet = new RuleSetEntity(); ruleSet.setDossierTemplateId(dossierTemplateId); ruleSet.setValue(rules); ruleSet.setVersion(1); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/SMTPConfigurationService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/SMTPConfigurationService.java index 93358565a..1d8d4be46 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/SMTPConfigurationService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/SMTPConfigurationService.java @@ -1,6 +1,6 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.SMTPConfiguration; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.SMTPConfigurationEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.SMTPRepository; import lombok.RequiredArgsConstructor; @@ -18,14 +18,14 @@ public class SMTPConfigurationService { @Transactional public void deleteConfiguration() { - smtpRepository.deleteById(SMTPConfiguration.ID); + smtpRepository.deleteById(SMTPConfigurationEntity.ID); } - public SMTPConfiguration getConfiguration() { - return smtpRepository.findById(SMTPConfiguration.ID).orElseThrow(() -> new NotFoundException("SMTP Configuration not found")); + public SMTPConfigurationEntity getConfiguration() { + return smtpRepository.findById(SMTPConfigurationEntity.ID).orElseThrow(() -> new NotFoundException("SMTP Configuration not found")); } - public SMTPConfiguration saveConfiguration(SMTPConfiguration smtpConfiguration) { + public SMTPConfigurationEntity saveConfiguration(SMTPConfigurationEntity smtpConfiguration) { return smtpRepository.save(smtpConfiguration); } } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ViewedPagesPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ViewedPagesPersistenceService.java index fb2c83bb0..5d265e70e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ViewedPagesPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/ViewedPagesPersistenceService.java @@ -1,8 +1,8 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ViewedPageEntity; 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.ViewedPagesRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ViewedPage; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -19,9 +19,9 @@ public class ViewedPagesPersistenceService { public void insertPage(String fileId, String userId, int page) { - var viewedPage = new ViewedPage(); + var viewedPage = new ViewedPageEntity(); viewedPage.setViewedTime(OffsetDateTime.now()); - viewedPage.setId(new ViewedPage.ViewedPageId(null, page, userId)); + viewedPage.setId(new ViewedPageEntity.ViewedPageId(null, page, userId)); viewedPage.setFile(fileRepository.getOne(fileId)); viewedPagesRepository.save(viewedPage); } @@ -29,11 +29,11 @@ public class ViewedPagesPersistenceService { @Transactional public void removePage(String fileId, String role, int page) { - viewedPagesRepository.deleteById(new ViewedPage.ViewedPageId(fileId, page, role)); + viewedPagesRepository.deleteById(new ViewedPageEntity.ViewedPageId(fileId, page, role)); } - public List findViewedPages(String fileId, String userId) { + public List findViewedPages(String fileId, String userId) { return viewedPagesRepository.findByFileIdAndIdUserId(fileId, userId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/AuditRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/AuditRepository.java index 832ec3ec8..ec22c7663 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/AuditRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/AuditRepository.java @@ -1,17 +1,15 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditModel; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.CategoryModel; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; +import com.iqser.red.service.persistence.management.v1.processor.entity.audit.AuditEntity; +import com.iqser.red.service.persistence.service.v1.api.model.audit.CategoryModel; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import java.util.List; -public interface AuditRepository extends JpaRepository { +public interface AuditRepository extends JpaRepository { - @Query("SELECT new com.iqser.red.service.persistence.service.v1.api.model.data.audit.CategoryModel(a.category, count(a)) FROM AuditModel a GROUP BY a.category") + @Query("SELECT new com.iqser.red.service.persistence.service.v1.api.model.audit.CategoryModel(a.category, count(a)) FROM AuditEntity a GROUP BY a.category") List findCategories(); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ColorsRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ColorsRepository.java index f62348779..b50cccbc5 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ColorsRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ColorsRepository.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Colors; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.ColorsEntity; import org.springframework.data.jpa.repository.JpaRepository; -public interface ColorsRepository extends JpaRepository { +public interface ColorsRepository extends JpaRepository { } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/CommentRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/CommentRepository.java index c98842611..649971d09 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/CommentRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/CommentRepository.java @@ -1,15 +1,15 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.Comment; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.CommentEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface CommentRepository extends JpaRepository { +public interface CommentRepository extends JpaRepository { - List findByFileIdAndAnnotationId(String fileId, String annotationId); + List findByFileIdAndAnnotationId(String fileId, String annotationId); - List findByFileId(String fileId); + List findByFileId(String fileId); boolean existsByFileIdAndSoftDeletedTimeIsNull(String fileId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DigitalSignatureRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DigitalSignatureRepository.java index 90491710c..58fab317e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DigitalSignatureRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DigitalSignatureRepository.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DigitalSignature; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.DigitalSignatureEntity; import org.springframework.data.jpa.repository.JpaRepository; -public interface DigitalSignatureRepository extends JpaRepository { +public interface DigitalSignatureRepository extends JpaRepository { } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeConfigRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeConfigRepository.java index f4e9167cf..a3f9bb3ee 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeConfigRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeConfigRepository.java @@ -1,13 +1,13 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttributeConfig; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeConfigEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface DossierAttributeConfigRepository extends JpaRepository { +public interface DossierAttributeConfigRepository extends JpaRepository { - List findAllByDossierTemplateId(String dossierTemplateId); + List findAllByDossierTemplateId(String dossierTemplateId); void deleteByDossierTemplateId(String dossierTemplateId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeRepository.java index d8bf074a2..ce0a45043 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierAttributeRepository.java @@ -1,22 +1,22 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttribute; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import java.util.List; -public interface DossierAttributeRepository extends JpaRepository { +public interface DossierAttributeRepository extends JpaRepository { - List findByIdDossierId(String dossierId); + List findByIdDossierId(String dossierId); void deleteByDossierId(String dossierId); - @Query("SELECT a FROM DossierAttribute a WHERE a.dossierAttributeConfig.dossierTemplate.id = :dossierTemplateId") - List findByDossierTemplateId(String dossierTemplateId); + @Query("SELECT a FROM DossierAttributeEntity a WHERE a.dossierAttributeConfig.dossierTemplate.id = :dossierTemplateId") + List findByDossierTemplateId(String dossierTemplateId); @Modifying - @Query("DELETE FROM DossierAttribute e WHERE e.dossierAttributeConfig.id = :id") + @Query("DELETE FROM DossierAttributeEntity e WHERE e.dossierAttributeConfig.id = :id") void deleteByDossierAttributeConfigId(String id); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierRepository.java index 76279cbfd..6e9afc6fc 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierRepository.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; import org.springframework.data.jpa.repository.JpaRepository; -public interface DossierRepository extends JpaRepository { +public interface DossierRepository extends JpaRepository { } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierTemplateRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierTemplateRepository.java index d588b63ea..b62c9b82e 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierTemplateRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DossierTemplateRepository.java @@ -1,13 +1,13 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import java.util.List; -public interface DossierTemplateRepository extends JpaRepository { +public interface DossierTemplateRepository extends JpaRepository { - @Query("select d from DossierTemplate d where d.deleted = false or d.deleted is null") - List findAllWhereDeletedIsFalse(); + @Query("select d from DossierTemplateEntity d where d.deleted = false or d.deleted is null") + List findAllWhereDeletedIsFalse(); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DownloadStatusRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DownloadStatusRepository.java index 820e342e8..596f24505 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DownloadStatusRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DownloadStatusRepository.java @@ -1,10 +1,10 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.download.DownloadStatus; +import com.iqser.red.service.persistence.management.v1.processor.entity.download.DownloadStatusEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface DownloadStatusRepository extends JpaRepository { - List findAllByUserId(String userId); +public interface DownloadStatusRepository extends JpaRepository { + List findAllByUserId(String userId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/EntryRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/EntryRepository.java index a848eadfc..76622b8a0 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/EntryRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/EntryRepository.java @@ -1,17 +1,19 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DictionaryEntry; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.DictionaryEntryEntity; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import java.util.List; -public interface EntryRepository extends JpaRepository { +public interface EntryRepository extends JpaRepository { void deleteAllByTypeIdAndVersionAndValueIn(String typeId, long version, List values); - @Query("update DictionaryEntry e set e.version = :version where e.type.id =:typeId and e.value in :values") + @Modifying + @Query("update DictionaryEntryEntity e set e.version = :version where e.type.id =:typeId and e.value in :values") void updateVersionWhereTypeIdAndValueIn(long version, String typeId, List values); - List findByTypeId(String typeId); + List findByTypeId(String typeId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributeConfigRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributeConfigRepository.java index b9c824f02..2a6b48407 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributeConfigRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributeConfigRepository.java @@ -1,13 +1,12 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttributeConfig; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity; import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; import java.util.List; -public interface FileAttributeConfigRepository extends JpaRepository { +public interface FileAttributeConfigRepository extends JpaRepository { - List findByDossierTemplateId(String dossierTemplateId); + List findByDossierTemplateId(String dossierTemplateId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributesGeneralConfigurationRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributesGeneralConfigurationRepository.java index 6d5774853..644cca7f9 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributesGeneralConfigurationRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributesGeneralConfigurationRepository.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.FileAttributesGeneralConfiguration; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.FileAttributesGeneralConfigurationEntity; import org.springframework.data.jpa.repository.JpaRepository; -public interface FileAttributesGeneralConfigurationRepository extends JpaRepository { +public interface FileAttributesGeneralConfigurationRepository extends JpaRepository { } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributesRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributesRepository.java index 7e7a0ed0b..099d2146a 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributesRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileAttributesRepository.java @@ -1,14 +1,14 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttribute; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; -public interface FileAttributesRepository extends JpaRepository { +public interface FileAttributesRepository extends JpaRepository { @Modifying - @Query("DELETE FROM FileAttribute f where f.fileAttributeId.fileAttributeConfigId = :fileAttributeConfigId") + @Query("DELETE FROM FileAttributeEntity f where f.fileAttributeId.fileAttributeConfigId = :fileAttributeConfigId") void deleteByFileAttributeConfigId(String fileAttributeConfigId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java index 3624e27cc..ebb322fc6 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java @@ -1,10 +1,11 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; + +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface FileRepository extends JpaRepository { - List findByDossierId(String dossierId); +public interface FileRepository extends JpaRepository { + List findByDossierId(String dossierId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ForceRedactionRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ForceRedactionRepository.java index 70e9d1caa..2175caaf7 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ForceRedactionRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ForceRedactionRepository.java @@ -1,12 +1,12 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationId; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualForceRedaction; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualForceRedactionEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface ForceRedactionRepository extends JpaRepository { +public interface ForceRedactionRepository extends JpaRepository { - List findByIdFileId(String fileId); + List findByIdFileId(String fileId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ImageRecategorizationRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ImageRecategorizationRepository.java index eb27259b3..89700b921 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ImageRecategorizationRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ImageRecategorizationRepository.java @@ -1,11 +1,11 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationId; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualImageRecategorization; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualImageRecategorizationEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface ImageRecategorizationRepository extends JpaRepository { - List findByIdFileId(String fileId); +public interface ImageRecategorizationRepository extends JpaRepository { + List findByIdFileId(String fileId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisChangeRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisChangeRepository.java index 8279b3335..08810acec 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisChangeRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisChangeRepository.java @@ -1,12 +1,12 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationId; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualLegalBasisChange; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualLegalBasisChangeEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface LegalBasisChangeRepository extends JpaRepository { +public interface LegalBasisChangeRepository extends JpaRepository { - List findByIdFileId(String fileId); + List findByIdFileId(String fileId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisMappingRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisMappingRepository.java index 9d21949a5..f9d8018b2 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisMappingRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/LegalBasisMappingRepository.java @@ -1,11 +1,9 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.LegalBasisMapping; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.LegalBasisMappingEntity; import org.springframework.data.jpa.repository.JpaRepository; -import java.util.List; - -public interface LegalBasisMappingRepository extends JpaRepository { +public interface LegalBasisMappingRepository extends JpaRepository { } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ManualRedactionRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ManualRedactionRepository.java index c72979694..e694a18f6 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ManualRedactionRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ManualRedactionRepository.java @@ -1,12 +1,12 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationId; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualRedactionEntry; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualRedactionEntryEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface ManualRedactionRepository extends JpaRepository { +public interface ManualRedactionRepository extends JpaRepository { - List findByIdFileId(String fileId); + List findByIdFileId(String fileId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/NotificationRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/NotificationRepository.java index 8301c36f4..768863b8a 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/NotificationRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/NotificationRepository.java @@ -1,21 +1,21 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.notification.Notification; +import com.iqser.red.service.persistence.management.v1.processor.entity.notification.NotificationEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import java.util.List; import java.util.Optional; -public interface NotificationRepository extends JpaRepository { +public interface NotificationRepository extends JpaRepository { - List findByUserIdOrderByCreationDateDesc(String userId); + List findByUserIdOrderByCreationDateDesc(String userId); - @Query("Select n from Notification n where n.softDeleted is null and n.userId = :userId order by n.creationDate desc") - List findForUser(String userId); + @Query("Select n from NotificationEntity n where n.softDeleted is null and n.userId = :userId order by n.creationDate desc") + List findForUser(String userId); - @Query("Select n from Notification n where n.seenDate is null and n.softDeleted is null and n.userId = :userId order by n.creationDate desc") - List findNotSeenForUser(String userId); + @Query("Select n from NotificationEntity n where n.seenDate is null and n.softDeleted is null and n.userId = :userId order by n.creationDate desc") + List findNotSeenForUser(String userId); - Optional findByIdAndUserId(long notificationId, String userId); + Optional findByIdAndUserId(long notificationId, String userId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RemoveRedactionRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RemoveRedactionRepository.java index c67c7d6bd..10ad17407 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RemoveRedactionRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RemoveRedactionRepository.java @@ -1,12 +1,12 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationId; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.IdRemoval; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.AnnotationEntityId; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.IdRemovalEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface RemoveRedactionRepository extends JpaRepository { +public interface RemoveRedactionRepository extends JpaRepository { - List findByIdFileId(String fileId); + List findByIdFileId(String fileId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ReportTemplateRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ReportTemplateRepository.java index 3d58d7d88..472c49015 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ReportTemplateRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ReportTemplateRepository.java @@ -1,10 +1,10 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.ReportTemplate; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface ReportTemplateRepository extends JpaRepository { - List findAllByDossierTemplateId(String dossierTemplateId); +public interface ReportTemplateRepository extends JpaRepository { + List findAllByDossierTemplateId(String dossierTemplateId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RuleSetRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RuleSetRepository.java index b335cc427..be5427c03 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RuleSetRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/RuleSetRepository.java @@ -1,8 +1,8 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.RuleSet; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.RuleSetEntity; import org.springframework.data.jpa.repository.JpaRepository; -public interface RuleSetRepository extends JpaRepository { +public interface RuleSetRepository extends JpaRepository { } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/SMTPRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/SMTPRepository.java index 494f0d287..d2b177167 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/SMTPRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/SMTPRepository.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.SMTPConfiguration; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.SMTPConfigurationEntity; import org.springframework.data.jpa.repository.JpaRepository; -public interface SMTPRepository extends JpaRepository { +public interface SMTPRepository extends JpaRepository { } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/TypeRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/TypeRepository.java index 57da87630..2766d4a73 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/TypeRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/TypeRepository.java @@ -1,25 +1,24 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.TypeEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierTemplateEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; -import javax.transaction.Transactional; import java.util.List; import java.util.Optional; -public interface TypeRepository extends JpaRepository { +public interface TypeRepository extends JpaRepository { - Optional findOneByDossierTemplateAndDossierAndRank(DossierTemplate dossierTemplate, Dossier dossier, int rank); + Optional findOneByDossierTemplateAndDossierAndRank(DossierTemplateEntity dossierTemplate, DossierEntity dossier, int rank); - List findByDossierTemplateId(String dossierTemplateId); + List findByDossierTemplateId(String dossierTemplateId); - List findByDossierId(String dossierId); + List findByDossierId(String dossierId); @Modifying - @Query("update Type t set t.version = t.version +1 where t.id = :typeId") + @Query("update TypeEntity t set t.version = t.version +1 where t.id = :typeId") void updateByIdSetIncrementVersionByOne(String typeId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ViewedPagesRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ViewedPagesRepository.java index 633ed60aa..b08d9defc 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ViewedPagesRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/ViewedPagesRepository.java @@ -1,14 +1,14 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ViewedPage; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ViewedPageEntity; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; -public interface ViewedPagesRepository extends JpaRepository { +public interface ViewedPagesRepository extends JpaRepository { void deleteByFileId(String fileId); - List findByFileIdAndIdUserId(String fileId, String userId); + List findByFileIdAndIdUserId(String fileId, String userId); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/WatermarkRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/WatermarkRepository.java index 1b6453e14..adf8a9f6b 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/WatermarkRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/WatermarkRepository.java @@ -1,7 +1,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Watermark; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.WatermarkEntity; import org.springframework.data.jpa.repository.JpaRepository; -public interface WatermarkRepository extends JpaRepository { +public interface WatermarkRepository extends JpaRepository { } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/MagicConverter.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/MagicConverter.java new file mode 100644 index 000000000..640bf75a2 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/MagicConverter.java @@ -0,0 +1,116 @@ +package com.iqser.red.service.persistence.management.v1.processor.utils; + +import com.google.common.collect.Lists; +import com.iqser.red.service.persistence.service.v1.api.model.common.Page; +import lombok.SneakyThrows; +import org.springframework.beans.BeanUtils; + +import javax.persistence.EmbeddedId; +import java.lang.reflect.Constructor; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.function.BiConsumer; + +public class MagicConverter { + + + @SneakyThrows + public static T convert(S source, Class target, BiConsumer deltaMapper) { + + if (deltaMapper != null) { + var targetObject = convert(source, target); + deltaMapper.accept(source, targetObject); + return targetObject; + } else { + return convert(source, target); + } + } + + + @SneakyThrows + public static List convert(List sources, Class target, BiConsumer deltaMapper) { + + if (deltaMapper != null) { + var targetList = convert(sources, target); + for (int i = 0; i < targetList.size(); i++) { + deltaMapper.accept(sources.get(i), targetList.get(i)); + } + return targetList; + } else { + return convert(sources, target); + } + + } + + + @SneakyThrows + public static Page convert(org.springframework.data.domain.Page sources, Class target) { + Page result = new Page<>(); + result.setElements(convert(Lists.newArrayList(sources), target)); + result.setPage(sources.getNumber()); + result.setPageSize(sources.getSize()); + result.setTotalHits(sources.getTotalElements()); + return result; + + } + + @SneakyThrows + public static T convert(S source, Class target) { + var noArgsConstructor = target.getConstructor(); + return convertOne(source, target, noArgsConstructor); + } + + + @SneakyThrows + public static List convert(List sources, Class target) { + var noArgsConstructor = target.getConstructor(); + + List targetList = new ArrayList<>(); + for (var s : sources) { + targetList.add(convertOne(s, target, noArgsConstructor)); + } + return targetList; + + } + + @SneakyThrows + public static Set convert(Set sources, Class target) { + var noArgsConstructor = target.getConstructor(); + + Set targetList = new HashSet<>(); + for (var s : sources) { + targetList.add(convertOne(s, target, noArgsConstructor)); + } + return targetList; + + } + + + @SneakyThrows + public static T convertOne(S source, Class target, Constructor constructor) { + var newInstance = constructor.newInstance(); + BeanUtils.copyProperties(source, newInstance); + + for (var field : target.getDeclaredFields()) { + if (field.getAnnotation(EmbeddedId.class) != null) { + field.setAccessible(true); + var id = field.getType().getConstructor().newInstance(); + BeanUtils.copyProperties(source, id); + field.set(newInstance, id); + + } + } + + for (var field : source.getClass().getDeclaredFields()) { + if (field.getAnnotation(EmbeddedId.class) != null) { + field.setAccessible(true); + var sourceId = field.get(source); + BeanUtils.copyProperties(sourceId, newInstance); + } + } + + return newInstance; + } +} diff --git a/persistence-service-v1/persistence-service-processor-v1/src/test/java/com/iqser/red/service/persistence/management/v1/processor/service/IdentityTest.java b/persistence-service-v1/persistence-service-processor-v1/src/test/java/com/iqser/red/service/persistence/management/v1/processor/service/IdentityTest.java index 0ef01be73..2df97fddc 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/test/java/com/iqser/red/service/persistence/management/v1/processor/service/IdentityTest.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/test/java/com/iqser/red/service/persistence/management/v1/processor/service/IdentityTest.java @@ -7,7 +7,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class IdentityTest { @Test - public void mockTest(){ + public void mockTest() { int i = 1; assertThat(i).isEqualTo(1); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/test/resources/log4j2-test.xml b/persistence-service-v1/persistence-service-processor-v1/src/test/resources/log4j2-test.xml index 850803d26..82f4978f6 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/test/resources/log4j2-test.xml +++ b/persistence-service-v1/persistence-service-processor-v1/src/test/resources/log4j2-test.xml @@ -8,7 +8,7 @@ - + diff --git a/persistence-service-v1/persistence-service-server-v1/pom.xml b/persistence-service-v1/persistence-service-server-v1/pom.xml index 2c804896d..d74c61571 100644 --- a/persistence-service-v1/persistence-service-server-v1/pom.xml +++ b/persistence-service-v1/persistence-service-server-v1/pom.xml @@ -1,6 +1,6 @@ - @@ -21,12 +21,10 @@ com.iqser.red.service search-service-api-v1 - 1.2.0 com.iqser.red.service redaction-report-service-api-v1 - 3.0.0 com.iqser.red.service @@ -57,12 +55,15 @@ com.iqser.red.service pdftron-redaction-service-api-v1 - 3.0.0 com.iqser.red.service redaction-service-api-v1 + + com.iqser.red.service + persistence-service-api-v1 + @@ -99,11 +100,6 @@ com.iqser.red.commons metric-commons - - com.google.guava - guava - 29.0-jre - com.opencsv opencsv diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/Application.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/Application.java index 8bb68d506..30f51e2cf 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/Application.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/Application.java @@ -30,6 +30,16 @@ import org.springframework.scheduling.annotation.EnableAsync; public class Application { + /** + * Entry point to the service application. + * + * @param args Any command line parameter given upon startup. + */ + public static void main(String[] args) { + + SpringApplication.run(Application.class, args); + } + @Bean public RetryTemplate retryTemplate(FileManagementServiceSettings settings) { RetryTemplate retryTemplate = new RetryTemplate(); @@ -45,15 +55,5 @@ public class Application { return retryTemplate; } - /** - * Entry point to the service application. - * - * @param args Any command line parameter given upon startup. - */ - public static void main(String[] args) { - - SpringApplication.run(Application.class, args); - } - } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/TextNormalizationUtilities.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/TextNormalizationUtilities.java index 1879f9606..c24960701 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/TextNormalizationUtilities.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/TextNormalizationUtilities.java @@ -7,6 +7,7 @@ public class TextNormalizationUtilities { /** * Revert hyphenation due to line breaks. + * * @param text Text to be processed. * @return Text without line-break hyphenation. */ diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/configuration/MessagingConfiguration.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/configuration/MessagingConfiguration.java index 05925bd7c..b5c831175 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/configuration/MessagingConfiguration.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/configuration/MessagingConfiguration.java @@ -1,12 +1,11 @@ package com.iqser.red.service.peristence.v1.server.configuration; +import lombok.RequiredArgsConstructor; import org.springframework.amqp.core.Queue; import org.springframework.amqp.core.QueueBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import lombok.RequiredArgsConstructor; - @Configuration @RequiredArgsConstructor public class MessagingConfiguration { diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/AuditController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/AuditController.java index 703e98cbb..ff10a7b1a 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/AuditController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/AuditController.java @@ -1,18 +1,20 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.AuditPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditModel; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditSearchRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.CategoryModel; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditModel; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditRequest; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditSearchRequest; +import com.iqser.red.service.persistence.service.v1.api.model.audit.CategoryModel; +import com.iqser.red.service.persistence.service.v1.api.model.common.Page; import com.iqser.red.service.persistence.service.v1.api.resources.AuditResource; import lombok.RequiredArgsConstructor; -import org.springframework.data.domain.Page; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.List; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor public class AuditController implements AuditResource { @@ -26,7 +28,7 @@ public class AuditController implements AuditResource { @Override public Page search(@RequestBody AuditSearchRequest auditSearchRequest) { - return auditPersistenceService.search(auditSearchRequest); + return convert(auditPersistenceService.search(auditSearchRequest), AuditModel.class); } @Override diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java index f746f77d3..c3fdbd36b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java @@ -2,14 +2,17 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.iqser.red.service.peristence.v1.server.TextNormalizationUtilities; import com.iqser.red.service.peristence.v1.server.validation.DictionaryValidator; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.ColorsEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.DictionaryEntryEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.TypeEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException; import com.iqser.red.service.persistence.management.v1.processor.service.ColorsService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DictionaryPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.EntryPersistenceService; -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.persistence.service.v1.api.model.dossiertemplate.configuration.Colors; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionaryEntry; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.Type; import com.iqser.red.service.persistence.service.v1.api.resources.DictionaryResource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -26,6 +29,7 @@ import java.util.Optional; import java.util.regex.Matcher; import java.util.regex.Pattern; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; import static java.util.stream.Collectors.toList; @RestController @@ -50,7 +54,7 @@ public class DictionaryController implements DictionaryResource { validateEntries(cleanEntries); // To check whether the type exists, type should not be added into database implicitly by addEntry. - Type typeResult = dictionaryPersistenceService.getType(typeId); + Type typeResult = convert(dictionaryPersistenceService.getType(typeId), Type.class); // List entriesToSearch = new ArrayList<>(); @@ -59,7 +63,7 @@ public class DictionaryController implements DictionaryResource { List existing = entryPersistenceService.getEntries(typeId) .stream() .filter(e -> !e.isDeleted()) - .map(DictionaryEntry::getValue) + .map(DictionaryEntryEntity::getValue) .collect(toList()); List removed = new ArrayList<>(existing); @@ -88,13 +92,14 @@ public class DictionaryController implements DictionaryResource { validateEntries(entries); // To check whether the type exists - Type typeResult = dictionaryPersistenceService.getType(typeId); + Type typeResult = convert(dictionaryPersistenceService.getType(typeId), Type.class); + long currentVersion = typeResult.getVersion(); if (typeResult.isCaseInsensitive()) { List existing = entryPersistenceService.getEntries(typeId) .stream() - .map(DictionaryEntry::getValue) + .map(DictionaryEntryEntity::getValue) .collect(toList()); entryPersistenceService.deleteEntries(typeId, existing.stream() .filter(e -> entries.stream().anyMatch(e::equalsIgnoreCase)) @@ -115,23 +120,23 @@ public class DictionaryController implements DictionaryResource { validateBoolean(typeValueRequest.isHint(), "isHint"); validateBoolean(typeValueRequest.isCaseInsensitive(), "isCaseInsensitive"); // To check whether the type exists - Type typeResult = dictionaryPersistenceService.getType(typeId); + Type typeResult = convert(dictionaryPersistenceService.getType(typeId), Type.class); if (typeValueRequest.getLabel() != null) { - checkForDuplicateLabels(typeResult.getDossierTemplateId(), typeResult.getDossierId(), typeId, typeValueRequest.getLabel()); + checkForDuplicateLabels(typeResult.getDossierTemplateId(), typeResult.getDossierId(), typeValueRequest.getType(), typeValueRequest.getLabel()); } if (typeValueRequest.getLabel() == null) { typeValueRequest.setLabel(typeResult.getLabel()); } - dictionaryPersistenceService.updateType(typeId, typeValueRequest); + dictionaryPersistenceService.updateType(typeId, convert(typeValueRequest, TypeEntity.class)); if (typeResult.isHint() != typeValueRequest.isHint() || typeResult.isCaseInsensitive() != typeValueRequest.isCaseInsensitive() || typeResult .getRank() != typeValueRequest.getRank()) { long currentVersion = typeResult.getVersion(); - List entries = entryPersistenceService.getEntries(typeId); + List entries = convert(entryPersistenceService.getEntries(typeId), DictionaryEntry.class); entryPersistenceService.setVersion(typeId, entries.stream() .filter(entry -> !entry.isDeleted()) .map(DictionaryEntry::getValue) @@ -154,18 +159,19 @@ public class DictionaryController implements DictionaryResource { typeRequest.setLabel(label); } - checkForDuplicateLabels(typeRequest.getDossierTemplateId(), typeRequest.getDossierId(), typeRequest.getId(), typeRequest.getLabel()); + checkForDuplicateLabels(typeRequest.getDossierTemplateId(), typeRequest.getDossierId(), typeRequest.getType(), typeRequest.getLabel()); if (dictionaryPersistenceService.getCumulatedTypes(typeRequest.getDossierTemplateId(), typeRequest.getDossierId()) .stream() - .anyMatch(typeResult -> typeResult.getType().equals(typeRequest.getType()))) { + .anyMatch(typeResult -> typeRequest.getDossierId() != null && typeResult.getDossierId() != null && typeRequest.getDossierId().equals(typeResult.getDossierId()) && typeRequest.getType().equals(typeResult.getType()) && typeRequest.getDossierTemplateId().equals(typeResult.getDossierTemplateId()) + || typeRequest.getType().equals(typeResult.getType()) && typeRequest.getDossierTemplateId().equals(typeResult.getDossierTemplateId()))) { throw new ConflictException("The type already exists, could not be added again."); } String color = typeRequest.getHexColor(); validateColor(color); - return dictionaryPersistenceService.addType(typeRequest.getType(), typeRequest.getDossierTemplateId(), color, typeRequest + return convert(dictionaryPersistenceService.addType(typeRequest.getType(), typeRequest.getDossierTemplateId(), color, typeRequest .getRank(), typeRequest.isHint(), typeRequest.isCaseInsensitive(), typeRequest.isRecommendation(), typeRequest - .getDescription(), typeRequest.isAddToDictionaryAction(), typeRequest.getLabel(), typeRequest.getDossierId()); + .getDescription(), typeRequest.isAddToDictionaryAction(), typeRequest.getLabel(), typeRequest.getDossierId()), Type.class); } @@ -173,13 +179,13 @@ public class DictionaryController implements DictionaryResource { public void deleteType(@PathVariable(TYPE_PARAMETER_NAME) String typeId) { // NotFoundException would be thrown if the type not found in database. - Type typeResult = dictionaryPersistenceService.getType(typeId); + Type typeResult = convert(dictionaryPersistenceService.getType(typeId), Type.class); long currentVersion = typeResult.getVersion(); dictionaryPersistenceService.deleteType(typeId); List existing = entryPersistenceService.getEntries(typeId) .stream() - .map(DictionaryEntry::getValue) + .map(DictionaryEntryEntity::getValue) .collect(toList()); entryPersistenceService.deleteEntries(typeId, existing, currentVersion + 1); @@ -190,24 +196,24 @@ public class DictionaryController implements DictionaryResource { @Override public List getAllTypesForDossierTemplate(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId) { - return dictionaryPersistenceService.getAllTypesForDossierTemplate(dossierTemplateId); + return convert(dictionaryPersistenceService.getAllTypesForDossierTemplate(dossierTemplateId), Type.class); } @Override public List getAllTypesForDossier(@PathVariable(DOSSIER_ID_PARAMETER_NAME) String dossierId) { - return dictionaryPersistenceService.getAllTypesForDossier(dossierId); + return convert(dictionaryPersistenceService.getAllTypesForDossier(dossierId), Type.class); } @Override public Type getDictionaryForType(@PathVariable(TYPE_PARAMETER_NAME) String typeId) { - return dictionaryPersistenceService.getType(typeId); + return convert(dictionaryPersistenceService.getType(typeId), Type.class); } @Override @Transactional public List getEntriesForType(@PathVariable(TYPE_PARAMETER_NAME) String typeId) { - return dictionaryPersistenceService.getType(typeId).getEntries(); + return convert(dictionaryPersistenceService.getType(typeId).getEntries(), DictionaryEntry.class); } @@ -260,13 +266,13 @@ public class DictionaryController implements DictionaryResource { public void setColors(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId, @RequestBody Colors colors) { colors.setDossierTemplateId(dossierTemplateId); - colorsService.saveColors(colors); + colorsService.saveColors(convert(colors, ColorsEntity.class)); } @Override public Colors getColors(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId) { - return colorsService.getColors(dossierTemplateId); + return convert(colorsService.getColors(dossierTemplateId), Colors.class); } @@ -276,11 +282,12 @@ public class DictionaryController implements DictionaryResource { } - private void checkForDuplicateLabels(String dossierTemplateId, String dossierId, String typeId, String labelToCheck) { + private void checkForDuplicateLabels(String dossierTemplateId, String dossierId, String type, String labelToCheck) { - List typeResponse = dictionaryPersistenceService.getCumulatedTypes(dossierTemplateId, dossierId); - for (Type res : typeResponse) { - if (!typeId.equals(res.getId()) && labelToCheck.equals(res.getLabel())) { + List typeResponse = dictionaryPersistenceService.getCumulatedTypes(dossierTemplateId, dossierId); + for (TypeEntity res : typeResponse) { + if (res.getDossierId() != null && res.getDossierId().equals(dossierId) && !type.equals(res.getType()) && res.getDossierTemplateId().equals(dossierTemplateId) && labelToCheck.equals(res.getLabel()) + || !type.equals(res.getType()) && res.getDossierTemplateId().equals(dossierTemplateId) && labelToCheck.equals(res.getLabel())) { throw new ConflictException("Label must be unique."); } } @@ -294,7 +301,7 @@ public class DictionaryController implements DictionaryResource { str = str.replaceAll("_+?", " "); str = str.replaceAll(" +", " "); - StringBuffer strbf = new StringBuffer(); + StringBuilder strbf = new StringBuilder(); Matcher match = Pattern.compile("([a-z])([a-z]*)", Pattern.CASE_INSENSITIVE).matcher(str); while (match.find()) { match.appendReplacement(strbf, match.group(1).toUpperCase() + match.group(2)); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DigitalSignatureController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DigitalSignatureController.java index 884f20bf8..c6bb6d654 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DigitalSignatureController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DigitalSignatureController.java @@ -1,13 +1,15 @@ package com.iqser.red.service.peristence.v1.server.controller; -import com.iqser.red.service.persistence.service.v1.api.model.DigitalSignatureUpdateModel; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DigitalSignature; -import com.iqser.red.service.persistence.service.v1.api.resources.DigitalSignatureResource; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.DigitalSignatureEntity; import com.iqser.red.service.persistence.management.v1.processor.service.DigitalSignatureService; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.DigitalSignature; +import com.iqser.red.service.persistence.service.v1.api.resources.DigitalSignatureResource; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor public class DigitalSignatureController implements DigitalSignatureResource { @@ -16,18 +18,18 @@ public class DigitalSignatureController implements DigitalSignatureResource { @Override public DigitalSignature saveDigitalSignature(@RequestBody DigitalSignature digitalSignature) { - return digitalSignatureService.saveDigitalSignature(digitalSignature); + return convert(digitalSignatureService.saveDigitalSignature(convert(digitalSignature, DigitalSignatureEntity.class)), DigitalSignature.class); } @Override public void updateDigitalSignature(@RequestBody DigitalSignature digitalSignature) { - digitalSignatureService.updateDigitalSignature(digitalSignature); + digitalSignatureService.updateDigitalSignature(convert(digitalSignature, DigitalSignatureEntity.class)); } @Override public DigitalSignature getDigitalSignature() { - return digitalSignatureService.getDigitalSignature(); + return convert(digitalSignatureService.getDigitalSignature(), DigitalSignature.class); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierAttributesConfigController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierAttributesConfigController.java index f708bbd72..bf613783c 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierAttributesConfigController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierAttributesConfigController.java @@ -1,7 +1,8 @@ package com.iqser.red.service.peristence.v1.server.controller; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeConfigEntity; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributeConfigPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttributeConfig; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierAttributeConfig; import com.iqser.red.service.persistence.service.v1.api.resources.DossierAttributesConfigResource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -11,6 +12,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @Slf4j @RestController @RequiredArgsConstructor @@ -22,13 +25,17 @@ public class DossierAttributesConfigController implements DossierAttributesConfi @Override public DossierAttributeConfig addOrUpdateDossierAttribute(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId, @RequestBody DossierAttributeConfig dossierAttributeConfig) { - return dossierAttributeConfigPersistenceService.addOrUpdateDossierAttribute(dossierTemplateId, dossierAttributeConfig); + return convert( + dossierAttributeConfigPersistenceService.addOrUpdateDossierAttribute(dossierTemplateId, + convert(dossierAttributeConfig, DossierAttributeConfigEntity.class)), DossierAttributeConfig.class); } @Override public List setDossierAttributesConfig(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId, @RequestBody List dossierAttributesConfig) { - return dossierAttributeConfigPersistenceService.setDossierAttributesConfig(dossierTemplateId, dossierAttributesConfig); + return convert( + dossierAttributeConfigPersistenceService.setDossierAttributesConfig(dossierTemplateId, + convert(dossierAttributesConfig, DossierAttributeConfigEntity.class)), DossierAttributeConfig.class); } @Override @@ -43,6 +50,6 @@ public class DossierAttributesConfigController implements DossierAttributesConfi @Override public List getDossierAttributes(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId) { - return dossierAttributeConfigPersistenceService.getDossierAttributes(dossierTemplateId); + return convert(dossierAttributeConfigPersistenceService.getDossierAttributes(dossierTemplateId), DossierAttributeConfig.class); } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierAttributesController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierAttributesController.java index 3a1153899..2c31faa81 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierAttributesController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierAttributesController.java @@ -1,20 +1,21 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.iqser.red.service.peristence.v1.server.service.DossierService; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeConfigEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributeConfigPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierAttributePersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttribute; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttributeConfig; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierAttribute; import com.iqser.red.service.persistence.service.v1.api.resources.DossierAttributesResource; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import javax.transaction.Transactional; import java.util.List; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor public class DossierAttributesController implements DossierAttributesResource { @@ -31,7 +32,7 @@ public class DossierAttributesController implements DossierAttributesResource { var dossier = dossierService.getDossierById(dossierId); var config = dossierAttributeConfigPersistenceService.getDossierAttributes(dossier.getDossierTemplateId()); for (DossierAttribute dossierAttribute : dossierAttributes) { - if (config.stream().map(DossierAttributeConfig::getId).noneMatch(id -> id.equals(dossierAttribute.getId().getDossierAttributeConfigId()))) { + if (config.stream().map(DossierAttributeConfigEntity::getId).noneMatch(id -> id.equals(dossierAttribute.getDossierAttributeConfigId()))) { throw new ConflictException("Dossier attribute configuration does not exist."); } } @@ -39,7 +40,7 @@ public class DossierAttributesController implements DossierAttributesResource { dossierAttributePersistenceService.deleteDossierAttribute(dossierId); for (DossierAttribute dossierAttribute : dossierAttributes) { - dossierAttributePersistenceService.insertDossierAttribute(dossierId, dossierAttribute.getId().getDossierAttributeConfigId(), dossierAttribute.getValue()); + dossierAttributePersistenceService.insertDossierAttribute(dossierId, dossierAttribute.getDossierAttributeConfigId(), dossierAttribute.getValue()); } return getDossierAttributes(dossierId); @@ -54,22 +55,23 @@ public class DossierAttributesController implements DossierAttributesResource { var config = dossierAttributeConfigPersistenceService.getDossierAttributes(dossier.getDossierTemplateId()); - if (config.stream().map(DossierAttributeConfig::getId).noneMatch(id -> id.equals(dossierAttribute.getId().getDossierAttributeConfigId()))) { + if (config.stream().map(DossierAttributeConfigEntity::getId).noneMatch(id -> id.equals(dossierAttribute.getDossierAttributeConfigId()))) { throw new ConflictException("Dossier attribute configuration does not exist."); } - if (dossierAttributes.stream().anyMatch(d -> d.getId().equals(dossierAttribute.getId()))) { - dossierAttributePersistenceService.updateDossierAttribute(dossierId, dossierAttribute.getId().getDossierAttributeConfigId(), dossierAttribute.getValue()); + if (dossierAttributes.stream().anyMatch(d -> d.getId().getDossierId().equals(dossierAttribute.getDossierId()) + && d.getId().getDossierAttributeConfigId().equals(dossierAttribute.getDossierAttributeConfigId()))) { + dossierAttributePersistenceService.updateDossierAttribute(dossierId, dossierAttribute.getDossierAttributeConfigId(), dossierAttribute.getValue()); } else { - dossierAttributePersistenceService.insertDossierAttribute(dossierId, dossierAttribute.getId().getDossierAttributeConfigId(), dossierAttribute.getValue()); + dossierAttributePersistenceService.insertDossierAttribute(dossierId, dossierAttribute.getDossierAttributeConfigId(), dossierAttribute.getValue()); } - return dossierAttributePersistenceService.findOne(dossierId, dossierAttribute.getId().getDossierAttributeConfigId()); + return convert(dossierAttributePersistenceService.findOne(dossierId, dossierAttribute.getDossierAttributeConfigId()), DossierAttribute.class); } @Override public List getDossierAttributes(@PathVariable(DOSSIER_ID_PARAM) String dossierId) { - return dossierAttributePersistenceService.getDossierAttributes(dossierId); + return convert(dossierAttributePersistenceService.getDossierAttributes(dossierId), DossierAttribute.class); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java index e18bbf8f0..1349910dd 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java @@ -3,11 +3,13 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.iqser.red.service.peristence.v1.server.service.DossierService; import com.iqser.red.service.peristence.v1.server.service.FileService; import com.iqser.red.service.peristence.v1.server.service.FileStatusService; +import com.iqser.red.service.peristence.v1.server.utils.DossierMapper; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatus; import com.iqser.red.service.persistence.service.v1.api.resources.DossierResource; import feign.Param; import lombok.RequiredArgsConstructor; @@ -15,11 +17,13 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import javax.transaction.Transactional; import java.time.OffsetDateTime; import java.util.List; import java.util.Set; import java.util.stream.Collectors; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; import static com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException.DOSSIER_NOT_FOUND_MESSAGE; @RestController @@ -32,17 +36,19 @@ public class DossierController implements DossierResource { @Override + @Transactional public Dossier addDossier(@RequestBody CreateOrUpdateDossierRequest dossierRequest) { - return dossierService.addDossier(dossierRequest); + return convert(dossierService.addDossier(dossierRequest), Dossier.class, new DossierMapper()); } @Override + @Transactional public Dossier updateDossier(@RequestBody CreateOrUpdateDossierRequest dossierRequest, @PathVariable(DOSSIER_ID_PARAM) String dossierId) { - return dossierService.updateDossier(dossierRequest, dossierId); + return convert(dossierService.updateDossier(dossierRequest, dossierId), Dossier.class, new DossierMapper()); } @@ -51,15 +57,15 @@ public class DossierController implements DossierResource { OffsetDateTime now = OffsetDateTime.now(); - Dossier dossier = dossierService.getDossierById(dossierId); + DossierEntity dossier = dossierService.getDossierById(dossierId); if (dossier.getStatus().equals(DossierStatus.DELETED)) { throw new DossierNotFoundException(String.format(DOSSIER_NOT_FOUND_MESSAGE, dossierId)); } - List fileStatuses = fileStatusService.getDossierStatus(dossierId); + List fileStatuses = fileStatusService.getDossierStatus(dossierId); fileStatuses.stream().filter(fileStatus -> fileStatus.getDeleted() == null).forEach(fileStatus -> { fileService.softDeleteFile(dossierId, fileStatus.getId(), now); - fileStatusService.setFileStatusDeleted( fileStatus.getId(), now); + fileStatusService.setFileStatusDeleted(fileStatus.getId(), now); }); dossierService.softDeleteDossier(dossierId, now); @@ -67,33 +73,36 @@ public class DossierController implements DossierResource { @Override + @Transactional public List getAllDossiers() { - return dossierService.getAllDossiers() + return convert(dossierService.getAllDossiers() .stream() .filter(p -> p.getStatus().equals(DossierStatus.ACTIVE)) - .collect(Collectors.toList()); + .collect(Collectors.toList()), Dossier.class, new DossierMapper()); } @Override + @Transactional public Dossier getDossierById(@Param(DOSSIER_ID_PARAM) @PathVariable(DOSSIER_ID_PARAM) String dossierId) { - Dossier dossier = dossierService.getDossierById(dossierId); + DossierEntity dossier = dossierService.getDossierById(dossierId); if (dossier.getStatus().equals(DossierStatus.DELETED)) { throw new DossierNotFoundException(String.format(DOSSIER_NOT_FOUND_MESSAGE, dossierId)); } - return dossier; + return convert(dossier, Dossier.class, new DossierMapper()); } @Override + @Transactional public List getSoftDeletedDossiers() { - return dossierService.getAllDossiers() + return convert(dossierService.getAllDossiers() .stream() .filter(p -> p.getStatus().equals(DossierStatus.DELETED) && p.getHardDeletedTime() == null) - .collect(Collectors.toList()); + .collect(Collectors.toList()), Dossier.class, new DossierMapper()); } @@ -101,9 +110,9 @@ public class DossierController implements DossierResource { public void hardDeleteDossiers(@RequestBody Set dossierIds) { for (String dossierId : dossierIds) { - Dossier dossier = dossierService.getDossierById(dossierId); + DossierEntity dossier = dossierService.getDossierById(dossierId); dossierService.hardDeleteDossier(dossier.getId()); - List fileStatuses = fileStatusService.getDossierStatus(dossierId); + List fileStatuses = fileStatusService.getDossierStatus(dossierId); fileStatuses.forEach(fileStatus -> { fileService.hardDeleteFile(dossierId, fileStatus.getId()); fileStatusService.setFileStatusHardDeleted(fileStatus.getId()); @@ -118,12 +127,12 @@ public class DossierController implements DossierResource { for (String dossierId : dossierIds) { var dossier = dossierService.getDossierById(dossierId); - List fileStatuses = fileStatusService.getDossierStatus(dossierId); + List fileStatuses = fileStatusService.getDossierStatus(dossierId); fileStatuses.forEach(fileStatus -> { if (fileStatus.getDeleted().equals(dossier.getSoftDeletedTime()) || fileStatus.getDeleted() .isAfter(dossier.getSoftDeletedTime())) { fileService.undeleteFile(dossier.getDossierTemplateId(), dossierId, fileStatus.getId(), dossier.getSoftDeletedTime()); - fileStatusService.setFileStatusUndeleted( fileStatus.getId()); + fileStatusService.setFileStatusUndeleted(fileStatus.getId()); } }); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierTemplateController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierTemplateController.java index 73172c3a4..01c8e6aba 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierTemplateController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierTemplateController.java @@ -2,8 +2,8 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierTemplatePersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierTemplateRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplate; import com.iqser.red.service.persistence.service.v1.api.resources.DossierTemplateResource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @Slf4j @RestController @RequiredArgsConstructor @@ -23,17 +25,17 @@ public class DossierTemplateController implements DossierTemplateResource { @Override public DossierTemplate createOrUpdateDossierTemplate(@RequestBody CreateOrUpdateDossierTemplateRequest dossierTemplate) { - return dossierTemplatePersistenceService.createOrUpdateDossierTemplate(dossierTemplate); + return convert(dossierTemplatePersistenceService.createOrUpdateDossierTemplate(dossierTemplate), DossierTemplate.class); } @Override public List getAllDossierTemplates() { - return dossierTemplatePersistenceService.getAllDossierTemplates(); + return convert(dossierTemplatePersistenceService.getAllDossierTemplates(), DossierTemplate.class); } @Override public DossierTemplate getDossierTemplate(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId) { - return dossierTemplatePersistenceService.getDossierTemplate(dossierTemplateId); + return convert(dossierTemplatePersistenceService.getDossierTemplate(dossierTemplateId), DossierTemplate.class); } @Override diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DownloadController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DownloadController.java index e4af38e9b..084b9115e 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DownloadController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DownloadController.java @@ -2,16 +2,17 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.iqser.red.service.peristence.v1.server.configuration.MessagingConfiguration; import com.iqser.red.service.peristence.v1.server.model.DownloadJob; import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils; -import com.iqser.red.service.peristence.v1.server.configuration.MessagingConfiguration; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.download.DownloadStatusEntity; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.DownloadRequest; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; -import com.iqser.red.service.persistence.service.v1.api.model.data.download.DownloadStatus; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadRequest; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadStatus; import com.iqser.red.service.persistence.service.v1.api.resources.DownloadResource; import lombok.RequiredArgsConstructor; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -23,6 +24,8 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor public class DownloadController implements DownloadResource { @@ -56,7 +59,7 @@ public class DownloadController implements DownloadResource { public List getDownloadStatus(@PathVariable(USER_ID) String userId) { - return downloadStatusPersistenceService.getStatusesByUser(userId); + return convert(downloadStatusPersistenceService.getStatusesByUser(userId), DownloadStatus.class); } @@ -87,13 +90,13 @@ public class DownloadController implements DownloadResource { private String buildName(String dossierId, List fileIds, String userId, String mimeType, - List existingFileStatuses) { + List existingFileStatuses) { var dossier = dossierPersistenceService.getAndValidateDossier(dossierId); Set existingFilenames = downloadStatusPersistenceService.getStatusesByUser(userId) .stream() - .map(DownloadStatus::getFilename) + .map(DownloadStatusEntity::getFilename) .collect(Collectors.toSet()); if (fileIds.size() == 1) { @@ -147,7 +150,7 @@ public class DownloadController implements DownloadResource { if ("application/zip".equalsIgnoreCase(mimeType)) { return ".zip"; } - return ".data"; + return ".entity"; } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesConfigController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesConfigController.java index 79b6db827..c31f527e8 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesConfigController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesConfigController.java @@ -1,8 +1,10 @@ package com.iqser.red.service.peristence.v1.server.controller; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.FileAttributesGeneralConfigurationEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.FileAttributesGeneralConfiguration; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttributeConfig; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.FileAttributesGeneralConfiguration; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileAttributeConfig; import com.iqser.red.service.persistence.service.v1.api.resources.FileAttributesConfigResource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -12,6 +14,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @Slf4j @RestController @RequiredArgsConstructor @@ -22,23 +26,24 @@ public class FileAttributesConfigController implements FileAttributesConfigResou @Override public FileAttributeConfig addOrUpdateFileAttributeConfig(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId, @RequestBody FileAttributeConfig fileAttributeConfig) { - return fileAttributeConfigPersistenceService.addOrUpdateFileAttribute(dossierTemplateId, fileAttributeConfig); + return convert(fileAttributeConfigPersistenceService.addOrUpdateFileAttribute(dossierTemplateId, convert(fileAttributeConfig, FileAttributeConfigEntity.class)), FileAttributeConfig.class); } @Override public FileAttributesGeneralConfiguration setFileAttributesGeneralConfig(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId, @RequestBody FileAttributesGeneralConfiguration fileAttributesConfig) { - return fileAttributeConfigPersistenceService.setFileAttributesGeneralConfig(dossierTemplateId, fileAttributesConfig); + return convert(fileAttributeConfigPersistenceService.setFileAttributesGeneralConfig(dossierTemplateId, + convert(fileAttributesConfig, FileAttributesGeneralConfigurationEntity.class)), FileAttributesGeneralConfiguration.class); } @Override public FileAttributesGeneralConfiguration getFileAttributesGeneralConfig(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId) { - return fileAttributeConfigPersistenceService.getFileAttributesGeneralConfiguration(dossierTemplateId); + return convert(fileAttributeConfigPersistenceService.getFileAttributesGeneralConfiguration(dossierTemplateId), FileAttributesGeneralConfiguration.class); } @Override public List setFileAttributesConfig(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId, @RequestBody List fileAttributesConfig) { - return fileAttributeConfigPersistenceService.setFileAttributesConfig(dossierTemplateId, fileAttributesConfig); + return convert(fileAttributeConfigPersistenceService.setFileAttributesConfig(dossierTemplateId, convert(fileAttributesConfig, FileAttributeConfigEntity.class)), FileAttributeConfig.class); } @Override @@ -53,6 +58,6 @@ public class FileAttributesConfigController implements FileAttributesConfigResou @Override public List getFileAttributeConfigs(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId) { - return fileAttributeConfigPersistenceService.getFileAttributes(dossierTemplateId); + return convert(fileAttributeConfigPersistenceService.getFileAttributes(dossierTemplateId), FileAttributeConfig.class); } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesController.java index 23058d11f..5b73a6054 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileAttributesController.java @@ -3,13 +3,17 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.google.common.collect.Lists; import com.iqser.red.service.peristence.v1.server.service.DossierService; import com.iqser.red.service.peristence.v1.server.service.FileStatusService; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.FileAttributesGeneralConfigurationEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +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.FileEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.ImportCsvRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ImportCsvResponse; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.FileAttributesGeneralConfiguration; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.*; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ImportCsvRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ImportCsvResponse; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import com.iqser.red.service.persistence.service.v1.api.resources.FileAttributesResource; import com.iqser.red.service.persistence.service.v1.api.utils.SuppressFBWarnings; import com.opencsv.CSVParser; @@ -48,15 +52,15 @@ public class FileAttributesController implements FileAttributesResource { public ImportCsvResponse importCsv(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @RequestBody ImportCsvRequest importCsvRequest) { - Dossier dossier = dossierService.getDossierById(dossierId); + DossierEntity dossier = dossierService.getDossierById(dossierId); - FileAttributesGeneralConfiguration generalConfiguration = fileAttributeConfigPersistenceService.getFileAttributesGeneralConfiguration(dossier.getDossierTemplateId()); - List configuration = fileAttributeConfigPersistenceService.getFileAttributes(dossier.getDossierTemplateId()); + FileAttributesGeneralConfigurationEntity generalConfiguration = fileAttributeConfigPersistenceService.getFileAttributesGeneralConfiguration(dossier.getDossierTemplateId()); + List configuration = fileAttributeConfigPersistenceService.getFileAttributes(dossier.getDossierTemplateId()); - Map fileStatusByFilename = fileStatusService.getDossierStatus(dossierId) + Map fileStatusByFilename = fileStatusService.getDossierStatus(dossierId) .stream() .filter(f -> !f.getStatus().equals(FileStatus.DELETED)) - .collect(Collectors.toMap(File::getFilename, Function.identity())); + .collect(Collectors.toMap(FileEntity::getFilename, Function.identity())); List> rows = getCsvRecords(importCsvRequest.getCsvFile(), generalConfiguration.getDelimiter()); @@ -69,7 +73,7 @@ public class FileAttributesController implements FileAttributesResource { if (headerRow.get(i).equals(generalConfiguration.getFilenameMappingColumnHeaderName())) { filenameMappingColumn = i; } else { - for (FileAttributeConfig fileAttributeConfig : configuration) { + for (FileAttributeConfigEntity fileAttributeConfig : configuration) { if (headerRow.get(i).equals(fileAttributeConfig.getCsvColumnHeader())) { attributeIdToColumnMapping.put(fileAttributeConfig.getId(), i); } @@ -115,7 +119,6 @@ public class FileAttributesController implements FileAttributesResource { } - @Transactional public void setFileAttributes(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @PathVariable(FILE_ID) String fileId, @RequestBody Map fileAttributesMap) { @@ -123,14 +126,14 @@ public class FileAttributesController implements FileAttributesResource { fileStatusPersistenceService.setFileAttributes(fileId, convertFileAttributes(dossierId, fileId, fileAttributesMap)); } - private List convertFileAttributes(String dossierId, String fileId, Map fileAttributesMap) { + private List convertFileAttributes(String dossierId, String fileId, Map fileAttributesMap) { var dossier = dossierService.getDossierById(dossierId); var file = fileStatusService.getStatus(fileId); - List configuration = fileAttributeConfigPersistenceService.getFileAttributes(dossier.getDossierTemplateId()); + List configuration = fileAttributeConfigPersistenceService.getFileAttributes(dossier.getDossierTemplateId()); return fileAttributesMap.entrySet().stream().map(entry -> { - var fa = new FileAttribute(); - fa.setFileAttributeId(new FileAttribute.FileAttributeId()); + var fa = new FileAttributeEntity(); + fa.setFileAttributeId(new FileAttributeEntity.FileAttributeEntityId()); fa.setFile(file); fa.setFileAttributeConfig(configuration.stream().filter(c -> c.getId().equals(entry.getKey())).findAny().orElseThrow(() -> new BadRequestException("Invalid File Attribute Id"))); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java index ee4b44d96..83e0bbb66 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java @@ -1,11 +1,14 @@ package com.iqser.red.service.peristence.v1.server.controller; +import com.iqser.red.service.peristence.v1.server.service.AnalysisFlagsCalculationService; import com.iqser.red.service.peristence.v1.server.service.DossierService; import com.iqser.red.service.peristence.v1.server.service.ExcludeFromAnalysisService; import com.iqser.red.service.peristence.v1.server.service.FileStatusService; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; +import com.iqser.red.service.peristence.v1.server.utils.FileModelMapper; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import com.iqser.red.service.persistence.service.v1.api.resources.StatusResource; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PathVariable; @@ -17,6 +20,8 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor public class FileStatusController implements StatusResource { @@ -24,41 +29,42 @@ public class FileStatusController implements StatusResource { private final FileStatusService fileStatusService; private final DossierService dossierService; private final ExcludeFromAnalysisService excludeFromAnalysis; + private final AnalysisFlagsCalculationService analysisFlagsCalculationService; @Override - public List getAllStatuses() { + public List getAllStatuses() { - return fileStatusService.getAllStatuses() + return convert(fileStatusService.getAllStatuses() .stream() .filter(f -> !f.getStatus().equals(FileStatus.DELETED)) - .collect(Collectors.toList()); + .collect(Collectors.toList()), FileModel.class, new FileModelMapper()); } @Override - public List getDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId) { + public List getDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId) { - return fileStatusService.getDossierStatus(dossierId) + return convert(fileStatusService.getDossierStatus(dossierId) .stream() .filter(f -> !f.getStatus().equals(FileStatus.DELETED)) - .collect(Collectors.toList()); + .collect(Collectors.toList()), FileModel.class, new FileModelMapper()); } @Override - public List getSoftDeletedDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId) { + public List getSoftDeletedDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId) { - return fileStatusService.getDossierStatus(dossierId) + return convert(fileStatusService.getDossierStatus(dossierId) .stream() .filter(f -> f.getStatus().equals(FileStatus.DELETED) && f.getHardDeletedTime() == null) - .collect(Collectors.toList()); + .collect(Collectors.toList()), FileModel.class, new FileModelMapper()); } @Override - public File getFileStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId, - @PathVariable(FILE_ID) String fileId) { + public FileModel getFileStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId, + @PathVariable(FILE_ID) String fileId) { - return fileStatusService.getStatus(fileId); + return convert(fileStatusService.getStatus(fileId), FileModel.class, new FileModelMapper()); } @@ -76,7 +82,7 @@ public class FileStatusController implements StatusResource { @PathVariable(FILE_ID) String fileId) { - File fileStatus = fileStatusService.getStatus(fileId); + FileEntity fileStatus = fileStatusService.getStatus(fileId); String lastReviewer = fileStatus.getLastReviewer(); fileStatusService.setCurrentReviewer(dossierId, fileId, lastReviewer); fileStatusService.setStatusSuccessful(fileId, FileStatus.UNDER_REVIEW); @@ -112,21 +118,22 @@ public class FileStatusController implements StatusResource { public void excludePages(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @PathVariable(FILE_ID) String fileId, @RequestBody Set pages) { - File fileStatus = fileStatusService.getStatus(fileId); + FileEntity fileStatus = fileStatusService.getStatus(fileId); Set excludedPages = fileStatus.getExcludedPages(); excludedPages.addAll(pages); fileStatusService.setExcludedPages(fileId, pages); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } - public void includePages(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @PathVariable(FILE_ID) String fileId, @RequestBody Set pages) { - File fileStatus = fileStatusService.getStatus(fileId); + FileEntity fileStatus = fileStatusService.getStatus(fileId); Set excludedPages = fileStatus.getExcludedPages(); excludedPages.removeAll(pages); fileStatusService.setExcludedPages(fileId, excludedPages); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusProcessingUpdateController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusProcessingUpdateController.java index ca9482107..48e7a9ebe 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusProcessingUpdateController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusProcessingUpdateController.java @@ -1,11 +1,9 @@ package com.iqser.red.service.peristence.v1.server.controller; -import com.iqser.red.service.persistence.service.v1.api.resources.FileStatusProcessingUpdateResource; import com.iqser.red.service.peristence.v1.server.service.FileStatusProcessingUpdateService; +import com.iqser.red.service.persistence.service.v1.api.resources.FileStatusProcessingUpdateResource; import com.iqser.red.service.redaction.v1.model.AnalyzeResult; - import lombok.RequiredArgsConstructor; - import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/LegalBasisMappingController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/LegalBasisMappingController.java index cae881757..28b3abb3a 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/LegalBasisMappingController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/LegalBasisMappingController.java @@ -1,9 +1,10 @@ package com.iqser.red.service.peristence.v1.server.controller; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.LegalBasisEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.LegalBasisMappingEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.LegalBasisMappingRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.LegalBasis; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.LegalBasisMapping; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis.LegalBasis; import com.iqser.red.service.persistence.service.v1.api.resources.LegalBasisMappingResource; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PathVariable; @@ -13,6 +14,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.transaction.Transactional; import java.util.List; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor @@ -28,12 +31,12 @@ public class LegalBasisMappingController implements LegalBasisMappingResource { legalBasisMappingRepository.findById(dossierTemplateId).ifPresentOrElse((lbm) -> { lbm.setVersion(lbm.getVersion() + 1); - lbm.setLegalBasis(legalBasisMapping); + lbm.setLegalBasis(convert(legalBasisMapping, LegalBasisEntity.class)); legalBasisMappingRepository.save(lbm); }, () -> { - var lbm = new LegalBasisMapping(); + var lbm = new LegalBasisMappingEntity(); lbm.setDossierTemplateId(dossierTemplateId); - lbm.setLegalBasis(legalBasisMapping); + lbm.setLegalBasis(convert(legalBasisMapping, LegalBasisEntity.class)); lbm.setVersion(1); legalBasisMappingRepository.save(lbm); }); @@ -43,11 +46,13 @@ public class LegalBasisMappingController implements LegalBasisMappingResource { @Override @Transactional public List getLegalBasisMapping(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId) { - return legalBasisMappingRepository.findById(dossierTemplateId).map(LegalBasisMapping::getLegalBasis).orElseThrow(() -> new NotFoundException("Legal Basis Not configured!")); + return convert( + legalBasisMappingRepository.findById(dossierTemplateId).map(LegalBasisMappingEntity::getLegalBasis) + .orElseThrow(() -> new NotFoundException("Legal Basis Not configured!")), LegalBasis.class); } @Override public long getVersion(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId) { - return legalBasisMappingRepository.findById(dossierTemplateId).map(LegalBasisMapping::getVersion).orElse(0L); + return legalBasisMappingRepository.findById(dossierTemplateId).map(LegalBasisMappingEntity::getVersion).orElse(0L); } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/LicenseReportController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/LicenseReportController.java index 3509f8b29..ed10227a1 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/LicenseReportController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/LicenseReportController.java @@ -1,16 +1,14 @@ package com.iqser.red.service.peristence.v1.server.controller; +import com.iqser.red.service.peristence.v1.server.service.LicenseReportService; +import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReport; +import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReportRequest; +import com.iqser.red.service.persistence.service.v1.api.resources.LicenseReportResource; +import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.iqser.red.service.persistence.service.v1.api.model.LicenseReport; -import com.iqser.red.service.persistence.service.v1.api.model.LicenseReportRequest; -import com.iqser.red.service.persistence.service.v1.api.resources.LicenseReportResource; -import com.iqser.red.service.peristence.v1.server.service.LicenseReportService; - -import lombok.RequiredArgsConstructor; - @RestController @RequiredArgsConstructor public class LicenseReportController implements LicenseReportResource { diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ManualRedactionController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ManualRedactionController.java index ea09498cb..00cca0ee8 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ManualRedactionController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ManualRedactionController.java @@ -1,19 +1,25 @@ package com.iqser.red.service.peristence.v1.server.controller; +import com.iqser.red.service.peristence.v1.server.service.AnalysisFlagsCalculationService; import com.iqser.red.service.peristence.v1.server.service.ManualRedactionService; -import com.iqser.red.service.persistence.service.v1.api.model.*; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.*; +import com.iqser.red.service.peristence.v1.server.utils.ManualImageRecategorizationMapper; +import com.iqser.red.service.peristence.v1.server.utils.ManualRedactionMapper; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.*; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; import com.iqser.red.service.persistence.service.v1.api.resources.ManualRedactionResource; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor public class ManualRedactionController implements ManualRedactionResource { private final ManualRedactionService manualRedactionService; + private final AnalysisFlagsCalculationService analysisFlagsCalculationService; @Override @@ -21,7 +27,9 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(FILE_ID) String fileId, @RequestBody AddRedactionRequest addRedactionRequest) { - return manualRedactionService.addAddRedaction(dossierId, fileId, addRedactionRequest); + var resp = manualRedactionService.addAddRedaction(dossierId, fileId, addRedactionRequest); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); + return resp; } @@ -30,7 +38,9 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(FILE_ID) String fileId, @RequestBody RemoveRedactionRequest removeRedactionRequest) { - return manualRedactionService.addRemoveRedaction(dossierId, fileId, removeRedactionRequest); + var resp = manualRedactionService.addRemoveRedaction(dossierId, fileId, removeRedactionRequest); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); + return resp; } @@ -39,7 +49,9 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(FILE_ID) String fileId, @RequestBody ForceRedactionRequest forceRedactionRequest) { - return manualRedactionService.addForceRedaction(dossierId, fileId, forceRedactionRequest); + var resp = manualRedactionService.addForceRedaction(dossierId, fileId, forceRedactionRequest); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); + return resp; } @@ -48,7 +60,9 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(FILE_ID) String fileId, @RequestBody LegalBasisChangeRequest legalBasisChangeRequest) { - return manualRedactionService.addLegalBasisChange(dossierId, fileId, legalBasisChangeRequest); + var resp = manualRedactionService.addLegalBasisChange(dossierId, fileId, legalBasisChangeRequest); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); + return resp; } @@ -57,7 +71,9 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(FILE_ID) String fileId, @RequestBody ImageRecategorizationRequest imageRecategorizationRequest) { - return manualRedactionService.addImageRecategorization(dossierId, fileId, imageRecategorizationRequest); + var resp = manualRedactionService.addImageRecategorization(dossierId, fileId, imageRecategorizationRequest); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); + return resp; } @@ -66,7 +82,9 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(ANNOTATION_ID) String annotationId, @RequestBody CommentRequest comment) { - return manualRedactionService.addComment(fileId, annotationId, comment); + var resp = convert(manualRedactionService.addComment(fileId, annotationId, comment), Comment.class); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); + return resp; } @@ -74,7 +92,7 @@ public class ManualRedactionController implements ManualRedactionResource { public ManualRedactionEntry getAddRedaction(@PathVariable(FILE_ID) String fileId, @PathVariable(ANNOTATION_ID) String annotationId) { - return manualRedactionService.getAddRedaction(fileId, annotationId); + return convert(manualRedactionService.getAddRedaction(fileId, annotationId), ManualRedactionEntry.class, new ManualRedactionMapper()); } @@ -82,21 +100,21 @@ public class ManualRedactionController implements ManualRedactionResource { public IdRemoval getRemoveRedaction(@PathVariable(FILE_ID) String fileId, @PathVariable(ANNOTATION_ID) String annotationId) { - return manualRedactionService.getRemoveRedaction(fileId, annotationId); + return convert(manualRedactionService.getRemoveRedaction(fileId, annotationId), IdRemoval.class); } public ManualForceRedaction getForceRedaction(@PathVariable(FILE_ID) String fileId, @PathVariable(ANNOTATION_ID) String annotationId) { - return manualRedactionService.getForceRedaction(fileId, annotationId); + return convert(manualRedactionService.getForceRedaction(fileId, annotationId), ManualForceRedaction.class); } public ManualLegalBasisChange getLegalBasisChange(@PathVariable(FILE_ID) String fileId, @PathVariable(ANNOTATION_ID) String annotationId) { - return manualRedactionService.getLegalBasisChange(fileId, annotationId); + return convert(manualRedactionService.getLegalBasisChange(fileId, annotationId), ManualLegalBasisChange.class); } @@ -104,14 +122,14 @@ public class ManualRedactionController implements ManualRedactionResource { public ManualImageRecategorization getImageRecategorization(@PathVariable(FILE_ID) String fileId, @PathVariable(ANNOTATION_ID) String annotationId) { - return manualRedactionService.getImageRecategorization(fileId, annotationId); + return convert(manualRedactionService.getImageRecategorization(fileId, annotationId), ManualImageRecategorization.class, new ManualImageRecategorizationMapper()); } @Override public Comment getComment(@PathVariable(COMMENT_ID) long commentId) { - return manualRedactionService.getComment(commentId); + return convert(manualRedactionService.getComment(commentId), Comment.class); } @@ -120,6 +138,7 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(ANNOTATION_ID) String annotationId) { manualRedactionService.deleteAddRedaction(dossierId, fileId, annotationId); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -128,6 +147,7 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(ANNOTATION_ID) String annotationId) { manualRedactionService.deleteRemoveRedaction(dossierId, fileId, annotationId); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -136,6 +156,7 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(ANNOTATION_ID) String annotationId) { manualRedactionService.deleteForceRedaction(dossierId, fileId, annotationId); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -144,6 +165,7 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(ANNOTATION_ID) String annotationId) { manualRedactionService.deleteLegalBasisChange(dossierId, fileId, annotationId); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -153,6 +175,7 @@ public class ManualRedactionController implements ManualRedactionResource { @PathVariable(ANNOTATION_ID) String annotationId) { manualRedactionService.deleteImageRecategorization(dossierId, fileId, annotationId); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -160,6 +183,7 @@ public class ManualRedactionController implements ManualRedactionResource { public void deleteComment(@PathVariable(FILE_ID) String fileId, @PathVariable(COMMENT_ID) long commentId) { manualRedactionService.deleteComment(fileId, commentId); + // TODO analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -170,6 +194,7 @@ public class ManualRedactionController implements ManualRedactionResource { @RequestBody JSONPrimitive updateStatusRequest) { manualRedactionService.updateAddRedactionStatus(dossierId, fileId, annotationId, updateStatusRequest.getValue()); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -180,6 +205,7 @@ public class ManualRedactionController implements ManualRedactionResource { @RequestBody JSONPrimitive updateStatusRequest) { manualRedactionService.updateRemoveRedactionStatus(dossierId, fileId, annotationId, updateStatusRequest.getValue()); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -190,6 +216,7 @@ public class ManualRedactionController implements ManualRedactionResource { @RequestBody JSONPrimitive updateStatusRequest) { manualRedactionService.updateForceRedactionStatus(dossierId, fileId, annotationId, updateStatusRequest.getValue()); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -199,6 +226,7 @@ public class ManualRedactionController implements ManualRedactionResource { @RequestBody JSONPrimitive updateStatusRequest) { manualRedactionService.updateLegalBasisChangeStatus(dossierId, fileId, annotationId, updateStatusRequest.getValue()); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } @@ -209,6 +237,7 @@ public class ManualRedactionController implements ManualRedactionResource { @RequestBody JSONPrimitive updateStatusRequest) { manualRedactionService.updateImageRecategorizationStatus(dossierId, fileId, annotationId, updateStatusRequest.getValue()); + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/NotificationController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/NotificationController.java index 9dc291dd9..1d250ff74 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/NotificationController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/NotificationController.java @@ -1,8 +1,8 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.NotificationPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AddNotificationRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.notification.Notification; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AddNotificationRequest; +import com.iqser.red.service.persistence.service.v1.api.model.notification.Notification; import com.iqser.red.service.persistence.service.v1.api.resources.NotificationResource; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PathVariable; @@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RestController; import java.time.OffsetDateTime; import java.util.List; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor public class NotificationController implements NotificationResource { @@ -64,7 +66,7 @@ public class NotificationController implements NotificationResource { public List getNotifications(@PathVariable(USER_ID_PARAM) String userId, @RequestParam(INCLUDE_SEEN_PARAM) boolean includeSeen) { - return notificationPersistenceService.getNotifications(userId,includeSeen); + return convert(notificationPersistenceService.getNotifications(userId, includeSeen), Notification.class); } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReanalysisController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReanalysisController.java index 5e6f11ef6..5456edd86 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReanalysisController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReanalysisController.java @@ -3,11 +3,11 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.google.common.collect.Sets; import com.iqser.red.service.peristence.v1.server.service.FileStatusService; import com.iqser.red.service.peristence.v1.server.service.IndexingService; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import com.iqser.red.service.persistence.service.v1.api.resources.ReanalysisResource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -96,7 +96,7 @@ public class ReanalysisController implements ReanalysisResource { if (force) { fileStatusService.setStatusOcrProcessing(dossierId, fileId); } else { - File dossierFile = fileStatusService.getStatus( fileId); + FileEntity dossierFile = fileStatusService.getStatus(fileId); if (dossierFile.getStatus().equals(FileStatus.DELETED) || dossierFile.getStatus().equals(FileStatus.APPROVED)) { throw new ConflictException("Cannot analyse a deleted/approved file"); } @@ -108,7 +108,7 @@ public class ReanalysisController implements ReanalysisResource { } - private List getRelevantFiles(String dossierId) { + private List getRelevantFiles(String dossierId) { var dossier = dossierPersistenceService.getAndValidateDossier(dossierId); return fileStatusService.getDossierStatus(dossier.getId()) @@ -120,11 +120,11 @@ public class ReanalysisController implements ReanalysisResource { } - private List getRelevantFiles(String dossierId, Collection fileIds) { + private List getRelevantFiles(String dossierId, Collection fileIds) { var relevantDossierFiles = getRelevantFiles(dossierId); - var relevantFiles = new ArrayList(); + var relevantFiles = new ArrayList(); for (var fileId : fileIds) { var dossierFileOptional = relevantDossierFiles.stream().filter(f -> f.getId().equals(fileId)).findAny(); if (dossierFileOptional.isEmpty()) { @@ -144,7 +144,7 @@ public class ReanalysisController implements ReanalysisResource { } - private void reanalyseFiles(String dossierId, boolean force, List filesToReanalyse) { + private void reanalyseFiles(String dossierId, boolean force, List filesToReanalyse) { var dossier = dossierPersistenceService.getAndValidateDossier(dossierId); // TODO @@ -161,14 +161,14 @@ public class ReanalysisController implements ReanalysisResource { } - private boolean allManualRedactionsApplied(File fileStatus) { + private boolean allManualRedactionsApplied(FileEntity fileStatus) { return fileStatus.getLastManualRedaction() == null || fileStatus.getLastProcessed() == null || fileStatus.getLastProcessed() .isAfter(fileStatus.getLastManualRedaction()); } - private boolean allFileAttributesChangesApplied(File fileStatus) { + private boolean allFileAttributesChangesApplied(FileEntity fileStatus) { return fileStatus.getLastFileAttributeChange() == null || fileStatus.getLastProcessed() == null || fileStatus.getLastProcessed() .isAfter(fileStatus.getLastFileAttributeChange()); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/RedactionLogController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/RedactionLogController.java index c4070221f..2a577b3f9 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/RedactionLogController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/RedactionLogController.java @@ -1,16 +1,14 @@ package com.iqser.red.service.peristence.v1.server.controller; +import com.iqser.red.service.peristence.v1.server.service.RedactionLogService; +import com.iqser.red.service.persistence.service.v1.api.resources.RedactionLogResource; +import com.iqser.red.service.redaction.v1.model.RedactionLog; +import com.iqser.red.service.redaction.v1.model.SectionGrid; +import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.iqser.red.service.persistence.service.v1.api.resources.RedactionLogResource; -import com.iqser.red.service.peristence.v1.server.service.RedactionLogService; -import com.iqser.red.service.redaction.v1.model.RedactionLog; -import com.iqser.red.service.redaction.v1.model.SectionGrid; - -import lombok.RequiredArgsConstructor; - @RestController @RequiredArgsConstructor public class RedactionLogController implements RedactionLogResource { diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReportTemplateController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReportTemplateController.java index 7c84cfc02..026ba049b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReportTemplateController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ReportTemplateController.java @@ -1,12 +1,13 @@ package com.iqser.red.service.peristence.v1.server.controller; import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.ReportTemplatePersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.ReportTemplateDownload; -import com.iqser.red.service.persistence.service.v1.api.model.ReportTemplateUploadRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.ReportTemplate; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplate; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplateDownload; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplateUploadRequest; import com.iqser.red.service.persistence.service.v1.api.resources.ReportTemplateResource; import com.iqser.red.storage.commons.exception.StorageObjectDoesNotExist; import com.iqser.red.storage.commons.service.StorageService; @@ -20,6 +21,8 @@ import java.io.IOException; import java.util.List; import java.util.UUID; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor public class ReportTemplateController implements ReportTemplateResource { @@ -30,8 +33,8 @@ public class ReportTemplateController implements ReportTemplateResource { public ReportTemplate uploadTemplate(@RequestBody ReportTemplateUploadRequest reportTemplateUploadRequest) { - List reportTemplates = reportTemplatePersistenceService.findByDossierTemplateId(reportTemplateUploadRequest.getDossierTemplateId()); - for (ReportTemplate reportTemplate : reportTemplates) { + List reportTemplates = reportTemplatePersistenceService.findByDossierTemplateId(reportTemplateUploadRequest.getDossierTemplateId()); + for (ReportTemplateEntity reportTemplate : reportTemplates) { if (reportTemplate.getFileName().equals(reportTemplateUploadRequest.getFileName())) { throw new ConflictException("Template already exists."); } @@ -43,7 +46,7 @@ public class ReportTemplateController implements ReportTemplateResource { reportTemplatePersistenceService.insert(reportTemplateUploadRequest.getDossierTemplateId(), templateId, storageId, reportTemplateUploadRequest .getFileName(), reportTemplateUploadRequest.isMultiFileReport(), reportTemplateUploadRequest.isActiveByDefault()); - return reportTemplatePersistenceService.find(templateId); + return convert(reportTemplatePersistenceService.find(templateId), ReportTemplate.class); } @@ -51,14 +54,14 @@ public class ReportTemplateController implements ReportTemplateResource { public List getAvailableReportTemplates( @PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId) { - return reportTemplatePersistenceService.findByDossierTemplateId(dossierTemplateId); + return convert(reportTemplatePersistenceService.findByDossierTemplateId(dossierTemplateId), ReportTemplate.class); } public ReportTemplate getReportTemplate(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId, @PathVariable(TEMPLATE_ID) String templateId) { - return reportTemplatePersistenceService.find(templateId); + return convert(reportTemplatePersistenceService.find(templateId), ReportTemplate.class); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/RulesController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/RulesController.java index 43d6a306d..4e094e93e 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/RulesController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/RulesController.java @@ -4,7 +4,7 @@ import com.iqser.red.service.peristence.v1.server.client.RedactionClient; import com.iqser.red.service.peristence.v1.server.exception.InvalidRulesException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.RulesPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; import com.iqser.red.service.persistence.service.v1.api.resources.RulesResource; import feign.FeignException; import lombok.RequiredArgsConstructor; diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/SMTPConfigurationController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/SMTPConfigurationController.java index 4471f7412..5201b6695 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/SMTPConfigurationController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/SMTPConfigurationController.java @@ -1,10 +1,10 @@ package com.iqser.red.service.peristence.v1.server.controller; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.SMTPConfiguration; -import com.iqser.red.service.persistence.service.v1.api.resources.SMTPConfigurationResource; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.SMTPConfigurationEntity; import com.iqser.red.service.persistence.management.v1.processor.service.EmailService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.SMTPConfigurationService; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.SMTPConfiguration; +import com.iqser.red.service.persistence.service.v1.api.resources.SMTPConfigurationResource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -12,30 +12,30 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @Slf4j @RestController @RequiredArgsConstructor public class SMTPConfigurationController implements SMTPConfigurationResource { + private final static String DEFAULT_PASSWORD = "********"; private final EmailService emailService; private final SMTPConfigurationService smtpConfigurationService; - private final static String DEFAULT_PASSWORD = "********"; - - @Override public SMTPConfiguration getCurrentSMTPConfiguration(@RequestParam(value = MASK_PASSWORD, required = false, defaultValue = "true") boolean maskPassword) { var smtpConfiguration = smtpConfigurationService.getConfiguration(); if (smtpConfiguration.isAuth() && maskPassword) { smtpConfiguration.setPassword(DEFAULT_PASSWORD); } - return smtpConfiguration; + return convert(smtpConfiguration, SMTPConfiguration.class); } @Override public void updateSMTPConfiguration(@RequestBody SMTPConfiguration smtpConfiguration) { updatePassword(smtpConfiguration); - smtpConfigurationService.saveConfiguration(smtpConfiguration); + smtpConfigurationService.saveConfiguration(convert(smtpConfiguration, SMTPConfigurationEntity.class)); } @Override diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/UploadController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/UploadController.java index f7e98e0e8..def822578 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/UploadController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/UploadController.java @@ -1,24 +1,23 @@ package com.iqser.red.service.peristence.v1.server.controller; +import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronFlattenRequest; +import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronFlattenResponse; +import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronRedactionRequest; +import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronRedactionResult; import com.iqser.red.service.peristence.v1.server.client.RedactionClient; import com.iqser.red.service.peristence.v1.server.service.DossierService; import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageService; import com.iqser.red.service.peristence.v1.server.service.FileService; import com.iqser.red.service.peristence.v1.server.service.FileStatusService; -import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronFlattenRequest; -import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronFlattenResponse; -import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronRedactionRequest; -import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronRedactionResult; import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.BinaryFileRequest; -import com.iqser.red.service.persistence.service.v1.api.model.BinaryFileResult; -import com.iqser.red.service.persistence.service.v1.api.model.FileType; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.BinaryFileRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.BinaryFileResult; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; import com.iqser.red.service.persistence.service.v1.api.resources.UploadResource; import com.iqser.red.service.redaction.v1.model.AnnotateRequest; import com.iqser.red.service.redaction.v1.model.AnnotateResponse; @@ -89,7 +88,7 @@ public class UploadController implements UploadResource { for (String fileId : fileIds) { - File fileStatus = fileStatusService.getStatus(fileId); + FileEntity fileStatus = fileStatusService.getStatus(fileId); OffsetDateTime softDeletedTime = fileStatus.getDeleted(); fileService.undeleteFile(dossier.getDossierTemplateId(), dossierId, fileId, softDeletedTime); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ViewedPagesController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ViewedPagesController.java index b0d4e4a60..26b093809 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ViewedPagesController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/ViewedPagesController.java @@ -1,8 +1,8 @@ package com.iqser.red.service.peristence.v1.server.controller; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ViewedPage; -import com.iqser.red.service.persistence.service.v1.api.resources.ViewedPagesResource; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.ViewedPagesPersistenceService; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.ViewedPage; +import com.iqser.red.service.persistence.service.v1.api.resources.ViewedPagesResource; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; @@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor public class ViewedPagesController implements ViewedPagesResource { @@ -33,7 +35,7 @@ public class ViewedPagesController implements ViewedPagesResource { public List getViewedPages(@PathVariable(FILE_ID) String fileId, @PathVariable(ROLE) String role) { - return viewedPagesPersistenceService.findViewedPages(fileId, role); + return convert(viewedPagesPersistenceService.findViewedPages(fileId, role), ViewedPage.class); } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/WatermarkController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/WatermarkController.java index a53a502a8..63f62b606 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/WatermarkController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/WatermarkController.java @@ -1,12 +1,15 @@ package com.iqser.red.service.peristence.v1.server.controller; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Watermark; -import com.iqser.red.service.persistence.service.v1.api.resources.WatermarkResource; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.WatermarkEntity; import com.iqser.red.service.persistence.management.v1.processor.service.WatermarkService; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Watermark; +import com.iqser.red.service.persistence.service.v1.api.resources.WatermarkResource; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @RestController @RequiredArgsConstructor public class WatermarkController implements WatermarkResource { @@ -15,11 +18,11 @@ public class WatermarkController implements WatermarkResource { public Watermark saveWatermark(String dossierTemplateId, @RequestBody Watermark watermark) { - return watermarkService.saveWatermark(dossierTemplateId, watermark); + return convert(watermarkService.saveWatermark(dossierTemplateId, convert(watermark, WatermarkEntity.class)), Watermark.class); } public Watermark getWatermark(String dossierTemplateId) { - return watermarkService.getWatermark(dossierTemplateId); + return convert(watermarkService.getWatermark(dossierTemplateId), Watermark.class); } public void deleteWatermark(String dossierTemplateId) { diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/model/DownloadJob.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/model/DownloadJob.java index c5909918e..474982305 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/model/DownloadJob.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/model/DownloadJob.java @@ -1,10 +1,6 @@ package com.iqser.red.service.peristence.v1.server.model; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.*; @Data @Builder diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/AnalysisFlagsCalculationService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/AnalysisFlagsCalculationService.java new file mode 100644 index 000000000..6ba2da93e --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/AnalysisFlagsCalculationService.java @@ -0,0 +1,73 @@ +package com.iqser.red.service.peristence.v1.server.service; + +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; +import com.iqser.red.service.redaction.v1.model.RedactionLogEntry; + +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class AnalysisFlagsCalculationService { + + private final FileStatusPersistenceService fileStatusPersistenceService; + private final RedactionLogService redactionLogService; + + + @Async + public void calculateFlags(String dossierId, String fileId) { + + var redactionLog = redactionLogService.getRedactionLog(dossierId, fileId, true); + + boolean hasRedactions = false; + boolean hasHints = false; + boolean hasSuggestions = false; + boolean hasImages = false; + boolean hasComments = false; + + for (RedactionLogEntry entry : redactionLog.getRedactionLogEntry()) { + if (entry.isExcluded()) { + continue; + } + + String type = getType(entry.getTypeId()); + + if (entry.isRedacted() && !entry.isManual() || entry.isManual() && entry.getStatus() + .equals(AnnotationStatus.APPROVED)) { + hasRedactions = true; + } + + if (entry.isHint() && !type.equals("false_positive")) { + hasHints = true; + } + + if (entry.isHint() && type.equals("image") || entry.isImage()) { + hasImages = true; + } + + if (entry.isManual() && entry.getStatus() + .equals(AnnotationStatus.REQUESTED)) { + hasSuggestions = true; + } + + if (entry.getComments() != null && !entry.getComments().isEmpty()) { + hasComments = true; + } + + if (hasRedactions && hasHints && hasSuggestions && hasImages && hasComments) { + break; + } + } + + fileStatusPersistenceService.updateFlags(fileId, hasRedactions, hasHints, hasImages, hasSuggestions, hasComments); + } + + + private String getType(String typeId){ + return typeId.split(":")[0]; + } + +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierService.java index e7ef6d841..1b111d0a9 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierService.java @@ -1,12 +1,12 @@ package com.iqser.red.service.peristence.v1.server.service; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatus; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -27,7 +27,7 @@ public class DossierService { private final FileStatusPersistenceService fileStatusPersistenceService; - public Dossier addDossier(CreateOrUpdateDossierRequest createOrUpdateDossierRequest) { + public DossierEntity addDossier(CreateOrUpdateDossierRequest createOrUpdateDossierRequest) { if (dossierPersistenceService.findAllDossiers() .stream() @@ -42,9 +42,9 @@ public class DossierService { } - public Dossier updateDossier(CreateOrUpdateDossierRequest dossierRequest, String dossierId) { + public DossierEntity updateDossier(CreateOrUpdateDossierRequest dossierRequest, String dossierId) { - Dossier dossier = dossierPersistenceService.findByDossierId(dossierId); + DossierEntity dossier = dossierPersistenceService.findByDossierId(dossierId); if (dossier.getDossierName() .equals(dossierRequest.getDossierName()) || dossierPersistenceService.findAllDossiers() .stream() @@ -84,13 +84,13 @@ public class DossierService { } - public Dossier getDossierById(String dossierId) { + public DossierEntity getDossierById(String dossierId) { return dossierPersistenceService.findByDossierId(dossierId); } - public List getAllDossiers() { + public List getAllDossiers() { return dossierPersistenceService.findAllDossiers(); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ExcludeFromAnalysisService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ExcludeFromAnalysisService.java index 8ff289f7c..9f71aa34b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ExcludeFromAnalysisService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ExcludeFromAnalysisService.java @@ -3,8 +3,8 @@ package com.iqser.red.service.peristence.v1.server.service; import com.google.common.collect.Sets; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*; -import com.iqser.red.service.persistence.service.v1.api.model.FileType; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -55,15 +55,15 @@ public class ExcludeFromAnalysisService { // wipe force redactions var forceRedactions = forceRedactionPersistenceService.findForceRedactions(fileId, false); - forceRedactions.forEach(f -> forceRedactionPersistenceService.softDelete(fileId, f.getId().getId(), now)); + forceRedactions.forEach(f -> forceRedactionPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now)); // wipe add manual redactions var addRedactions = addRedactionPersistenceService.findAddRedactions(fileId, false); - addRedactions.forEach(f -> addRedactionPersistenceService.softDelete(fileId, f.getId().getId(), now)); + addRedactions.forEach(f -> addRedactionPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now)); // wipe removeRedactions var removeRedactions = removeRedactionPersistenceService.findRemoveRedactions(fileId, false); - removeRedactions.forEach(f -> removeRedactionPersistenceService.softDelete(fileId, f.getId().getId(), now)); + removeRedactions.forEach(f -> removeRedactionPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now)); fileStatusPersistenceService.updateHasComments(fileId, false); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileManagementStorageService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileManagementStorageService.java index cadce7e0b..503ad9569 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileManagementStorageService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileManagementStorageService.java @@ -3,7 +3,7 @@ package com.iqser.red.service.peristence.v1.server.service; import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; -import com.iqser.red.service.persistence.service.v1.api.model.FileType; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; import com.iqser.red.service.redaction.v1.model.RedactionLog; import com.iqser.red.service.redaction.v1.model.SectionGrid; import com.iqser.red.storage.commons.exception.StorageObjectDoesNotExist; diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileService.java index edb55469a..cf12a7c6f 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileService.java @@ -5,14 +5,14 @@ import com.google.common.hash.Hashing; import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronOptimizeRequest; import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronOptimizeResponse; import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*; -import com.iqser.red.service.persistence.service.v1.api.model.BinaryFileRequest; -import com.iqser.red.service.persistence.service.v1.api.model.FileType; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.BinaryFileRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -88,7 +88,7 @@ public class FileService { } - private File retrieveStatus(String fileId) { + private FileEntity retrieveStatus(String fileId) { try { return fileStatusService.getStatus(fileId); @@ -101,36 +101,36 @@ public class FileService { public void softDeleteFile(String dossierId, String fileId, OffsetDateTime softDeletedTime) { forceRedactionPersistenceService.findForceRedactions(fileId, false).forEach(annotation -> { - forceRedactionPersistenceService.softDelete(fileId, annotation.getId().getId(), softDeletedTime); - commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getId(), false).forEach(comment -> { + forceRedactionPersistenceService.softDelete(fileId, annotation.getId().getAnnotationId(), softDeletedTime); + commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getAnnotationId(), false).forEach(comment -> { commentPersistenceService.softDelete(comment.getId(), softDeletedTime); }); }); removeRedactionPersistenceService.findRemoveRedactions(fileId, false).forEach(annotation -> { - removeRedactionPersistenceService.softDelete(fileId, annotation.getId().getId(), softDeletedTime); - commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getId(), false).forEach(comment -> { + removeRedactionPersistenceService.softDelete(fileId, annotation.getId().getAnnotationId(), softDeletedTime); + commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getAnnotationId(), false).forEach(comment -> { commentPersistenceService.softDelete(comment.getId(), softDeletedTime); }); }); addRedactionPersistenceService.findAddRedactions(fileId, false).forEach(annotation -> { - addRedactionPersistenceService.softDelete(fileId, annotation.getId().getId(), softDeletedTime); - commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getId(), false).forEach(comment -> { + addRedactionPersistenceService.softDelete(fileId, annotation.getId().getAnnotationId(), softDeletedTime); + commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getAnnotationId(), false).forEach(comment -> { commentPersistenceService.softDelete(comment.getId(), softDeletedTime); }); }); recategorizationPersistenceService.findRecategorizations(fileId, false).forEach(recatigorization -> { - recategorizationPersistenceService.softDelete(fileId, recatigorization.getId().getId(), softDeletedTime); - commentPersistenceService.findCommentsByAnnotationId(fileId, recatigorization.getId().getId(), false).forEach(comment -> { + recategorizationPersistenceService.softDelete(fileId, recatigorization.getId().getAnnotationId(), softDeletedTime); + commentPersistenceService.findCommentsByAnnotationId(fileId, recatigorization.getId().getAnnotationId(), false).forEach(comment -> { commentPersistenceService.softDelete(comment.getId(), softDeletedTime); }); }); legalBasisChangePersistenceService.findLegalBasisChanges(fileId, false).forEach(legalBasisChange -> { - legalBasisChangePersistenceService.softDelete(fileId, legalBasisChange.getId().getId(), softDeletedTime); - commentPersistenceService.findCommentsByAnnotationId(fileId, legalBasisChange.getId().getId(), false) + legalBasisChangePersistenceService.softDelete(fileId, legalBasisChange.getId().getAnnotationId(), softDeletedTime); + commentPersistenceService.findCommentsByAnnotationId(fileId, legalBasisChange.getId().getAnnotationId(), false) .forEach(comment -> { commentPersistenceService.softDelete(comment.getId(), softDeletedTime); }); @@ -146,29 +146,29 @@ public class FileService { ); forceRedactionPersistenceService.findForceRedactions(fileId, true).forEach(annotation -> { - forceRedactionPersistenceService.hardDelete(fileId, annotation.getId().getId()); - commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getId(), true).forEach(comment -> { + forceRedactionPersistenceService.hardDelete(fileId, annotation.getId().getAnnotationId()); + commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getAnnotationId(), true).forEach(comment -> { commentPersistenceService.hardDelete(comment.getId()); }); }); removeRedactionPersistenceService.findRemoveRedactions(fileId, true).forEach(annotation -> { - removeRedactionPersistenceService.hardDelete(fileId, annotation.getId().getId()); - commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getId(), true).forEach(comment -> { + removeRedactionPersistenceService.hardDelete(fileId, annotation.getId().getAnnotationId()); + commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getAnnotationId(), true).forEach(comment -> { commentPersistenceService.hardDelete(comment.getId()); }); }); addRedactionPersistenceService.findAddRedactions(fileId, true).forEach(annotation -> { - addRedactionPersistenceService.hardDelete(fileId, annotation.getId().getId()); - commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getId(), true).forEach(comment -> { + addRedactionPersistenceService.hardDelete(fileId, annotation.getId().getAnnotationId()); + commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getAnnotationId(), true).forEach(comment -> { commentPersistenceService.hardDelete(comment.getId()); }); }); recategorizationPersistenceService.findRecategorizations(fileId, true).forEach(recatigorization -> { - recategorizationPersistenceService.hardDelete(fileId, recatigorization.getId().getId()); - commentPersistenceService.findCommentsByAnnotationId(fileId, recatigorization.getId().getId(), true).forEach(comment -> { + recategorizationPersistenceService.hardDelete(fileId, recatigorization.getId().getAnnotationId()); + commentPersistenceService.findCommentsByAnnotationId(fileId, recatigorization.getId().getAnnotationId(), true).forEach(comment -> { commentPersistenceService.hardDelete(comment.getId()); }); }); @@ -178,8 +178,8 @@ public class FileService { public void undeleteFile(String dossierTemplateId, String dossierId, String fileId, OffsetDateTime softDeletedTime) { forceRedactionPersistenceService.findForceRedactions(fileId, true).forEach(annotation -> { if (annotation.getSoftDeletedTime().equals(softDeletedTime) || annotation.getSoftDeletedTime().isAfter(softDeletedTime)) { - forceRedactionPersistenceService.undelete(fileId, annotation.getId().getId()); - commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getId(), true).forEach(comment -> { + forceRedactionPersistenceService.undelete(fileId, annotation.getId().getAnnotationId()); + commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getAnnotationId(), true).forEach(comment -> { if (comment.getSoftDeletedTime().equals(softDeletedTime) || comment.getSoftDeletedTime().isAfter(softDeletedTime)) { commentPersistenceService.undelete(comment.getId()); } @@ -189,8 +189,8 @@ public class FileService { removeRedactionPersistenceService.findRemoveRedactions(fileId, true).forEach(annotation -> { if (annotation.getSoftDeletedTime().equals(softDeletedTime) || annotation.getSoftDeletedTime().isAfter(softDeletedTime)) { - removeRedactionPersistenceService.undelete(fileId, annotation.getId().getId()); - commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getId(), true).forEach(comment -> { + removeRedactionPersistenceService.undelete(fileId, annotation.getId().getAnnotationId()); + commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getAnnotationId(), true).forEach(comment -> { if (comment.getSoftDeletedTime().equals(softDeletedTime) || comment.getSoftDeletedTime().isAfter(softDeletedTime)) { commentPersistenceService.undelete(comment.getId()); } @@ -200,8 +200,8 @@ public class FileService { addRedactionPersistenceService.findAddRedactions(fileId, true).forEach(annotation -> { if (annotation.getSoftDeletedTime().equals(softDeletedTime) || annotation.getSoftDeletedTime().isAfter(softDeletedTime)) { - addRedactionPersistenceService.undelete(fileId, annotation.getId().getId()); - commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getId(), true).forEach(comment -> { + addRedactionPersistenceService.undelete(fileId, annotation.getId().getAnnotationId()); + commentPersistenceService.findCommentsByAnnotationId(fileId, annotation.getId().getAnnotationId(), true).forEach(comment -> { if (comment.getSoftDeletedTime().equals(softDeletedTime) || comment.getSoftDeletedTime().isAfter(softDeletedTime)) { commentPersistenceService.undelete(comment.getId()); } @@ -211,8 +211,8 @@ public class FileService { recategorizationPersistenceService.findRecategorizations(fileId, true).forEach(recatigorization -> { if (recatigorization.getSoftDeletedTime().equals(softDeletedTime) || recatigorization.getSoftDeletedTime().isAfter(softDeletedTime)) { - recategorizationPersistenceService.undelete(fileId, recatigorization.getId().getId()); - commentPersistenceService.findCommentsByAnnotationId(fileId, recatigorization.getId().getId(), true).forEach(comment -> { + recategorizationPersistenceService.undelete(fileId, recatigorization.getId().getAnnotationId()); + commentPersistenceService.findCommentsByAnnotationId(fileId, recatigorization.getId().getAnnotationId(), true).forEach(comment -> { if (comment.getSoftDeletedTime().equals(softDeletedTime) || comment.getSoftDeletedTime().isAfter(softDeletedTime)) { commentPersistenceService.undelete(comment.getId()); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusProcessingUpdateService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusProcessingUpdateService.java index dcb047f6b..09733d155 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusProcessingUpdateService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusProcessingUpdateService.java @@ -1,7 +1,7 @@ package com.iqser.red.service.peristence.v1.server.service; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import com.iqser.red.service.redaction.v1.model.AnalyzeResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -19,6 +19,7 @@ public class FileStatusProcessingUpdateService { private final FileStatusService fileStatusService; private final IndexingService indexingService; private final DossierPersistenceService dossierPersistenceService; + private final AnalysisFlagsCalculationService analysisFlagsCalculationService; public void analysisSuccessful(String dossierId, String fileId, AnalyzeResult analyzeResult) { @@ -37,6 +38,7 @@ public class FileStatusProcessingUpdateService { indexingService.addToIndexingQueue(dossier.getDossierTemplateId(), dossierId, fileId, 2); } + analysisFlagsCalculationService.calculateFlags(dossierId, fileId); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusService.java index 82e02a556..75f765246 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/FileStatusService.java @@ -3,27 +3,24 @@ package com.iqser.red.service.peristence.v1.server.service; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Sets; -import com.iqser.red.service.peristence.v1.server.controller.RulesController; import com.iqser.red.service.pdftron.redaction.v1.api.model.OcrRequestMessage; import com.iqser.red.service.peristence.v1.server.configuration.MessagingConfiguration; +import com.iqser.red.service.peristence.v1.server.controller.RulesController; +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.exception.UserNotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttribute; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import com.iqser.red.service.redaction.v1.model.AnalyzeRequest; import com.iqser.red.service.redaction.v1.model.AnalyzeResult; - import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; - import org.apache.commons.lang3.StringUtils; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Service; import javax.transaction.Transactional; - import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.List; @@ -42,13 +39,13 @@ public class FileStatusService { private final ManualRedactionProviderService manualRedactionProviderService; - public List getDossierStatus(String dossierId) { + public List getDossierStatus(String dossierId) { return fileStatusPersistenceService.getStatusesForDossier(dossierId); } - public File getStatus(String fileId) { + public FileEntity getStatus(String fileId) { return fileStatusPersistenceService.getStatus(fileId); } @@ -104,7 +101,7 @@ public class FileStatusService { log.info("Reprocessing file: {} from dossier {}", fileId, dossierId); - File fileStatus = fileStatusPersistenceService.getStatus(fileId); + FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId); if (fileStatus.isExcluded()) { log.debug("File {} is excluded", fileStatus.getId()); @@ -118,7 +115,7 @@ public class FileStatusService { public void setStatusOcrProcessing(String dossierId, String fileId) { - File fileStatus = fileStatusPersistenceService.getStatus(fileId); + FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId); if (fileStatus.isExcluded()) { log.debug("File {} is excluded", fileId); @@ -133,7 +130,7 @@ public class FileStatusService { @Transactional public void setStatusFullReprocess(String dossierId, String fileId, int priority) { - File fileStatus = fileStatusPersistenceService.getStatus(fileId); + FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId); if (fileStatus.isExcluded()) { log.debug("File {} is excluded", fileStatus.getId()); @@ -147,7 +144,7 @@ public class FileStatusService { public void setStatusIndexingSuccessful(String fileId) { - File fileStatus = fileStatusPersistenceService.getStatus(fileId); + FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId); fileStatusPersistenceService.setUpdateStatusIndexingSuccessful(fileId, fileStatus.getLastSuccessfulStatus()); } @@ -191,7 +188,7 @@ public class FileStatusService { throw new UserNotFoundException("User=" + currentReviewer + " must be member or owner of dossier=" + dossierId); } - File fileStatus = fileStatusPersistenceService.getStatus(fileId); + FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId); fileStatusPersistenceService.setCurrentReviewer(fileId, currentReviewer, fileStatus.getCurrentReviewer()); } @@ -276,18 +273,18 @@ public class FileStatusService { } - public List getAllStatuses() { + public List getAllStatuses() { return fileStatusPersistenceService.getAllStatuses(); } private List convert( - List fileAttributes) { + List fileAttributes) { List fileAttributeList = new ArrayList<>(); - for (FileAttribute fileAttribute : fileAttributes) { + for (FileAttributeEntity fileAttribute : fileAttributes) { com.iqser.red.service.redaction.v1.model.FileAttribute attribute = com.iqser.red.service.redaction.v1.model.FileAttribute.builder() .id(fileAttribute.getFileAttributeConfig().getId()) .label(fileAttribute.getFileAttributeConfig().getLabel()) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/IndexingService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/IndexingService.java index a36ecc1d5..3afeea0cc 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/IndexingService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/IndexingService.java @@ -3,10 +3,10 @@ package com.iqser.red.service.peristence.v1.server.service; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.peristence.v1.server.configuration.MessagingConfiguration; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import com.iqser.red.service.search.v1.model.IndexMessage; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.tuple.ImmutablePair; @@ -32,22 +32,22 @@ public class IndexingService { List> reindexDossierIds = new ArrayList<>(); if (dossierId == null) { - List dossiers = dossierService.getAllDossiers(); - for (Dossier dossier : dossiers) { + List dossiers = dossierService.getAllDossiers(); + for (DossierEntity dossier : dossiers) { if (dossier.getStatus().equals(DossierStatus.ACTIVE)) { reindexDossierIds.add(new ImmutablePair<>(dossier.getDossierTemplateId(), dossier.getId())); } } } else { - Dossier dossier = dossierService.getDossierById(dossierId); + DossierEntity dossier = dossierService.getDossierById(dossierId); if (dossier.getStatus().equals(DossierStatus.ACTIVE)) { reindexDossierIds.add(new ImmutablePair<>(dossier.getDossierTemplateId(), dossier.getId())); } } for (Pair reindexDossierId : reindexDossierIds) { - List fileStatuses = fileStatusService.getDossierStatus(reindexDossierId.getRight()); - for (File fileStatus : fileStatuses) { + List fileStatuses = fileStatusService.getDossierStatus(reindexDossierId.getRight()); + for (FileEntity fileStatus : fileStatuses) { if (fileStatus.getStatus().equals(FileStatus.DELETED)) { continue; } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java index 3823a081c..1631ef55f 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java @@ -1,6 +1,18 @@ package com.iqser.red.service.peristence.v1.server.service; -import static java.util.stream.Collectors.toList; +import com.github.benmanes.caffeine.cache.Caffeine; +import com.github.benmanes.caffeine.cache.LoadingCache; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.exception.InternalServerErrorException; +import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReport; +import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReportRequest; +import com.iqser.red.service.persistence.service.v1.api.model.license.ReportData; +import lombok.NonNull; +import lombok.RequiredArgsConstructor; +import lombok.Value; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; import java.time.Instant; import java.util.Comparator; @@ -9,21 +21,7 @@ import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import com.iqser.red.service.persistence.management.v1.processor.exception.InternalServerErrorException; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import com.github.benmanes.caffeine.cache.Caffeine; -import com.github.benmanes.caffeine.cache.LoadingCache; -import com.iqser.red.service.persistence.service.v1.api.model.LicenseReport; -import com.iqser.red.service.persistence.service.v1.api.model.LicenseReportRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ReportData; - -import lombok.NonNull; -import lombok.RequiredArgsConstructor; -import lombok.Value; +import static java.util.stream.Collectors.toList; @Service @RequiredArgsConstructor @@ -44,7 +42,7 @@ public class LicenseReportService { licenseReportRequest.setRequestId(UUID.randomUUID().toString()); } CachedReportData cachedReportData = cachedReports.get(licenseReportRequest); - if(cachedReportData == null){ + if (cachedReportData == null) { throw new InternalServerErrorException("Report not loaded"); } @@ -70,7 +68,7 @@ public class LicenseReportService { List dossierIds = licenseReportRequest.getDossierIds(); if (CollectionUtils.isEmpty(licenseReportRequest.getDossierIds())) { - dossierIds = dossierService.getAllDossiers().stream().map(Dossier::getId).collect(toList()); + dossierIds = dossierService.getAllDossiers().stream().map(DossierEntity::getId).collect(toList()); } AtomicInteger totalPagesAnalyzed = new AtomicInteger(); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionProviderService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionProviderService.java index 47b9ebdde..4facc8599 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionProviderService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionProviderService.java @@ -1,20 +1,18 @@ package com.iqser.red.service.peristence.v1.server.service; -import com.iqser.red.service.persistence.service.v1.api.model.ManualRedactions; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.Comment; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualImageRecategorization; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualLegalBasisChange; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualRedactionEntry; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.IdRemoval; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ManualForceRedaction; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.CommentEntity; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.*; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + @Service @RequiredArgsConstructor public class ManualRedactionProviderService { @@ -28,17 +26,23 @@ public class ManualRedactionProviderService { public ManualRedactions getManualRedactions(String fileId) { - Set entriesToAdd = addRedactionPersistenceService.findAddRedactions(fileId, false); + Set entriesToAdd = convert(addRedactionPersistenceService.findAddRedactions(fileId, false), ManualRedactionEntry.class); - Set removals = removeRedactionPersistenceService.findRemoveRedactions(fileId, false); + Set removals = convert(removeRedactionPersistenceService.findRemoveRedactions(fileId, false), IdRemoval.class); - Set forceRedactions = forceRedactionPersistenceService.findForceRedactions(fileId, false); + Set forceRedactions = convert(forceRedactionPersistenceService.findForceRedactions(fileId, false), ManualForceRedaction.class); - Set recategorizations = recategorizationPersistenceService.findRecategorizations(fileId, false); + Set recategorizations = convert(recategorizationPersistenceService.findRecategorizations(fileId, false), ManualImageRecategorization.class); - Set legalBasisChanges = legalBasisChangePersistenceService.findLegalBasisChanges(fileId, false); + Set legalBasisChanges = convert(legalBasisChangePersistenceService.findLegalBasisChanges(fileId, false), ManualLegalBasisChange.class); + + Map> commentEntities = commentPersistenceService.findCommentsByFileID(fileId, false); + + Map> comments = new HashMap<>(); + commentEntities.forEach((s, c) -> { + comments.put(s, convert(c, Comment.class)); + }); - Map> comments = commentPersistenceService.findCommentsByFileID(fileId, false); return new ManualRedactions(removals, entriesToAdd, forceRedactions, recategorizations, legalBasisChanges, comments); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java index 36e7404a2..b6dd10a1a 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/ManualRedactionService.java @@ -3,11 +3,11 @@ package com.iqser.red.service.peristence.v1.server.service; import com.google.common.hash.HashFunction; import com.google.common.hash.Hashing; import com.iqser.red.service.peristence.v1.server.controller.DictionaryController; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.*; import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*; -import com.iqser.red.service.persistence.service.v1.api.model.*; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.*; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.*; import com.iqser.red.service.redaction.v1.model.RedactionLog; import com.iqser.red.service.redaction.v1.model.RedactionLogEntry; import feign.FeignException; @@ -47,10 +47,10 @@ public class ManualRedactionService { if (addRedactionRequest.isAddToDictionary()) { try { - dictionaryController.getDictionaryForType(addRedactionRequest.getType()); + dictionaryController.getDictionaryForType(addRedactionRequest.getTypeId()); } catch (FeignException e) { if (e.status() == 404) { - throw new BadRequestException("Invalid type: " + addRedactionRequest.getType()); + throw new BadRequestException("Invalid type: " + addRedactionRequest.getTypeId()); } } } @@ -60,13 +60,13 @@ public class ManualRedactionService { OffsetDateTime now = OffsetDateTime.now(); addRedactionPersistenceService.insert(fileId, annotationId, addRedactionRequest); - String commentId = null; + Long commentId = null; if (addRedactionRequest.getComment() != null) { - addComment(fileId, annotationId, addRedactionRequest.getComment(), addRedactionRequest.getUser()); + commentId = addComment(fileId, annotationId, addRedactionRequest.getComment(), addRedactionRequest.getUser()).getId(); } - handleAddToDictionary(fileId, annotationId, addRedactionRequest.getType(), addRedactionRequest.getValue(), addRedactionRequest + handleAddToDictionary(fileId, annotationId, addRedactionRequest.getTypeId(), addRedactionRequest.getValue(), addRedactionRequest .getStatus(), addRedactionRequest.isAddToDictionary(), false, dossierId); if (addRedactionRequest.getStatus().equals(AnnotationStatus.REQUESTED)) { @@ -87,11 +87,11 @@ public class ManualRedactionService { OffsetDateTime now = OffsetDateTime.now(); removeRedactionPersistenceService.insert(fileId, removeRedactionRequest); - String commentId = null; + Long commentId = null; if (removeRedactionRequest.getComment() != null) { - addComment(fileId, removeRedactionRequest.getAnnotationId(), removeRedactionRequest.getComment(), removeRedactionRequest - .getUser()); + commentId = addComment(fileId, removeRedactionRequest.getAnnotationId(), removeRedactionRequest.getComment(), removeRedactionRequest + .getUser()).getId(); } handleRemoveFromDictionary(dossierId, fileId, removeRedactionRequest.getAnnotationId(), removeRedactionRequest.getStatus(), @@ -118,11 +118,11 @@ public class ManualRedactionService { OffsetDateTime now = OffsetDateTime.now(); forceRedactionPersistenceService.insert(fileId, forceRedactionRequest); - String commentId = null; + Long commentId = null; if (forceRedactionRequest.getComment() != null) { - addComment(fileId, forceRedactionRequest.getAnnotationId(), forceRedactionRequest.getComment(), forceRedactionRequest - .getUser()); + commentId = addComment(fileId, forceRedactionRequest.getAnnotationId(), forceRedactionRequest.getComment(), forceRedactionRequest + .getUser()).getId(); } if (forceRedactionRequest.getStatus().equals(AnnotationStatus.REQUESTED)) { @@ -146,11 +146,11 @@ public class ManualRedactionService { OffsetDateTime now = OffsetDateTime.now(); legalBasisChangePersistenceService.insert(fileId, legalBasisChangeRequest); - String commentId = null; + Long commentId = null; if (legalBasisChangeRequest.getComment() != null) { - addComment(fileId, legalBasisChangeRequest.getAnnotationId(), legalBasisChangeRequest.getComment(), legalBasisChangeRequest - .getUser()); + commentId = addComment(fileId, legalBasisChangeRequest.getAnnotationId(), legalBasisChangeRequest.getComment(), legalBasisChangeRequest + .getUser()).getId(); } if (legalBasisChangeRequest.getStatus().equals(AnnotationStatus.REQUESTED)) { @@ -174,11 +174,11 @@ public class ManualRedactionService { OffsetDateTime now = OffsetDateTime.now(); recategorizationPersistenceService.insert(fileId, imageRecategorizationRequest); - String commentId = null; + Long commentId = null; if (imageRecategorizationRequest.getComment() != null) { - addComment(fileId, imageRecategorizationRequest.getAnnotationId(), imageRecategorizationRequest.getComment(), imageRecategorizationRequest - .getUser()); + commentId = addComment(fileId, imageRecategorizationRequest.getAnnotationId(), imageRecategorizationRequest.getComment(), imageRecategorizationRequest + .getUser()).getId(); } if (imageRecategorizationRequest.getStatus().equals(AnnotationStatus.REQUESTED)) { @@ -195,7 +195,7 @@ public class ManualRedactionService { } - public Comment addComment(String fileId, String annotationId, CommentRequest commentRequest) { + public CommentEntity addComment(String fileId, String annotationId, CommentRequest commentRequest) { var createdComment = addComment(fileId, annotationId, commentRequest.getText(), commentRequest.getUser()); @@ -204,37 +204,37 @@ public class ManualRedactionService { } - public ManualRedactionEntry getAddRedaction(String fileId, String annotationId) { + public ManualRedactionEntryEntity getAddRedaction(String fileId, String annotationId) { return addRedactionPersistenceService.findAddRedaction(fileId, annotationId); } - public IdRemoval getRemoveRedaction(String fileId, String annotationId) { + public IdRemovalEntity getRemoveRedaction(String fileId, String annotationId) { return removeRedactionPersistenceService.findRemoveRedaction(fileId, annotationId); } - public ManualForceRedaction getForceRedaction(String fileId, String annotationId) { + public ManualForceRedactionEntity getForceRedaction(String fileId, String annotationId) { return forceRedactionPersistenceService.findForceRedaction(fileId, annotationId); } - public ManualLegalBasisChange getLegalBasisChange(String fileId, String annotationId) { + public ManualLegalBasisChangeEntity getLegalBasisChange(String fileId, String annotationId) { return legalBasisChangePersistenceService.findLegalBasisChange(fileId, annotationId); } - public ManualImageRecategorization getImageRecategorization(String fileId, String annotationId) { + public ManualImageRecategorizationEntity getImageRecategorization(String fileId, String annotationId) { return recategorizationPersistenceService.findRecategorization(fileId, annotationId); } - public Comment getComment(long commentId) { + public CommentEntity getComment(long commentId) { return commentPersistenceService.findComment(commentId); } @@ -338,16 +338,16 @@ public class ManualRedactionService { dossierPersistenceService.getAndValidateDossier(dossierId); - IdRemoval idRemoval = removeRedactionPersistenceService.findRemoveRedaction(fileId, annotationId); + IdRemovalEntity idRemoval = removeRedactionPersistenceService.findRemoveRedaction(fileId, annotationId); if (idRemoval.isRemoveFromDictionary()) { RedactionLog redactionLog = fileManagementStorageService.getRedactionLog(dossierId, fileId); Optional redactionLogEntryOptional = redactionLog.getRedactionLogEntry() .stream() - .filter(entry -> entry.getId().equals(idRemoval.getId().getId())) + .filter(entry -> entry.getId().equals(idRemoval.getId().getAnnotationId())) .findFirst(); - if(!redactionLogEntryOptional.isPresent()) { + if (!redactionLogEntryOptional.isPresent()) { throw new NotFoundException("Annotation does not exist in redaction log."); } @@ -396,7 +396,7 @@ public class ManualRedactionService { if (annotationStatus.equals(AnnotationStatus.DECLINED)) { - ManualImageRecategorization imageRecategorization = recategorizationPersistenceService.findRecategorization(fileId, annotationId); + ManualImageRecategorizationEntity imageRecategorization = recategorizationPersistenceService.findRecategorization(fileId, annotationId); // if it was previously approved, revert the delete if (imageRecategorization.getStatus() == AnnotationStatus.APPROVED) { fileStatusService.setStatusReprocess(dossierId, fileId, 100); @@ -417,7 +417,7 @@ public class ManualRedactionService { dossierPersistenceService.getAndValidateDossier(dossierId); - ManualRedactionEntry manualRedactionEntry = addRedactionPersistenceService.findAddRedaction(fileId, annotationId); + ManualRedactionEntryEntity manualRedactionEntry = addRedactionPersistenceService.findAddRedaction(fileId, annotationId); if (manualRedactionEntry.isAddToDictionary() || manualRedactionEntry.isAddToDossierDictionary()) { if (annotationStatus == AnnotationStatus.APPROVED) { addToDictionary(manualRedactionEntry.getTypeId(), manualRedactionEntry.getValue(), dossierId, fileId); @@ -472,7 +472,7 @@ public class ManualRedactionService { .filter(entry -> entry.getId().equals(annotationId)) .findFirst(); - if(!redactionLogEntryOptional.isPresent()) { + if (!redactionLogEntryOptional.isPresent()) { throw new NotFoundException("Annotation does not exist in redaction log."); } @@ -514,10 +514,10 @@ public class ManualRedactionService { } - private Comment addComment(String fileId, String annotationId, String comment, String user) { + private CommentEntity addComment(String fileId, String annotationId, String comment, String user) { - var createdComment = commentPersistenceService.insert(Comment.builder() + var createdComment = commentPersistenceService.insert(CommentEntity.builder() .text(comment) .fileId(fileId) .annotationId(annotationId) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java index 24bc66221..3df4916a7 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/RedactionLogService.java @@ -1,21 +1,19 @@ package com.iqser.red.service.peristence.v1.server.service; import com.iqser.red.service.peristence.v1.server.client.RedactionClient; -import org.springframework.stereotype.Service; - import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; import com.iqser.red.service.redaction.v1.model.RedactionLog; import com.iqser.red.service.redaction.v1.model.RedactionRequest; import com.iqser.red.service.redaction.v1.model.SectionGrid; - import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor public class RedactionLogService { private final FileManagementStorageService fileManagementStorageService; - private final ManualRedactionService manualRedactionService; + // private final ManualRedactionService manualRedactionService; private final RedactionClient redactionClient; private final DossierPersistenceService dossierPersistenceService; private final FileStatusService fileStatusService; @@ -25,12 +23,13 @@ public class RedactionLogService { if (withManualRedactions) { var dossier = dossierPersistenceService.getAndValidateDossier(dossierId); - var manualRedactions = manualRedactionService.getManualRedactions(fileId); - var fileStatus = fileStatusService.getStatus( fileId); + // var manualRedactions = manualRedactionService.getManualRedactions(fileId); + var fileStatus = fileStatusService.getStatus(fileId); return redactionClient.getRedactionLog(RedactionRequest.builder() .dossierId(dossierId) .fileId(fileId) - .manualRedactions(manualRedactions) + // TODO +// .manualRedactions(manualRedactions) .dossierTemplateId(dossier.getDossierTemplateId()) .excludedPages(fileStatus.getExcludedPages()) .build()); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadCleanupService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadCleanupService.java index 000e83258..810d6d7a9 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadCleanupService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadCleanupService.java @@ -1,10 +1,10 @@ package com.iqser.red.service.peristence.v1.server.service.download; -import com.iqser.red.service.peristence.v1.server.settings.FileManagementServiceSettings; -import com.iqser.red.service.persistence.service.v1.api.model.data.download.DownloadStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierStatus; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService; import com.iqser.red.service.peristence.v1.server.service.DossierService; +import com.iqser.red.service.peristence.v1.server.settings.FileManagementServiceSettings; +import com.iqser.red.service.persistence.management.v1.processor.entity.download.DownloadStatusEntity; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatus; import com.iqser.red.storage.commons.service.StorageService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -29,7 +29,7 @@ public class DownloadCleanupService { var now = OffsetDateTime.now(); log.info("Checking for downloads to delete at {}", now); - List downloadStatusList = downloadStatusPersistenceService.getStatus(); + List downloadStatusList = downloadStatusPersistenceService.getStatus(); downloadStatusList.forEach(downloadStatus -> { var dossier = downloadStatus.getDossier(); @@ -56,7 +56,7 @@ public class DownloadCleanupService { } - public void deleteDownload(DownloadStatus downloadStatus) { + public void deleteDownload(DownloadStatusEntity downloadStatus) { log.info("Deleting download status {}", downloadStatus); try { diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadDLQMessageReceiver.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadDLQMessageReceiver.java index d48c9199c..0763534b3 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadDLQMessageReceiver.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadDLQMessageReceiver.java @@ -1,10 +1,10 @@ package com.iqser.red.service.peristence.v1.server.service.download; import com.fasterxml.jackson.databind.ObjectMapper; -import com.iqser.red.service.peristence.v1.server.model.DownloadJob; import com.iqser.red.service.peristence.v1.server.configuration.MessagingConfiguration; +import com.iqser.red.service.peristence.v1.server.model.DownloadJob; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.data.download.DownloadStatus; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadStatusValue; import com.iqser.red.service.redaction.report.v1.api.model.ReportRequestMessage; import com.iqser.red.service.redaction.report.v1.api.model.ReportResultMessage; import lombok.RequiredArgsConstructor; @@ -60,7 +60,7 @@ public class DownloadDLQMessageReceiver { retryTemplate.execute(retryContext -> { log.warn("Retrying {} time to set FAILED status for downloadJob userId: {} storageId: {}", retryContext.getRetryCount(), userId, downloadId); - downloadStatusPersistenceService.updateStatus(downloadId, DownloadStatus.DownloadStatusValue.FAILED); + downloadStatusPersistenceService.updateStatus(downloadId, DownloadStatusValue.FAILED); return null; }); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadMessageReceiver.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadMessageReceiver.java index ad819c401..d9c8b60d1 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadMessageReceiver.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadMessageReceiver.java @@ -2,13 +2,14 @@ package com.iqser.red.service.peristence.v1.server.service.download; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.iqser.red.service.peristence.v1.server.configuration.MessagingConfiguration; import com.iqser.red.service.peristence.v1.server.model.DownloadJob; import com.iqser.red.service.peristence.v1.server.service.DossierService; -import com.iqser.red.service.peristence.v1.server.configuration.MessagingConfiguration; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.download.DownloadStatusEntity; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.ReportTemplate; -import com.iqser.red.service.persistence.service.v1.api.model.data.download.DownloadStatus; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadStatusValue; import com.iqser.red.service.redaction.report.v1.api.model.ReportRequestMessage; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -39,16 +40,16 @@ public class DownloadMessageReceiver { DownloadJob downloadJob = objectMapper.readValue(in, DownloadJob.class); log.info("Preparing download for userId: {} and storageId: {}", downloadJob.getUserId(), downloadJob.getStorageId()); - DownloadStatus downloadStatus = downloadStatusPersistenceService.getStatus(downloadJob.getStorageId()); - downloadStatusPersistenceService.updateStatus(downloadJob.getStorageId(), DownloadStatus.DownloadStatusValue.GENERATING); + DownloadStatusEntity downloadStatus = downloadStatusPersistenceService.getStatus(downloadJob.getStorageId()); + downloadStatusPersistenceService.updateStatus(downloadJob.getStorageId(), DownloadStatusValue.GENERATING); var dossier = downloadStatus.getFiles().iterator().next().getDossier(); List filenameSortedFileIds = downloadStatus.getFiles() .stream() - .sorted(Comparator.comparing(File::getFilename)) - .map(File::getId) + .sorted(Comparator.comparing(FileEntity::getFilename)) + .map(FileEntity::getId) .collect(Collectors.toList()); addReportQueue(ReportRequestMessage.builder() @@ -57,7 +58,7 @@ public class DownloadMessageReceiver { .dossierId(dossier.getId()) .dossierTemplateId(dossierService.getDossierById(dossier.getId()).getDossierTemplateId()) .fileIds(filenameSortedFileIds) - .templateIds(dossier.getReportTemplates().stream().map(ReportTemplate::getTemplateId).collect(Collectors.toSet())) + .templateIds(dossier.getReportTemplates().stream().map(ReportTemplateEntity::getTemplateId).collect(Collectors.toSet())) .build(), 1); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadPreparationService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadPreparationService.java index 926d4f624..2108e85e8 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadPreparationService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadPreparationService.java @@ -6,15 +6,16 @@ import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageS import com.iqser.red.service.peristence.v1.server.service.RedactionLogService; import com.iqser.red.service.peristence.v1.server.utils.FileSystemBackedArchiver; import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.download.DownloadStatusEntity; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*; -import com.iqser.red.service.persistence.service.v1.api.model.FileType; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AddNotificationRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DownloadFileType; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.ReportTemplate; -import com.iqser.red.service.persistence.service.v1.api.model.data.download.DownloadStatus; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AddNotificationRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadStatusValue; import com.iqser.red.service.redaction.report.v1.api.model.ReportResultMessage; import com.iqser.red.service.redaction.report.v1.api.model.StoredFileInformation; import com.iqser.red.service.redaction.v1.model.AnnotateRequest; @@ -45,8 +46,8 @@ public class DownloadPreparationService { @Transactional public void createDownload(ReportResultMessage reportResultMessage) { - DownloadStatus downloadStatus = downloadStatusPersistenceService.getStatus(reportResultMessage.getDownloadId()); - Dossier dossier = downloadStatus.getDossier(); + DownloadStatusEntity downloadStatus = downloadStatusPersistenceService.getStatus(reportResultMessage.getDownloadId()); + DossierEntity dossier = downloadStatus.getDossier(); try (FileSystemBackedArchiver fileSystemBackedArchiver = new FileSystemBackedArchiver()) { @@ -54,7 +55,7 @@ public class DownloadPreparationService { addReports(reportResultMessage, fileSystemBackedArchiver); storeZipFile(downloadStatus, fileSystemBackedArchiver); - downloadStatusPersistenceService.updateStatus(downloadStatus.getStorageId(), DownloadStatus.DownloadStatusValue.READY, fileSystemBackedArchiver.getContentLength()); + downloadStatusPersistenceService.updateStatus(downloadStatus.getStorageId(), DownloadStatusValue.READY, fileSystemBackedArchiver.getContentLength()); notificationPersistenceService.insertNotification(AddNotificationRequest.builder() .userId(downloadStatus.getUserId()) @@ -66,16 +67,16 @@ public class DownloadPreparationService { } - private void generateAndAddFiles(DownloadStatus downloadStatus, FileSystemBackedArchiver fileSystemBackedArchiver, + private void generateAndAddFiles(DownloadStatusEntity downloadStatus, FileSystemBackedArchiver fileSystemBackedArchiver, boolean watermarkEnabled) { int i = 1; long fileGenerationStart = System.currentTimeMillis(); - var fileIds = downloadStatus.getFiles().stream().map(File::getId).collect(Collectors.toList()); + var fileIds = downloadStatus.getFiles().stream().map(FileEntity::getId).collect(Collectors.toList()); for (String fileId : fileIds) { long start = System.currentTimeMillis(); - File fileStatus = fileStatusPersistenceService.getStatus(fileId); + FileEntity fileStatus = fileStatusPersistenceService.getStatus(fileId); byte[] original = fileManagementStorageService.getStoredObjectBytes(fileStatus.getDossierId(), fileId, FileType.ORIGIN); RedactionLog redactionLog = getRedactionLog(fileStatus.getDossierId(), fileId, fileStatus.isExcluded()); @@ -111,13 +112,13 @@ public class DownloadPreparationService { for (StoredFileInformation storedFileInformation : reportResultMessage.getStoredFileInformation()) { - File fileStatus = null; + FileEntity fileStatus = null; if (storedFileInformation.getFileId() != null) { fileStatus = fileStatusPersistenceService.getStatus(storedFileInformation.getFileId()); } - ReportTemplate reportTemplate = reportTemplatePersistenceService.find(storedFileInformation.getTemplateId()); + ReportTemplateEntity reportTemplate = reportTemplatePersistenceService.find(storedFileInformation.getTemplateId()); byte[] report = fileManagementStorageService.getStoredObjectBytes(storedFileInformation.getStorageId()); fileSystemBackedArchiver.addEntry(new FileSystemBackedArchiver.ArchiveModel(removeExtension(reportTemplate.getFileName()) + (reportTemplate.isMultiFileReport() ? " (multifile)" : ""), createFileName(fileStatus, reportTemplate), report)); @@ -127,7 +128,7 @@ public class DownloadPreparationService { .size(), reportResultMessage.getDownloadId(), System.currentTimeMillis() - addReportsStart); } - private String createFileName(File fileStatus, ReportTemplate reportTemplate) { + private String createFileName(FileEntity fileStatus, ReportTemplateEntity reportTemplate) { if (fileStatus != null) { return removeExtension(fileStatus.getFilename()) + getExtension(reportTemplate.getFileName()); @@ -162,7 +163,7 @@ public class DownloadPreparationService { } - private void storeZipFile(DownloadStatus downloadStatus, FileSystemBackedArchiver fileSystemBackedArchiver) { + private void storeZipFile(DownloadStatusEntity downloadStatus, FileSystemBackedArchiver fileSystemBackedArchiver) { long start = System.currentTimeMillis(); fileManagementStorageService.storeObject(downloadStatus.getStorageId(), fileSystemBackedArchiver.toInputStream()); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadReportCleanupService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadReportCleanupService.java index 5f97fa9ba..228d2620d 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadReportCleanupService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadReportCleanupService.java @@ -1,14 +1,12 @@ package com.iqser.red.service.peristence.v1.server.service.download; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; - import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageService; import com.iqser.red.service.redaction.report.v1.api.model.ReportResultMessage; import com.iqser.red.service.redaction.report.v1.api.model.StoredFileInformation; - import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; @Slf4j @Service @@ -18,9 +16,9 @@ public class DownloadReportCleanupService { private final FileManagementStorageService fileManagementStorageService; @Async - public void deleteTmpReportFiles(ReportResultMessage reportResultMessage){ + public void deleteTmpReportFiles(ReportResultMessage reportResultMessage) { - for(StoredFileInformation storedFileInformation : reportResultMessage.getStoredFileInformation()){ + for (StoredFileInformation storedFileInformation : reportResultMessage.getStoredFileInformation()) { fileManagementStorageService.deleteObject(storedFileInformation.getStorageId()); log.info("Deleted tmp report file {}", storedFileInformation.getStorageId()); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadReportMessageReceiver.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadReportMessageReceiver.java index adcb2012c..dc1b84244 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadReportMessageReceiver.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/download/DownloadReportMessageReceiver.java @@ -1,16 +1,14 @@ package com.iqser.red.service.peristence.v1.server.service.download; -import com.iqser.red.service.peristence.v1.server.configuration.MessagingConfiguration; -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Service; - import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.iqser.red.service.peristence.v1.server.configuration.MessagingConfiguration; import com.iqser.red.service.redaction.report.v1.api.model.ReportResultMessage; - import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.rabbit.annotation.RabbitHandler; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Service; @Slf4j @Service diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/settings/FileManagementServiceSettings.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/settings/FileManagementServiceSettings.java index 664cc6f91..6608279ed 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/settings/FileManagementServiceSettings.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/settings/FileManagementServiceSettings.java @@ -1,10 +1,8 @@ package com.iqser.red.service.peristence.v1.server.settings; -import org.springframework.boot.context.properties.ConfigurationProperties; - import com.iqser.red.service.persistence.management.v1.processor.settings.FileUploadSettings; - import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; @Data @ConfigurationProperties("persistence-service") diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/DossierMapper.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/DossierMapper.java new file mode 100644 index 000000000..554a5c8ad --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/DossierMapper.java @@ -0,0 +1,16 @@ +package com.iqser.red.service.peristence.v1.server.utils; + +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ReportTemplateEntity; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier; + +import java.util.function.BiConsumer; +import java.util.stream.Collectors; + +public class DossierMapper implements BiConsumer { + + @Override + public void accept(DossierEntity dossierEntity, Dossier dossier) { + dossier.setReportTemplateIds(dossierEntity.getReportTemplates().stream().map(ReportTemplateEntity::getTemplateId).collect(Collectors.toSet())); + } +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileModelMapper.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileModelMapper.java new file mode 100644 index 000000000..0cdf9edfd --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileModelMapper.java @@ -0,0 +1,17 @@ +package com.iqser.red.service.peristence.v1.server.utils; + +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel; + +import java.util.function.BiConsumer; + +public class FileModelMapper implements BiConsumer { + + @Override + public void accept(FileEntity fileEntity, FileModel fileModel) { + + fileEntity.getFileAttributes().forEach(fa -> + fileModel.getFileAttributes().put(fa.getFileAttributeId().getFileAttributeConfigId(), fa.getValue()) + ); + } +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackedArchiver.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackedArchiver.java index 7c0993c28..dc695ec0e 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackedArchiver.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackedArchiver.java @@ -5,12 +5,7 @@ import lombok.Data; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -53,7 +48,7 @@ public class FileSystemBackedArchiver implements AutoCloseable { @SneakyThrows public void addEntry(ArchiveModel archiveModel) { - // begin writing a new ZIP entry, positions the stream to the start of the entry data + // begin writing a new ZIP entry, positions the stream to the start of the entry entity if (archiveModel.getFolderName() != null && !createdFolders.contains(archiveModel.getFolderName())) { ZipEntry folder = new ZipEntry(archiveModel.getFolderName() + File.separator); zipOutputStream.putNextEntry(folder); @@ -73,7 +68,7 @@ public class FileSystemBackedArchiver implements AutoCloseable { public void close() { try { boolean res = tempFile.delete(); - if(!res){ + if (!res) { log.warn("Failed to delete temp file"); } zipOutputStream.close(); diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/ManualImageRecategorizationMapper.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/ManualImageRecategorizationMapper.java new file mode 100644 index 000000000..fa9241d1f --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/ManualImageRecategorizationMapper.java @@ -0,0 +1,15 @@ +package com.iqser.red.service.peristence.v1.server.utils; + +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualImageRecategorizationEntity; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.ManualImageRecategorization; + +import java.util.function.BiConsumer; + +public class ManualImageRecategorizationMapper implements BiConsumer { + + @Override + public void accept(ManualImageRecategorizationEntity manualRedactionEntryEntity, ManualImageRecategorization manualRedactionEntry) { + manualRedactionEntry.setType(manualRedactionEntryEntity.getTypeId().substring(0, manualRedactionEntryEntity.getTypeId().indexOf(":"))); + } + +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/ManualRedactionMapper.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/ManualRedactionMapper.java new file mode 100644 index 000000000..0d2044f81 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/ManualRedactionMapper.java @@ -0,0 +1,15 @@ +package com.iqser.red.service.peristence.v1.server.utils; + +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ManualRedactionEntryEntity; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.ManualRedactionEntry; + +import java.util.function.BiConsumer; + +public class ManualRedactionMapper implements BiConsumer { + + @Override + public void accept(ManualRedactionEntryEntity manualRedactionEntryEntity, ManualRedactionEntry manualRedactionEntry) { + manualRedactionEntry.setType(manualRedactionEntryEntity.getTypeId().substring(0, manualRedactionEntryEntity.getTypeId().indexOf(":"))); + } + +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/StorageIdUtils.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/StorageIdUtils.java index 2b7c544ae..ff55bb9f4 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/StorageIdUtils.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/utils/StorageIdUtils.java @@ -1,7 +1,7 @@ package com.iqser.red.service.peristence.v1.server.utils; -import com.iqser.red.service.persistence.service.v1.api.model.FileType; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; public class StorageIdUtils { diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml index 42610db6b..4ddc12234 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yml @@ -2,7 +2,6 @@ info: description: File Management Service V1 Server redaction-service.url: "http://redaction-service-v1:8080" -configuration-service.url: "http://configuration-service-v1:8080" pdftron-redaction-service.url: "http://pdftron-redaction-service-v1:8080" redaction-report-service.url: "http://redaction-report-service-v1:8080" search-service.url: "http://search-service-v1:8080" @@ -13,10 +12,10 @@ server: spring: datasource: - url: jdbc:postgresql://${PSQL_HOST}:${PSQL_PORT}/${PSQL_DATABASE} + url: jdbc:postgresql://${PSQL_HOST:localhost}:${PSQL_PORT:5432}/${PSQL_DATABASE:redaction} driverClassName: org.postgresql.Driver - username: ${PSQL_USERNAME} - password: ${PSQL_PASSWORD} + username: ${PSQL_USERNAME:redaction} + password: ${PSQL_PASSWORD:redaction} platform: org.hibernate.dialect.PostgreSQL95Dialect jpa: database-platform: org.hibernate.dialect.PostgreSQL95Dialect diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DictionaryClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DictionaryClient.java index 386fd6807..67ff6bf43 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DictionaryClient.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DictionaryClient.java @@ -1,7 +1,6 @@ package com.iqser.red.service.peristence.v1.server.integration.client; import com.iqser.red.service.persistence.service.v1.api.resources.DictionaryResource; -import com.iqser.red.service.persistence.service.v1.api.resources.UploadResource; import org.springframework.cloud.openfeign.FeignClient; @FeignClient(name = "DictionaryClient", url = "http://localhost:${server.port}") diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierTemplateClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierTemplateClient.java index 362682263..ec57ec691 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierTemplateClient.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierTemplateClient.java @@ -3,6 +3,6 @@ package com.iqser.red.service.peristence.v1.server.integration.client; import com.iqser.red.service.persistence.service.v1.api.resources.DossierTemplateResource; import org.springframework.cloud.openfeign.FeignClient; -@FeignClient(name = "DossierTemplateClient" ,url = "http://localhost:${server.port}") +@FeignClient(name = "DossierTemplateClient", url = "http://localhost:${server.port}") public interface DossierTemplateClient extends DossierTemplateResource { } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DownloadClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DownloadClient.java index b802543f2..36d0fb596 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DownloadClient.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DownloadClient.java @@ -3,6 +3,6 @@ package com.iqser.red.service.peristence.v1.server.integration.client; import com.iqser.red.service.persistence.service.v1.api.resources.DownloadResource; import org.springframework.cloud.openfeign.FeignClient; -@FeignClient(name = "DownloadClient" ,url = "http://localhost:${server.port}") +@FeignClient(name = "DownloadClient", url = "http://localhost:${server.port}") public interface DownloadClient extends DownloadResource { } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeConfigClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeConfigClient.java index be37a5116..adaaf5ba8 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeConfigClient.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeConfigClient.java @@ -1,7 +1,6 @@ package com.iqser.red.service.peristence.v1.server.integration.client; import com.iqser.red.service.persistence.service.v1.api.resources.FileAttributesConfigResource; -import com.iqser.red.service.persistence.service.v1.api.resources.FileAttributesResource; import org.springframework.cloud.openfeign.FeignClient; @FeignClient(name = "FileAttributeConfigClient", url = "http://localhost:${server.port}") diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/NotificationClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/NotificationClient.java index e64a5daf7..1afed6316 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/NotificationClient.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/NotificationClient.java @@ -1,6 +1,5 @@ package com.iqser.red.service.peristence.v1.server.integration.client; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.NotificationRepository; import com.iqser.red.service.persistence.service.v1.api.resources.NotificationResource; import org.springframework.cloud.openfeign.FeignClient; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ReportTemplateClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ReportTemplateClient.java index fa0f82026..302204145 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ReportTemplateClient.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ReportTemplateClient.java @@ -4,7 +4,6 @@ import com.iqser.red.service.persistence.service.v1.api.resources.ReportTemplate import org.springframework.cloud.openfeign.FeignClient; - @FeignClient(name = "ReportTemplateClient", url = "http://localhost:${server.port}") public interface ReportTemplateClient extends ReportTemplateResource { } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTemplateTesterAndProvider.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTemplateTesterAndProvider.java index 309ee160e..0ffb8d824 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTemplateTesterAndProvider.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTemplateTesterAndProvider.java @@ -2,9 +2,9 @@ package com.iqser.red.service.peristence.v1.server.integration.service; import com.google.common.collect.Sets; import com.iqser.red.service.peristence.v1.server.integration.client.DossierTemplateClient; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierTemplateRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DownloadFileType; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplate; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -18,7 +18,7 @@ public class DossierTemplateTesterAndProvider { @Autowired private DossierTemplateClient dossierTemplateClient; - public DossierTemplate provideTestTemplate(){ + public DossierTemplate provideTestTemplate() { CreateOrUpdateDossierTemplateRequest cru = new CreateOrUpdateDossierTemplateRequest(); cru.setCreatedBy("1"); cru.setDateAdded(OffsetDateTime.now()); @@ -42,6 +42,4 @@ public class DossierTemplateTesterAndProvider { } - - } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTesterAndProvider.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTesterAndProvider.java index f477784e7..0d4f7d80e 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTesterAndProvider.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/DossierTesterAndProvider.java @@ -2,10 +2,10 @@ package com.iqser.red.service.peristence.v1.server.integration.service; import com.google.common.collect.Sets; import com.iqser.red.service.peristence.v1.server.integration.client.DossierClient; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DownloadFileType; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplate; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/FileTesterAndProvider.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/FileTesterAndProvider.java index 5c5b9b590..a7b7a7f58 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/FileTesterAndProvider.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/FileTesterAndProvider.java @@ -5,17 +5,15 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.peristence.v1.server.integration.client.FileClient; import com.iqser.red.service.peristence.v1.server.integration.client.UploadClient; import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageService; -import com.iqser.red.service.persistence.service.v1.api.model.BinaryFileRequest; -import com.iqser.red.service.persistence.service.v1.api.model.FileType; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.BinaryFileRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; import com.iqser.red.service.redaction.v1.model.RedactionLog; import com.iqser.red.service.redaction.v1.model.RedactionLogEntry; import com.iqser.red.service.redaction.v1.model.SectionGrid; -import com.iqser.red.storage.commons.service.StorageService; import lombok.SneakyThrows; -import org.assertj.core.util.Lists; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -42,7 +40,7 @@ public class FileTesterAndProvider { @SneakyThrows - public File testAndProvideFile(Dossier dossier){ + public FileModel testAndProvideFile(Dossier dossier) { BinaryFileRequest upload = new BinaryFileRequest("test".getBytes(StandardCharsets.UTF_8), "test.pdf", dossier.getId(), "1"); @@ -54,8 +52,9 @@ public class FileTesterAndProvider { assertThat(fileClient.getDossierStatus(dossier.getId()).size()).isEqualTo(1); - fileManagementStorageService.storeObject(dossier.getId(),file.getId(), FileType.REDACTION_LOG, objectMapper.writeValueAsBytes(new RedactionLog(1, List.of(RedactionLogEntry.builder().id("annotationId").typeId("manual:" + dossier.getDossierTemplateId()).value("value").build()), Lists.newArrayList(),0,0,0,0))); - fileManagementStorageService.storeObject(dossier.getId(),file.getId(), FileType.SECTION_GRID, objectMapper.writeValueAsBytes(new SectionGrid())); + fileManagementStorageService.storeObject(dossier.getId(), file.getId(), FileType.REDACTION_LOG, objectMapper.writeValueAsBytes(new RedactionLog(1, List.of(RedactionLogEntry.builder().id("annotationId").typeId("manual:" + dossier.getDossierTemplateId()).value("value").build()), + null, 0, 0, 0, 0))); + fileManagementStorageService.storeObject(dossier.getId(), file.getId(), FileType.SECTION_GRID, objectMapper.writeValueAsBytes(new SectionGrid())); return file; } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/TypeProvider.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/TypeProvider.java index 1596b5ae7..3b3cd36f1 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/TypeProvider.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/service/TypeProvider.java @@ -1,9 +1,9 @@ package com.iqser.red.service.peristence.v1.server.integration.service; import com.iqser.red.service.peristence.v1.server.integration.client.DictionaryClient; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierTemplate; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.Type; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/AuditTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/AuditTest.java index 32df5310c..383e25792 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/AuditTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/AuditTest.java @@ -3,9 +3,9 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.iqser.red.service.peristence.v1.server.integration.client.AuditClient; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.AuditRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AuditSearchRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.CategoryModel; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditRequest; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AuditSearchRequest; +import com.iqser.red.service.persistence.service.v1.api.model.audit.CategoryModel; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -37,7 +37,7 @@ public class AuditTest extends AbstractPersistenceServerServiceTest { assertThat(auditClient.getCategories().stream().filter(c -> c.getCategory().equals("c2")).findAny().map(CategoryModel::getRecordCount).get()).isEqualTo(1); var result = auditClient.search(AuditSearchRequest.builder().category("c1").page(0).pageSize(10).build()); - assertThat(result.getTotalElements()).isEqualTo(2); + assertThat(result.getTotalHits()).isEqualTo(2); } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DigitalSignatureTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DigitalSignatureTest.java index 87174b0cb..75c583aee 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DigitalSignatureTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DigitalSignatureTest.java @@ -2,7 +2,7 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.iqser.red.service.peristence.v1.server.integration.client.DigitalSignatureClient; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DigitalSignature; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.DigitalSignature; import feign.FeignException; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -46,7 +46,6 @@ public class DigitalSignatureTest extends AbstractPersistenceServerServiceTest { assertThat(loadedSignature.getReason()).isEqualTo("new test"); - digitalSignatureClient.deleteDigitalSignature(); try { digitalSignatureClient.getDigitalSignature(); @@ -55,6 +54,5 @@ public class DigitalSignatureTest extends AbstractPersistenceServerServiceTest { } - } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java index 8dbcae255..3e3a3c1ac 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java @@ -3,10 +3,10 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.iqser.red.service.peristence.v1.server.integration.client.DossierAttributeClient; import com.iqser.red.service.peristence.v1.server.integration.client.DossierAttributeConfigClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; -import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttribute; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierAttributeConfig; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierAttributeConfig; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierAttribute; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierAttributeType; import lombok.SneakyThrows; import org.assertj.core.util.Lists; import org.junit.Test; @@ -40,7 +40,7 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { DossierAttributeConfig attribute = new DossierAttributeConfig(); attribute.setLabel("test"); attribute.setEditable(true); - attribute.setType(DossierAttributeConfig.DossierAttributeType.TEXT); + attribute.setType(DossierAttributeType.TEXT); dossierAttributeConfigClient.addOrUpdateDossierAttribute(dossier.getDossierTemplateId(), attribute); @@ -66,7 +66,7 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { List dossierAttributes = new ArrayList<>(); - dossierAttributes.add(DossierAttribute.builder().id(new DossierAttribute.DossierAttributeId(dossier.getId(), configId)).value("lorem ipsum").build()); + dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configId).dossierId(dossier.getId()).value("lorem ipsum").build()); dossierAttributeClient.setDossierAttributes(dossier.getId(), dossierAttributes); @@ -85,7 +85,7 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { assertThat(firstAttribute.getValue()).isEqualTo("test"); - dossierAttributeClient.deleteDossierAttribute(dossier.getId(), firstAttribute.getId().getDossierAttributeConfigId()); + dossierAttributeClient.deleteDossierAttribute(dossier.getId(), firstAttribute.getDossierAttributeConfigId()); loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); assertThat(loadedAttributeValues).isEmpty(); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java index de776a329..09fc5ce53 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java @@ -1,9 +1,9 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; -import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; import com.iqser.red.service.peristence.v1.server.integration.client.DossierTemplateClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierTemplateRequest; +import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.CreateOrUpdateDossierTemplateRequest; import org.junit.Test; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTest.java index e1b1cea45..d3cfb8953 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTest.java @@ -1,10 +1,10 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.google.common.collect.Sets; -import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; import com.iqser.red.service.peristence.v1.server.integration.client.DossierClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; -import com.iqser.red.service.persistence.service.v1.api.model.CreateOrUpdateDossierRequest; +import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.CreateOrUpdateDossierRequest; import org.junit.Test; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadPreparationTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadPreparationTest.java index c0231fe39..50fadd89c 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadPreparationTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadPreparationTest.java @@ -8,8 +8,8 @@ import com.iqser.red.service.peristence.v1.server.integration.service.DossierTes import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; import com.iqser.red.service.peristence.v1.server.service.download.DownloadReportMessageReceiver; -import com.iqser.red.service.persistence.service.v1.api.model.DownloadRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ReportTemplateUploadRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplateUploadRequest; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadRequest; import com.iqser.red.service.redaction.report.v1.api.model.ReportResultMessage; import com.iqser.red.service.redaction.report.v1.api.model.StoredFileInformation; import com.iqser.red.storage.commons.service.StorageService; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadTest.java index ff8587fab..98eb0cb13 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadTest.java @@ -4,8 +4,8 @@ import com.iqser.red.service.peristence.v1.server.integration.client.DownloadCli import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.DownloadRequest; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.download.DownloadRequest; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java index d95a812da..4d712a84b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java @@ -6,10 +6,9 @@ import com.iqser.red.service.peristence.v1.server.integration.client.FileClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.ImportCsvRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.FileAttributesGeneralConfiguration; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttribute; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttributeConfig; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.FileAttributesGeneralConfiguration; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ImportCsvRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileAttributeConfig; import lombok.SneakyThrows; import org.apache.commons.io.IOUtils; import org.assertj.core.util.Lists; @@ -111,9 +110,9 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest { fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), Map.of(updated.getId(), "Lorem Ipsum")); - List fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes(); + Map fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes(); assertThat(fileAttributes.size()).isEqualTo(1); - assertThat(fileAttributes.iterator().next().getValue()).isEqualTo("Lorem Ipsum"); + assertThat(fileAttributes.entrySet().iterator().next().getValue()).isEqualTo("Lorem Ipsum"); var request = new ImportCsvRequest(); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileProcessingTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileProcessingTest.java index 1f900a3d3..91124422d 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileProcessingTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileProcessingTest.java @@ -5,7 +5,7 @@ import com.iqser.red.service.peristence.v1.server.integration.client.FileProcess import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import com.iqser.red.service.redaction.v1.model.AnalyzeResult; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -48,7 +48,6 @@ public class FileProcessingTest extends AbstractPersistenceServerServiceTest { assertThat(loadedFile.getAnalysisVersion()).isEqualTo(100); - fileProcessingClient.ocrFailed(dossier.getId(), file.getId()); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.ERROR); @@ -60,7 +59,6 @@ public class FileProcessingTest extends AbstractPersistenceServerServiceTest { assertThat(loadedFile.getLastOCRTime()).isNotNull(); - fileProcessingClient.indexing(dossier.getId(), file.getId()); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.INDEXING); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java index 3b6ca08a4..1bb97a150 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java @@ -5,29 +5,27 @@ import com.google.common.collect.Sets; import com.iqser.red.service.peristence.v1.server.integration.client.FileClient; import com.iqser.red.service.peristence.v1.server.integration.client.ManualRedactionClient; import com.iqser.red.service.peristence.v1.server.integration.client.UploadClient; +import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.TypeProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.AddRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.BinaryFileRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ForceRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ImageRecategorizationRequest; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.LegalBasisChangeRequest; -import com.iqser.red.service.persistence.service.v1.api.model.RemoveRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; -import org.assertj.core.util.Lists; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.*; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.BinaryFileRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import static org.assertj.core.api.Assertions.assertThat; - import java.nio.charset.StandardCharsets; +import static org.assertj.core.api.Assertions.assertThat; + public class FileTest extends AbstractPersistenceServerServiceTest { + @Autowired + private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider; + @Autowired private FileTesterAndProvider fileTesterAndProvider; @@ -72,53 +70,52 @@ public class FileTest extends AbstractPersistenceServerServiceTest { assertThat(loadedFile.getExcludedPages()).isEmpty(); - fileClient.setCurrentFileReviewer(dossier.getId(), file.getId(), JSONPrimitive.of("1")); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); assertThat(loadedFile.getCurrentReviewer()).isEqualTo("1"); assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.UNDER_REVIEW); - fileClient.setStatusUnderApproval(dossier.getId(),file.getId(),"1"); + fileClient.setStatusUnderApproval(dossier.getId(), file.getId(), "1"); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.UNDER_APPROVAL); - fileClient.setStatusUnderReview(dossier.getId(),file.getId()); + fileClient.setStatusUnderReview(dossier.getId(), file.getId()); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.UNDER_REVIEW); - fileClient.setStatusUnderApproval(dossier.getId(),file.getId(),"1"); + fileClient.setStatusUnderApproval(dossier.getId(), file.getId(), "1"); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.UNDER_APPROVAL); - fileClient.setStatusApproved(dossier.getId(),file.getId()); + fileClient.setStatusApproved(dossier.getId(), file.getId()); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.APPROVED); - assertThat(uploadClient.getOriginal(dossier.getId(),file.getId())).isNotNull(); - assertThat(uploadClient.getRedacted(dossier.getId(),file.getId())).isNotNull(); - assertThat(uploadClient.getFlatRedacted(dossier.getId(),file.getId())).isNotNull(); - assertThat(uploadClient.getPreview(dossier.getId(),file.getId())).isNotNull(); - assertThat(uploadClient.getAnnotated(dossier.getId(),file.getId())).isNotNull(); + assertThat(uploadClient.getOriginal(dossier.getId(), file.getId())).isNotNull(); + assertThat(uploadClient.getRedacted(dossier.getId(), file.getId())).isNotNull(); + assertThat(uploadClient.getFlatRedacted(dossier.getId(), file.getId())).isNotNull(); + assertThat(uploadClient.getPreview(dossier.getId(), file.getId())).isNotNull(); + assertThat(uploadClient.getAnnotated(dossier.getId(), file.getId())).isNotNull(); fileClient.setStatusUnderReview(dossier.getId(), file.getId()); - fileClient.toggleExclusion(dossier.getId(),file.getId(),true); + fileClient.toggleExclusion(dossier.getId(), file.getId(), true); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); assertThat(loadedFile.isExcluded()).isTrue(); - fileClient.toggleExclusion(dossier.getId(),file.getId(),false); + fileClient.toggleExclusion(dossier.getId(), file.getId(), false); loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); assertThat(loadedFile.isExcluded()).isFalse(); - uploadClient.deleteFile(dossier.getId(),file.getId()); + uploadClient.deleteFile(dossier.getId(), file.getId()); var softDeletedFiles = fileClient.getSoftDeletedDossierStatus(dossier.getId()); assertThat(softDeletedFiles.size()).isEqualTo(1); @@ -133,7 +130,6 @@ public class FileTest extends AbstractPersistenceServerServiceTest { assertThat(activeFiles.size()).isEqualTo(1); - uploadClient.hardDeleteFiles(dossier.getId(), Sets.newHashSet(file.getId())); softDeletedFiles = fileClient.getSoftDeletedDossierStatus(dossier.getId()); assertThat(softDeletedFiles.size()).isEqualTo(0); @@ -142,20 +138,20 @@ public class FileTest extends AbstractPersistenceServerServiceTest { assertThat(activeFiles.size()).isEqualTo(0); - - - } @Test public void testFilewithRedactions() { - var dossier = dossierTesterAndProvider.provideTestDossier(); + + var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate(); + + var dossier = dossierTesterAndProvider.provideTestDossier(dossierTemplate); String dossierId = dossier.getId(); var file = fileTesterAndProvider.testAndProvideFile(dossier); String fileId = file.getId(); - var type = typeProvider.testAndProvideType(dossier.getDossierTemplate(), null, "manual"); + var type = typeProvider.testAndProvideType(dossierTemplate, null, "manual"); String typeId = type.getId(); assertThat(fileClient.getAllStatuses().size()).isEqualTo(1); @@ -166,7 +162,7 @@ public class FileTest extends AbstractPersistenceServerServiceTest { var addRedaction = manualRedactionClient.addAddRedaction(dossierId, fileId, AddRedactionRequest.builder().addToDictionary(true) - .addToDossierDictionary(false).comment("comment").status(AnnotationStatus.REQUESTED).type(typeId).user("user").reason("1").value("test").legalBasis("1").build()); + .addToDossierDictionary(false).comment("comment").status(AnnotationStatus.REQUESTED).typeId(typeId).user("user").reason("1").value("test").legalBasis("1").build()); var removeRedaction = manualRedactionClient.addRemoveRedaction(dossierId, fileId, RemoveRedactionRequest.builder() .annotationId("removeRedactionAnnotation").comment("comment").status(AnnotationStatus.REQUESTED).user("test").removeFromDictionary(false).build()); var forceRedaction = manualRedactionClient.addForceRedaction(dossierId, fileId, ForceRedactionRequest.builder() @@ -174,19 +170,19 @@ public class FileTest extends AbstractPersistenceServerServiceTest { var legalBasisChange = manualRedactionClient.addLegalBasisChange(dossierId, fileId, LegalBasisChangeRequest.builder() .annotationId("legalBasisChangeAnnotation").comment("comment").status(AnnotationStatus.REQUESTED).user("test").legalBasis("1").build()); var imageRecategorization = manualRedactionClient.addImageRecategorization(dossierId, fileId, ImageRecategorizationRequest.builder() - .annotationId("imageRecategorizationAnnotation").comment("comment").status(AnnotationStatus.REQUESTED).user("test").type("new-type").build()); + .annotationId("imageRecategorizationAnnotation").comment("comment").status(AnnotationStatus.REQUESTED).user("test").typeId("new-type:id").build()); var loadedFile = fileClient.getFileStatus(dossierId, fileId); assertThat(loadedFile.isHasAnnotationComments()).isEqualTo(true); - assertThat(manualRedactionClient.getAddRedaction(fileId, addRedaction.getAnnotationId()).getId().getFileId()).isEqualTo(loadedFile.getId()); - assertThat(manualRedactionClient.getRemoveRedaction(fileId, removeRedaction.getAnnotationId()).getId().getFileId()).isEqualTo(loadedFile.getId()); - assertThat(manualRedactionClient.getForceRedaction(fileId, forceRedaction.getAnnotationId()).getId().getFileId()).isEqualTo(loadedFile.getId()); - assertThat(manualRedactionClient.getLegalBasisChange(fileId, legalBasisChange.getAnnotationId()).getId().getFileId()).isEqualTo(loadedFile.getId()); - assertThat(manualRedactionClient.getImageRecategorization(fileId, imageRecategorization.getAnnotationId()).getId().getFileId()).isEqualTo(loadedFile.getId()); + assertThat(manualRedactionClient.getAddRedaction(fileId, addRedaction.getAnnotationId()).getFileId()).isEqualTo(loadedFile.getId()); + assertThat(manualRedactionClient.getRemoveRedaction(fileId, removeRedaction.getAnnotationId()).getFileId()).isEqualTo(loadedFile.getId()); + assertThat(manualRedactionClient.getForceRedaction(fileId, forceRedaction.getAnnotationId()).getFileId()).isEqualTo(loadedFile.getId()); + assertThat(manualRedactionClient.getLegalBasisChange(fileId, legalBasisChange.getAnnotationId()).getFileId()).isEqualTo(loadedFile.getId()); + assertThat(manualRedactionClient.getImageRecategorization(fileId, imageRecategorization.getAnnotationId()).getFileId()).isEqualTo(loadedFile.getId()); - uploadClient.deleteFile(dossier.getId(),file.getId()); + uploadClient.deleteFile(dossier.getId(), file.getId()); var softDeletedFiles = fileClient.getSoftDeletedDossierStatus(dossier.getId()); assertThat(softDeletedFiles.size()).isEqualTo(1); var activeFiles = fileClient.getDossierStatus(dossier.getId()); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LegalBasisTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LegalBasisTest.java index a595d80fb..bec322643 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LegalBasisTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LegalBasisTest.java @@ -3,7 +3,7 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.iqser.red.service.peristence.v1.server.integration.client.LegalBasisClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.LegalBasis; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis.LegalBasis; import feign.FeignException; import org.assertj.core.util.Lists; import org.junit.Test; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LicenseReportTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LicenseReportTest.java index b6837916e..bdfca6899 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LicenseReportTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LicenseReportTest.java @@ -5,7 +5,7 @@ import com.iqser.red.service.peristence.v1.server.integration.service.DossierTem import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.LicenseReportRequest; +import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReportRequest; import org.assertj.core.util.Lists; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java index c5288d05d..f802e8a5d 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java @@ -1,26 +1,18 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; - -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - import com.iqser.red.service.peristence.v1.server.integration.client.DictionaryClient; import com.iqser.red.service.peristence.v1.server.integration.client.ManualRedactionClient; +import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.TypeProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.AddRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.CommentRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ForceRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ImageRecategorizationRequest; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.LegalBasisChangeRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ManualRedactions; -import com.iqser.red.service.persistence.service.v1.api.model.RemoveRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.*; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import static org.assertj.core.api.Assertions.assertThat; public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { @@ -30,6 +22,9 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { @Autowired private DossierTesterAndProvider dossierTesterAndProvider; + @Autowired + private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider; + @Autowired private TypeProvider typeProvider; @@ -42,13 +37,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { @Test public void testManualRedaction() { - var dossier = dossierTesterAndProvider.provideTestDossier(); + var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate(); + + var dossier = dossierTesterAndProvider.provideTestDossier(dossierTemplate); var file = fileTesterAndProvider.testAndProvideFile(dossier); - var type = typeProvider.testAndProvideType(dossier.getDossierTemplate(), null, "manual"); - - + var type = typeProvider.testAndProvideType(dossierTemplate, null, "manual"); var comment = manualRedactionClient.addComment(dossier.getId(), file.getId(), "1", CommentRequest.builder().text("test").user("1").build()); @@ -56,13 +51,11 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(loadedComment.getText()).isEqualTo("test"); - - var addRedaction = manualRedactionClient.addAddRedaction(dossier.getId(), file.getId(), AddRedactionRequest.builder().addToDictionary(true) - .addToDossierDictionary(false).status(AnnotationStatus.REQUESTED).type(type.getId()).user("user").reason("1").value("test").legalBasis("1").build()); + .addToDossierDictionary(false).status(AnnotationStatus.REQUESTED).typeId(type.getId()).user("user").reason("1").value("test").legalBasis("1").build()); var loadedAddRedaction = manualRedactionClient.getAddRedaction(file.getId(), addRedaction.getAnnotationId()); assertThat(loadedAddRedaction.getUser()).isEqualTo("user"); - assertThat(loadedAddRedaction.getTypeId()).contains("manual"); + assertThat(loadedAddRedaction.getType()).contains("manual"); manualRedactionClient.updateAddRedactionStatus(dossier.getId(), file.getId(), addRedaction.getAnnotationId(), JSONPrimitive.of(AnnotationStatus.APPROVED)); loadedAddRedaction = manualRedactionClient.getAddRedaction(file.getId(), addRedaction.getAnnotationId()); @@ -73,7 +66,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(loadedAddRedaction.getStatus()).isEqualTo(AnnotationStatus.DECLINED); var addRedaction2 = manualRedactionClient.addAddRedaction(dossier.getId(), file.getId(), AddRedactionRequest.builder().addToDictionary(true) - .addToDossierDictionary(false).status(AnnotationStatus.APPROVED).type(type.getId()).user("user").reason("1").value("test").legalBasis("1").comment("comment").build()); + .addToDossierDictionary(false).status(AnnotationStatus.APPROVED).typeId(type.getId()).user("user").reason("1").value("test").legalBasis("1").comment("comment").build()); manualRedactionClient.updateAddRedactionStatus(dossier.getId(), file.getId(), addRedaction2.getAnnotationId(), JSONPrimitive.of(AnnotationStatus.REQUESTED)); var loadedAddRedaction2 = manualRedactionClient.getAddRedaction(file.getId(), addRedaction2.getAnnotationId()); @@ -82,7 +75,6 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(loadedAddRedaction2.isAddToDictionary()).isEqualTo(true); - var removeRedaction = manualRedactionClient.addRemoveRedaction(dossier.getId(), file.getId(), RemoveRedactionRequest.builder() .annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").removeFromDictionary(false).build()); manualRedactionClient.updateRemoveRedactionStatus(dossier.getId(), file.getId(), removeRedaction.getAnnotationId(), JSONPrimitive.of(AnnotationStatus.REQUESTED)); @@ -115,15 +107,13 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(loadedRemoveRedaction2.getStatus()).isEqualTo(AnnotationStatus.REQUESTED); - - var forceRedaction = manualRedactionClient.addForceRedaction(dossier.getId(), file.getId(), ForceRedactionRequest.builder() .annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").legalBasis("1").build()); var loadedForceRedaction = manualRedactionClient.getForceRedaction(file.getId(), forceRedaction.getAnnotationId()); assertThat(loadedForceRedaction.getLegalBasis()).isEqualTo("1"); assertThat(loadedForceRedaction.getUser()).isEqualTo("test"); - assertThat(loadedForceRedaction.getId()).isEqualTo(loadedForceRedaction.getId()); - assertThat(loadedForceRedaction.getId().getId()).isEqualTo(loadedForceRedaction.getId().getId()); + assertThat(loadedForceRedaction.getAnnotationId()).isEqualTo(loadedForceRedaction.getAnnotationId()); + assertThat(loadedForceRedaction.getFileId()).isEqualTo(loadedForceRedaction.getFileId()); manualRedactionClient.updateForceRedactionStatus(dossier.getId(), file.getId(), forceRedaction.getAnnotationId(), JSONPrimitive.of(AnnotationStatus.APPROVED)); loadedForceRedaction = manualRedactionClient.getForceRedaction(file.getId(), addRedaction.getAnnotationId()); @@ -134,11 +124,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(loadedForceRedaction.getStatus()).isEqualTo(AnnotationStatus.DECLINED); - var legalBasisChange = manualRedactionClient.addLegalBasisChange(dossier.getId(), file.getId(), LegalBasisChangeRequest.builder() .annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").legalBasis("1").build()); var loadedLegalBasisChange = manualRedactionClient.getLegalBasisChange(file.getId(), addRedaction.getAnnotationId()); - assertThat(loadedLegalBasisChange.getId().getId()).isEqualTo(legalBasisChange.getAnnotationId()); + assertThat(loadedLegalBasisChange.getAnnotationId()).isEqualTo(legalBasisChange.getAnnotationId()); assertThat(loadedLegalBasisChange.getUser()).isEqualTo("test"); assertThat(loadedLegalBasisChange.getLegalBasis()).isEqualTo("1"); @@ -151,11 +140,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(loadedLegalBasisChange.getStatus()).isEqualTo(AnnotationStatus.DECLINED); - var imageRecategorization = manualRedactionClient.addImageRecategorization(dossier.getId(), file.getId(), ImageRecategorizationRequest.builder() - .annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").type("new-type").build()); + .annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").typeId("new-type:id").build()); var loadedImageRecategorization = manualRedactionClient.getImageRecategorization(file.getId(), addRedaction.getAnnotationId()); - assertThat(loadedImageRecategorization.getId().getId()).isEqualTo(imageRecategorization.getAnnotationId()); + assertThat(loadedImageRecategorization.getAnnotationId()).isEqualTo(imageRecategorization.getAnnotationId()); manualRedactionClient.updateImageRecategorizationStatus(dossier.getId(), file.getId(), imageRecategorization.getAnnotationId(), JSONPrimitive.of(AnnotationStatus.APPROVED)); loadedImageRecategorization = manualRedactionClient.getImageRecategorization(file.getId(), addRedaction.getAnnotationId()); @@ -166,7 +154,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(loadedImageRecategorization.getStatus()).isEqualTo(AnnotationStatus.DECLINED); var imageRecategorization2 = manualRedactionClient.addImageRecategorization(dossier.getId(), file.getId(), ImageRecategorizationRequest.builder() - .annotationId(addRedaction2.getAnnotationId()).comment("comment").status(AnnotationStatus.APPROVED).user("test").type("new-type").build()); + .annotationId(addRedaction2.getAnnotationId()).comment("comment").status(AnnotationStatus.APPROVED).user("test").typeId("new-type:id").build()); var loadedImageRecategorization2 = manualRedactionClient.getImageRecategorization(file.getId(), imageRecategorization2.getAnnotationId()); assertThat(loadedImageRecategorization2.getStatus()).isEqualTo(AnnotationStatus.APPROVED); @@ -176,7 +164,6 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(loadedImageRecategorization2.getStatus()).isEqualTo(AnnotationStatus.REQUESTED); - ManualRedactions manualRedactions = manualRedactionClient.getManualRedactions(dossier.getId(), file.getId()); assertThat(manualRedactions.getForceRedactions()).isNotEmpty(); assertThat(manualRedactions.getLegalBasisChanges()).isNotEmpty(); @@ -186,17 +173,15 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(manualRedactions.getComments()).isNotEmpty(); - manualRedactions.getForceRedactions().forEach(e -> manualRedactionClient.deleteForceRedaction(dossier.getId(), file.getId(), e.getId().getId())); - manualRedactions.getLegalBasisChanges().forEach(e -> manualRedactionClient.deleteLegalBasisChange(dossier.getId(), file.getId(), e.getId().getId())); - manualRedactions.getEntriesToAdd().forEach(e -> manualRedactionClient.deleteAddRedaction(dossier.getId(), file.getId(), e.getId().getId())); - manualRedactions.getIdsToRemove().forEach(e -> manualRedactionClient.deleteRemoveRedaction(dossier.getId(), file.getId(), e.getId().getId())); - manualRedactions.getImageRecategorization().forEach(e -> manualRedactionClient.deleteImageRecategorization(dossier.getId(), file.getId(), e.getId().getId())); + manualRedactions.getForceRedactions().forEach(e -> manualRedactionClient.deleteForceRedaction(dossier.getId(), file.getId(), e.getAnnotationId())); + manualRedactions.getLegalBasisChanges().forEach(e -> manualRedactionClient.deleteLegalBasisChange(dossier.getId(), file.getId(), e.getAnnotationId())); + manualRedactions.getEntriesToAdd().forEach(e -> manualRedactionClient.deleteAddRedaction(dossier.getId(), file.getId(), e.getAnnotationId())); + manualRedactions.getIdsToRemove().forEach(e -> manualRedactionClient.deleteRemoveRedaction(dossier.getId(), file.getId(), e.getAnnotationId())); + manualRedactions.getImageRecategorization().forEach(e -> manualRedactionClient.deleteImageRecategorization(dossier.getId(), file.getId(), e.getAnnotationId())); manualRedactions.getComments().forEach((key, value) -> value.forEach(c -> manualRedactionClient.deleteComment(file.getId(), c.getId()))); - - var forceRedaction2 = manualRedactionClient.addForceRedaction(dossier.getId(), file.getId(), ForceRedactionRequest.builder() .annotationId(addRedaction2.getAnnotationId()).comment("comment").status(AnnotationStatus.APPROVED).user("test").legalBasis("1").build()); var loadedForceRedaction2 = manualRedactionClient.getForceRedaction(file.getId(), forceRedaction2.getAnnotationId()); @@ -208,9 +193,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(loadedForceRedaction2.getStatus()).isEqualTo(AnnotationStatus.REQUESTED); manualRedactions = manualRedactionClient.getManualRedactions(dossier.getId(), file.getId()); - manualRedactions.getForceRedactions().forEach(e -> manualRedactionClient.deleteForceRedaction(dossier.getId(), file.getId(), e.getId().getId())); - - + manualRedactions.getForceRedactions().forEach(e -> manualRedactionClient.deleteForceRedaction(dossier.getId(), file.getId(), e.getAnnotationId())); var legalBasisChange2 = manualRedactionClient.addLegalBasisChange(dossier.getId(), file.getId(), LegalBasisChangeRequest.builder() @@ -223,7 +206,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(loadedLegalBasisChange2.getStatus()).isEqualTo(AnnotationStatus.REQUESTED); manualRedactions = manualRedactionClient.getManualRedactions(dossier.getId(), file.getId()); - manualRedactions.getLegalBasisChanges().forEach(e -> manualRedactionClient.deleteLegalBasisChange(dossier.getId(), file.getId(), e.getId().getId())); + manualRedactions.getLegalBasisChanges().forEach(e -> manualRedactionClient.deleteLegalBasisChange(dossier.getId(), file.getId(), e.getAnnotationId())); } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/NotificationTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/NotificationTest.java index 1b471443f..a05b4f80e 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/NotificationTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/NotificationTest.java @@ -2,8 +2,8 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.iqser.red.service.peristence.v1.server.integration.client.NotificationClient; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AddNotificationRequest; -import com.iqser.red.service.persistence.service.v1.api.model.data.notification.Notification; +import com.iqser.red.service.persistence.service.v1.api.model.audit.AddNotificationRequest; +import com.iqser.red.service.persistence.service.v1.api.model.notification.Notification; import org.assertj.core.util.Lists; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -31,7 +31,6 @@ public class NotificationTest extends AbstractPersistenceServerServiceTest { assertThat(notification.getReadDate()).isNotNull(); - assertThat(notification.getSeenDate()).isNull(); notificationClient.toggleSeen("1", Lists.newArrayList(notification.getId()), true); notification = getNotification(); @@ -41,20 +40,17 @@ public class NotificationTest extends AbstractPersistenceServerServiceTest { assertThat(currentNotifications).isEmpty(); - notificationClient.toggleRead("1", Lists.newArrayList(notification.getId()), false); notification = getNotification(); assertThat(notification.getReadDate()).isNull(); - notificationClient.toggleSeen("1", Lists.newArrayList(notification.getId()), false); notification = getNotification(); assertThat(notification.getSeenDate()).isNull(); - - notificationClient.softDelete("1",Lists.newArrayList(notification.getId())); + notificationClient.softDelete("1", Lists.newArrayList(notification.getId())); currentNotifications = notificationClient.getNotifications("1", true); assertThat(currentNotifications).isEmpty(); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReanalysisTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReanalysisTest.java index fb453d234..8d40cd6b6 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReanalysisTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReanalysisTest.java @@ -6,8 +6,8 @@ import com.iqser.red.service.peristence.v1.server.integration.service.DossierTes import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; -import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus; import org.assertj.core.util.Sets; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -87,7 +87,7 @@ public class ReanalysisTest extends AbstractPersistenceServerServiceTest { } - private void resetStatus(File file) { + private void resetStatus(FileModel file) { fileRepository.findById(file.getId()).ifPresent(savedFile -> { diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReportTemplateTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReportTemplateTest.java index f33d23853..66f46ddc1 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReportTemplateTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReportTemplateTest.java @@ -3,7 +3,7 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.iqser.red.service.peristence.v1.server.integration.client.ReportTemplateClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.ReportTemplateUploadRequest; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.ReportTemplateUploadRequest; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/RulesTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/RulesTest.java index 3100a4415..54af08313 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/RulesTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/RulesTest.java @@ -3,7 +3,7 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.iqser.red.service.peristence.v1.server.integration.client.RulesClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/SMTPTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/SMTPTest.java index 5cb6caf63..f17ab19c1 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/SMTPTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/SMTPTest.java @@ -2,7 +2,7 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.iqser.red.service.peristence.v1.server.integration.client.SMTPClient; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.SMTPConfiguration; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.SMTPConfiguration; import feign.FeignException; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/TypeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/TypeTest.java index 8555e5760..552fb35ca 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/TypeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/TypeTest.java @@ -5,9 +5,9 @@ import com.iqser.red.service.peristence.v1.server.integration.service.DossierTem import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.TypeProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -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.persistence.service.v1.api.model.dossiertemplate.configuration.Colors; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionaryEntry; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.Type; import org.assertj.core.util.Lists; import org.junit.Test; import org.springframework.beans.BeanUtils; @@ -73,7 +73,7 @@ public class TypeTest extends AbstractPersistenceServerServiceTest { var dossier = dossierTesterAndProvider.provideTestDossier(); - var dossierType = typeProvider.testAndProvideType(dossierTemplate,dossier,"dossier-dict"); + var dossierType = typeProvider.testAndProvideType(dossierTemplate, dossier, "dossier-dict"); var typesForDossier = dictionaryClient.getAllTypesForDossier(dossierType.getDossierId()); assertThat(typesForDossier).isNotEmpty(); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ViewedPagesTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ViewedPagesTest.java index cefe7818c..f82791489 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ViewedPagesTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ViewedPagesTest.java @@ -4,12 +4,10 @@ import com.iqser.red.service.peristence.v1.server.integration.client.ViewedPages import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.ViewedPage; +import com.iqser.red.service.persistence.service.v1.api.model.annotations.ViewedPage; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import java.util.List; - import static org.assertj.core.api.Assertions.assertThat; public class ViewedPagesTest extends AbstractPersistenceServerServiceTest { @@ -41,8 +39,8 @@ public class ViewedPagesTest extends AbstractPersistenceServerServiceTest { viewedPagesClient.removePage(fileId, userId, 1); - List viewedPages = viewedPagesClient.getViewedPages(fileId, userId); - assertThat(viewedPages.stream().map(viewedPage -> viewedPage.getId().getPage())).containsExactlyInAnyOrder(2, 3); + var viewedPages = viewedPagesClient.getViewedPages(fileId, userId); + assertThat(viewedPages.stream().map(ViewedPage::getPage)).containsExactlyInAnyOrder(2, 3); viewedPagesClient.removePage(fileId, userId, 2); viewedPagesClient.removePage(fileId, userId, 3); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/WatermarkTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/WatermarkTest.java index 4843c9282..9e6d36dbd 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/WatermarkTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/WatermarkTest.java @@ -3,7 +3,8 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.iqser.red.service.peristence.v1.server.integration.client.WatermarkClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Watermark; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Watermark; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.WatermarkOrientation; import feign.FeignException; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -35,7 +36,7 @@ public class WatermarkTest extends AbstractPersistenceServerServiceTest { watermark.setFontType("font"); watermark.setHexColor("#dddddd"); watermark.setOpacity(20); - watermark.setOrientation(Watermark.WatermarkOrientation.DIAGONAL); + watermark.setOrientation(WatermarkOrientation.DIAGONAL); var saved = watermarkClient.saveWatermark(dossierTemplate.getId(), watermark); assertThat(watermarkClient.getWatermark(dossierTemplate.getId())).isEqualTo(saved); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java index 5d8a84352..da29a3ff5 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java @@ -4,11 +4,9 @@ import com.iqser.red.service.pdftron.redaction.v1.api.model.*; import com.iqser.red.service.peristence.v1.server.Application; import com.iqser.red.service.peristence.v1.server.client.RedactionClient; import com.iqser.red.service.peristence.v1.server.client.SearchClient; -import com.iqser.red.service.peristence.v1.server.controller.LicenseReportController; import com.iqser.red.service.peristence.v1.server.integration.client.FileClient; import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.*; -import com.iqser.red.service.redaction.v1.model.AnnotateRequest; import com.iqser.red.service.redaction.v1.model.AnnotateResponse; import com.iqser.red.service.redaction.v1.model.RedactionLog; import com.iqser.red.service.redaction.v1.model.RedactionResult; @@ -33,6 +31,7 @@ import org.springframework.context.annotation.*; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; +import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.when; @@ -43,42 +42,70 @@ import static org.mockito.Mockito.when; @SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) public abstract class AbstractPersistenceServerServiceTest { - @Autowired - private StorageService storageService; - @MockBean protected RabbitTemplate rabbitTemplate; - @MockBean protected SearchClient searchClient; - @MockBean protected RedactionClient redactionClient; - @MockBean protected PDFTronRedactionClient pdfTronRedactionClient; - - - static class Initializer implements ApplicationContextInitializer { - public void initialize(ConfigurableApplicationContext configurableApplicationContext) { - - var postgreSQLContainer = SpringPostgreSQLTestContainer.getInstance() - .withDatabaseName("integration-tests-db") - .withUsername("sa") - .withPassword("sa"); - - postgreSQLContainer.start(); - - TestPropertyValues.of( - "spring.datasource.url=" + postgreSQLContainer.getJdbcUrl(), - "spring.datasource.username=" + postgreSQLContainer.getUsername(), - "spring.datasource.password=" + postgreSQLContainer.getPassword() - ).applyTo(configurableApplicationContext.getEnvironment()); - } - } + @Autowired + private StorageService storageService; + @Autowired + private DossierTemplateRepository dossierTemplateRepository; + @Autowired + private DossierRepository dossierRepository; + @Autowired + private FileRepository fileRepository; + @Autowired + private ViewedPagesRepository viewedPagesRepository; + @Autowired + private NotificationRepository notificationRepository; + @Autowired + private AuditRepository auditRepository; + @Autowired + private TypeRepository typeRepository; + @Autowired + private ManualRedactionRepository manualRedactionRepository; + @Autowired + private ForceRedactionRepository forceRedactionRepository; + @Autowired + private RemoveRedactionRepository removeRedactionRepository; + @Autowired + private LegalBasisChangeRepository legalBasisChangeRepository; + @Autowired + private ImageRecategorizationRepository imageRecategorizationRepository; + @Autowired + private WatermarkRepository watermarkRepository; + @Autowired + private SMTPRepository smtpRepository; + @Autowired + private RuleSetRepository ruleSetRepository; + @Autowired + private LegalBasisMappingRepository legalBasisMappingRepository; + @Autowired + private FileAttributeConfigRepository fileAttributeConfigRepository; + @Autowired + private FileAttributesGeneralConfigurationRepository fileAttributesGeneralConfigurationRepository; + @Autowired + private ReportTemplateRepository reportTemplateRepository; + @Autowired + private DigitalSignatureRepository digitalSignatureRepository; + @Autowired + private FileAttributesRepository fileAttributesRepository; + @Autowired + private DownloadStatusRepository downloadStatusRepository; + @Autowired + private DossierAttributeRepository dossierAttributeRepository; + @Autowired + private DossierAttributeConfigRepository dossierAttributeConfigRepository; @Before public void setupOptimize() { + + doNothing().when(pdfTronRedactionClient).testDigitalCurrentSignature(Mockito.any()); + when(pdfTronRedactionClient.optimize(Mockito.any())).thenAnswer((args) -> new PdfTronOptimizeResponse(((PdfTronOptimizeRequest) args.getArguments()[0]).getDocument())); when(pdfTronRedactionClient.redact(Mockito.any())).thenAnswer((args) -> @@ -91,21 +118,7 @@ public abstract class AbstractPersistenceServerServiceTest { when(redactionClient.annotate(Mockito.any())).thenReturn(new AnnotateResponse("document".getBytes())); when(redactionClient.sections(Mockito.any())).thenReturn(new RedactionResult()); - when(redactionClient.getRedactionLog(Mockito.any())).thenReturn(new RedactionLog(1, Lists.newArrayList(),Lists.newArrayList(),0,0,0,0)); - } - - @Configuration - @EnableAutoConfiguration(exclude = {StorageAutoConfiguration.class, RabbitAutoConfiguration.class}) - @ComponentScan("com.iqser.red.service.persistence") - public static class TestConfiguration { - - @Bean - @Primary - public StorageService inmemoryStorage() { - return new FileSystemBackedStorageService(); - } - - + when(redactionClient.getRedactionLog(Mockito.any())).thenReturn(new RedactionLog(1, Lists.newArrayList(), null, 0, 0, 0, 0)); } @After @@ -113,79 +126,6 @@ public abstract class AbstractPersistenceServerServiceTest { ((FileSystemBackedStorageService) this.storageService).clearStorage(); } - - @Autowired - private DossierTemplateRepository dossierTemplateRepository; - - @Autowired - private DossierRepository dossierRepository; - - @Autowired - private FileRepository fileRepository; - - @Autowired - private ViewedPagesRepository viewedPagesRepository; - - @Autowired - private NotificationRepository notificationRepository; - - @Autowired - private AuditRepository auditRepository; - - @Autowired - private TypeRepository typeRepository; - - @Autowired - private ManualRedactionRepository manualRedactionRepository; - - @Autowired - private ForceRedactionRepository forceRedactionRepository; - - @Autowired - private RemoveRedactionRepository removeRedactionRepository; - - @Autowired - private LegalBasisChangeRepository legalBasisChangeRepository; - - @Autowired - private ImageRecategorizationRepository imageRecategorizationRepository; - - @Autowired - private WatermarkRepository watermarkRepository; - - @Autowired - private SMTPRepository smtpRepository; - - @Autowired - private RuleSetRepository ruleSetRepository; - - @Autowired - private LegalBasisMappingRepository legalBasisMappingRepository; - - @Autowired - private FileAttributeConfigRepository fileAttributeConfigRepository; - - @Autowired - private FileAttributesGeneralConfigurationRepository fileAttributesGeneralConfigurationRepository; - - @Autowired - private ReportTemplateRepository reportTemplateRepository; - - @Autowired - private DigitalSignatureRepository digitalSignatureRepository; - - @Autowired - private FileAttributesRepository fileAttributesRepository; - - @Autowired - private DownloadStatusRepository downloadStatusRepository; - - @Autowired - private DossierAttributeRepository dossierAttributeRepository; - - @Autowired - private DossierAttributeConfigRepository dossierAttributeConfigRepository; - @After public void afterTests() { dossierAttributeRepository.deleteAll(); @@ -216,4 +156,36 @@ public abstract class AbstractPersistenceServerServiceTest { dossierTemplateRepository.deleteAll(); } + static class Initializer implements ApplicationContextInitializer { + public void initialize(ConfigurableApplicationContext configurableApplicationContext) { + + var postgreSQLContainer = SpringPostgreSQLTestContainer.getInstance() + .withDatabaseName("integration-tests-db") + .withUsername("sa") + .withPassword("sa"); + + postgreSQLContainer.start(); + + TestPropertyValues.of( + "spring.datasource.url=" + postgreSQLContainer.getJdbcUrl(), + "spring.datasource.username=" + postgreSQLContainer.getUsername(), + "spring.datasource.password=" + postgreSQLContainer.getPassword() + ).applyTo(configurableApplicationContext.getEnvironment()); + } + } + + @Configuration + @EnableAutoConfiguration(exclude = {StorageAutoConfiguration.class, RabbitAutoConfiguration.class}) + @ComponentScan("com.iqser.red.service.persistence") + public static class TestConfiguration { + + @Bean + @Primary + public StorageService inmemoryStorage() { + return new FileSystemBackedStorageService(); + } + + + } + } diff --git a/persistence-service-v1/pom.xml b/persistence-service-v1/pom.xml index 659f535b6..afff442f8 100755 --- a/persistence-service-v1/pom.xml +++ b/persistence-service-v1/pom.xml @@ -1,6 +1,6 @@ - @@ -35,7 +35,22 @@ com.iqser.red.service redaction-service-api-v1 - 3.1.0 + 3.3.0 + + + com.iqser.red.service + search-service-api-v1 + 1.2.0 + + + com.iqser.red.service + redaction-report-service-api-v1 + 3.0.0 + + + com.iqser.red.service + pdftron-redaction-service-api-v1 + 3.4.0 @@ -46,7 +61,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin 3.9.0.2155 - + org.owasp dependency-check-maven