diff --git a/cql2pgjson/pom.xml b/cql2pgjson/pom.xml
index 7dd329c16..03a360ab0 100644
--- a/cql2pgjson/pom.xml
+++ b/cql2pgjson/pom.xml
@@ -99,7 +99,6 @@
org.postgresql
postgresql
- 42.5.2
test
@@ -114,6 +113,7 @@
junit-jupiter
test
+
org.testcontainers
postgresql
diff --git a/doc/upgrading.md b/doc/upgrading.md
index b0b373c8f..2720b9bc5 100644
--- a/doc/upgrading.md
+++ b/doc/upgrading.md
@@ -4,6 +4,7 @@ These are notes to assist upgrading to newer versions.
See the [NEWS](../NEWS.md) summary of changes for each version.
+* [Version 36.0](#version-360)
* [Version 35.1](#version-351)
* [Version 35.0](#version-350)
* [Version 34.0](#version-340)
@@ -24,6 +25,28 @@ See the [NEWS](../NEWS.md) summary of changes for each version.
* [Version 25](#version-25)
* [Version 20](#version-20)
+## Version 36.0
+
+36.0.\* is the Quesnelia (R1 2024) version.
+
+RMB requires Vert.x 4.5.\*.
+
+In Java files replace `javax.validation` with `jakarta.validation`
+and in pom.xml files replace
+```
+ javax.validation
+ validation-api
+```
+with
+```
+ jakarta.validation
+ jakarta.validation-api
+```
+because the
+[package name](https://github.com/jakartaee/validation/commit/a5e6c1829b110bc10cde0d30756073b28ffc2a29)
+and [artifact name](https://github.com/jakartaee/validation/commit/80f3223c3aa7696e3a732ae802baac8fc529f785)
+have changed.
+
## Version 35.1
35.1.\* is the Poppy (R2 2023) version.
diff --git a/domain-models-api-aspects/pom.xml b/domain-models-api-aspects/pom.xml
index a3db12359..c5fb8dbd7 100644
--- a/domain-models-api-aspects/pom.xml
+++ b/domain-models-api-aspects/pom.xml
@@ -26,10 +26,6 @@
org.hibernate.validator
hibernate-validator
-
- javax.validation
- validation-api
-
javax.ws.rs
javax.ws.rs-api
diff --git a/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/ElementsNotNull.java b/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/ElementsNotNull.java
index 80201bafb..f24c8b882 100644
--- a/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/ElementsNotNull.java
+++ b/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/ElementsNotNull.java
@@ -6,8 +6,8 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import org.folio.rest.validators.ElementsNotNullValidator;
diff --git a/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/ElementsPattern.java b/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/ElementsPattern.java
index 1e21f9d2c..d1f8ad7f2 100644
--- a/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/ElementsPattern.java
+++ b/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/ElementsPattern.java
@@ -6,8 +6,8 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import org.folio.rest.validators.ElementsPatternValidator;
diff --git a/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/RestValidator.aj b/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/RestValidator.aj
index 0ad12da29..3af38b7b8 100644
--- a/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/RestValidator.aj
+++ b/domain-models-api-aspects/src/main/java/org/folio/rest/annotations/RestValidator.aj
@@ -6,11 +6,11 @@ import io.vertx.core.logging.LoggerFactory;
import java.util.Arrays;
import java.util.Set;
-import javax.validation.ConstraintViolation;
-import javax.validation.Validation;
-import javax.validation.ValidationException;
-import javax.validation.ValidatorFactory;
-import javax.validation.executable.ExecutableValidator;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.Validation;
+import jakarta.validation.ValidationException;
+import jakarta.validation.ValidatorFactory;
+import jakarta.validation.executable.ExecutableValidator;
import org.aspectj.lang.reflect.MethodSignature;
import org.aspectj.lang.annotation.SuppressAjWarnings;
diff --git a/domain-models-api-aspects/src/main/java/org/folio/rest/validators/AbstractCollectionValidator.java b/domain-models-api-aspects/src/main/java/org/folio/rest/validators/AbstractCollectionValidator.java
index f80580fe4..5b7f26cd5 100644
--- a/domain-models-api-aspects/src/main/java/org/folio/rest/validators/AbstractCollectionValidator.java
+++ b/domain-models-api-aspects/src/main/java/org/folio/rest/validators/AbstractCollectionValidator.java
@@ -4,7 +4,7 @@
import java.util.Collection;
import java.util.Iterator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidatorContext;
public abstract class AbstractCollectionValidator>
implements CollectionValidator {
diff --git a/domain-models-api-aspects/src/main/java/org/folio/rest/validators/CollectionValidator.java b/domain-models-api-aspects/src/main/java/org/folio/rest/validators/CollectionValidator.java
index 16d69a561..717afc0c8 100644
--- a/domain-models-api-aspects/src/main/java/org/folio/rest/validators/CollectionValidator.java
+++ b/domain-models-api-aspects/src/main/java/org/folio/rest/validators/CollectionValidator.java
@@ -3,7 +3,7 @@
import java.lang.annotation.Annotation;
import java.util.Collection;
-import javax.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidator;
public interface CollectionValidator>
extends ConstraintValidator {
diff --git a/domain-models-api-aspects/src/main/java/org/folio/rest/validators/ElementsNotNullValidator.java b/domain-models-api-aspects/src/main/java/org/folio/rest/validators/ElementsNotNullValidator.java
index c620cd648..87dd85aab 100644
--- a/domain-models-api-aspects/src/main/java/org/folio/rest/validators/ElementsNotNullValidator.java
+++ b/domain-models-api-aspects/src/main/java/org/folio/rest/validators/ElementsNotNullValidator.java
@@ -3,8 +3,8 @@
import java.util.Collection;
import java.util.Iterator;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
import org.folio.rest.annotations.ElementsNotNull;
diff --git a/domain-models-api-aspects/src/test/java/org/folio/rest/jaxrs/resource/TestResource.java b/domain-models-api-aspects/src/test/java/org/folio/rest/jaxrs/resource/TestResource.java
index 19977df50..f527623b8 100644
--- a/domain-models-api-aspects/src/test/java/org/folio/rest/jaxrs/resource/TestResource.java
+++ b/domain-models-api-aspects/src/test/java/org/folio/rest/jaxrs/resource/TestResource.java
@@ -4,8 +4,8 @@
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
diff --git a/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/GenerateRunner.java b/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/GenerateRunner.java
index c54773d56..ace81c6b4 100644
--- a/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/GenerateRunner.java
+++ b/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/GenerateRunner.java
@@ -5,11 +5,15 @@
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.nio.file.FileSystems;
+import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.PathMatcher;
import java.nio.file.Paths;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.attribute.BasicFileAttributes;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -20,6 +24,7 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;
+import org.apache.commons.lang3.exception.UncheckedException;
import org.folio.rest.tools.plugins.CustomTypeAnnotator;
import org.folio.rest.tools.utils.RamlDirCopier;
import org.jsonschema2pojo.AnnotationStyle;
@@ -179,9 +184,30 @@ public void generate(String inputDirectory) throws IOException {
log.info(ramls[j] + " has a .raml suffix but does not start with #%RAML");
}
}
+ migrateToJakarta();
log.info("processed: " + numMatches + " raml files");
}
+ private void migrateToJakarta() {
+ try {
+ Files.walkFileTree(Path.of(outputDirectory), new JakartaMigrator());
+ } catch (IOException e) {
+ throw new UncheckedException(e);
+ }
+ }
+
+ private static class JakartaMigrator extends SimpleFileVisitor {
+ @SuppressWarnings("java:S6212") // suppress 'Declare this local variable with "var" instead.'
+ // because aspectj AJC doesn't support "var"
+ @Override
+ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
+ String java = new String(Files.readAllBytes(file), StandardCharsets.UTF_8);
+ java = java.replace("import javax.validation.", "import jakarta.validation.");
+ Files.write(file, java.getBytes(StandardCharsets.UTF_8));
+ return FileVisitResult.CONTINUE;
+ }
+ }
+
/**
* Creates list of files in directory and writes it to file
*
diff --git a/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/plugins/ResourceMethodExtensionPlugin.java b/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/plugins/ResourceMethodExtensionPlugin.java
index bd0aeee65..2bc137453 100644
--- a/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/plugins/ResourceMethodExtensionPlugin.java
+++ b/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/plugins/ResourceMethodExtensionPlugin.java
@@ -110,7 +110,7 @@ private ParameterSpec annotateNew(GParameter get, ParameterSpec orgParam) {
if (typeDeclaration instanceof StringTypeDeclaration) {
StringTypeDeclaration n = (StringTypeDeclaration) typeDeclaration;
if (n.pattern() != null) {
- AnnotationSpec.Builder annoBuilder = AnnotationSpec.builder(javax.validation.constraints.Pattern.class);
+ AnnotationSpec.Builder annoBuilder = AnnotationSpec.builder(jakarta.validation.constraints.Pattern.class);
annoBuilder.addMember("regexp", "$S", n.pattern());
newAnnotations.add(annoBuilder.build());
}
@@ -118,12 +118,12 @@ private ParameterSpec annotateNew(GParameter get, ParameterSpec orgParam) {
if (typeDeclaration instanceof NumberTypeDeclaration) {
NumberTypeDeclaration n = (NumberTypeDeclaration) typeDeclaration;
if (n.minimum() != null) {
- AnnotationSpec.Builder annoBuilder = AnnotationSpec.builder(javax.validation.constraints.Min.class);
+ AnnotationSpec.Builder annoBuilder = AnnotationSpec.builder(jakarta.validation.constraints.Min.class);
annoBuilder.addMember(ANNOTATION_VALUE, "$L", (Long) n.minimum().longValue());
newAnnotations.add(annoBuilder.build());
}
if (n.maximum() != null) {
- AnnotationSpec.Builder annoBuilder = AnnotationSpec.builder(javax.validation.constraints.Max.class);
+ AnnotationSpec.Builder annoBuilder = AnnotationSpec.builder(jakarta.validation.constraints.Max.class);
annoBuilder.addMember(ANNOTATION_VALUE, "$L", (Long) n.maximum().longValue());
newAnnotations.add(annoBuilder.build());
}
diff --git a/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/utils/Enum2Annotation.java b/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/utils/Enum2Annotation.java
index 78a1fa306..a32064a25 100644
--- a/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/utils/Enum2Annotation.java
+++ b/domain-models-maven-plugin/src/main/java/org/folio/rest/tools/utils/Enum2Annotation.java
@@ -12,17 +12,17 @@ public static String getAnnotation(String anno){
switch(anno.toUpperCase()){
case "PATTERN":
- return "javax.validation.constraints.Pattern";
+ return "jakarta.validation.constraints.Pattern";
case "MIN":
- return "javax.validation.constraints.Min";
+ return "jakarta.validation.constraints.Min";
case "MAX":
- return "javax.validation.constraints.Max";
+ return "jakarta.validation.constraints.Max";
case "REQUIRED":
- return "javax.validation.constraints.NotNull";
+ return "jakarta.validation.constraints.NotNull";
case "DEFAULTVALUE":
return "javax.ws.rs.DefaultValue";
case "SIZE":
- return "javax.validation.constraints.Size";
+ return "jakarta.validation.constraints.Size";
default:
return null;
}
diff --git a/domain-models-maven-plugin/src/test/java/org/folio/rest/jaxrs/resource/TestResource.java b/domain-models-maven-plugin/src/test/java/org/folio/rest/jaxrs/resource/TestResource.java
index 19977df50..f527623b8 100644
--- a/domain-models-maven-plugin/src/test/java/org/folio/rest/jaxrs/resource/TestResource.java
+++ b/domain-models-maven-plugin/src/test/java/org/folio/rest/jaxrs/resource/TestResource.java
@@ -4,8 +4,8 @@
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
diff --git a/domain-models-maven-plugin/src/test/java/org/folio/rest/tools/utils/Enum2AnnotationTest.java b/domain-models-maven-plugin/src/test/java/org/folio/rest/tools/utils/Enum2AnnotationTest.java
index 6dbd2962e..3dc80c01d 100644
--- a/domain-models-maven-plugin/src/test/java/org/folio/rest/tools/utils/Enum2AnnotationTest.java
+++ b/domain-models-maven-plugin/src/test/java/org/folio/rest/tools/utils/Enum2AnnotationTest.java
@@ -8,13 +8,13 @@ class Enum2AnnotationTest implements WithAssertions {
@ParameterizedTest
@CsvSource({
- "PATTERN, javax.validation.constraints.Pattern",
- "pattern, javax.validation.constraints.Pattern",
- "MIN, javax.validation.constraints.Min",
- "MAX, javax.validation.constraints.Max",
- "REQUIRED, javax.validation.constraints.NotNull",
+ "PATTERN, jakarta.validation.constraints.Pattern",
+ "pattern, jakarta.validation.constraints.Pattern",
+ "MIN, jakarta.validation.constraints.Min",
+ "MAX, jakarta.validation.constraints.Max",
+ "REQUIRED, jakarta.validation.constraints.NotNull",
"DEFAULTVALUE, javax.ws.rs.DefaultValue",
- "SIZE, javax.validation.constraints.Size",
+ "SIZE, jakarta.validation.constraints.Size",
"MINNI, ",
})
void getAnnotation(String anno, String clazz) {
diff --git a/domain-models-runtime-it/src/test/java/org/folio/rest/BeesApiTest.java b/domain-models-runtime-it/src/test/java/org/folio/rest/BeesApiTest.java
index 07a345717..b0be3210e 100644
--- a/domain-models-runtime-it/src/test/java/org/folio/rest/BeesApiTest.java
+++ b/domain-models-runtime-it/src/test/java/org/folio/rest/BeesApiTest.java
@@ -76,7 +76,7 @@ void minimum() {
when().post("/bees/bees").
then().
statusCode(422).
- body("errors[0].code", is("javax.validation.constraints.DecimalMin.message"));
+ body("errors[0].code", is("jakarta.validation.constraints.DecimalMin.message"));
}
@Test
diff --git a/domain-models-runtime/src/main/java/org/folio/rest/RestRouting.java b/domain-models-runtime/src/main/java/org/folio/rest/RestRouting.java
index c28a21647..be46b9f38 100644
--- a/domain-models-runtime/src/main/java/org/folio/rest/RestRouting.java
+++ b/domain-models-runtime/src/main/java/org/folio/rest/RestRouting.java
@@ -47,10 +47,10 @@
import org.folio.rest.tools.utils.ValidationHelper;
import org.folio.util.StringUtil;
-import javax.validation.ConstraintViolation;
-import javax.validation.Path.Node;
-import javax.validation.Validation;
-import javax.validation.ValidatorFactory;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.Path.Node;
+import jakarta.validation.Validation;
+import jakarta.validation.ValidatorFactory;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
import java.io.ByteArrayInputStream;
@@ -142,7 +142,7 @@ static Object[] isValidRequest(RoutingContext rc, Object content, Errors errorRe
}
boolean ret = true;
for (ConstraintViolation> cv : validationErrors) {
- if ("{javax.validation.constraints.Null.message}".equals(cv.getMessageTemplate())) {
+ if ("{jakarta.validation.constraints.Null.message}".equals(cv.getMessageTemplate())) {
/**
* read only fields are marked with a 'must be null' annotation @null
* so the client should not pass them in, if they were passed in, remove them here
diff --git a/domain-models-runtime/src/test/java/org/folio/SlimBook.java b/domain-models-runtime/src/test/java/org/folio/SlimBook.java
index b3557b332..cace22f25 100644
--- a/domain-models-runtime/src/test/java/org/folio/SlimBook.java
+++ b/domain-models-runtime/src/test/java/org/folio/SlimBook.java
@@ -4,7 +4,7 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
/**
* Subset of {@link org.folio.rest.jaxrs.model.Book}
diff --git a/domain-models-runtime/src/test/java/org/folio/rest/RestRoutingTest.java b/domain-models-runtime/src/test/java/org/folio/rest/RestRoutingTest.java
index 400e369ca..3ad174857 100644
--- a/domain-models-runtime/src/test/java/org/folio/rest/RestRoutingTest.java
+++ b/domain-models-runtime/src/test/java/org/folio/rest/RestRoutingTest.java
@@ -30,9 +30,9 @@
import org.junit.jupiter.api.extension.ExtendWith;
import io.vertx.core.AsyncResult;
import io.vertx.core.Future;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Null;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Null;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
import java.nio.charset.StandardCharsets;
@@ -88,7 +88,7 @@ public Baz(String readme) {
void isValidRequestFail() {
Errors errors = new Errors();
RestRouting.isValidRequest(null, new Foo(null, null), errors, List.of(), null);
- assertThat(errors.getErrors().get(0).getCode(), is("javax.validation.constraints.NotNull.message"));
+ assertThat(errors.getErrors().get(0).getCode(), is("jakarta.validation.constraints.NotNull.message"));
}
@Test
diff --git a/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/User.java b/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/User.java
index fcb65df1a..4e7431d66 100644
--- a/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/User.java
+++ b/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/User.java
@@ -1,7 +1,7 @@
package org.folio.rest.jaxrs.model;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
@@ -57,7 +57,7 @@ public class User {
*/
@JsonProperty("metadata")
@JsonPropertyDescription("Metadata about creation and changes to records, provided by the server (client should not provide)")
- @javax.validation.constraints.Null
+ @jakarta.validation.constraints.Null
private Metadata metadata;
/**
diff --git a/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/UserdataCollection.java b/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/UserdataCollection.java
index 5ab6b8325..2a2aa0b32 100644
--- a/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/UserdataCollection.java
+++ b/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/UserdataCollection.java
@@ -5,9 +5,9 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Null;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Null;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
diff --git a/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/Users.java b/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/Users.java
index a3025d6c6..2b4d27dd2 100644
--- a/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/Users.java
+++ b/domain-models-runtime/src/test/java/org/folio/rest/jaxrs/model/Users.java
@@ -5,9 +5,9 @@
import io.vertx.core.Handler;
import java.util.List;
import java.util.Map;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.Pattern;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.Pattern;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.DefaultValue;
diff --git a/domain-models-runtime/src/test/java/org/folio/rest/persist/PostgresClientSslTest.java b/domain-models-runtime/src/test/java/org/folio/rest/persist/PostgresClientSslTest.java
index 5f18daa8b..a228529b2 100644
--- a/domain-models-runtime/src/test/java/org/folio/rest/persist/PostgresClientSslTest.java
+++ b/domain-models-runtime/src/test/java/org/folio/rest/persist/PostgresClientSslTest.java
@@ -36,8 +36,6 @@ class PostgresClientSslTest {
@Container
static final PostgreSQLContainer> POSTGRES =
new PostgreSQLContainer<>(PostgresTesterContainer.DEFAULT_IMAGE_NAME);
- static final String SERVER_CRT = ResourceUtil.asString("ssl/server.crt");
- static final String SERVER_CRT_FOLIO = ResourceUtil.asString("ssl/server-folio.org.crt");
static void exec(String... command) {
try {
@@ -48,18 +46,12 @@ static void exec(String... command) {
}
/**
- * Configure the server to use crtFile as certificate.
- * Append each entry to postgresql.conf and reload it into postgres.
+ * Configure the connection to check the server certificate against crtFile.
+ * Append each of the configEntries to postgresql.conf and reload it into postgres.
* Appending a key=value entry has precedence over any previous entries of the same key.
*/
static void configure(String crtFile, String... configEntries) {
- String crtString = null;
-
- if (crtFile != null) {
- MountableFile serverCrtFile = MountableFile.forClasspathResource("/ssl/" + crtFile);
- POSTGRES.copyFileToContainer(serverCrtFile, CRT_PATH);
- crtString = ResourceUtil.asString("ssl/" + crtFile);
- }
+ String crtString = crtFile == null ? null : ResourceUtil.asString("ssl/" + crtFile);
Envs.setEnv(config(crtString));
exec("cp", "-p", CONF_BAK_PATH, CONF_PATH); // start with unaltered config
@@ -84,10 +76,13 @@ static private Map config(String serverCrt) {
@BeforeAll
static void beforeAll() {
- MountableFile serverKeyFile = MountableFile.forClasspathResource("/ssl/server.key");
+ MountableFile serverKeyFile = MountableFile.forClasspathResource("ssl/server.key");
+ MountableFile serverCrtFile = MountableFile.forClasspathResource("ssl/server.crt");
POSTGRES.copyFileToContainer(serverKeyFile, KEY_PATH);
+ POSTGRES.copyFileToContainer(serverCrtFile, CRT_PATH);
exec("chown", "postgres.postgres", KEY_PATH, CRT_PATH);
exec("chmod", "400", KEY_PATH, CRT_PATH);
+
exec("cp", "-p", CONF_PATH, CONF_BAK_PATH);
}
diff --git a/domain-models-runtime/src/test/java/org/folio/rest/persist/helpers/Poline.java b/domain-models-runtime/src/test/java/org/folio/rest/persist/helpers/Poline.java
index 951e6143c..41279c456 100644
--- a/domain-models-runtime/src/test/java/org/folio/rest/persist/helpers/Poline.java
+++ b/domain-models-runtime/src/test/java/org/folio/rest/persist/helpers/Poline.java
@@ -3,8 +3,8 @@
import java.util.ArrayList;
import java.util.List;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
diff --git a/pom.xml b/pom.xml
index 48b8c5ad0..413b0a87f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,11 +30,10 @@
2024-02-19T10:38:38Z
- 1.9.20.1
- 5.10.0
- 3.9.4
- 4.4.7
- 1.11.4
+ 1.9.21.1
+ 3.9.6
+ 4.5.4
+ 1.12.3
@@ -57,12 +56,12 @@
com.google.guava
guava
- 32.1.2-jre
+ 33.0.0-jre
org.apache.logging.log4j
log4j-bom
- 2.20.0
+ 2.23.0
pom
import
@@ -83,7 +82,7 @@
io.rest-assured
rest-assured
- 5.3.2
+ 5.4.0
javax.ws.rs
@@ -93,7 +92,7 @@
commons-io
commons-io
- 2.13.0
+ 2.15.1
junit
@@ -108,7 +107,7 @@
org.apache.commons
commons-lang3
- 3.13.0
+ 3.14.0
org.aspectj
@@ -133,75 +132,46 @@
org.assertj
assertj-core
- 3.24.2
+ 3.25.3
- org.junit.jupiter
- junit-jupiter
- ${junit-jupiter-version}
-
-
- org.junit.jupiter
- junit-jupiter-api
- ${junit-jupiter-version}
-
-
- org.junit.jupiter
- junit-jupiter-engine
- ${junit-jupiter-version}
-
-
- org.junit.jupiter
- junit-jupiter-params
- ${junit-jupiter-version}
-
-
- org.junit.vintage
- junit-vintage-engine
- ${junit-jupiter-version}
+ org.junit
+ junit-bom
+ 5.10.2
+ pom
+ import
org.mockito
mockito-bom
- 5.5.0
+ 5.10.0
pom
import
org.glassfish.jersey.media
jersey-media-json-jackson
- 2.40
-
-
- javax.validation
- validation-api
- 2.0.1.Final
+ 2.41
org.hibernate.validator
hibernate-validator
- 6.2.5.Final
-
-
- jakarta.validation
- jakarta.validation-api
-
-
+ 8.0.1.Final
org.glassfish
jakarta.el
- 3.0.4
+ 4.0.2
org.folio.okapi
okapi-common
- 5.0.2
+ 5.3.0
org.folio.okapi
okapi-testing
- 5.0.2
+ 5.3.0
org.apache.commons
@@ -211,10 +181,31 @@
org.testcontainers
testcontainers-bom
- 1.19.0
+ 1.19.6
pom
import
+
+
+ org.apache.commons
+ commons-compress
+ 1.26.0
+
+
+
+ org.postgresql
+ postgresql
+ 42.7.2
+
@@ -225,7 +216,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.11.0
+ 3.12.1
17
-Xlint:unchecked
@@ -236,13 +227,13 @@
dev.aspectj
aspectj-maven-plugin
- 1.13.1
+ 1.14
org.codehaus.mojo
exec-maven-plugin
- 3.1.0
+ 3.2.0
@@ -254,13 +245,13 @@
org.apache.maven.plugins
maven-surefire-plugin
- 3.1.2
+ 3.2.5
org.apache.maven.plugins
maven-shade-plugin
- 3.5.1
+ 3.5.2
@@ -276,7 +267,7 @@
org.apache.maven.plugins
maven-failsafe-plugin
- 3.1.2
+ 3.2.5
false
${project.build.outputDirectory}
@@ -301,7 +292,7 @@
org.codehaus.mojo
build-helper-maven-plugin
- 3.4.0
+ 3.5.0
add-raml-jaxrs-source
@@ -330,7 +321,7 @@
org.codehaus.mojo
versions-maven-plugin
- 2.16.1
+ 2.16.2
false
@@ -339,7 +330,7 @@
org.codehaus.mojo
properties-maven-plugin
- 1.2.0
+ 1.2.1
@@ -360,12 +351,12 @@
org.apache.maven.plugins
maven-checkstyle-plugin
- 3.3.0
+ 3.3.1
com.puppycrawl.tools
checkstyle
- 10.12.3
+ 10.13.0
@@ -391,7 +382,7 @@
org.apache.maven.plugins
maven-release-plugin
- 3.0.0-M4
+ 3.0.1
clean verify
v@{project.version}
@@ -445,11 +436,11 @@
maven-javadoc-plugin
- 3.6.0
+ 3.6.3
attach-javadocs
- deploy
+ verify
jar
diff --git a/postgres-testing/pom.xml b/postgres-testing/pom.xml
index 88d5019ea..d622c195b 100644
--- a/postgres-testing/pom.xml
+++ b/postgres-testing/pom.xml
@@ -20,6 +20,25 @@
org.testcontainers
postgresql
+
+
+ org.apache.commons
+ commons-compress
+
+
+
+ commons-codec
+ commons-codec
+ 1.16.1
+
org.apache.logging.log4j
@@ -34,7 +53,6 @@
org.postgresql
postgresql
- 42.6.0
test