diff --git a/dsf-bpe/dsf-bpe-process-api-v1-base/pom.xml b/dsf-bpe/dsf-bpe-process-api-v1-base/pom.xml
index 4ba06cd2a..e05f860cf 100644
--- a/dsf-bpe/dsf-bpe-process-api-v1-base/pom.xml
+++ b/dsf-bpe/dsf-bpe-process-api-v1-base/pom.xml
@@ -92,4 +92,16 @@
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+ true
+
+
+
+
\ No newline at end of file
diff --git a/dsf-bpe/dsf-bpe-process-api-v1-impl/src/main/java/dev/dsf/bpe/v1/plugin/ProcessPluginFactoryImpl.java b/dsf-bpe/dsf-bpe-process-api-v1-impl/src/main/java/dev/dsf/bpe/v1/plugin/ProcessPluginFactoryImpl.java
index 1e6f88037..7e7d9e483 100644
--- a/dsf-bpe/dsf-bpe-process-api-v1-impl/src/main/java/dev/dsf/bpe/v1/plugin/ProcessPluginFactoryImpl.java
+++ b/dsf-bpe/dsf-bpe-process-api-v1-impl/src/main/java/dev/dsf/bpe/v1/plugin/ProcessPluginFactoryImpl.java
@@ -56,10 +56,10 @@ protected ProcessPlugin createProcessPlugin(Object processPluginDefinition, bool
}
@Override
- @SuppressWarnings("rawtypes")
- public Stream getSerializer()
+ public Stream> getSerializer()
{
- return apiApplicationContext.getBeansOfType(TypedValueSerializer.class).values().stream();
+ return apiApplicationContext.getBeansOfType(TypedValueSerializer.class).values().stream()
+ .map(s -> (TypedValueSerializer>) s);
}
@Override
diff --git a/dsf-bpe/dsf-bpe-process-api-v1-impl/src/main/java/dev/dsf/fhir/client/AbstractFhirWebserviceClientJerseyWithRetry.java b/dsf-bpe/dsf-bpe-process-api-v1-impl/src/main/java/dev/dsf/fhir/client/AbstractFhirWebserviceClientJerseyWithRetry.java
index 0c678ba19..a336cbbb4 100644
--- a/dsf-bpe/dsf-bpe-process-api-v1-impl/src/main/java/dev/dsf/fhir/client/AbstractFhirWebserviceClientJerseyWithRetry.java
+++ b/dsf-bpe/dsf-bpe-process-api-v1-impl/src/main/java/dev/dsf/fhir/client/AbstractFhirWebserviceClientJerseyWithRetry.java
@@ -64,8 +64,8 @@ else if (nTimes != RetryClient.RETRY_FOREVER)
{
if (tryNumber < nTimes || nTimes == RetryClient.RETRY_FOREVER)
{
- logger.warn("Caught {} - {}; trying again in {}s{}", e.getClass(), e.getMessage(), delay,
- nTimes == RetryClient.RETRY_FOREVER ? " (retry " + (tryNumber + 1) + ")" : "");
+ logger.warn("Caught {} - {}; trying again in {}s{}", e.getClass().getName(), e.getMessage(),
+ delay, nTimes == RetryClient.RETRY_FOREVER ? " (retry " + (tryNumber + 1) + ")" : "");
try
{
@@ -73,11 +73,15 @@ else if (nTimes != RetryClient.RETRY_FOREVER)
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
}
else
{
- logger.warn("Caught {} - {}; not trying again", e.getClass(), e.getMessage());
+ logger.warn("Caught {} - {}; not trying again", e.getClass().getName(), e.getMessage());
}
if (caughtException != null)
diff --git a/dsf-bpe/dsf-bpe-process-api-v2-impl/src/main/java/dev/dsf/bpe/v2/client/dsf/AbstractDsfClientJerseyWithRetry.java b/dsf-bpe/dsf-bpe-process-api-v2-impl/src/main/java/dev/dsf/bpe/v2/client/dsf/AbstractDsfClientJerseyWithRetry.java
index c90ce5115..6f10ecc35 100644
--- a/dsf-bpe/dsf-bpe-process-api-v2-impl/src/main/java/dev/dsf/bpe/v2/client/dsf/AbstractDsfClientJerseyWithRetry.java
+++ b/dsf-bpe/dsf-bpe-process-api-v2-impl/src/main/java/dev/dsf/bpe/v2/client/dsf/AbstractDsfClientJerseyWithRetry.java
@@ -68,7 +68,7 @@ else if (nTimes != RetryClient.RETRY_FOREVER)
if (tryNumber > 0)
delay = delayStrategy.getNextDelay(delay);
- logger.warn("Caught {} - {}; trying again in {}{}", e.getClass(), e.getMessage(),
+ logger.warn("Caught {} - {}; trying again in {}{}", e.getClass().getName(), e.getMessage(),
delay.toString(),
nTimes == RetryClient.RETRY_FOREVER ? " (retry " + (tryNumber + 1) + ")" : "");
@@ -78,11 +78,15 @@ else if (nTimes != RetryClient.RETRY_FOREVER)
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
}
else
{
- logger.warn("Caught {} - {}; not trying again", e.getClass(), e.getMessage());
+ logger.warn("Caught {} - {}; not trying again", e.getClass().getName(), e.getMessage());
}
if (caughtException != null)
diff --git a/dsf-bpe/dsf-bpe-process-api-v2-impl/src/main/java/dev/dsf/bpe/v2/plugin/ProcessPluginFactoryImpl.java b/dsf-bpe/dsf-bpe-process-api-v2-impl/src/main/java/dev/dsf/bpe/v2/plugin/ProcessPluginFactoryImpl.java
index 84086b56c..da48a4419 100644
--- a/dsf-bpe/dsf-bpe-process-api-v2-impl/src/main/java/dev/dsf/bpe/v2/plugin/ProcessPluginFactoryImpl.java
+++ b/dsf-bpe/dsf-bpe-process-api-v2-impl/src/main/java/dev/dsf/bpe/v2/plugin/ProcessPluginFactoryImpl.java
@@ -48,10 +48,10 @@ protected ProcessPlugin createProcessPlugin(Object processPluginDefinition, bool
}
@Override
- @SuppressWarnings("rawtypes")
- public Stream getSerializer()
+ public Stream> getSerializer()
{
- return apiApplicationContext.getBeansOfType(TypedValueSerializer.class).values().stream();
+ return apiApplicationContext.getBeansOfType(TypedValueSerializer.class).values().stream()
+ .map(s -> (TypedValueSerializer>) s);
}
@Override
diff --git a/dsf-bpe/dsf-bpe-process-api/src/main/java/dev/dsf/bpe/api/plugin/ProcessPluginFactory.java b/dsf-bpe/dsf-bpe-process-api/src/main/java/dev/dsf/bpe/api/plugin/ProcessPluginFactory.java
index 8a2976359..f8227819e 100644
--- a/dsf-bpe/dsf-bpe-process-api/src/main/java/dev/dsf/bpe/api/plugin/ProcessPluginFactory.java
+++ b/dsf-bpe/dsf-bpe-process-api/src/main/java/dev/dsf/bpe/api/plugin/ProcessPluginFactory.java
@@ -26,8 +26,7 @@ public interface ProcessPluginFactory
{
int getApiVersion();
- @SuppressWarnings("rawtypes")
- Stream getSerializer();
+ Stream> getSerializer();
ListenerFactory getListenerFactory();
diff --git a/dsf-bpe/dsf-bpe-server-jetty/docker/Dockerfile b/dsf-bpe/dsf-bpe-server-jetty/docker/Dockerfile
index 82b2b9f33..46b8831cf 100755
--- a/dsf-bpe/dsf-bpe-server-jetty/docker/Dockerfile
+++ b/dsf-bpe/dsf-bpe-server-jetty/docker/Dockerfile
@@ -14,7 +14,7 @@
# limitations under the License.
#
-FROM debian:trixie-slim@sha256:1d3c811171a08a5adaa4a163fbafd96b61b87aa871bbc7aa15431ac275d3d430 AS builder
+FROM debian:trixie-slim@sha256:4ffb3a1511099754cddc70eb1b12e50ffdb67619aa0ab6c13fcd800a78ef7c7a AS builder
WORKDIR /opt/bpe
COPY --chown=root:2202 ./ ./
RUN chown root:2202 ./ && \
@@ -23,7 +23,7 @@ RUN chown root:2202 ./ && \
chmod 1775 ./log
-FROM azul/zulu-openjdk:25-jre-headless@sha256:c8e35e74e2cfbdeffb4e4850123c41378d3ec0a6d80f17d2f9f3a9293f9236e6
+FROM azul/zulu-openjdk:25-jre-headless@sha256:205a88e67ff7acca2c4452c60fd078a95f6e5a7c9a3bc8bad83dbd3a140c58f4
LABEL org.opencontainers.image.source=https://github.com/datasharingframework/dsf
LABEL org.opencontainers.image.description="DSF BPE Server"
LABEL org.opencontainers.image.licenses="Apache License, Version 2.0"
diff --git a/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/client/dsf/AbstractWebserviceClientJerseyWithRetry.java b/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/client/dsf/AbstractWebserviceClientJerseyWithRetry.java
index 757e0c909..6ae3bff6a 100644
--- a/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/client/dsf/AbstractWebserviceClientJerseyWithRetry.java
+++ b/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/client/dsf/AbstractWebserviceClientJerseyWithRetry.java
@@ -63,7 +63,7 @@ else if (nTimes != RetryClient.RETRY_FOREVER)
{
if (tryNumber < nTimes || nTimes == RetryClient.RETRY_FOREVER)
{
- logger.warn("Caught {} - {}; trying again in {}s{}", e.getClass(), e.getMessage(),
+ logger.warn("Caught {} - {}; trying again in {}s{}", e.getClass().getName(), e.getMessage(),
delay.toSeconds(),
nTimes == RetryClient.RETRY_FOREVER ? " (retry " + (tryNumber + 1) + ")" : "");
@@ -73,11 +73,15 @@ else if (nTimes != RetryClient.RETRY_FOREVER)
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
}
else
{
- logger.warn("Caught {} - {}; not trying again", e.getClass(), e.getMessage());
+ logger.warn("Caught {} - {}; not trying again", e.getClass().getName(), e.getMessage());
}
if (caughtException != null)
diff --git a/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/plugin/ProcessPluginApiClassLoader.java b/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/plugin/ProcessPluginApiClassLoader.java
index ad8932330..1d35ed765 100644
--- a/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/plugin/ProcessPluginApiClassLoader.java
+++ b/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/plugin/ProcessPluginApiClassLoader.java
@@ -82,7 +82,7 @@ protected Class> loadClass(String className, boolean resolve) throws ClassNotF
if (isBpeClassAllowed(bpeClass))
return bpeClass;
- logger.debug("Class " + className + " not found or hidden");
+ logger.debug("Class {} not found or hidden", className);
throw new ClassNotFoundException(className);
}
}
diff --git a/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/spring/config/FhirClientConnectionsConfig.java b/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/spring/config/FhirClientConnectionsConfig.java
index 68d8e0a9f..7cd1ca3e0 100644
--- a/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/spring/config/FhirClientConnectionsConfig.java
+++ b/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/spring/config/FhirClientConnectionsConfig.java
@@ -167,7 +167,7 @@ private void testConnection(FhirClientConfig config)
}
catch (OidcClientException e)
{
- logger.debug("Testing connection with OIDC provider at {} for '{}' [Failed] -> {}",
+ logger.debug("Testing connection with OIDC provider at {} for '{}' [Failed]",
config.oidcAuthentication().baseUrl(), config.fhirServerId(), e);
logger.warn("Testing connection with OIDC provider at {} for '{}' [Failed] -> {}",
config.oidcAuthentication().baseUrl(), config.fhirServerId(), e.getMessage());
diff --git a/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/subscription/LocalFhirConnectorImpl.java b/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/subscription/LocalFhirConnectorImpl.java
index c3dd036a4..5c0b90fa0 100644
--- a/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/subscription/LocalFhirConnectorImpl.java
+++ b/dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/subscription/LocalFhirConnectorImpl.java
@@ -153,6 +153,10 @@ private Subscription retry(Supplier supplier)
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
}
@@ -184,6 +188,10 @@ private Subscription retryForever(Supplier supplier)
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
}
}
diff --git a/dsf-bpe/dsf-bpe-test-plugin-v2/src/main/java/dev/dsf/bpe/test/service/QuestionnaireTestAnswer.java b/dsf-bpe/dsf-bpe-test-plugin-v2/src/main/java/dev/dsf/bpe/test/service/QuestionnaireTestAnswer.java
index 33d4b3758..33e72c403 100644
--- a/dsf-bpe/dsf-bpe-test-plugin-v2/src/main/java/dev/dsf/bpe/test/service/QuestionnaireTestAnswer.java
+++ b/dsf-bpe/dsf-bpe-test-plugin-v2/src/main/java/dev/dsf/bpe/test/service/QuestionnaireTestAnswer.java
@@ -162,9 +162,9 @@ else if ("identifiers".equals(type))
expectNotNull(idExts);
expectSame(3, idExts.size());
- idExts.stream().filter(Extension::hasValue).filter(e -> e.getValue() instanceof Identifier)
+ expectTrue(idExts.stream().filter(Extension::hasValue).filter(e -> e.getValue() instanceof Identifier)
.map(e -> (Identifier) e.getValue()).map(Identifier::getSystem)
- .allMatch(NamingSystems.PractitionerIdentifier.SID::equals);
+ .allMatch(NamingSystems.PractitionerIdentifier.SID::equals));
List values = idExts.stream().filter(Extension::hasValue)
.filter(e -> e.getValue() instanceof Identifier).map(e -> (Identifier) e.getValue())
diff --git a/dsf-common/dsf-common-db/src/main/java/dev/dsf/common/db/migration/DbMigrator.java b/dsf-common/dsf-common-db/src/main/java/dev/dsf/common/db/migration/DbMigrator.java
index 43cf5d29f..a5f856930 100644
--- a/dsf-common/dsf-common-db/src/main/java/dev/dsf/common/db/migration/DbMigrator.java
+++ b/dsf-common/dsf-common-db/src/main/java/dev/dsf/common/db/migration/DbMigrator.java
@@ -18,6 +18,7 @@
import java.io.ByteArrayOutputStream;
import java.net.ConnectException;
import java.net.UnknownHostException;
+import java.nio.charset.StandardCharsets;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Arrays;
@@ -134,8 +135,8 @@ public void migrate()
logger.warn("Unlocking DB for migration ...");
unlockCommand.execute();
- Arrays.stream(output.toString().split("[\r\n]+")).filter(row -> !row.isBlank())
- .forEach(row -> logger.debug("{}", row));
+ Arrays.stream(output.toString(StandardCharsets.UTF_8).split("[\r\n]+"))
+ .filter(row -> !row.isBlank()).forEach(row -> logger.debug("{}", row));
logger.warn("Unlocking DB for migration [Done]");
}
@@ -156,8 +157,8 @@ public void migrate()
logger.info("Executing DB migration ...");
updateCommand.execute();
- Arrays.stream(output.toString().split("[\r\n]+")).filter(row -> !row.isBlank())
- .forEach(row -> logger.debug("{}", row));
+ Arrays.stream(output.toString(StandardCharsets.UTF_8).split("[\r\n]+"))
+ .filter(row -> !row.isBlank()).forEach(row -> logger.debug("{}", row));
logger.info("Executing DB migration [Done]");
}
}
@@ -214,6 +215,10 @@ public static void retryOnConnectException(int times, Runnable run)
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
retryOnConnectException(--times, run);
}
@@ -226,19 +231,28 @@ else if (cause instanceof UnknownHostException && times > 1)
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
retryOnConnectException(--times, run);
}
- else if (cause instanceof PSQLException p
+ else if (cause instanceof PSQLException p && p.getServerErrorMessage() != null
&& POSTGRES_TRY_AGAIN_ERROR_MESSAGES.contains(p.getServerErrorMessage().getMessage()) && times > 1)
{
- logger.warn("PSQLException ({}): trying again in 5s", p.getServerErrorMessage().getMessage());
+ logger.warn("PSQLException ({}): trying again in 5s",
+ p.getServerErrorMessage() != null ? p.getServerErrorMessage().getMessage() : "?");
try
{
Thread.sleep(5_000);
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
retryOnConnectException(--times, run);
}
diff --git a/dsf-common/dsf-common-jetty/src/main/java/dev/dsf/common/jetty/HttpClientWithGetRetry.java b/dsf-common/dsf-common-jetty/src/main/java/dev/dsf/common/jetty/HttpClientWithGetRetry.java
index 3793f39f2..07c5a0a48 100644
--- a/dsf-common/dsf-common-jetty/src/main/java/dev/dsf/common/jetty/HttpClientWithGetRetry.java
+++ b/dsf-common/dsf-common-jetty/src/main/java/dev/dsf/common/jetty/HttpClientWithGetRetry.java
@@ -75,6 +75,10 @@ public ContentResponse GETWithRetryOnConnectException(int times, URI uri)
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
return GETWithRetryOnConnectException(--times, uri);
@@ -90,6 +94,10 @@ else if (cause instanceof UnknownHostException && times > 1)
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
return GETWithRetryOnConnectException(--times, uri);
diff --git a/dsf-fhir/dsf-fhir-server-jetty/docker/Dockerfile b/dsf-fhir/dsf-fhir-server-jetty/docker/Dockerfile
index 2219f8a69..72a1801e9 100755
--- a/dsf-fhir/dsf-fhir-server-jetty/docker/Dockerfile
+++ b/dsf-fhir/dsf-fhir-server-jetty/docker/Dockerfile
@@ -14,7 +14,7 @@
# limitations under the License.
#
-FROM debian:trixie-slim@sha256:1d3c811171a08a5adaa4a163fbafd96b61b87aa871bbc7aa15431ac275d3d430 AS builder
+FROM debian:trixie-slim@sha256:4ffb3a1511099754cddc70eb1b12e50ffdb67619aa0ab6c13fcd800a78ef7c7a AS builder
WORKDIR /opt/fhir
COPY --chown=root:2101 ./ ./
RUN chown root:2101 ./ && \
@@ -23,7 +23,7 @@ RUN chown root:2101 ./ && \
chmod 1775 ./log
-FROM azul/zulu-openjdk:25-jre-headless@sha256:c8e35e74e2cfbdeffb4e4850123c41378d3ec0a6d80f17d2f9f3a9293f9236e6
+FROM azul/zulu-openjdk:25-jre-headless@sha256:205a88e67ff7acca2c4452c60fd078a95f6e5a7c9a3bc8bad83dbd3a140c58f4
LABEL org.opencontainers.image.source=https://github.com/datasharingframework/dsf
LABEL org.opencontainers.image.description="DSF FHIR Server"
LABEL org.opencontainers.image.licenses="Apache License, Version 2.0"
diff --git a/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/adapter/ResourceBinary.java b/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/adapter/ResourceBinary.java
index 3f4bc42b9..d9af98bfd 100644
--- a/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/adapter/ResourceBinary.java
+++ b/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/adapter/ResourceBinary.java
@@ -70,7 +70,7 @@ private String toDataSize(Binary resource)
unitIndex++;
}
- if (value == (long) value)
+ if (Math.abs(value - (long) value) < .0000001)
return String.format("%d %s", (long) value, UNITS[unitIndex]);
else
return String.format("%.2f %s", value, UNITS[unitIndex]);
diff --git a/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/adapter/SearchSetBinary.java b/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/adapter/SearchSetBinary.java
index 3a90c4652..242b33588 100644
--- a/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/adapter/SearchSetBinary.java
+++ b/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/adapter/SearchSetBinary.java
@@ -66,7 +66,7 @@ private String toDataSize(Binary resource)
unitIndex++;
}
- if (value == (long) value)
+ if (Math.abs(value - (long) value) < .0000001)
return String.format("%d %s", (long) value, UNITS[unitIndex]);
else
return String.format("%.2f %s", value, UNITS[unitIndex]);
diff --git a/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/dao/jdbc/BinaryDaoJdbc.java b/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/dao/jdbc/BinaryDaoJdbc.java
index f98aa6fc3..08b5a26a8 100755
--- a/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/dao/jdbc/BinaryDaoJdbc.java
+++ b/dsf-fhir/dsf-fhir-server/src/main/java/dev/dsf/fhir/dao/jdbc/BinaryDaoJdbc.java
@@ -272,6 +272,7 @@ public void stopLargeObjectUnlinker()
catch (InterruptedException ex)
{
loUnlinker.shutdownNow();
+ Thread.currentThread().interrupt();
}
}
}
diff --git a/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/SnapshotGeneratorImpl.java b/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/SnapshotGeneratorImpl.java
index e8fc7db6b..e811c2ef6 100755
--- a/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/SnapshotGeneratorImpl.java
+++ b/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/SnapshotGeneratorImpl.java
@@ -67,8 +67,8 @@ public SnapshotWithValidationMessages generateSnapshot(StructureDefinition diffe
String baseAbsoluteUrlPrefix)
{
if (differential == null)
- return new SnapshotWithValidationMessages(differential, List.of(new ValidationMessage(null,
- IssueType.PROCESSING, null, "StructureDefinition is null", IssueSeverity.ERROR)));
+ return new SnapshotWithValidationMessages(null, List.of(new ValidationMessage(null, IssueType.PROCESSING,
+ null, "StructureDefinition is null", IssueSeverity.ERROR)));
if (!differential.hasBaseDefinition())
return new SnapshotWithValidationMessages(differential, List.of(new ValidationMessage(null,
IssueType.PROCESSING, null, "StructureDefinition.baseDefinition missing", IssueSeverity.ERROR)));
diff --git a/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/StructureDefinitionReader.java b/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/StructureDefinitionReader.java
index a2b51eb59..3f86f6fd1 100755
--- a/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/StructureDefinitionReader.java
+++ b/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/StructureDefinitionReader.java
@@ -112,9 +112,6 @@ private StructureDefinition doReadXml(Path xmlPath)
{
try (InputStream in = Files.newInputStream(xmlPath))
{
- if (in == null)
- logger.warn("File {} not found", xmlPath);
-
return context.newXmlParser().parseResource(StructureDefinition.class, in);
}
catch (DataFormatException | IOException e)
@@ -127,9 +124,6 @@ private StructureDefinition doReadXmlAndReplaceVersion(Path xmlPath, String vers
{
try (InputStream in = Files.newInputStream(xmlPath))
{
- if (in == null)
- logger.warn("File {} not found", xmlPath);
-
String read = IOUtils.toString(in, StandardCharsets.UTF_8);
read = replaceVersionAndDate(read, version, date);
diff --git a/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/ValidationSupportRule.java b/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/ValidationSupportRule.java
index b76ea1631..d36d9f299 100644
--- a/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/ValidationSupportRule.java
+++ b/dsf-fhir/dsf-fhir-validation/src/main/java/dev/dsf/fhir/validation/ValidationSupportRule.java
@@ -151,7 +151,7 @@ private void warnForDeprecatedResources(String resource, List file)
}
catch (IOException e)
{
- logger.warn("FHIR resource " + f + " is deprecated, unable to read replacement message: {}",
+ logger.warn("FHIR resource {} is deprecated, unable to read replacement message: {}", f,
e.getMessage());
}
});
diff --git a/dsf-fhir/dsf-fhir-webservice-client/src/main/java/dev/dsf/fhir/client/AbstractFhirWebserviceClientJerseyWithRetry.java b/dsf-fhir/dsf-fhir-webservice-client/src/main/java/dev/dsf/fhir/client/AbstractFhirWebserviceClientJerseyWithRetry.java
index 17c547584..bc4dc44ce 100644
--- a/dsf-fhir/dsf-fhir-webservice-client/src/main/java/dev/dsf/fhir/client/AbstractFhirWebserviceClientJerseyWithRetry.java
+++ b/dsf-fhir/dsf-fhir-webservice-client/src/main/java/dev/dsf/fhir/client/AbstractFhirWebserviceClientJerseyWithRetry.java
@@ -64,7 +64,7 @@ else if (nTimes != RetryClient.RETRY_FOREVER)
{
if (tryNumber < nTimes || nTimes == RetryClient.RETRY_FOREVER)
{
- logger.warn("Caught {} - {}; trying again in {}s{}", e.getClass(), e.getMessage(),
+ logger.warn("Caught {} - {}; trying again in {}s{}", e.getClass().getName(), e.getMessage(),
delay.toSeconds(),
nTimes == RetryClient.RETRY_FOREVER ? " (retry " + (tryNumber + 1) + ")" : "");
@@ -74,11 +74,15 @@ else if (nTimes != RetryClient.RETRY_FOREVER)
}
catch (InterruptedException e1)
{
+ logger.warn("Thread interrupted; not trying again");
+ Thread.currentThread().interrupt();
+ e.addSuppressed(e1);
+ throw e;
}
}
else
{
- logger.warn("Caught {} - {}; not trying again", e.getClass(), e.getMessage());
+ logger.warn("Caught {} - {}; not trying again", e.getClass().getName(), e.getMessage());
}
if (caughtException != null)
diff --git a/dsf-fhir/dsf-fhir-websocket-client/src/main/java/dev/dsf/fhir/client/WebsocketClientTyrus.java b/dsf-fhir/dsf-fhir-websocket-client/src/main/java/dev/dsf/fhir/client/WebsocketClientTyrus.java
index f66f58ea1..8e5373077 100755
--- a/dsf-fhir/dsf-fhir-websocket-client/src/main/java/dev/dsf/fhir/client/WebsocketClientTyrus.java
+++ b/dsf-fhir/dsf-fhir-websocket-client/src/main/java/dev/dsf/fhir/client/WebsocketClientTyrus.java
@@ -187,7 +187,7 @@ private ClientEndpointConfig createConfig(String userAgentValue)
ClientEndpointConfig.Configurator configurator = new ClientEndpointConfig.Configurator()
{
@Override
- public void beforeRequest(Map> headers)
+ public void beforeRequest(Map> headers)
{
headers.put(HttpHeaders.USER_AGENT, List.of(userAgentValue));
}
diff --git a/pom.xml b/pom.xml
index 825c56bba..b824c7007 100755
--- a/pom.xml
+++ b/pom.xml
@@ -39,13 +39,13 @@
${project.basedir}
2.0.17
- 2.25.3
- 12.1.6
+ 2.25.4
+ 12.1.8
3.1.11
2.2.2
- 6.2.15
- 2.21.0
- 1.0.3
+ 6.2.17
+ 2.21.2
+ 1.1.1
5.1.0
8.4.2
6.5.27
@@ -156,7 +156,7 @@
org.mockito
mockito-core
- 5.21.0
+ 5.23.0
org.bouncycastle
@@ -183,12 +183,12 @@
org.postgresql
postgresql
- 42.7.9
+ 42.7.10
org.checkerframework
checker-qual
- 3.53.0
+ 3.55.1
com.github.ben-manes.caffeine
@@ -205,7 +205,7 @@
com.auth0
java-jwt
- 4.5.0
+ 4.5.1
@@ -334,7 +334,7 @@
org.glassfish.jaxb
jaxb-runtime
- 4.0.6
+ 4.0.7
@@ -416,7 +416,7 @@
org.tukaani
xz
- 1.11
+ 1.12
@@ -458,7 +458,7 @@
com.nimbusds
nimbus-jose-jwt
- 10.7
+ 10.9
@@ -491,13 +491,13 @@
org.yaml
snakeyaml
- 2.5
+ 2.6
com.fasterxml.uuid
java-uuid-generator
- 4.3.0
+ 5.2.0
@@ -509,19 +509,19 @@
org.apache.tika
tika-core
- 3.2.3
+ 3.3.0
org.apache.maven
maven-core
- 3.9.12
+ 3.9.14
org.apache.maven
maven-plugin-api
- 3.9.12
+ 3.9.14
org.apache.maven.plugin-tools
@@ -569,17 +569,17 @@
org.apache.maven.plugins
maven-surefire-plugin
- 3.5.4
+ 3.5.5
org.apache.maven.plugins
maven-failsafe-plugin
- 3.5.4
+ 3.5.5
org.apache.maven.plugins
maven-resources-plugin
- 3.4.0
+ 3.5.0
org.apache.maven.plugins
@@ -604,7 +604,7 @@
org.apache.maven.plugins
maven-dependency-plugin
- 3.9.0
+ 3.10.0
org.codehaus.mojo
@@ -629,7 +629,7 @@
com.github.spotbugs
spotbugs-maven-plugin
- 4.9.8.2
+ 4.9.8.3
org.apache.maven.plugins
@@ -659,7 +659,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.6.1
+ 3.6.2
dev.dsf