diff --git a/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/_remote.repositories b/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/_remote.repositories
index e16d97ff8..ed503d0fc 100644
--- a/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/_remote.repositories
+++ b/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/_remote.repositories
@@ -1,5 +1,5 @@
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
-#Mon Oct 14 14:37:29 AMT 2024
+#Mon Oct 14 16:33:30 AMT 2024
lib-cetp-1.0-SNAPSHOT.jar>=
lib-cetp-1.0-SNAPSHOT-sources.jar>=
lib-cetp-1.0-SNAPSHOT.pom>=
diff --git a/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT-sources.jar b/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT-sources.jar
index aaa5180c7..2562f16b1 100644
Binary files a/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT-sources.jar and b/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT-sources.jar differ
diff --git a/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT.jar b/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT.jar
index f37a7e9c3..5b4e1fa94 100644
Binary files a/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT.jar and b/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT.jar differ
diff --git a/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT.pom b/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT.pom
index f7f738ef2..cef1c5d26 100644
--- a/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT.pom
+++ b/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/lib-cetp-1.0-SNAPSHOT.pom
@@ -21,6 +21,12 @@
4.1.0
provided
+
+ jakarta.servlet
+ jakarta.servlet-api
+ 6.0.0
+ provided
+
jakarta.xml.ws
jakarta.xml.ws-api
diff --git a/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/maven-metadata-local.xml b/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/maven-metadata-local.xml
index 361f4c0b4..27ecc5f5f 100644
--- a/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/maven-metadata-local.xml
+++ b/project-repo/de/servicehealth/lib-cetp/1.0-SNAPSHOT/maven-metadata-local.xml
@@ -3,7 +3,7 @@
de.servicehealth
lib-cetp
- 20241014103723
+ 20241014123324
true
@@ -11,18 +11,18 @@
pom
1.0-SNAPSHOT
- 20241014103723
+ 20241014123324
jar
1.0-SNAPSHOT
- 20241014103723
+ 20241014123324
sources
jar
1.0-SNAPSHOT
- 20241014103723
+ 20241014123324
diff --git a/project-repo/de/servicehealth/lib-cetp/maven-metadata-local.xml b/project-repo/de/servicehealth/lib-cetp/maven-metadata-local.xml
index 1ccb393c2..6ca654b9a 100644
--- a/project-repo/de/servicehealth/lib-cetp/maven-metadata-local.xml
+++ b/project-repo/de/servicehealth/lib-cetp/maven-metadata-local.xml
@@ -6,6 +6,6 @@
1.0-SNAPSHOT
- 20241014103723
+ 20241014123324
diff --git a/src/main/java/health/ere/ps/config/RuntimeConfig.java b/src/main/java/health/ere/ps/config/RuntimeConfig.java
index 4593f08ae..0dd56af6f 100644
--- a/src/main/java/health/ere/ps/config/RuntimeConfig.java
+++ b/src/main/java/health/ere/ps/config/RuntimeConfig.java
@@ -1,20 +1,25 @@
package health.ere.ps.config;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
import de.health.service.cetp.config.IRuntimeConfig;
import de.health.service.cetp.config.IUserConfigurations;
+import de.health.service.cetp.konnektorconfig.KCUserConfigurations;
import health.ere.ps.model.config.UserConfigurations;
import jakarta.enterprise.inject.Alternative;
import jakarta.enterprise.inject.spi.CDI;
import jakarta.json.JsonObject;
import jakarta.servlet.http.HttpServletRequest;
+import java.lang.reflect.Field;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
@Alternative
public class RuntimeConfig extends UserConfig implements IRuntimeConfig {
@@ -102,7 +107,9 @@ public void updateConfigurationsWithHttpServletRequest(HttpServletRequest httpSe
this.sendPreview = !httpServletRequest.getHeader("X-sendPreview").equalsIgnoreCase("false");
}
- this.updateProperties(this.getConfigurations().updateWithRequest(httpServletRequest));
+ IUserConfigurations userConfigurations = getConfigurations();
+ userConfigurations.updateWithRequest(httpServletRequest);
+ this.updateProperties(userConfigurations);
}
public void updateConfigurationsWithJsonObject(JsonObject object) {
diff --git a/src/main/java/health/ere/ps/config/SimpleUserConfig.java b/src/main/java/health/ere/ps/config/SimpleUserConfig.java
index e7037607e..ecc3283e9 100644
--- a/src/main/java/health/ere/ps/config/SimpleUserConfig.java
+++ b/src/main/java/health/ere/ps/config/SimpleUserConfig.java
@@ -215,7 +215,7 @@ public void setIdpClientId(String idpClientId) {
}
private void setValues(UserRuntimeConfig userConfig) {
- IUserConfigurations configurations = userConfig.getUserConfigurations();
+ IUserConfigurations configurations = userConfig.getConfigurations();
this.erixaHotfolder = configurations.getErixaHotfolder();
this.erixaDrugstoreEmail = configurations.getErixaDrugstoreEmail();
this.erixaUserEmail = configurations.getErixaUserEmail();
diff --git a/src/main/java/health/ere/ps/config/UserConfig.java b/src/main/java/health/ere/ps/config/UserConfig.java
index a036606ac..54d14bbc6 100644
--- a/src/main/java/health/ere/ps/config/UserConfig.java
+++ b/src/main/java/health/ere/ps/config/UserConfig.java
@@ -1,5 +1,6 @@
package health.ere.ps.config;
+import com.fasterxml.jackson.annotation.JsonIgnore;
import de.health.service.cetp.config.IRuntimeConfig;
import de.health.service.cetp.config.IUserConfigurations;
import de.health.service.cetp.config.UserRuntimeConfig;
@@ -49,7 +50,7 @@ public class UserConfig implements UserRuntimeConfig {
String defaultMuster16TemplateProfile = "DENS";
- private UserConfigurations configurations;
+ protected UserConfigurations configurations;
@PostConstruct
void init() {
@@ -60,10 +61,11 @@ public UserConfig() {
}
@Override
- public IUserConfigurations getUserConfigurations() {
- return configurations;
+ public IUserConfigurations getConfigurations() {
+ return configurations == null ? new UserConfigurations() : configurations;
}
+ @JsonIgnore
@Override
public IRuntimeConfig getRuntimeConfig() {
if (this instanceof RuntimeConfig runtimeConfig) {
@@ -80,10 +82,6 @@ public UserRuntimeConfig copy() {
return runtimeConfig;
}
- public UserConfigurations getConfigurations() {
- return configurations == null ? new UserConfigurations() : configurations;
- }
-
public String getErixaHotfolder() {
return getConfigurations().getErixaHotfolder();
}
diff --git a/src/main/java/health/ere/ps/model/config/UserConfigurations.java b/src/main/java/health/ere/ps/model/config/UserConfigurations.java
index f4bc82506..5f0dfde17 100644
--- a/src/main/java/health/ere/ps/model/config/UserConfigurations.java
+++ b/src/main/java/health/ere/ps/model/config/UserConfigurations.java
@@ -21,6 +21,7 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+@SuppressWarnings("unchecked")
public class UserConfigurations implements IUserConfigurations {
private static final Logger log = Logger.getLogger(UserConfigurations.class.getName());
@@ -129,27 +130,6 @@ public UserConfigurations(HttpServletRequest httpServletRequest) {
updateWithRequest(httpServletRequest);
}
- public UserConfigurations updateWithRequest(HttpServletRequest httpServletRequest) {
- Enumeration enumeration = httpServletRequest.getHeaderNames();
- List list = Collections.list(enumeration);
- for (String headerName : list) {
- if (headerName.startsWith("X-") && !"X-eHBAHandle".equals(headerName) && !"X-SMCBHandle".equals(headerName) && !"X-sendPreview".equals(headerName)) {
- String propertyName = headerName.substring(2);
- Field field;
- try {
- field = UserConfigurations.class.getDeclaredField(propertyName);
- if (field != null) {
- field.set(this, httpServletRequest.getHeader(headerName));
- }
- } catch (NoSuchFieldException | SecurityException | IllegalArgumentException |
- IllegalAccessException e) {
- log.log(Level.WARNING, "Could not extract values from header", e);
- }
- }
- }
- return this;
- }
-
private void fillValues(Function getValue) {
for (PropertyDescriptor pd : beanInfo.getPropertyDescriptors()) {
try {
@@ -181,10 +161,6 @@ public Properties properties() {
return properties;
}
- public static BeanInfo getBeanInfo() {
- return beanInfo;
- }
-
public String getErixaHotfolder() {
return erixaHotfolder;
}
diff --git a/src/main/java/health/ere/ps/service/common/security/SecretsManagerService.java b/src/main/java/health/ere/ps/service/common/security/SecretsManagerService.java
index 0d96dfecc..1a997cfe2 100644
--- a/src/main/java/health/ere/ps/service/common/security/SecretsManagerService.java
+++ b/src/main/java/health/ere/ps/service/common/security/SecretsManagerService.java
@@ -70,7 +70,7 @@ void createSSLContext() {
}
}
- public SSLContext createSSLContext(UserConfigurations userConfigurations) {
+ public SSLContext createSSLContext(IUserConfigurations userConfigurations) {
byte[] clientCertificateBytes = getClientCertificateBytes(userConfigurations);
try (ByteArrayInputStream certificateInputStream = new ByteArrayInputStream(clientCertificateBytes)) {
return createSSLContext(userConfigurations.getClientCertificatePassword(), certificateInputStream);
diff --git a/src/main/java/health/ere/ps/service/connector/endpoint/EndpointDiscoveryService.java b/src/main/java/health/ere/ps/service/connector/endpoint/EndpointDiscoveryService.java
index ea59c69c3..2381cb3d9 100644
--- a/src/main/java/health/ere/ps/service/connector/endpoint/EndpointDiscoveryService.java
+++ b/src/main/java/health/ere/ps/service/connector/endpoint/EndpointDiscoveryService.java
@@ -91,7 +91,7 @@ public void obtainConfiguration(boolean throwEndpointException) throws IOExcepti
.path("/connector.sds")
.request();
- IUserConfigurations userConfigurations = userConfig.getUserConfigurations();
+ IUserConfigurations userConfigurations = userConfig.getConfigurations();
String basicAuthUsername = userConfigurations.getBasicAuthUsername();
String basicAuthPassword = userConfigurations.getBasicAuthPassword();
if(basicAuthUsername != null && !basicAuthUsername.equals("")) {
@@ -208,10 +208,10 @@ private void extractAndSetConnectorVersion(Document document) {
if (versionContainingText.contains("PTV4+") || versionContainingText.contains("PTV4Plus")) {
log.info("Connector version PTV4+ found in connector.sds");
- userConfig.getUserConfigurations().setVersion("PTV4+");
+ userConfig.getConfigurations().setVersion("PTV4+");
} else if (versionContainingText.contains("PTV4")) {
log.info("Connector version PTV4 found in connector.sds");
- userConfig.getUserConfigurations().setVersion("PTV4");
+ userConfig.getConfigurations().setVersion("PTV4");
} else {
log.warning("Could not determine the version of the connector to use from connector.sds, " +
"using the one from the configuration:" + userConfig.getConnectorVersion());
diff --git a/src/main/java/health/ere/ps/service/connector/provider/AbstractConnectorServicesProvider.java b/src/main/java/health/ere/ps/service/connector/provider/AbstractConnectorServicesProvider.java
index 447a63356..b92a2da40 100644
--- a/src/main/java/health/ere/ps/service/connector/provider/AbstractConnectorServicesProvider.java
+++ b/src/main/java/health/ere/ps/service/connector/provider/AbstractConnectorServicesProvider.java
@@ -211,7 +211,7 @@ private void configureBindingProvider(BindingProvider bindingProvider) {
bindingProvider.getRequestContext().put("com.sun.xml.ws.transport.https.client.hostname.verifier",
new SSLUtilities.FakeHostnameVerifier());
- IUserConfigurations userConfigurations = getUserConfig().getUserConfigurations();
+ IUserConfigurations userConfigurations = getUserConfig().getConfigurations();
String basicAuthUsername = userConfigurations.getBasicAuthUsername();
String basicAuthPassword = userConfigurations.getBasicAuthPassword();
diff --git a/src/main/java/health/ere/ps/service/connector/provider/SingleConnectorServicesProvider.java b/src/main/java/health/ere/ps/service/connector/provider/SingleConnectorServicesProvider.java
index 3684bd2ef..68dba7da2 100644
--- a/src/main/java/health/ere/ps/service/connector/provider/SingleConnectorServicesProvider.java
+++ b/src/main/java/health/ere/ps/service/connector/provider/SingleConnectorServicesProvider.java
@@ -35,7 +35,7 @@ public SingleConnectorServicesProvider(UserRuntimeConfig userConfig, Event> search(RuntimeConfig runtimeConfig, String searchDisplayName) {
- List