From 2682f1eec6e7732be3f9354dfb258ff01da4a1c9 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 15 May 2024 10:42:56 +0200
Subject: [PATCH] OZG-5682 fix configuration for antragraum

---
 nachrichten-manager-server/pom.xml                       | 2 +-
 .../nachrichten/NachrichtenManagerProperties.java        | 5 ++++-
 .../nachrichten/antragraum/AntragraumProperties.java     | 3 +++
 .../nachrichten/antragraum/AntragraumService.java        | 5 +++--
 .../antragraum/BayernIdSamlConfiguration.java            | 2 +-
 .../de/ozgcloud/nachrichten/antragraum/Saml2Parser.java  | 3 ++-
 .../ozgcloud/nachrichten/antragraum/Saml2Verifier.java   | 2 ++
 .../de/ozgcloud/nachrichten/info/InfoManagerService.java | 2 +-
 .../src/main/resources/application-bayernlocal.yaml      | 9 +++++++--
 .../nachrichten/info/InfoManagerServiceTest.java         | 2 +-
 10 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/nachrichten-manager-server/pom.xml b/nachrichten-manager-server/pom.xml
index 176ffd1..50a6750 100644
--- a/nachrichten-manager-server/pom.xml
+++ b/nachrichten-manager-server/pom.xml
@@ -49,7 +49,7 @@
     </properties>
 
     <dependencies>
-        <dependency>
+       <dependency>
             <groupId>de.ozgcloud.vorgang</groupId>
             <artifactId>vorgang-manager-base</artifactId>
             <version>${vorgang-manager.version}</version>
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java
index 0592f80..a2ff759 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/NachrichtenManagerProperties.java
@@ -12,5 +12,8 @@ import lombok.Setter;
 @Getter
 public class NachrichtenManagerProperties {
 
-	private String url;
+	/**
+	 * URL of Nachrichten Manager instance
+	 */
+	private String address;
 }
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java
index 9db391f..d555e3d 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumProperties.java
@@ -55,14 +55,17 @@ public class AntragraumProperties {
 	/**
 	 * The uri where to load the idp Metadata from
 	 */
+	@NotEmpty
 	private Resource metadataUri;
 	/**
 	 * The location of the private key for decrypting the saml token data
 	 */
+	@NotEmpty
 	private Resource decryptionPrivateKey;
 	/**
 	 * The location of the certificate for decrypting the saml token data
 	 */
+	@NotEmpty
 	private Resource decryptionCertificate;
 
 }
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
index 7fa151a..8fb23a4 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
@@ -27,6 +27,8 @@ import static java.util.Objects.*;
 
 import java.util.stream.Stream;
 
+import jakarta.annotation.PostConstruct;
+
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.stereotype.Service;
@@ -34,7 +36,6 @@ import org.springframework.stereotype.Service;
 import de.ozgcloud.nachrichten.NachrichtenManagerProperties;
 import de.ozgcloud.nachrichten.postfach.PersistPostfachNachrichtService;
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
-import jakarta.annotation.PostConstruct;
 import lombok.RequiredArgsConstructor;
 
 @Service
@@ -65,7 +66,7 @@ public class AntragraumService {
 
 	@PostConstruct
 	void init() {
-		if (isNull(nachrichtenManagerProperties.getUrl())) {
+		if (isNull(nachrichtenManagerProperties.getAddress())) {
 			throw new IllegalStateException("Address of Nachrichten-Manager is not set");
 		}
 	}
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java
index 0961155..44055f5 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java
@@ -84,7 +84,7 @@ import net.shibboleth.utilities.java.support.xml.XMLParserException;
 class BayernIdSamlConfiguration {
 	private XMLObjectProviderRegistry registry;
 	@Getter
-	private ParserPool parserPool;
+	private ParserPool parserPool; // TODO als spring bean bereit stellen
 	@Autowired
 	private AntragraumProperties antragraumProperties;
 
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java
index fa23252..c40da9d 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java
@@ -45,7 +45,8 @@ import net.shibboleth.utilities.java.support.xml.XMLParserException;
 @ConditionalOnProperty(AntragraumProperties.PROPERTY_ANTRAGSRAUM_URL)
 @RequiredArgsConstructor
 class Saml2Parser {
-	private final BayernIdSamlConfiguration configuration;
+	private final BayernIdSamlConfiguration configuration; // TODO eine Configuration sollte nicht als Bean injeziert werden
+	// TODO als Spring Bean bereit stellen
 	private ResponseUnmarshaller unmarshaller;
 
 	Response parse(String request) {
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java
index e8cdf4d..a583a0e 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java
@@ -48,8 +48,10 @@ import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
 class Saml2Verifier {
 	public static final String INVALID_SIGNATURE = "Invalid signature for object [%s]: ";
 	public static final String SIGNATURE_MISSING = "Signature missing";
+
 	private final Saml2Parser parser;
 	private final BayernIdSamlConfiguration configuration;
+
 	private SignatureTrustEngine trustEngine;
 	private CriteriaSet verificationCriteria;
 
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java
index 0894f26..2c370e0 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/info/InfoManagerService.java
@@ -29,7 +29,7 @@ public class InfoManagerService {
 				.nachrichtId(postfachNachricht.getId())
 				.vorgangId(postfachNachricht.getVorgangId())
 				.postfachId(postfachNachricht.getPostfachId())
-				.nachrichtenManagerUrl(nachrichtenManagerProperties.getUrl())
+				.nachrichtenManagerUrl(nachrichtenManagerProperties.getAddress())
 				.build();
 	}
 }
diff --git a/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml b/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml
index 898a6a6..f93f13a 100644
--- a/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml
+++ b/nachrichten-manager-server/src/main/resources/application-bayernlocal.yaml
@@ -3,5 +3,10 @@ ozgcloud:
     url: https://dev.antragsraum.de/
     entityId: https://antragsraum.ozgcloud.de/
     metadataUri: "classpath:/bayernid/metadata/bayernid-idp-infra.xml"
-    decryptionPrivateKey: "classpath:/bayernid/bayernid-test-enc.key"
-    decryptionCertificate: "classpath:/bayernid/bayernid-test-enc.crt"
\ No newline at end of file
+    decryptionPrivateKey: "classpath:/bayernid/bayernid-dev-enc.key"
+    decryptionCertificate: "classpath:/bayernid/bayernid-dev-enc.crt"
+    
+grpc:
+  client:
+    info-manager:
+      address: infomanager.local
\ No newline at end of file
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java
index 95e41db..d7d149a 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/info/InfoManagerServiceTest.java
@@ -88,7 +88,7 @@ class InfoManagerServiceTest {
 
 			@Test
 			void shouldSetNachrichtenManagerUrl() {
-				when(nachrichtenManagerProperties.getUrl()).thenReturn(NACHRICHTEN_MANAGER_URL);
+				when(nachrichtenManagerProperties.getAddress()).thenReturn(NACHRICHTEN_MANAGER_URL);
 
 				var request = buildInfomanagerNachricht();
 
-- 
GitLab