From 7a7d58a8e4893ab21d458f6f785820e0f4ed8c8a Mon Sep 17 00:00:00 2001
From: Jan Zickermann <jan.zickermann@dataport.de>
Date: Wed, 15 Jan 2025 14:42:22 +0100
Subject: [PATCH] OZG-4094 beans: Condition on enabled=true

---
 .../postfach/osiv2/OsiPostfachRemoteService.java      |  3 ++-
 .../postfach/osiv2/config/ApiClientConfiguration.java |  6 +++---
 ...achProperties.java => Osi2PostfachProperties.java} | 11 ++++++-----
 .../osiv2/transfer/PostfachApiFacadeService.java      | 11 ++++++++---
 4 files changed, 19 insertions(+), 12 deletions(-)
 rename src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/{OsiPostfachProperties.java => Osi2PostfachProperties.java} (73%)

diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java
index 6559227..8664f52 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java
@@ -7,11 +7,12 @@ import org.springframework.stereotype.Service;
 
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
 import de.ozgcloud.nachrichten.postfach.PostfachRemoteService;
+import de.ozgcloud.nachrichten.postfach.osiv2.config.Osi2PostfachProperties;
 import de.ozgcloud.nachrichten.postfach.osiv2.transfer.PostfachApiFacadeService;
 import lombok.extern.log4j.Log4j2;
 
 @Service
-@ConditionalOnProperty("ozgcloud.osiv2-postfach.enabled")
+@ConditionalOnProperty(prefix = Osi2PostfachProperties.PREFIX, name = "enabled", havingValue = "true")
 @Log4j2
 public record OsiPostfachRemoteService(
 		PostfachApiFacadeService postfachApiFacadeService
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/ApiClientConfiguration.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/ApiClientConfiguration.java
index 16d7d79..4584e52 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/ApiClientConfiguration.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/ApiClientConfiguration.java
@@ -23,11 +23,11 @@ import reactor.netty.transport.ProxyProvider;
 
 @Configuration
 @RequiredArgsConstructor
-@ConditionalOnProperty("ozgcloud.osiv2-postfach.enabled")
+@ConditionalOnProperty(prefix = Osi2PostfachProperties.PREFIX, name = "enabled", havingValue = "true")
 public class ApiClientConfiguration {
 
-	private final OsiPostfachProperties.ApiConfiguration apiConfiguration;
-	private final OsiPostfachProperties.ProxyConfiguration proxyConfiguration;
+	private final Osi2PostfachProperties.ApiConfiguration apiConfiguration;
+	private final Osi2PostfachProperties.ProxyConfiguration proxyConfiguration;
 
 	@Bean
 	MessageExchangeApi messageExchangeApi(ApiClient apiClient) {
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/OsiPostfachProperties.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/Osi2PostfachProperties.java
similarity index 73%
rename from src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/OsiPostfachProperties.java
rename to src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/Osi2PostfachProperties.java
index 44fd8ef..2cf55ad 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/OsiPostfachProperties.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/Osi2PostfachProperties.java
@@ -2,6 +2,7 @@ package de.ozgcloud.nachrichten.postfach.osiv2.config;
 
 import jakarta.annotation.Nullable;
 
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 
@@ -11,10 +12,10 @@ import lombok.Setter;
 @Getter
 @Setter
 @Configuration
-@ConfigurationProperties(prefix = OsiPostfachProperties.PREFIX)
-public class OsiPostfachProperties {
+@ConditionalOnProperty(prefix = Osi2PostfachProperties.PREFIX, name = "enabled", havingValue = "true")
+public class Osi2PostfachProperties {
 
-	static final String PREFIX = "ozgcloud.osiv2-postfach";
+	public static final String PREFIX = "ozgcloud.osiv2-postfach";
 
 	private boolean enabled;
 
@@ -23,7 +24,7 @@ public class OsiPostfachProperties {
 	@Configuration
 	@ConfigurationProperties(prefix = ApiConfiguration.PREFIX)
 	static class ApiConfiguration {
-		static final String PREFIX = OsiPostfachProperties.PREFIX + ".api";
+		static final String PREFIX = Osi2PostfachProperties.PREFIX + ".api";
 
 		private String resource;
 		private String url;
@@ -40,7 +41,7 @@ public class OsiPostfachProperties {
 	@Configuration
 	@ConfigurationProperties(prefix = ProxyConfiguration.PREFIX)
 	static class ProxyConfiguration {
-		static final String PREFIX = OsiPostfachProperties.PREFIX + ".http-proxy";
+		static final String PREFIX = Osi2PostfachProperties.PREFIX + ".http-proxy";
 
 		private boolean enabled;
 
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
index 246a121..4405c98 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
@@ -7,16 +7,21 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.stereotype.Service;
 
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
+import de.ozgcloud.nachrichten.postfach.osiv2.config.Osi2PostfachProperties;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessage;
 import lombok.extern.log4j.Log4j2;
 
 @Log4j2
 @Service
-@ConditionalOnProperty("ozgcloud.osiv2-postfach.enabled")
-public record PostfachApiFacadeService(MessageExchangeApi messageExchangeApi, RequestMapper requestMapper, ResponseMapper responseMapper) {
-
+@ConditionalOnProperty(prefix = Osi2PostfachProperties.PREFIX, name = "enabled", havingValue = "true")
+public record PostfachApiFacadeService(
+		MessageExchangeApi messageExchangeApi,
+		RequestMapper requestMapper,
+		ResponseMapper responseMapper
+) {
 	private static int MAX_NUMBER_RECEIVED_MESSAGES = 100;
+
 	public void sendMessage(PostfachNachricht nachricht) {
 		messageExchangeApi.sendMessage(
 				requestMapper.mapMailboxId(nachricht),
-- 
GitLab