From 5da61712d6231aac91a3e46169a71065e7415613 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 12 Oct 2023 16:41:48 +0200
Subject: [PATCH] OZG-4390 adjust conditional beans definition

---
 .../vorgang/dummy/DummyVorgangService.java    |  5 ----
 .../grpc/GrpcOzgCloudVorgangService.java      |  5 ----
 .../OzgCloudClientAutoConfiguration.java      | 24 +++++++++++++++----
 3 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/dummy/DummyVorgangService.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/dummy/DummyVorgangService.java
index 3babc22..fe8c6ff 100644
--- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/dummy/DummyVorgangService.java
+++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/dummy/DummyVorgangService.java
@@ -6,9 +6,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.stereotype.Service;
-
 import de.ozgcloud.apilib.common.errorhandling.NotFoundException;
 import de.ozgcloud.apilib.file.dummy.DummyOzgCloudFileService;
 import de.ozgcloud.apilib.vorgang.OzgCloudAntragsteller;
@@ -21,8 +18,6 @@ import de.ozgcloud.apilib.vorgang.OzgCloudVorgangStatus;
 import de.ozgcloud.apilib.vorgang.OzgCloudVorgangStub;
 import de.ozgcloud.apilib.vorgang.Page;
 
-@Service
-@ConditionalOnMissingBean(OzgCloudVorgangService.class)
 public class DummyVorgangService implements OzgCloudVorgangService {
 
 	private final Map<OzgCloudVorgangId, OzgCloudVorgang> idToVorgang;
diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangService.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangService.java
index c33b8be..3cdba10 100644
--- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangService.java
+++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangService.java
@@ -2,9 +2,6 @@ package de.ozgcloud.apilib.vorgang.grpc;
 
 import java.util.List;
 
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.stereotype.Service;
-
 import de.itvsh.ozg.pluto.vorgang.GrpcFilterBy;
 import de.itvsh.ozg.pluto.vorgang.GrpcFindVorgangRequest;
 import de.itvsh.ozg.pluto.vorgang.GrpcFindVorgangRequest.GrpcOrderBy;
@@ -19,8 +16,6 @@ import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 import net.devh.boot.grpc.client.inject.GrpcClient;
 
-@Service
-@ConditionalOnProperty("ozgcloud.vorgang-manager.address")
 @RequiredArgsConstructor
 public class GrpcOzgCloudVorgangService implements OzgCloudVorgangService {
 
diff --git a/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java b/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java
index 7a4cc81..61488c5 100644
--- a/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java
+++ b/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java
@@ -13,6 +13,7 @@ import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Import;
 
 import de.itvsh.ozg.pluto.grpc.command.CommandServiceGrpc.CommandServiceBlockingStub;
+import de.itvsh.ozg.pluto.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub;
 import de.ozgcloud.apilib.alfa.AlfaService;
 import de.ozgcloud.apilib.alfa.CommandAlfaService;
 import de.ozgcloud.apilib.alfa.dummy.DummyAlfaService;
@@ -24,8 +25,11 @@ import de.ozgcloud.apilib.common.command.grpc.CommandMapper;
 import de.ozgcloud.apilib.common.command.grpc.GrpcOzgCloudCommandService;
 import de.ozgcloud.apilib.file.dummy.DummyOzgCloudFileService;
 import de.ozgcloud.apilib.file.grpc.GrpcOzgCloudFileService;
+import de.ozgcloud.apilib.vorgang.OzgCloudVorgangService;
 import de.ozgcloud.apilib.vorgang.dummy.DummyVorgangService;
 import de.ozgcloud.apilib.vorgang.grpc.GrpcOzgCloudVorgangService;
+import de.ozgcloud.apilib.vorgang.grpc.OzgCloudVorgangMapper;
+import de.ozgcloud.apilib.vorgang.grpc.OzgCloudVorgangStubMapper;
 import net.devh.boot.grpc.client.autoconfigure.GrpcClientAutoConfiguration;
 import net.devh.boot.grpc.client.config.GrpcChannelProperties;
 import net.devh.boot.grpc.client.config.GrpcChannelsProperties;
@@ -34,9 +38,8 @@ import net.devh.boot.grpc.client.inject.GrpcClient;
 @AutoConfiguration(before = GrpcClientAutoConfiguration.class)
 @ComponentScan("de.ozgcloud.client.autoconfigure")
 @Import({
-		GrpcOzgCloudVorgangService.class, DummyVorgangService.class,
-		GrpcOzgCloudFileService.class, DummyOzgCloudFileService.class,
-		OzgCloudCallContextAttachingInterceptor.class
+	GrpcOzgCloudFileService.class, DummyOzgCloudFileService.class,
+	OzgCloudCallContextAttachingInterceptor.class
 })
 public class OzgCloudClientAutoConfiguration {
 
@@ -97,7 +100,7 @@ public class OzgCloudClientAutoConfiguration {
 	@Bean
 	@ConditionalOnProperty("ozgcloud.command-manager.address")
 	OzgCloudCommandService grpcCommandService(@GrpcClient("command-manager") CommandServiceBlockingStub commandServiceStub,
-			CommandMapper commandMapper) {
+		CommandMapper commandMapper) {
 		return new GrpcOzgCloudCommandService(commandServiceStub, commandMapper);
 	}
 
@@ -118,4 +121,17 @@ public class OzgCloudClientAutoConfiguration {
 	AlfaService alfaService() {
 		return new DummyAlfaService();
 	}
+
+	@Bean("ozgCloudVorgangService")
+	@ConditionalOnProperty("ozgcloud.vorgang-manager.address")
+	public OzgCloudVorgangService grpcOzgCloudVorgangService(VorgangServiceBlockingStub vorgangServiceStub, OzgCloudVorgangMapper mapper,
+		OzgCloudVorgangStubMapper stubMapper) {
+		return new GrpcOzgCloudVorgangService(vorgangServiceStub, mapper, stubMapper);
+	}
+
+	@Bean("ozgCloudVorgangService")
+	@ConditionalOnMissingBean(OzgCloudVorgangService.class)
+	public OzgCloudVorgangService dummyOzgCloudVorgangService() {
+		return new DummyVorgangService();
+	}
 }
-- 
GitLab