Pull request #41: Fixed various efsa readyness issues
Merge in RED/persistence-service from 3.0-efsa-readiness to master * commit '38ed95ea949c1848f4aee56f9313fa698405cdab': fixed compile error fixed err added default rules for new dossier template Added BG Analysis and required qhere analysisRequired is calculated and how. Fixed more minor issues that where reported for efas Fixed various efsa readyness issues
This commit is contained in:
commit
5c54c531b0
@ -1,13 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,14 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
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
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
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
|
||||
|
||||
@ -1,16 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -12,7 +12,6 @@ import lombok.NoArgsConstructor;
|
||||
public class Rectangle {
|
||||
|
||||
|
||||
|
||||
private float topLeftX;
|
||||
|
||||
private float topLeftY;
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.annotations;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.audit;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.audit;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
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
|
||||
@NoArgsConstructor
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.audit;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.audit;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.common;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
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
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
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;
|
||||
|
||||
@ -1,16 +1,15 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
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
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.NonNull;
|
||||
import lombok.*;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.*;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
|
||||
@ -1,18 +1,17 @@
|
||||
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;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DownloadFileType;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DeletedDossier {
|
||||
|
||||
@ -1,17 +1,16 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
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
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.NonNull;
|
||||
import lombok.*;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.NonNull;
|
||||
import lombok.*;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
|
||||
@ -1,18 +1,17 @@
|
||||
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 java.time.OffsetDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@ -39,6 +38,7 @@ public class FileModel {
|
||||
private boolean hasSuggestions;
|
||||
private boolean hasImages;
|
||||
private boolean hasUpdates;
|
||||
private boolean analysisRequired;
|
||||
private String uploader;
|
||||
private long dictionaryVersion;
|
||||
private long rulesVersion;
|
||||
@ -56,6 +56,7 @@ public class FileModel {
|
||||
private Set<Integer> excludedPages = new HashSet<>();
|
||||
private Map<String, String> fileAttributes = new HashMap<>();
|
||||
private String dossierId;
|
||||
private String dossierTemplateId;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class LegalBasisMapping {
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
|
||||
@ -1,14 +1,10 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.download;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,16 +1,15 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.download;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
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
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.download;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.*;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.license;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,17 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.license;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.Year;
|
||||
import java.time.ZoneOffset;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,14 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.license;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.notification;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
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
|
||||
|
||||
@ -1,20 +1,15 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface AuditResource {
|
||||
|
||||
|
||||
@ -1,21 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
public interface DictionaryResource {
|
||||
|
||||
@ -1,15 +1,9 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
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.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.DigitalSignature;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
public interface DigitalSignatureResource {
|
||||
|
||||
@ -1,19 +1,11 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
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.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.DossierAttributeConfig;
|
||||
import java.util.List;
|
||||
|
||||
public interface DossierAttributesConfigResource {
|
||||
|
||||
|
||||
@ -1,15 +1,10 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierAttribute;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface DossierAttributesResource {
|
||||
|
||||
|
||||
@ -1,19 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
public interface DossierResource {
|
||||
@ -26,6 +20,8 @@ public interface DossierResource {
|
||||
String DOSSIER_ID_PARAM = "dossierId";
|
||||
String DOSSIER_ID_PATH_PARAM = "/{" + DOSSIER_ID_PARAM + "}";
|
||||
|
||||
String INCLUDE_DELETED_PARAM = "includeDeleted";
|
||||
|
||||
@PostMapping(value = REST_PATH, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
Dossier addDossier(@RequestBody CreateOrUpdateDossierRequest dossierRequest);
|
||||
|
||||
@ -39,7 +35,8 @@ public interface DossierResource {
|
||||
List<Dossier> getAllDossiers();
|
||||
|
||||
@GetMapping(value = REST_PATH + DOSSIER_ID_PATH_PARAM, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
Dossier getDossierById(@PathVariable(DOSSIER_ID_PARAM) String dossierId);
|
||||
Dossier getDossierById(@PathVariable(DOSSIER_ID_PARAM) String dossierId,
|
||||
@RequestParam(name = INCLUDE_DELETED_PARAM, defaultValue = "false", required = false) boolean includeDeleted);
|
||||
|
||||
@GetMapping(value = DELETED_DOSSIERS_PATH, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
List<Dossier> getSoftDeletedDossiers();
|
||||
|
||||
@ -1,20 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface DossierTemplateResource {
|
||||
|
||||
|
||||
@ -1,18 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
public interface DownloadResource {
|
||||
|
||||
@ -1,20 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface FileAttributesConfigResource {
|
||||
|
||||
|
||||
@ -1,14 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
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;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
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 java.util.Map;
|
||||
|
||||
public interface FileAttributesResource {
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import com.iqser.red.service.redaction.v1.model.AnalyzeResult;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
@ -7,8 +8,6 @@ import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
import com.iqser.red.service.redaction.v1.model.AnalyzeResult;
|
||||
|
||||
|
||||
public interface FileStatusProcessingUpdateResource {
|
||||
|
||||
|
||||
@ -1,17 +1,11 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
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.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.legalbasis.LegalBasis;
|
||||
import java.util.List;
|
||||
|
||||
public interface LegalBasisMappingResource {
|
||||
|
||||
|
||||
@ -1,15 +1,10 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.*;
|
||||
|
||||
public interface LicenseReportResource {
|
||||
|
||||
|
||||
@ -1,30 +1,10 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
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.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.Comment;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.CommentRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.ForceRedactionRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.IdRemoval;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.ImageRecategorizationRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.LegalBasisChangeRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.ManualAddResponse;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.ManualForceRedaction;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.ManualImageRecategorization;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.ManualLegalBasisChange;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.ManualRedactionEntry;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.ManualRedactions;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.RemoveRedactionRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
public interface ManualRedactionResource {
|
||||
|
||||
@ -1,20 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
public interface NotificationResource {
|
||||
|
||||
@ -1,13 +1,9 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.NO_CONTENT)
|
||||
public interface ReanalysisResource {
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
||||
import com.iqser.red.service.redaction.v1.model.SectionGrid;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@ -7,9 +9,6 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
||||
import com.iqser.red.service.redaction.v1.model.SectionGrid;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
public interface RedactionLogResource {
|
||||
|
||||
|
||||
@ -1,17 +1,12 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
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.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ReportTemplateResource {
|
||||
|
||||
|
||||
@ -1,15 +1,9 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
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.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
public interface RulesResource {
|
||||
|
||||
|
||||
@ -1,16 +1,9 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
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.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.SMTPConfiguration;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
public interface SMTPConfigurationResource {
|
||||
|
||||
@ -1,20 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public interface StatusResource {
|
||||
|
||||
|
||||
@ -1,18 +1,13 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
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.*;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
public interface UploadResource {
|
||||
|
||||
@ -1,16 +1,9 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
public interface UserPreferenceResource {
|
||||
|
||||
|
||||
@ -1,17 +1,11 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
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.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.ViewedPage;
|
||||
import java.util.List;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
public interface ViewedPagesResource {
|
||||
|
||||
@ -1,15 +1,9 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.resources;
|
||||
|
||||
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.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Watermark;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@ResponseStatus(value = HttpStatus.OK)
|
||||
public interface WatermarkResource {
|
||||
|
||||
@ -5,7 +5,7 @@ import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.persistence.*;
|
||||
import javax.persistence.Embeddable;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
|
||||
@ -26,6 +26,10 @@ public class ViewedPageEntity {
|
||||
@MapsId("fileId")
|
||||
private FileEntity file;
|
||||
|
||||
public int getPage() {
|
||||
return this.id.page;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@Embeddable
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.iqser.red.service.persistence.management.v1.processor.service;
|
||||
|
||||
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;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -15,12 +14,25 @@ public class ColorsService {
|
||||
private final ColorsRepository colorsRepository;
|
||||
|
||||
public void deleteColors(String dossierTemplateId) {
|
||||
|
||||
colorsRepository.deleteById(dossierTemplateId);
|
||||
}
|
||||
|
||||
public ColorsEntity getColors(String dossierTemplateId) {
|
||||
return colorsRepository.findById(dossierTemplateId).orElseThrow(() -> new NotFoundException("Colors Configuration not found"));
|
||||
return colorsRepository.findById(dossierTemplateId).orElseGet(() -> {
|
||||
var entity = new ColorsEntity();
|
||||
entity.setDossierTemplateId(dossierTemplateId);
|
||||
entity.setAnalysisColor("#aaaaaa");
|
||||
entity.setDefaultColor("#aaaaaa");
|
||||
entity.setDictionaryRequestColor("#aaaaaa");
|
||||
entity.setPreviewColor("#aaaaaa");
|
||||
entity.setNotRedacted("#aaaaaa");
|
||||
entity.setManualRedactionColor("#aaaaaa");
|
||||
entity.setRequestAdd("#aaaaaa");
|
||||
entity.setRequestRemove("#aaaaaa");
|
||||
entity.setUpdatedColor("#aaaaaa");
|
||||
return colorsRepository.save(entity);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
public ColorsEntity saveColors(ColorsEntity colors) {
|
||||
|
||||
@ -8,23 +8,21 @@ import com.iqser.red.service.persistence.service.v1.api.model.audit.CategoryMode
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.data.domain.Example;
|
||||
import org.springframework.data.domain.ExampleMatcher;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.jpa.domain.Specification;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.AuditRepository.*;
|
||||
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AuditPersistenceService {
|
||||
|
||||
private final static String AUDIT_LOG_CATEGORY = "AUDIT_LOG";
|
||||
|
||||
private final AuditRepository auditRepository;
|
||||
|
||||
@ -47,40 +45,29 @@ public class AuditPersistenceService {
|
||||
|
||||
public Page<AuditEntity> search(AuditSearchRequest auditRequest) {
|
||||
|
||||
if (auditRequest.getPageSize() == 0) {
|
||||
auditRequest.setPageSize(50);
|
||||
}
|
||||
|
||||
AuditEntity example = new AuditEntity();
|
||||
example.setCategory(auditRequest.getCategory());
|
||||
example.setUserId(auditRequest.getUserId());
|
||||
example.setObjectId(auditRequest.getObjectId());
|
||||
if (auditRequest.getFrom() == null) {
|
||||
auditRequest.setFrom(OffsetDateTime.now().minusYears(30));
|
||||
}
|
||||
if (auditRequest.getTo() == null) {
|
||||
auditRequest.setTo(OffsetDateTime.now());
|
||||
}
|
||||
|
||||
var result = auditRepository.findAll(Example.of(example, ExampleMatcher.matchingAny().withIgnorePaths("recordId")),
|
||||
PageRequest.of(auditRequest.getPage(), auditRequest.getPageSize()));
|
||||
|
||||
// after search, insert a record logging the search
|
||||
this.insertRecord(AuditRequest.builder()
|
||||
.category(AUDIT_LOG_CATEGORY)
|
||||
.message("Audit Log Accessed")
|
||||
.userId(auditRequest.getRequestingUserId())
|
||||
.details(searchRequestToMap(auditRequest))
|
||||
.build());
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
private Map<String, Object> searchRequestToMap(AuditSearchRequest auditSearchRequest) {
|
||||
|
||||
var map = new HashMap<String, Object>();
|
||||
|
||||
map.put("userId", auditSearchRequest.getUserId());
|
||||
map.put("category", auditSearchRequest.getCategory());
|
||||
map.put("objectId", auditSearchRequest.getObjectId());
|
||||
map.put("from", auditSearchRequest.getFrom());
|
||||
map.put("to", auditSearchRequest.getTo());
|
||||
map.put("page", auditSearchRequest.getPage());
|
||||
map.put("pageSize", auditSearchRequest.getPageSize());
|
||||
|
||||
return map;
|
||||
var spec = Specification.where(dateBetween(auditRequest.getFrom(), auditRequest.getTo()));
|
||||
if (auditRequest.getCategory() != null) {
|
||||
spec = spec.and(categoryMatches(auditRequest.getCategory()));
|
||||
}
|
||||
if (auditRequest.getUserId() != null) {
|
||||
spec = spec.and(userMatches(auditRequest.getUserId()));
|
||||
}
|
||||
if (auditRequest.getObjectId() != null) {
|
||||
spec = spec.and(objectIdMatches(auditRequest.getObjectId()));
|
||||
}
|
||||
|
||||
return auditRepository.findAll(spec, PageRequest.of(auditRequest.getPage(), auditRequest.getPageSize()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -7,7 +7,6 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist
|
||||
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 lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -36,7 +35,7 @@ public class DictionaryPersistenceService {
|
||||
checkRankAlreadyExists(type, dossierTemplateId, rank, dossierId);
|
||||
|
||||
TypeEntity t = new TypeEntity();
|
||||
t.setId(toTypeId(type,dossierTemplateId,dossierId));
|
||||
t.setId(toTypeId(type, dossierTemplateId, dossierId));
|
||||
t.setType(type);
|
||||
t.setDossier(dossierId == null ? null : dossierRepository.getOne(dossierId));
|
||||
t.setDossierTemplate(dossierTemplateRepository.getOne(dossierTemplateId));
|
||||
@ -55,7 +54,6 @@ public class DictionaryPersistenceService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Transactional
|
||||
public void updateType(String typeId, TypeEntity typeValueRequest) {
|
||||
|
||||
@ -84,7 +82,7 @@ public class DictionaryPersistenceService {
|
||||
|
||||
|
||||
public List<TypeEntity> getAllTypesForDossierTemplate(String dossierTemplateId) {
|
||||
return typeRepository.findByDossierTemplateId(dossierTemplateId).stream().filter( d -> d.getDossierId() == null).collect(Collectors.toList());
|
||||
return typeRepository.findByDossierTemplateId(dossierTemplateId).stream().filter(d -> d.getDossierId() == null).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<TypeEntity> getAllTypesForDossier(String dossierId) {
|
||||
@ -118,5 +116,13 @@ public class DictionaryPersistenceService {
|
||||
typeRepository.updateByIdSetIncrementVersionByOne(typeId);
|
||||
}
|
||||
|
||||
public long getVersion(String dossierTemplateId) {
|
||||
return getAllTypesForDossierTemplate(dossierTemplateId).stream().map(TypeEntity::getVersion).reduce(0L, Long::sum);
|
||||
}
|
||||
|
||||
public long getVersionForDossier(String dossierId) {
|
||||
return getAllTypesForDossier(dossierId).stream().map(TypeEntity::getVersion).reduce(0L, Long::sum);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -36,6 +36,7 @@ public class DossierPersistenceService {
|
||||
BeanUtils.copyProperties(createOrUpdateDossierRequest, dossier);
|
||||
dossier.setId(UUID.randomUUID().toString());
|
||||
dossier.setStatus(DossierStatus.ACTIVE);
|
||||
dossier.setDate(OffsetDateTime.now());
|
||||
|
||||
dossier.setDossierTemplate(dossierTemplateRepository.getOne(createOrUpdateDossierRequest.getDossierTemplateId()));
|
||||
dossier.setReportTemplates(reportTemplateRepository.findAllById(createOrUpdateDossierRequest.getReportTemplateIds()));
|
||||
|
||||
@ -41,8 +41,7 @@ public class FileStatusPersistenceService {
|
||||
|
||||
|
||||
@Transactional
|
||||
public void updateStatusSuccessful(String fileId, int numberOfPages, FileStatus status,
|
||||
boolean hasUpdates, long dictionaryVersion, long rulesVersion,
|
||||
public void updateStatusSuccessful(String fileId, int numberOfPages, FileStatus status, long dictionaryVersion, long rulesVersion,
|
||||
long legalBasisVersion, long duration, long dossierDictionaryVersion,
|
||||
int analysisVersion) {
|
||||
|
||||
@ -50,7 +49,6 @@ public class FileStatusPersistenceService {
|
||||
file.setNumberOfPages(numberOfPages);
|
||||
file.setStatus(status);
|
||||
file.setLastSuccessfulStatus(status);
|
||||
file.setHasUpdates(hasUpdates);
|
||||
file.setDictionaryVersion(dictionaryVersion);
|
||||
file.setRulesVersion(rulesVersion);
|
||||
file.setLegalBasisVersion(legalBasisVersion);
|
||||
@ -67,10 +65,11 @@ public class FileStatusPersistenceService {
|
||||
|
||||
|
||||
@Transactional
|
||||
public void updateFlags(String fileId,boolean hasRedactions,boolean hasHints,boolean hasImages,boolean hasSuggestions,boolean hasComments){
|
||||
public void updateFlags(String fileId, boolean hasRedactions, boolean hasHints, boolean hasImages, boolean hasSuggestions, boolean hasComments, boolean hasUpdates) {
|
||||
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
|
||||
file.setHasRedactions(hasRedactions);
|
||||
file.setHasHints(hasHints);
|
||||
file.setHasUpdates(hasUpdates);
|
||||
file.setHasImages(hasImages);
|
||||
file.setHasSuggestions(hasSuggestions);
|
||||
file.setHasAnnotationComments(hasComments);
|
||||
|
||||
@ -13,7 +13,6 @@ import org.springframework.stereotype.Service;
|
||||
import javax.transaction.Transactional;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
package com.iqser.red.service.persistence.management.v1.processor.service.persistence;
|
||||
|
||||
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.dossiertemplate.legalbasis.LegalBasis;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.util.List;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class LegalBasisMappingPersistenceService {
|
||||
|
||||
|
||||
private final LegalBasisMappingRepository legalBasisMappingRepository;
|
||||
|
||||
|
||||
@Transactional
|
||||
public void setLegalBasisMapping(String dossierTemplateId, List<LegalBasis> legalBasisMapping) {
|
||||
|
||||
legalBasisMappingRepository.findById(dossierTemplateId).ifPresentOrElse((lbm) -> {
|
||||
lbm.setVersion(lbm.getVersion() + 1);
|
||||
lbm.setLegalBasis(convert(legalBasisMapping, LegalBasisEntity.class));
|
||||
legalBasisMappingRepository.save(lbm);
|
||||
}, () -> {
|
||||
var lbm = new LegalBasisMappingEntity();
|
||||
lbm.setDossierTemplateId(dossierTemplateId);
|
||||
lbm.setLegalBasis(convert(legalBasisMapping, LegalBasisEntity.class));
|
||||
lbm.setVersion(1);
|
||||
legalBasisMappingRepository.save(lbm);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
public List<LegalBasisEntity> getLegalBasisMapping(String dossierTemplateId) {
|
||||
return legalBasisMappingRepository.findById(dossierTemplateId).map(LegalBasisMappingEntity::getLegalBasis)
|
||||
.orElseThrow(() -> new NotFoundException("Legal Basis Not configured!"));
|
||||
}
|
||||
|
||||
public long getVersion(String dossierTemplateId) {
|
||||
return legalBasisMappingRepository.findById(dossierTemplateId).map(LegalBasisMappingEntity::getVersion).orElse(0L);
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,6 @@
|
||||
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 lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -13,11 +12,26 @@ 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 static String DEFAULT_RULES = "" +
|
||||
"package drools\n" +
|
||||
"\n" +
|
||||
"import com.iqser.red.service.redaction.v1.server.redaction.model.Section\n" +
|
||||
"\n" +
|
||||
"global Section section\n" +
|
||||
"\n" +
|
||||
"// --------------------------------------- Your rules below this line--------------------------------------------------";
|
||||
|
||||
private final RuleSetRepository ruleSetRepository;
|
||||
|
||||
public RuleSetEntity getRules(String dossierTemplateId) {
|
||||
return ruleSetRepository.findById(dossierTemplateId).orElseThrow(() -> new NotFoundException(RULES_NOT_FOUND));
|
||||
return ruleSetRepository.findById(dossierTemplateId).orElseGet(() -> {
|
||||
RuleSetEntity ruleSet = new RuleSetEntity();
|
||||
ruleSet.setDossierTemplateId(dossierTemplateId);
|
||||
ruleSet.setValue(DEFAULT_RULES);
|
||||
ruleSet.setVersion(1);
|
||||
|
||||
return ruleSetRepository.save(ruleSet);
|
||||
});
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
||||
@ -2,14 +2,34 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persis
|
||||
|
||||
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.domain.Specification;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.List;
|
||||
|
||||
public interface AuditRepository extends JpaRepository<AuditEntity, Long> {
|
||||
public interface AuditRepository extends JpaRepository<AuditEntity, Long>, JpaSpecificationExecutor<AuditEntity> {
|
||||
|
||||
static Specification<AuditEntity> categoryMatches(String category) {
|
||||
return (audit, cq, cb) -> cb.equal(audit.get("category"), category);
|
||||
}
|
||||
|
||||
static Specification<AuditEntity> userMatches(String user) {
|
||||
return (audit, cq, cb) -> cb.equal(audit.get("userId"), user);
|
||||
}
|
||||
|
||||
static Specification<AuditEntity> objectIdMatches(String objectId) {
|
||||
return (audit, cq, cb) -> cb.equal(audit.get("objectId"), objectId);
|
||||
}
|
||||
|
||||
static Specification<AuditEntity> dateBetween(OffsetDateTime start, OffsetDateTime end) {
|
||||
return (audit, cq, cb) -> cb.between(audit.get("recordDate"), start, end);
|
||||
}
|
||||
|
||||
@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<CategoryModel> findCategories();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,16 +1,14 @@
|
||||
package com.iqser.red.service.persistence.management.v1.processor.utils;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.persistence.AttributeConverter;
|
||||
import javax.persistence.Converter;
|
||||
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
import javax.persistence.AttributeConverter;
|
||||
import javax.persistence.Converter;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Converter
|
||||
public class JSONConverter implements AttributeConverter<Map<String, Object>, String> {
|
||||
|
||||
|
||||
@ -20,9 +20,11 @@ import org.springframework.retry.backoff.ExponentialBackOffPolicy;
|
||||
import org.springframework.retry.policy.SimpleRetryPolicy;
|
||||
import org.springframework.retry.support.RetryTemplate;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
@EnableAsync
|
||||
@EnableRetry
|
||||
@EnableScheduling
|
||||
@EnableConfigurationProperties(FileManagementServiceSettings.class)
|
||||
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class, CassandraAutoConfiguration.class})
|
||||
@Import({DefaultWebMvcConfiguration.class, PersistenceServiceProcessorConfiguration.class, MessagingConfiguration.class, CleanupDownloadSchedulerConfiguration.class})
|
||||
|
||||
@ -259,12 +259,12 @@ public class DictionaryController implements DictionaryResource {
|
||||
|
||||
@Override
|
||||
public long getVersion(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId) {
|
||||
return getAllTypesForDossierTemplate(dossierTemplateId).stream().map(Type::getVersion).reduce(0L, Long::sum);
|
||||
return dictionaryPersistenceService.getVersion(dossierTemplateId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getVersionForDossier(@PathVariable(DOSSIER_ID_PARAMETER_NAME) String dossierId) {
|
||||
return getAllTypesForDossier(dossierId).stream().map(Type::getVersion).reduce(0L, Long::sum);
|
||||
return dictionaryPersistenceService.getVersionForDossier(dossierId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -15,6 +15,7 @@ import feign.Param;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
@ -23,8 +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;
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException.DOSSIER_NOT_FOUND_MESSAGE;
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@ -85,10 +86,11 @@ public class DossierController implements DossierResource {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Dossier getDossierById(@Param(DOSSIER_ID_PARAM) @PathVariable(DOSSIER_ID_PARAM) String dossierId) {
|
||||
public Dossier getDossierById(@Param(DOSSIER_ID_PARAM) @PathVariable(DOSSIER_ID_PARAM) String dossierId,
|
||||
@RequestParam(name = INCLUDE_DELETED_PARAM, defaultValue = "false", required = false) boolean includeDeleted) {
|
||||
|
||||
DossierEntity dossier = dossierService.getDossierById(dossierId);
|
||||
if (dossier.getStatus().equals(DossierStatus.DELETED)) {
|
||||
if (dossier.getStatus().equals(DossierStatus.DELETED) && !includeDeleted) {
|
||||
throw new DossierNotFoundException(String.format(DOSSIER_NOT_FOUND_MESSAGE, dossierId));
|
||||
}
|
||||
return convert(dossier, Dossier.class, new DossierMapper());
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
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.peristence.v1.server.service.*;
|
||||
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;
|
||||
@ -30,33 +27,34 @@ public class FileStatusController implements StatusResource {
|
||||
private final DossierService dossierService;
|
||||
private final ExcludeFromAnalysisService excludeFromAnalysis;
|
||||
private final AnalysisFlagsCalculationService analysisFlagsCalculationService;
|
||||
private final ReanalysisRequiredStatusService reanalysisRequiredStatusService;
|
||||
|
||||
@Override
|
||||
public List<FileModel> getAllStatuses() {
|
||||
|
||||
return convert(fileStatusService.getAllStatuses()
|
||||
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convert(fileStatusService.getAllStatuses()
|
||||
.stream()
|
||||
.filter(f -> !f.getStatus().equals(FileStatus.DELETED))
|
||||
.collect(Collectors.toList()), FileModel.class, new FileModelMapper());
|
||||
.collect(Collectors.toList()), FileModel.class, new FileModelMapper()));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<FileModel> getDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId) {
|
||||
|
||||
return convert(fileStatusService.getDossierStatus(dossierId)
|
||||
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convert(fileStatusService.getDossierStatus(dossierId)
|
||||
.stream()
|
||||
.filter(f -> !f.getStatus().equals(FileStatus.DELETED))
|
||||
.collect(Collectors.toList()), FileModel.class, new FileModelMapper());
|
||||
.collect(Collectors.toList()), FileModel.class, new FileModelMapper()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FileModel> getSoftDeletedDossierStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId) {
|
||||
|
||||
return convert(fileStatusService.getDossierStatus(dossierId)
|
||||
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convert(fileStatusService.getDossierStatus(dossierId)
|
||||
.stream()
|
||||
.filter(f -> f.getStatus().equals(FileStatus.DELETED) && f.getHardDeletedTime() == null)
|
||||
.collect(Collectors.toList()), FileModel.class, new FileModelMapper());
|
||||
.collect(Collectors.toList()), FileModel.class, new FileModelMapper()));
|
||||
}
|
||||
|
||||
|
||||
@ -64,7 +62,8 @@ public class FileStatusController implements StatusResource {
|
||||
public FileModel getFileStatus(@PathVariable(DOSSIER_ID_PARAM) String dossierId,
|
||||
@PathVariable(FILE_ID) String fileId) {
|
||||
|
||||
return convert(fileStatusService.getStatus(fileId), FileModel.class, new FileModelMapper());
|
||||
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(
|
||||
convert(fileStatusService.getStatus(fileId), FileModel.class, new FileModelMapper()));
|
||||
}
|
||||
|
||||
|
||||
@ -75,6 +74,7 @@ public class FileStatusController implements StatusResource {
|
||||
|
||||
fileStatusService.setCurrentReviewer(dossierId, fileId, currentFileReviewerRequest.getValue());
|
||||
fileStatusService.setStatusSuccessful(fileId, FileStatus.UNDER_REVIEW);
|
||||
analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
|
||||
}
|
||||
|
||||
|
||||
@ -86,6 +86,7 @@ public class FileStatusController implements StatusResource {
|
||||
String lastReviewer = fileStatus.getLastReviewer();
|
||||
fileStatusService.setCurrentReviewer(dossierId, fileId, lastReviewer);
|
||||
fileStatusService.setStatusSuccessful(fileId, FileStatus.UNDER_REVIEW);
|
||||
analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
|
||||
}
|
||||
|
||||
|
||||
@ -100,6 +101,7 @@ public class FileStatusController implements StatusResource {
|
||||
|
||||
fileStatusService.setCurrentReviewer(dossierId, fileId, approverId != null ? approverId : dossierOwner);
|
||||
fileStatusService.setStatusSuccessful(fileId, FileStatus.UNDER_APPROVAL);
|
||||
analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
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.management.v1.processor.service.persistence.LegalBasisMappingPersistenceService;
|
||||
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;
|
||||
@ -22,37 +19,25 @@ import static com.iqser.red.service.persistence.management.v1.processor.utils.Ma
|
||||
public class LegalBasisMappingController implements LegalBasisMappingResource {
|
||||
|
||||
|
||||
private final LegalBasisMappingRepository legalBasisMappingRepository;
|
||||
private final LegalBasisMappingPersistenceService legalBasisMappingPersistenceService;
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void setLegalBasisMapping(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId, @RequestBody List<LegalBasis> legalBasisMapping) {
|
||||
|
||||
legalBasisMappingRepository.findById(dossierTemplateId).ifPresentOrElse((lbm) -> {
|
||||
lbm.setVersion(lbm.getVersion() + 1);
|
||||
lbm.setLegalBasis(convert(legalBasisMapping, LegalBasisEntity.class));
|
||||
legalBasisMappingRepository.save(lbm);
|
||||
}, () -> {
|
||||
var lbm = new LegalBasisMappingEntity();
|
||||
lbm.setDossierTemplateId(dossierTemplateId);
|
||||
lbm.setLegalBasis(convert(legalBasisMapping, LegalBasisEntity.class));
|
||||
lbm.setVersion(1);
|
||||
legalBasisMappingRepository.save(lbm);
|
||||
});
|
||||
legalBasisMappingPersistenceService.setLegalBasisMapping(dossierTemplateId, legalBasisMapping);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public List<LegalBasis> getLegalBasisMapping(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId) {
|
||||
return convert(
|
||||
legalBasisMappingRepository.findById(dossierTemplateId).map(LegalBasisMappingEntity::getLegalBasis)
|
||||
.orElseThrow(() -> new NotFoundException("Legal Basis Not configured!")), LegalBasis.class);
|
||||
return convert(legalBasisMappingPersistenceService.getLegalBasisMapping(dossierTemplateId), LegalBasis.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getVersion(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId) {
|
||||
return legalBasisMappingRepository.findById(dossierTemplateId).map(LegalBasisMappingEntity::getVersion).orElse(0L);
|
||||
return legalBasisMappingPersistenceService.getVersion(dossierTemplateId);
|
||||
}
|
||||
}
|
||||
|
||||
@ -183,7 +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);
|
||||
// TODO analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -3,10 +3,13 @@ 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.peristence.v1.server.service.ReanalysisRequiredStatusService;
|
||||
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.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.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.ReanalysisResource;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -22,6 +25,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;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@ -32,6 +37,7 @@ public class ReanalysisController implements ReanalysisResource {
|
||||
private final DictionaryController dictionaryClient;
|
||||
private final RulesController rulesClient;
|
||||
private final IndexingService indexingService;
|
||||
private final ReanalysisRequiredStatusService reanalysisRequiredStatusService;
|
||||
|
||||
|
||||
@Override
|
||||
@ -146,32 +152,20 @@ public class ReanalysisController implements ReanalysisResource {
|
||||
|
||||
private void reanalyseFiles(String dossierId, boolean force, List<FileEntity> filesToReanalyse) {
|
||||
|
||||
var dossier = dossierPersistenceService.getAndValidateDossier(dossierId);
|
||||
// TODO
|
||||
var dictionaryVersion = dictionaryClient.getVersion(dossier.getDossierTemplateId());
|
||||
var dossierDictionaryVersion = dictionaryClient.getVersionForDossier(dossierId);
|
||||
var rulesVersion = rulesClient.getVersion(dossier.getDossierTemplateId());
|
||||
if (force) {
|
||||
filesToReanalyse.forEach(file -> {
|
||||
fileStatusService.setStatusReprocess(dossierId, file.getId(), 1);
|
||||
});
|
||||
} else {
|
||||
var enhancedAndConvertedFiles = reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convert(
|
||||
fileStatusService.getAllStatuses(), FileModel.class, new FileModelMapper()));
|
||||
|
||||
enhancedAndConvertedFiles.forEach(file -> {
|
||||
fileStatusService.setStatusReprocess(dossierId, file.getId(), 1);
|
||||
});
|
||||
}
|
||||
|
||||
filesToReanalyse.forEach(fileStatus -> {
|
||||
if (fileStatus.getStatus().equals(FileStatus.ERROR) || !allManualRedactionsApplied(fileStatus) || !allFileAttributesChangesApplied(fileStatus)
|
||||
|| fileStatus.getRulesVersion() < rulesVersion || fileStatus.getDictionaryVersion() < dictionaryVersion || fileStatus.getDossierDictionaryVersion() < dossierDictionaryVersion || force) {
|
||||
fileStatusService.setStatusReprocess(dossierId, fileStatus.getId(), 1);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private boolean allManualRedactionsApplied(FileEntity fileStatus) {
|
||||
|
||||
return fileStatus.getLastManualRedaction() == null || fileStatus.getLastProcessed() == null || fileStatus.getLastProcessed()
|
||||
.isAfter(fileStatus.getLastManualRedaction());
|
||||
}
|
||||
|
||||
|
||||
private boolean allFileAttributesChangesApplied(FileEntity fileStatus) {
|
||||
|
||||
return fileStatus.getLastFileAttributeChange() == null || fileStatus.getLastProcessed() == null || fileStatus.getLastProcessed()
|
||||
.isAfter(fileStatus.getLastFileAttributeChange());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,13 +1,17 @@
|
||||
package com.iqser.red.service.peristence.v1.server.service;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.ViewedPageEntity;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.ViewedPagesPersistenceService;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.AnnotationStatus;
|
||||
import com.iqser.red.service.redaction.v1.model.RedactionLogEntry;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
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;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@ -15,19 +19,29 @@ public class AnalysisFlagsCalculationService {
|
||||
|
||||
private final FileStatusPersistenceService fileStatusPersistenceService;
|
||||
private final RedactionLogService redactionLogService;
|
||||
private final ViewedPagesPersistenceService viewedPagesPersistenceService;
|
||||
|
||||
|
||||
@Async
|
||||
public void calculateFlags(String dossierId, String fileId) {
|
||||
|
||||
var file = fileStatusPersistenceService.getStatus(fileId);
|
||||
var redactionLog = redactionLogService.getRedactionLog(dossierId, fileId, true);
|
||||
|
||||
var viewedPagesForCurrentReviewer = viewedPagesPersistenceService.findViewedPages(fileId, file.getCurrentReviewer());
|
||||
|
||||
Map<Integer, OffsetDateTime> viewedPages = viewedPagesForCurrentReviewer.stream().collect(Collectors.toMap(ViewedPageEntity::getPage, ViewedPageEntity::getViewedTime));
|
||||
|
||||
boolean hasRedactions = false;
|
||||
boolean hasHints = false;
|
||||
boolean hasSuggestions = false;
|
||||
boolean hasImages = false;
|
||||
boolean hasUpdates = false;
|
||||
boolean hasComments = false;
|
||||
|
||||
|
||||
viewedPagesPersistenceService.findViewedPages(fileId, file.getCurrentReviewer());
|
||||
|
||||
for (RedactionLogEntry entry : redactionLog.getRedactionLogEntry()) {
|
||||
if (entry.isExcluded()) {
|
||||
continue;
|
||||
@ -57,16 +71,23 @@ public class AnalysisFlagsCalculationService {
|
||||
hasComments = true;
|
||||
}
|
||||
|
||||
if (hasRedactions && hasHints && hasSuggestions && hasImages && hasComments) {
|
||||
var lastChange = entry.getChanges().isEmpty() ? null : entry.getChanges().get(entry.getChanges().size() - 1);
|
||||
if (lastChange != null && lastChange.getDateTime() != null &&
|
||||
!entry.getPositions().isEmpty() && viewedPages.get(entry.getPositions().get(0).getPage()).isBefore(lastChange.getDateTime())) {
|
||||
hasUpdates = true;
|
||||
}
|
||||
|
||||
|
||||
if (hasRedactions && hasHints && hasSuggestions && hasImages && hasComments && hasUpdates) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fileStatusPersistenceService.updateFlags(fileId, hasRedactions, hasHints, hasImages, hasSuggestions, hasComments);
|
||||
fileStatusPersistenceService.updateFlags(fileId, hasRedactions, hasHints, hasImages, hasSuggestions, hasComments, hasUpdates);
|
||||
}
|
||||
|
||||
|
||||
private String getType(String typeId){
|
||||
private String getType(String typeId) {
|
||||
return typeId.split(":")[0];
|
||||
}
|
||||
|
||||
|
||||
@ -6,7 +6,6 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.Confl
|
||||
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.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;
|
||||
@ -31,7 +30,7 @@ public class DossierService {
|
||||
|
||||
if (dossierPersistenceService.findAllDossiers()
|
||||
.stream()
|
||||
.anyMatch(p -> !p.getStatus().equals(DossierStatus.DELETED) && p.getDossierName()
|
||||
.anyMatch(p -> p.getHardDeletedTime() == null && p.getDossierName()
|
||||
.equals(createOrUpdateDossierRequest.getDossierName()))) {
|
||||
throw new ConflictException("Dossier with this name already exists");
|
||||
}
|
||||
@ -48,7 +47,7 @@ public class DossierService {
|
||||
if (dossier.getDossierName()
|
||||
.equals(dossierRequest.getDossierName()) || dossierPersistenceService.findAllDossiers()
|
||||
.stream()
|
||||
.filter(p -> !p.getStatus().equals(DossierStatus.DELETED) && p.getDossierName()
|
||||
.filter(p -> p.getHardDeletedTime() == null && p.getDossierName()
|
||||
.equals(dossierRequest.getDossierName()))
|
||||
.findAny()
|
||||
.isEmpty()) {
|
||||
|
||||
@ -65,7 +65,7 @@ public class FileStatusService {
|
||||
|
||||
public void setStatusSuccessful(String dossierId, String fileId, FileStatus status, AnalyzeResult analyzeResult) {
|
||||
|
||||
fileStatusPersistenceService.updateStatusSuccessful(fileId, analyzeResult.getNumberOfPages(), status, analyzeResult.isHasUpdates(), analyzeResult.getDictionaryVersion(), analyzeResult.getRulesVersion(), analyzeResult.getLegalBasisVersion(), analyzeResult.getDuration(), analyzeResult.getDossierDictionaryVersion(), analyzeResult.getAnalysisVersion());
|
||||
fileStatusPersistenceService.updateStatusSuccessful(fileId, analyzeResult.getNumberOfPages(), status, analyzeResult.getDictionaryVersion(), analyzeResult.getRulesVersion(), analyzeResult.getLegalBasisVersion(), analyzeResult.getDuration(), analyzeResult.getDossierDictionaryVersion(), analyzeResult.getAnalysisVersion());
|
||||
}
|
||||
|
||||
|
||||
@ -225,13 +225,9 @@ public class FileStatusService {
|
||||
.fileAttributes(convert(fileAttributes))
|
||||
.build();
|
||||
|
||||
if (!fileStatus.getStatus().equals(FileStatus.UNPROCESSED) && !fileStatus.getStatus()
|
||||
analyseRequest.setReanalyseOnlyIfPossible(!fileStatus.getStatus().equals(FileStatus.UNPROCESSED) && !fileStatus.getStatus()
|
||||
.equals(FileStatus.FULLREPROCESS) && fileStatus.getRulesVersion() == rulesController.getVersion(dossier.getDossierTemplateId()) && (fileStatus.getLastFileAttributeChange() == null || fileStatus.getLastProcessed()
|
||||
.isAfter(fileStatus.getLastFileAttributeChange()))) {
|
||||
analyseRequest.setReanalyseOnlyIfPossible(true);
|
||||
} else {
|
||||
analyseRequest.setReanalyseOnlyIfPossible(false);
|
||||
}
|
||||
.isAfter(fileStatus.getLastFileAttributeChange())));
|
||||
|
||||
analyseRequest.setExcludedPages(fileStatus.getExcludedPages());
|
||||
|
||||
|
||||
@ -9,19 +9,12 @@ import com.iqser.red.service.persistence.service.v1.api.model.annotations.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import javax.transaction.Transactional;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class ManualRedactionProviderService {
|
||||
@ -59,14 +52,12 @@ public class ManualRedactionProviderService {
|
||||
}
|
||||
|
||||
|
||||
private Set<ManualRedactionEntry> convertEntriesToAdd(Set<ManualRedactionEntryEntity> source){
|
||||
private Set<ManualRedactionEntry> convertEntriesToAdd(Set<ManualRedactionEntryEntity> source) {
|
||||
|
||||
return source.stream().map(entry ->
|
||||
convert(entry, ManualRedactionEntry.class, new ManualRedactionMapper())
|
||||
convert(entry, ManualRedactionEntry.class, new ManualRedactionMapper())
|
||||
).collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -363,7 +363,7 @@ public class ManualRedactionService {
|
||||
|
||||
// if it was previously approved, revert the delete
|
||||
if (idRemoval.getStatus() == AnnotationStatus.APPROVED) {
|
||||
addToDictionary(buildTypeId(redactionLogEntry,dossier), redactionLogEntry.getValue(), dossierId, fileId);
|
||||
addToDictionary(buildTypeId(redactionLogEntry, dossier), redactionLogEntry.getValue(), dossierId, fileId);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -475,7 +475,6 @@ public class ManualRedactionService {
|
||||
boolean removeFromDictionary, boolean revert) {
|
||||
|
||||
|
||||
|
||||
if (status == AnnotationStatus.APPROVED) {
|
||||
|
||||
if (removeFromDictionary) {
|
||||
@ -495,9 +494,9 @@ public class ManualRedactionService {
|
||||
var redactionLogEntry = redactionLogEntryOptional.get();
|
||||
|
||||
if (revert) {
|
||||
addToDictionary(buildTypeId(redactionLogEntry,dossier), redactionLogEntry.getValue(), dossierId, fileId);
|
||||
addToDictionary(buildTypeId(redactionLogEntry, dossier), redactionLogEntry.getValue(), dossierId, fileId);
|
||||
} else {
|
||||
removeFromDictionary(buildTypeId(redactionLogEntry,dossier), redactionLogEntry.getValue(), dossierId, fileId);
|
||||
removeFromDictionary(buildTypeId(redactionLogEntry, dossier), redactionLogEntry.getValue(), dossierId, fileId);
|
||||
}
|
||||
}
|
||||
removeRedactionPersistenceService.updateStatus(fileId, annotationId, status, removeFromDictionary);
|
||||
|
||||
@ -0,0 +1,112 @@
|
||||
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.service.persistence.DictionaryPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.LegalBasisMappingPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.RulesPersistenceService;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.iqser.red.service.peristence.v1.server.service.ReanalysisRequiredStatusService.VersionType.*;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class ReanalysisRequiredStatusService {
|
||||
|
||||
private final DictionaryPersistenceService dictionaryPersistenceService;
|
||||
private final RulesPersistenceService rulesPersistenceService;
|
||||
private final DossierPersistenceService dossierPersistenceService;
|
||||
private final LegalBasisMappingPersistenceService legalBasisMappingPersistenceService;
|
||||
|
||||
|
||||
public FileModel enhanceFileStatusWithAnalysisRequirements(FileModel fileModel) {
|
||||
return enhanceFileStatusWithAnalysisRequirements(Collections.singletonList(fileModel)).iterator().next();
|
||||
}
|
||||
|
||||
public List<FileModel> enhanceFileStatusWithAnalysisRequirements(List<FileModel> fileModels) {
|
||||
|
||||
Map<String, Map<VersionType, Long>> dossierTemplateVersionMap = new HashMap<>();
|
||||
Map<String, Long> dossierVersionMap = new HashMap<>();
|
||||
Map<String, DossierEntity> dossierMap = new HashMap<>();
|
||||
fileModels.forEach(entry -> entry.setAnalysisRequired(computeAnalysisRequired(entry, dossierTemplateVersionMap, dossierVersionMap, dossierMap)));
|
||||
|
||||
return fileModels;
|
||||
}
|
||||
|
||||
private boolean computeAnalysisRequired(FileModel fileStatus,
|
||||
Map<String, Map<VersionType, Long>> dossierTemplateVersionMap,
|
||||
Map<String, Long> dossierVersionMap,
|
||||
Map<String, DossierEntity> dossierMap) {
|
||||
switch (fileStatus.getStatus()) {
|
||||
case ERROR:
|
||||
return true;
|
||||
case UNASSIGNED:
|
||||
case UNDER_REVIEW:
|
||||
case UNDER_APPROVAL:
|
||||
if (fileStatus.getLastProcessed() == null) {
|
||||
return true;
|
||||
}
|
||||
if (fileStatus.getLastFileAttributeChange() != null && fileStatus.getLastProcessed().isBefore(fileStatus.getLastFileAttributeChange())) {
|
||||
return true;
|
||||
} else {
|
||||
return requiresReanalysisBasedOnVersionDifference(fileStatus, dossierTemplateVersionMap, dossierVersionMap, dossierMap);
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private boolean requiresReanalysisBasedOnVersionDifference(FileModel fileStatus,
|
||||
Map<String, Map<VersionType, Long>> dossierTemplateVersionMap,
|
||||
Map<String, Long> dossierVersionMap,
|
||||
Map<String, DossierEntity> dossierMap) {
|
||||
|
||||
// enhance with dossierTemplateId
|
||||
DossierEntity dossier = dossierMap.computeIfAbsent(fileStatus.getDossierId(), k -> dossierPersistenceService.getAndValidateDossier(fileStatus.getDossierId()));
|
||||
fileStatus.setDossierTemplateId(dossier.getDossierTemplateId());
|
||||
|
||||
// get relevant versions
|
||||
var dossierTemplateVersions = dossierTemplateVersionMap.computeIfAbsent(fileStatus.getDossierTemplateId(),
|
||||
k -> buildVersionData(fileStatus.getDossierTemplateId()));
|
||||
var dossierDictionaryVersion = dossierVersionMap.computeIfAbsent(fileStatus.getDossierId(),
|
||||
k -> getDossierVersionData(fileStatus.getDossierId()));
|
||||
|
||||
// compute matches
|
||||
var rulesVersionMatches = fileStatus.getRulesVersion() == dossierTemplateVersions.getOrDefault(RULES, -1L);
|
||||
var dictionaryVersionMatches = fileStatus.getDictionaryVersion() == dossierTemplateVersions.getOrDefault(DICTIONARY, -1L);
|
||||
var legalBasisVersionMatches = fileStatus.getLegalBasisVersion() == dossierTemplateVersions.getOrDefault(LEGAL_BASIS, -1L);
|
||||
var dossierDictionaryVersionMatches = fileStatus.getDossierDictionaryVersion() == dossierDictionaryVersion;
|
||||
|
||||
return !(rulesVersionMatches && dictionaryVersionMatches && legalBasisVersionMatches && dossierDictionaryVersionMatches);
|
||||
|
||||
}
|
||||
|
||||
private Long getDossierVersionData(String dossierId) {
|
||||
return dictionaryPersistenceService.getVersionForDossier(dossierId);
|
||||
}
|
||||
|
||||
private Map<VersionType, Long> buildVersionData(String dossierTemplateId) {
|
||||
|
||||
var versions = new HashMap<VersionType, Long>();
|
||||
|
||||
versions.put(RULES, rulesPersistenceService.getRules(dossierTemplateId).getVersion());
|
||||
versions.put(DICTIONARY, dictionaryPersistenceService.getVersion(dossierTemplateId));
|
||||
versions.put(LEGAL_BASIS, legalBasisMappingPersistenceService.getVersion(dossierTemplateId));
|
||||
|
||||
|
||||
return versions;
|
||||
}
|
||||
|
||||
public enum VersionType {
|
||||
RULES, DICTIONARY, LEGAL_BASIS
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,14 +1,12 @@
|
||||
package com.iqser.red.service.peristence.v1.server.service;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.client.RedactionClient;
|
||||
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
|
||||
|
||||
@ -4,24 +4,12 @@ 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.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.download.DownloadStatusValue;
|
||||
import com.iqser.red.service.redaction.report.v1.api.model.ReportRequestMessage;
|
||||
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.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@ -42,7 +30,4 @@ public class DownloadMessageReceiver {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -109,7 +109,7 @@ public class DownloadPreparationService {
|
||||
private void addReports(ReportResultMessage reportResultMessage, FileSystemBackedArchiver fileSystemBackedArchiver) {
|
||||
|
||||
long addReportsStart = System.currentTimeMillis();
|
||||
|
||||
|
||||
for (StoredFileInformation storedFileInformation : reportResultMessage.getStoredFileInformation()) {
|
||||
|
||||
|
||||
|
||||
@ -1,14 +1,5 @@
|
||||
package com.iqser.red.service.peristence.v1.server.service.download;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
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;
|
||||
@ -20,8 +11,14 @@ import com.iqser.red.service.persistence.management.v1.processor.entity.download
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DownloadStatusPersistenceService;
|
||||
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 org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
|
||||
@ -0,0 +1,80 @@
|
||||
package com.iqser.red.service.peristence.v1.server.service.scheduler;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.configuration.MessagingConfiguration;
|
||||
import com.iqser.red.service.peristence.v1.server.service.FileStatusService;
|
||||
import com.iqser.red.service.peristence.v1.server.service.ReanalysisRequiredStatusService;
|
||||
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.dossiertemplate.dossier.file.FileModel;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.amqp.core.AmqpAdmin;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AutomaticAnalysisScheduler {
|
||||
|
||||
|
||||
private final FileStatusService fileStatusService;
|
||||
private final ReanalysisRequiredStatusService reanalysisRequiredStatusService;
|
||||
private final AmqpAdmin amqpAdmin;
|
||||
|
||||
|
||||
@Scheduled(fixedDelay = 10000, initialDelay = 10000)
|
||||
public void checkFilesThatRequireReanalysisAndQueueIfPossible() {
|
||||
|
||||
var redactionQueueInfo = amqpAdmin.getQueueInfo(MessagingConfiguration.REDACTION_QUEUE);
|
||||
if (redactionQueueInfo != null) {
|
||||
log.info("Checking queue status to see if background analysis can happen. Currently {} holds {} elements and has {} consumers",
|
||||
MessagingConfiguration.REDACTION_QUEUE,
|
||||
redactionQueueInfo.getMessageCount(),
|
||||
redactionQueueInfo.getConsumerCount());
|
||||
// only 1 file in queue
|
||||
if (redactionQueueInfo.getMessageCount() <= 1) {
|
||||
// queue up 5 files
|
||||
var allStatuses = getAllStatuses().iterator();
|
||||
int queuedCount = 0;
|
||||
|
||||
while (queuedCount < 5 && allStatuses.hasNext()) {
|
||||
var next = allStatuses.next();
|
||||
if (next.isAnalysisRequired()) {
|
||||
queuedCount += 1;
|
||||
log.info("Queued file: {} for automatic analysis!", next.getFilename());
|
||||
fileStatusService.setStatusReprocess(next.getDossierId(), next.getId(), 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
log.info("Failed to obtain queue info for queue: {}", MessagingConfiguration.REDACTION_QUEUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private List<FileModel> getAllStatuses() {
|
||||
|
||||
return reanalysisRequiredStatusService.enhanceFileStatusWithAnalysisRequirements(convert(fileStatusService.getAllStatuses()
|
||||
.stream()
|
||||
.filter(f -> !f.getStatus().equals(FileStatus.DELETED))
|
||||
.filter(f -> !f.getStatus().equals(FileStatus.APPROVED))
|
||||
.filter(f -> !isProcessing(f))
|
||||
.collect(Collectors.toList()), FileModel.class, new FileModelMapper()));
|
||||
}
|
||||
|
||||
private boolean isProcessing(FileEntity file) {
|
||||
return file.getStatus() == FileStatus.PROCESSING ||
|
||||
file.getStatus() == FileStatus.REPROCESS ||
|
||||
file.getStatus() == FileStatus.FULLREPROCESS ||
|
||||
file.getStatus() == FileStatus.INDEXING ||
|
||||
file.getStatus() == FileStatus.OCR_PROCESSING;
|
||||
}
|
||||
}
|
||||
@ -20,9 +20,9 @@ import java.util.zip.ZipOutputStream;
|
||||
@Slf4j
|
||||
public class FileSystemBackedArchiver implements AutoCloseable {
|
||||
|
||||
private Set<String> createdFolders = new HashSet<>();
|
||||
private File tempFile;
|
||||
private ZipOutputStream zipOutputStream;
|
||||
private final Set<String> createdFolders = new HashSet<>();
|
||||
private final File tempFile;
|
||||
private final ZipOutputStream zipOutputStream;
|
||||
|
||||
@SneakyThrows
|
||||
public FileSystemBackedArchiver() {
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.iqser.red.service.peristence.v1.server.utils;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||
|
||||
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 com.iqser.red.service.persistence.service.v1.api.model.annotations.Rectangle;
|
||||
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||
|
||||
public class ManualRedactionMapper implements BiConsumer<ManualRedactionEntryEntity, ManualRedactionEntry> {
|
||||
|
||||
@Override
|
||||
|
||||
@ -40,7 +40,7 @@ public class DossierTesterAndProvider {
|
||||
|
||||
assertThat(result.getDossierName()).isEqualTo("Dossier 1");
|
||||
|
||||
Dossier loadedDossier = dossierClient.getDossierById(result.getId());
|
||||
Dossier loadedDossier = dossierClient.getDossierById(result.getId(),false);
|
||||
|
||||
assertThat(loadedDossier).isEqualTo(result);
|
||||
|
||||
|
||||
@ -39,5 +39,8 @@ public class AuditTest extends AbstractPersistenceServerServiceTest {
|
||||
var result = auditClient.search(AuditSearchRequest.builder().category("c1").page(0).pageSize(10).build());
|
||||
assertThat(result.getTotalHits()).isEqualTo(2);
|
||||
|
||||
result = auditClient.search(AuditSearchRequest.builder().build());
|
||||
assertThat(result.getTotalHits()).isEqualTo(3);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ public class DossierTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(updated.getDossierName()).isEqualTo("Dossier 1 Update");
|
||||
|
||||
|
||||
var loadedTemplate = dossierClient.getDossierById(updated.getId());
|
||||
var loadedTemplate = dossierClient.getDossierById(updated.getId(),false);
|
||||
|
||||
assertThat(loadedTemplate).isEqualTo(updated);
|
||||
|
||||
|
||||
@ -98,7 +98,7 @@ public class DownloadPreparationTest extends AbstractPersistenceServerServiceTes
|
||||
.reportTemplateIds(availableTemplates.stream().map(a -> a.getTemplateId()).collect(Collectors.toList()))
|
||||
.build(), dossier.getId());
|
||||
|
||||
var updatedDossier = dossierClient.getDossierById(dossier.getId());
|
||||
var updatedDossier = dossierClient.getDossierById(dossier.getId(),false);
|
||||
assertThat(updatedDossier.getReportTemplateIds()).isNotEmpty();
|
||||
|
||||
downloadClient.prepareDownload(DownloadRequest.builder()
|
||||
|
||||
@ -174,7 +174,6 @@ public class FileTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
var loadedFile = fileClient.getFileStatus(dossierId, fileId);
|
||||
|
||||
assertThat(loadedFile.isHasAnnotationComments()).isEqualTo(true);
|
||||
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());
|
||||
|
||||
@ -18,6 +18,7 @@ import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mockito;
|
||||
import org.springframework.amqp.core.AmqpAdmin;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
@ -44,6 +45,8 @@ import java.util.TimeZone;
|
||||
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
|
||||
public abstract class AbstractPersistenceServerServiceTest {
|
||||
|
||||
@MockBean
|
||||
private AmqpAdmin amqpAdmin;
|
||||
@MockBean
|
||||
protected RabbitTemplate rabbitTemplate;
|
||||
@MockBean
|
||||
@ -108,6 +111,7 @@ public abstract class AbstractPersistenceServerServiceTest {
|
||||
|
||||
doNothing().when(pdfTronRedactionClient).testDigitalCurrentSignature(Mockito.any());
|
||||
|
||||
when(amqpAdmin.getQueueInfo(Mockito.any())).thenReturn(null);
|
||||
when(pdfTronRedactionClient.optimize(Mockito.any())).thenAnswer((args) ->
|
||||
new PdfTronOptimizeResponse(((PdfTronOptimizeRequest) args.getArguments()[0]).getDocument()));
|
||||
when(pdfTronRedactionClient.redact(Mockito.any())).thenAnswer((args) ->
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user