diff --git a/pass-core-doi-service/pom.xml b/pass-core-doi-service/pom.xml
index febcfbd3..db62a9e9 100644
--- a/pass-core-doi-service/pom.xml
+++ b/pass-core-doi-service/pom.xml
@@ -29,8 +29,8 @@
org.glassfish
- javax.json
- ${javax.json.version}
+ jakarta.json
+ ${jakarta.json.version}
com.squareup.okhttp3
diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ElideConnector.java b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ElideConnector.java
index 3c863794..e573e7f2 100644
--- a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ElideConnector.java
+++ b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ElideConnector.java
@@ -25,10 +25,10 @@
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
import com.yahoo.elide.RefreshableElide;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
import org.eclipse.pass.object.PassClient;
import org.eclipse.pass.object.PassClientResult;
import org.eclipse.pass.object.PassClientSelector;
diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiService.java b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiService.java
index 8669fe3e..f453beea 100644
--- a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiService.java
+++ b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiService.java
@@ -24,7 +24,8 @@
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.json.JsonObject;
+
+import jakarta.json.JsonObject;
/**
* ExternalDoiService classes provide configuration needed for specific implementations'
diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnector.java b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnector.java
index d70e2c02..5fad6647 100644
--- a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnector.java
+++ b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnector.java
@@ -21,11 +21,11 @@
import java.io.IOException;
import java.io.StringReader;
import java.util.Objects;
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.stream.JsonParsingException;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.stream.JsonParsingException;
import okhttp3.Call;
import okhttp3.Headers;
import okhttp3.HttpUrl;
diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/PassDoiServiceController.java b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/PassDoiServiceController.java
index c908a110..7b166d53 100644
--- a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/PassDoiServiceController.java
+++ b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/PassDoiServiceController.java
@@ -18,10 +18,10 @@
import java.io.IOException;
import java.io.OutputStream;
-import javax.json.Json;
-import javax.json.JsonObject;
import com.yahoo.elide.RefreshableElide;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/UnpaywallDoiService.java b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/UnpaywallDoiService.java
index 68143a08..92759223 100644
--- a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/UnpaywallDoiService.java
+++ b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/UnpaywallDoiService.java
@@ -20,11 +20,12 @@
import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
+
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
/**
* The UnpaywallDoiService class is an implementation of the ExternalDoiService abstract class to interface with
diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/XrefDoiService.java b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/XrefDoiService.java
index ea92776e..dfc1e335 100644
--- a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/XrefDoiService.java
+++ b/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/XrefDoiService.java
@@ -17,7 +17,8 @@
package org.eclipse.pass.doi.service;
import java.util.HashMap;
-import javax.json.JsonObject;
+
+import jakarta.json.JsonObject;
/**
* The XrefDoiService class is an implementation of the ExternalDoiService abstract class to interface with the Crossref
diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ElideConnectorTest.java b/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ElideConnectorTest.java
index 5d46aa19..b07821ca 100644
--- a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ElideConnectorTest.java
+++ b/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ElideConnectorTest.java
@@ -20,11 +20,11 @@
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.StringReader;
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
import com.yahoo.elide.RefreshableElide;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.eclipse.pass.object.model.Journal;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorTest.java b/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorTest.java
index eb5c7472..8334be1a 100644
--- a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorTest.java
+++ b/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorTest.java
@@ -19,8 +19,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-import javax.json.JsonObject;
-
+import jakarta.json.JsonObject;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/JsonTestObjectsUtil.java b/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/JsonTestObjectsUtil.java
index 20669ee9..cc6053ab 100644
--- a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/JsonTestObjectsUtil.java
+++ b/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/JsonTestObjectsUtil.java
@@ -17,9 +17,10 @@
package org.eclipse.pass.doi.service;
import java.io.StringReader;
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
+
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
/**
* A utility class to provide real-life json responses
diff --git a/pass-core-file-service/pom.xml b/pass-core-file-service/pom.xml
index 884bb9f3..c9e88a4a 100644
--- a/pass-core-file-service/pom.xml
+++ b/pass-core-file-service/pom.xml
@@ -44,7 +44,6 @@
commons-io
commons-io
${apache.commons.io.version}
- compile
org.jsoup
diff --git a/pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageConfiguration.java b/pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageConfiguration.java
index a87b3905..630be7fc 100644
--- a/pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageConfiguration.java
+++ b/pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageConfiguration.java
@@ -39,9 +39,10 @@
import org.springframework.context.annotation.Configuration;
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
import software.amazon.awssdk.regions.Region;
-import software.amazon.awssdk.services.s3.S3Client;
-import software.amazon.awssdk.services.s3.S3ClientBuilder;
+import software.amazon.awssdk.services.s3.S3AsyncClient;
+import software.amazon.awssdk.services.s3.S3AsyncClientBuilder;
import software.amazon.awssdk.services.s3.model.CreateBucketRequest;
+import software.amazon.awssdk.transfer.s3.S3TransferManager;
/**
* The StorageConfiguration is responsible for handling the StorageProperties. The FileStorageService does not get the
@@ -60,20 +61,33 @@ public class StorageConfiguration {
@Bean
@ConditionalOnProperty(name = "pass.file-service.storage-type", havingValue = "S3")
- public S3Client s3Client(StorageProperties storageProperties) throws IOException {
+ public S3TransferManager s3TransferManager() {
+ S3AsyncClient s3AsyncClient = S3AsyncClient.crtBuilder()
+ .credentialsProvider(DefaultCredentialsProvider.create())
+ .region(Region.of(awsRegion))
+ .build();
+
+ return S3TransferManager.builder()
+ .s3Client(s3AsyncClient)
+ .build();
+ }
+
+ @Bean
+ @ConditionalOnProperty(name = "pass.file-service.storage-type", havingValue = "S3")
+ public S3AsyncClient s3Client(StorageProperties storageProperties) throws IOException {
String bucketName = storageProperties.getBucketName().
orElseThrow(() -> new IOException("File Service: S3 bucket name is not set"));
- S3ClientBuilder builder = S3Client.builder()
+ S3AsyncClientBuilder builder = S3AsyncClient.builder()
.credentialsProvider(DefaultCredentialsProvider.create())
.region(Region.of(awsRegion));
String endpoint = storageProperties.getS3Endpoint().orElse(null);
- S3Client s3Client = StringUtils.isNotBlank(endpoint)
+ S3AsyncClient s3Client = StringUtils.isNotBlank(endpoint)
? builder.endpointOverride(URI.create(endpoint)).forcePathStyle(true).build()
: builder.build();
- if (s3Client.listBuckets().buckets().stream().noneMatch(b -> b.name().equals(bucketName))) {
+ if (s3Client.listBuckets().join().buckets().stream().noneMatch(b -> b.name().equals(bucketName))) {
s3Client.createBucket(CreateBucketRequest.builder().bucket(bucketName).build());
}
return s3Client;
@@ -81,7 +95,8 @@ public S3Client s3Client(StorageProperties storageProperties) throws IOException
@Bean
@ConditionalOnProperty(name = "pass.file-service.storage-type", havingValue = "S3")
- public OcflRepository ocflS3Repository(S3Client s3Client, StorageProperties storageProperties,
+ public OcflRepository ocflS3Repository(S3AsyncClient s3Client, S3TransferManager s3TransferManager,
+ StorageProperties storageProperties,
@Qualifier("rootPath") Path rootLoc) throws IOException {
String bucketName = storageProperties.getBucketName().
orElseThrow(() -> new IOException("File Service: S3 bucket name is not set"));
@@ -89,6 +104,7 @@ public OcflRepository ocflS3Repository(S3Client s3Client, StorageProperties stor
OcflS3Client.Builder builder = OcflS3Client.builder()
.s3Client(s3Client)
+ .transferManager(s3TransferManager)
.bucket(bucketName);
OcflS3Client ocflS3Client = StringUtils.isNotBlank(repoPrefix)
? builder.repoPrefix(repoPrefix).build()
diff --git a/pass-core-main/Dockerfile b/pass-core-main/Dockerfile
index 09e86141..3f356bef 100644
--- a/pass-core-main/Dockerfile
+++ b/pass-core-main/Dockerfile
@@ -1,4 +1,4 @@
-FROM eclipse-temurin:17.0.8_7-jre-jammy
+FROM eclipse-temurin:17.0.13_11-jre-jammy
WORKDIR /app
diff --git a/pass-core-main/pom.xml b/pass-core-main/pom.xml
index f60b849f..7a6a992e 100644
--- a/pass-core-main/pom.xml
+++ b/pass-core-main/pom.xml
@@ -81,22 +81,16 @@
org.liquibase
liquibase-core
- ${liquibase.version}
- runtime
com.h2database
h2
- ${h2.version}
- runtime
org.postgresql
postgresql
- ${postgres.version}
- runtime
@@ -175,7 +169,6 @@
io.rest-assured
rest-assured
- ${rest-assured.version}
commons-logging
diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/JmsConfiguration.java b/pass-core-main/src/main/java/org/eclipse/pass/main/JmsConfiguration.java
index b9d59704..2013f4be 100644
--- a/pass-core-main/src/main/java/org/eclipse/pass/main/JmsConfiguration.java
+++ b/pass-core-main/src/main/java/org/eclipse/pass/main/JmsConfiguration.java
@@ -20,8 +20,6 @@
import java.util.HashMap;
import java.util.Objects;
import java.util.Set;
-import javax.json.Json;
-import javax.json.JsonObjectBuilder;
import com.amazon.sqs.javamessaging.ProviderConfiguration;
import com.amazon.sqs.javamessaging.SQSConnectionFactory;
@@ -38,6 +36,8 @@
import com.yahoo.elide.jsonapi.JsonApiSettingsBuilderCustomizer;
import jakarta.jms.ConnectionFactory;
import jakarta.jms.TextMessage;
+import jakarta.json.Json;
+import jakarta.json.JsonObjectBuilder;
import jakarta.persistence.OptimisticLockException;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.pass.main.repository.DepositRepository;
@@ -178,7 +178,7 @@ public EntityDictionary buildDictionary(Injector injector, ClassScanner scanner,
DepositRepository depositRepository) {
EntityDictionary dictionary = new EntityDictionary(new HashMap<>(), new HashMap<>(), injector,
- CoerceUtil::lookup, entitiesToExclude, scanner);
+ CoerceUtil::lookup, entitiesToExclude, scanner, null);
setupHooks(dictionary, jms, userTokenFactory, submissionRepository, depositRepository);
diff --git a/pass-core-main/src/main/resources/application.yaml b/pass-core-main/src/main/resources/application.yaml
index 853a69cc..039271ee 100644
--- a/pass-core-main/src/main/resources/application.yaml
+++ b/pass-core-main/src/main/resources/application.yaml
@@ -25,6 +25,24 @@ elide:
spring:
application:
name: pass-core
+ cloud:
+ aws:
+ cloudwatch:
+ enabled: false
+ dynamodb:
+ enabled: false
+ parameterstore:
+ enabled: false
+ s3:
+ enabled: false
+ secretsmanager:
+ enabled: false
+ ses:
+ enabled: false
+ sns:
+ enabled: false
+ sqs:
+ enabled: false
jpa:
properties:
hibernate:
diff --git a/pass-core-main/src/test/java/org/eclipse/pass/doi/service/DoiServiceTest.java b/pass-core-main/src/test/java/org/eclipse/pass/doi/service/DoiServiceTest.java
index b706037f..2f4989ad 100644
--- a/pass-core-main/src/test/java/org/eclipse/pass/doi/service/DoiServiceTest.java
+++ b/pass-core-main/src/test/java/org/eclipse/pass/doi/service/DoiServiceTest.java
@@ -5,11 +5,11 @@
import java.io.IOException;
import java.io.StringReader;
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
import com.yahoo.elide.RefreshableElide;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import okhttp3.Call;
import okhttp3.Credentials;
import okhttp3.HttpUrl;
diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/AwsParamStoreConfigTest.java b/pass-core-main/src/test/java/org/eclipse/pass/main/AwsParamStoreConfigTest.java
index fe414a1e..bb894bae 100644
--- a/pass-core-main/src/test/java/org/eclipse/pass/main/AwsParamStoreConfigTest.java
+++ b/pass-core-main/src/test/java/org/eclipse/pass/main/AwsParamStoreConfigTest.java
@@ -37,6 +37,7 @@
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
properties = {
+ "spring.cloud.aws.parameterstore.enabled=true",
"spring.cloud.aws.credentials.access-key=noop",
"spring.cloud.aws.credentials.secret-key=noop",
"spring.cloud.aws.region.static=us-east-1",
diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/JmsConfigurationTest.java b/pass-core-main/src/test/java/org/eclipse/pass/main/JmsConfigurationTest.java
index b69f2c28..aa27ce23 100644
--- a/pass-core-main/src/test/java/org/eclipse/pass/main/JmsConfigurationTest.java
+++ b/pass-core-main/src/test/java/org/eclipse/pass/main/JmsConfigurationTest.java
@@ -8,16 +8,16 @@
import java.net.URI;
import java.util.Collections;
import java.util.Enumeration;
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.stream.JsonParser;
-import javax.json.stream.JsonParser.Event;
import com.yahoo.elide.RefreshableElide;
import jakarta.jms.JMSException;
import jakarta.jms.QueueBrowser;
import jakarta.jms.Session;
import jakarta.jms.TextMessage;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.stream.JsonParser;
+import jakarta.json.stream.JsonParser.Event;
import org.eclipse.pass.object.ElidePassClient;
import org.eclipse.pass.object.PassClient;
import org.eclipse.pass.object.model.Deposit;
diff --git a/pass-core-policy-service/pom.xml b/pass-core-policy-service/pom.xml
index 04fe1572..cd9826d4 100644
--- a/pass-core-policy-service/pom.xml
+++ b/pass-core-policy-service/pom.xml
@@ -30,8 +30,8 @@
org.glassfish
- javax.json
- ${javax.json.version}
+ jakarta.json
+ ${jakarta.json.version}
compile
diff --git a/pass-core-policy-service/src/main/java/org/eclipse/pass/policy/service/PassPolicyServiceController.java b/pass-core-policy-service/src/main/java/org/eclipse/pass/policy/service/PassPolicyServiceController.java
index 259731c3..7a68991c 100644
--- a/pass-core-policy-service/src/main/java/org/eclipse/pass/policy/service/PassPolicyServiceController.java
+++ b/pass-core-policy-service/src/main/java/org/eclipse/pass/policy/service/PassPolicyServiceController.java
@@ -20,13 +20,13 @@
import java.nio.charset.StandardCharsets;
import java.security.Principal;
import java.util.Set;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
import com.yahoo.elide.RefreshableElide;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonArrayBuilder;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.eclipse.pass.object.model.Policy;
diff --git a/pass-core-user-service/pom.xml b/pass-core-user-service/pom.xml
index 55d845e1..6f98789d 100644
--- a/pass-core-user-service/pom.xml
+++ b/pass-core-user-service/pom.xml
@@ -35,9 +35,9 @@
- javax.json
- javax.json-api
- ${javax.json.version}
+ jakarta.json
+ jakarta.json-api
+ ${jakarta.json.version}
diff --git a/pass-core-user-service/src/main/java/org/eclipse/pass/user/UserServiceController.java b/pass-core-user-service/src/main/java/org/eclipse/pass/user/UserServiceController.java
index 1aa479f3..12726b1b 100644
--- a/pass-core-user-service/src/main/java/org/eclipse/pass/user/UserServiceController.java
+++ b/pass-core-user-service/src/main/java/org/eclipse/pass/user/UserServiceController.java
@@ -3,10 +3,10 @@
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.security.Principal;
-import javax.json.Json;
-import javax.json.JsonObject;
import com.yahoo.elide.RefreshableElide;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.eclipse.pass.object.PassClient;
diff --git a/pom.xml b/pom.xml
index f9931754..5a5f9bca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,30 +74,21 @@
- 3.6.1
- 3.2.2
- 3.1.0
- 2.25.16
- 7.0.2
- 2.1.2
- 1.4.14
- 2.0.7
- 4.26.0
- 5.4.0
+ 3.8.1
+ 3.3.5
+ 3.2.1
+ 2.29.3
+ 7.1.2
+ 2.1.3
- 2.0.1
- 2.0.1
+ 2.2.1
+ 2.2.1
- 1.1.4
- 2.2.224
- 42.7.1
- 5.3.1
+ 2.0.1
4.12.0
- 2.15.1
- 0.2.6
- 1.17.2
- 3.1.0
+ 2.17.0
+ 1.18.1
@@ -113,17 +104,6 @@
-
- org.slf4j
- slf4j-api
- ${slf4j.version}
-
-
-
- ch.qos.logback
- logback-classic
- ${logback.version}
-
com.squareup.okhttp3
@@ -216,8 +196,10 @@
com.google.code.findbugs:jsr305:
com.google.protobuf:protobuf-java:
com.google.guava:guava:
+ com.google.errorprone:error_prone_annotations:
commons-io:commons-io:
org.ow2.asm:asm:
+ org.ow2.asm:asm-commons:
org.antlr:antlr4-runtime:
org.apache.commons:commons-text:
@@ -230,6 +212,7 @@
org.springframework.security:spring-security-crypto:
org.bouncycastle:bcprov-jdk18on:
+ org.bouncycastle:bcpkix-jdk18on:
org.apache.httpcomponents:httpclient:
@@ -278,7 +261,7 @@
com.vaadin.external.google:android-json:
jakarta.persistence:jakarta.persistence-api::
- org.glassfish:javax.json:
+ org.glassfish:jakarta.json:
com.typesafe.akka:akka-http-core_2.13: