diff --git a/persistence-service-v1/persistence-service-processor-v1/pom.xml b/persistence-service-v1/persistence-service-processor-v1/pom.xml
index 9798bea13..c0bda2515 100644
--- a/persistence-service-v1/persistence-service-processor-v1/pom.xml
+++ b/persistence-service-v1/persistence-service-processor-v1/pom.xml
@@ -204,6 +204,7 @@
com.iqser.red.commons
storage-commons
+ ${storage.commons.version}
com.fasterxml.jackson.datatype
diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/model/reducetext/RedTextPosition.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/model/reducetext/RedTextPosition.java
index 9184b10cc..86637a090 100644
--- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/model/reducetext/RedTextPosition.java
+++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/migrations/model/reducetext/RedTextPosition.java
@@ -1,6 +1,5 @@
package com.iqser.red.service.persistence.management.v1.processor.migration.migrations.model.reducetext;
-import com.dslplatform.json.JsonAttribute;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -31,24 +30,18 @@ public class RedTextPosition {
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private float YDirAdj;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
- @JsonAttribute
private float heightDir;
- @JsonAttribute
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private float widthDirAdj;
// Moved To TextPositionSequence
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
- @JsonAttribute
private float pageHeight;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
- @JsonAttribute
private float pageWidth;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
- @JsonAttribute
private float dir;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
- @JsonAttribute
private int rotation;
// Removed values
@@ -58,7 +51,6 @@ public class RedTextPosition {
private float width;
- @JsonAttribute()
public float[] getPosition() {
var pos = new float[4];
@@ -77,7 +69,6 @@ public class RedTextPosition {
@JsonAlias("xdirAdj")
- @JsonAttribute(alternativeNames = {"xdirAdj"})
@JsonProperty
public void setXDirAdj(float XDirAdj) {
@@ -90,7 +81,6 @@ public class RedTextPosition {
@JsonAlias("ydirAdj")
- @JsonAttribute(alternativeNames = {"ydirAdj"})
@JsonProperty
public void setYDirAdj(float YDirAdj) {this.YDirAdj = YDirAdj;}
diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DictionaryService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DictionaryService.java
index 2233248d4..9b740aa56 100644
--- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DictionaryService.java
+++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DictionaryService.java
@@ -25,7 +25,6 @@ import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Service;
-import com.amazonaws.util.StringUtils;
import com.iqser.red.service.dictionarymerge.commons.CommonsDictionaryModel;
import com.iqser.red.service.dictionarymerge.commons.DictionaryEntry;
import com.iqser.red.service.dictionarymerge.commons.DictionaryEntryModel;
@@ -273,19 +272,19 @@ public class DictionaryService {
.stream()
.filter(e -> !e.isDeleted())
.map(DictionaryEntry::getValue)
- .sorted(Comparator.comparing(StringUtils::lowerCase))
+ .sorted(Comparator.comparing(String::toLowerCase))
.collect(Collectors.toList()))
.falsePositiveEntries(dictionaryForType.getFalsePositiveEntries()
.stream()
.filter(e -> !e.isDeleted())
.map(DictionaryEntry::getValue)
- .sorted(Comparator.comparing(StringUtils::lowerCase))
+ .sorted(Comparator.comparing(String::toLowerCase))
.collect(Collectors.toList()))
.falseRecommendationEntries(dictionaryForType.getFalseRecommendationEntries()
.stream()
.filter(e -> !e.isDeleted())
.map(DictionaryEntry::getValue)
- .sorted(Comparator.comparing(StringUtils::lowerCase))
+ .sorted(Comparator.comparing(String::toLowerCase))
.collect(Collectors.toList()))
.hexColor(dictionaryForType.getHexColor())
.recommendationHexColor(dictionaryForType.getRecommendationHexColor())
@@ -338,19 +337,19 @@ public class DictionaryService {
.stream()
.filter(e -> !e.isDeleted())
.map(DictionaryEntry::getValue)
- .sorted(Comparator.comparing(StringUtils::lowerCase))
+ .sorted(Comparator.comparing(String::toLowerCase))
.collect(Collectors.toList()))
.falsePositiveEntries(cdm.getFalsePositives()
.stream()
.filter(e -> !e.isDeleted())
.map(DictionaryEntry::getValue)
- .sorted(Comparator.comparing(StringUtils::lowerCase))
+ .sorted(Comparator.comparing(String::toLowerCase))
.collect(Collectors.toList()))
.falseRecommendationEntries(cdm.getFalseRecommendations()
.stream()
.filter(e -> !e.isDeleted())
.map(DictionaryEntry::getValue)
- .sorted(Comparator.comparing(StringUtils::lowerCase))
+ .sorted(Comparator.comparing(String::toLowerCase))
.collect(Collectors.toList()))
.hexColor(entity.getHexColor())
.recommendationHexColor(entity.getRecommendationHexColor())
diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/download/DownloadPreparationService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/download/DownloadPreparationService.java
index 9ebe1ab82..59e2d9e6d 100644
--- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/download/DownloadPreparationService.java
+++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/download/DownloadPreparationService.java
@@ -380,10 +380,13 @@ public class DownloadPreparationService {
}
+ @SneakyThrows
private void storeZipFile(DownloadStatusEntity downloadStatus, FileSystemBackedArchiver fileSystemBackedArchiver) {
long start = System.currentTimeMillis();
- fileManagementStorageService.storeObject(downloadStatus.getStorageId(), fileSystemBackedArchiver.toInputStream());
+ try(var in = fileSystemBackedArchiver.toInputStream()) {
+ fileManagementStorageService.storeObject(downloadStatus.getStorageId(), in);
+ }
log.info("Successfully stored zip for downloadId {}, took {}", downloadStatus.getStorageId(), System.currentTimeMillis() - start);
}
diff --git a/persistence-service-v1/persistence-service-server-v1/pom.xml b/persistence-service-v1/persistence-service-server-v1/pom.xml
index 8cb35c186..e82f7af6f 100644
--- a/persistence-service-v1/persistence-service-server-v1/pom.xml
+++ b/persistence-service-v1/persistence-service-server-v1/pom.xml
@@ -23,7 +23,11 @@
persistence-service-processor-v1
${project.version}
-
+
+ com.iqser.red.commons
+ storage-commons
+ ${storage.commons.version}
+
org.springframework.amqp
diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java
index 2f97098fc..0463603d5 100644
--- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java
+++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java
@@ -1,5 +1,6 @@
package com.iqser.red.service.peristence.v1.server.integration.utils;
+import com.iqser.red.commons.jackson.ObjectMapperFactory;
import com.iqser.red.service.peristence.v1.server.Application;
import com.iqser.red.service.peristence.v1.server.integration.client.ApplicationConfigClient;
import com.iqser.red.service.peristence.v1.server.integration.client.FileClient;
@@ -23,6 +24,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemp
import com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlog.RedactionLog;
import com.iqser.red.service.redaction.v1.model.DroolsSyntaxValidation;
import com.iqser.red.storage.commons.service.StorageService;
+import com.iqser.red.storage.commons.utils.FileSystemBackedStorageService;
import com.knecon.fforesight.databasetenantcommons.providers.TenantCreatedListener;
import com.knecon.fforesight.databasetenantcommons.providers.events.TenantCreatedEvent;
import com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverter;
@@ -431,7 +433,7 @@ public abstract class AbstractPersistenceServerServiceTest {
@Primary
public StorageService inmemoryStorage() {
- return new FileSystemBackedStorageService();
+ return new FileSystemBackedStorageService(ObjectMapperFactory.create());
}
}
diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/FileSystemBackedStorageService.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/FileSystemBackedStorageService.java
deleted file mode 100644
index 0c9c61dd4..000000000
--- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/FileSystemBackedStorageService.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package com.iqser.red.service.peristence.v1.server.integration.utils;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.apache.commons.io.IOUtils;
-import org.springframework.core.io.InputStreamResource;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.iqser.red.commons.jackson.ObjectMapperFactory;
-import com.iqser.red.storage.commons.exception.StorageObjectDoesNotExist;
-import com.iqser.red.storage.commons.service.StorageService;
-
-import lombok.SneakyThrows;
-
-public class FileSystemBackedStorageService implements StorageService {
-
- private final Map dataMap = new HashMap<>();
-
-
- public FileSystemBackedStorageService() {
-
- }
-
-
- @Override
- @SneakyThrows
- public void storeJSONObject(String tenantId, String objectId, T any) {
-
- File tempFile = File.createTempFile("test", ".tmp");
- getMapper().writeValue(new FileOutputStream(tempFile), any);
- dataMap.put(objectId, tempFile);
- }
-
-
- private ObjectMapper getMapper() {
-
- return ObjectMapperFactory.create();
- }
-
-
- @Override
- @SneakyThrows
- public T readJSONObject(String tenantId, String objectId, Class clazz) {
-
- if (dataMap.get(objectId) == null || !dataMap.get(objectId).exists()) {
- throw new StorageObjectDoesNotExist("Stored object not found");
- }
- return getMapper().readValue(new FileInputStream(dataMap.get(objectId)), clazz);
- }
-
-
-
- @SneakyThrows
- public void storeObject(String tenantId, String objectId, InputStream stream) {
-
- File tempFile = File.createTempFile("test", ".tmp");
-
- try (var fileOutputStream = new FileOutputStream(tempFile)) {
- IOUtils.copy(stream, fileOutputStream);
- }
-
- dataMap.put(objectId, tempFile);
- }
-
-
- @SneakyThrows
- @Override
- public void downloadTo(String tenantId, String objectId, File destinationFile) {
-
- var res = dataMap.get(objectId);
- if (res == null) {
- throw new StorageObjectDoesNotExist(new RuntimeException());
- }
- IOUtils.copy(new FileInputStream(res), new FileOutputStream(destinationFile));
- }
-
-
- @Override
- public void deleteObject(String tenantId, String objectId) {
-
- dataMap.remove(objectId);
- }
-
-
- @Override
- public boolean objectExists(String tenantId, String objectId) {
-
- return dataMap.containsKey(objectId);
- }
-
-
- public List listPaths() {
-
- return new ArrayList<>(dataMap.keySet());
- }
-
-
- public List listFilePaths() {
-
- return dataMap.values().stream().map(File::getAbsolutePath).collect(Collectors.toList());
- }
-
-
- public void clearStorage() {
-
- this.dataMap.forEach((k, v) -> {
- v.delete();
- });
- this.dataMap.clear();
- }
-
- @SneakyThrows
- @Override
- public InputStreamResource getObject(String tenantId, String objectId) {
-
- var res = dataMap.get(objectId);
- if (res == null) {
- throw new StorageObjectDoesNotExist(new RuntimeException());
- }
- return new InputStreamResource(new FileInputStream(res));
-
- }
-
-}
diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackArchiverTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackArchiverTest.java
index cac42ce7f..bfc13d056 100644
--- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackArchiverTest.java
+++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/utils/FileSystemBackArchiverTest.java
@@ -44,8 +44,9 @@ public class FileSystemBackArchiverTest {
var contentSize = fsba.getContentLength();
- try (FileOutputStream fos = new FileOutputStream(f)) {
- IOUtils.copy(fsba.toInputStream(), fos);
+ try (FileOutputStream fos = new FileOutputStream(f); var in = fsba.toInputStream()) {
+ IOUtils.copy(in, fos);
+
log.info("File: {}", f.getAbsolutePath());
assertThat(f.length()).isEqualTo(contentSize);
diff --git a/persistence-service-v1/pom.xml b/persistence-service-v1/pom.xml
index afeaeb49d..e0282b76c 100755
--- a/persistence-service-v1/pom.xml
+++ b/persistence-service-v1/pom.xml
@@ -36,6 +36,7 @@
4.29.0
4.13.0
3.10.0
+ 2.45.0