From f3e793a8312f651195082d5a7c9540c5498b1503 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 22 Oct 2024 14:42:00 +0200 Subject: [PATCH] OZG-6710 add custom bean names --- lombok.config | 3 ++- .../ProcessorManagerConfiguration.java | 18 ++++++++++++++++-- .../processor/ProcessorConfiguration.java | 3 +++ .../processor/ProcessorEventListener.java | 10 +++++++++- .../processor/ProcessorProperties.java | 3 ++- .../processor/processor/ProcessorService.java | 5 ++++- .../processor/processor/ProxyProperties.java | 3 ++- .../processor/result/AktennotizFactory.java | 3 ++- .../processor/result/ResultService.java | 5 ++++- .../vorgang/ProcessorVorgangMapper.java | 4 ++++ .../processor/vorgang/VorgangService.java | 16 +++++++++------- 11 files changed, 57 insertions(+), 16 deletions(-) diff --git a/lombok.config b/lombok.config index d07dd9b..a06fa13 100644 --- a/lombok.config +++ b/lombok.config @@ -27,4 +27,5 @@ lombok.log.slf4j.flagUsage = ERROR lombok.log.log4j.flagUsage = ERROR lombok.data.flagUsage = ERROR lombok.nonNull.exceptionType = IllegalArgumentException -lombok.addLombokGeneratedAnnotation = true \ No newline at end of file +lombok.addLombokGeneratedAnnotation = true +lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier \ No newline at end of file diff --git a/src/main/java/de/ozgcloud/processor/ProcessorManagerConfiguration.java b/src/main/java/de/ozgcloud/processor/ProcessorManagerConfiguration.java index 769ede6..c9dea15 100644 --- a/src/main/java/de/ozgcloud/processor/ProcessorManagerConfiguration.java +++ b/src/main/java/de/ozgcloud/processor/ProcessorManagerConfiguration.java @@ -38,11 +38,25 @@ import net.devh.boot.grpc.client.inject.GrpcClient; @Configuration public class ProcessorManagerConfiguration { - @GrpcClient("vorgang-manager") + public static final String PROCESSOR_EVENT_LISTENER_NAME = "processorManager_ProcessorEventListener"; + public static final String PROCESSOR_PROPERTIES_NAME = "processorManager_ProcessorProperties"; + public static final String PROXY_PROPERTIES_NAME = "processorManager_ProxyProperties"; + public static final String AKTENNOTIZ_FACTORY_NAME = "processorManager_AktennotizFactory"; + public static final String VORGANG_MAPPER_NAME = "processorManager_VorgangMapper"; + + public static final String VORGANG_SERVICE_NAME = "processorManager_VorgangService"; + public static final String PROCESSOR_SERVICE_NAME = "processorManager_ProcessorService"; + public static final String RESULT_SERVICE_NAME = "processorManager_ResultService"; + + public static final String OZGCLOUD_VORGANG_SERVICE_NAME = "processorManager_OzgCloudVorgangService"; + + public static final String GRPC_VORGANG_SERVICE_ADDRESS = "vorgang-manager"; + + @GrpcClient(GRPC_VORGANG_SERVICE_ADDRESS) private VorgangServiceGrpc.VorgangServiceBlockingStub vorgangServiceStub; @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address") - @Bean("processorManager_OzgCloudCommandService") + @Bean(OZGCLOUD_VORGANG_SERVICE_NAME) // NOSONAR OzgCloudVorgangService grpcOzgCloudCommandService(OzgCloudVorgangMapper vorgangMapper, OzgCloudVorgangStubMapper vorgangStubMapper, OzgCloudVorgangQueryMapper vorgangQueryMapper, ProzessorManagerCallContextProvider contextProvider) { return new GrpcOzgCloudVorgangService(vorgangServiceStub, vorgangMapper, vorgangStubMapper, vorgangQueryMapper, contextProvider); diff --git a/src/main/java/de/ozgcloud/processor/processor/ProcessorConfiguration.java b/src/main/java/de/ozgcloud/processor/processor/ProcessorConfiguration.java index a4528d0..7d4cbff 100644 --- a/src/main/java/de/ozgcloud/processor/processor/ProcessorConfiguration.java +++ b/src/main/java/de/ozgcloud/processor/processor/ProcessorConfiguration.java @@ -5,18 +5,21 @@ import java.net.ProxySelector; import java.net.http.HttpClient; import java.util.Optional; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.client.reactive.ClientHttpConnector; import org.springframework.http.client.reactive.JdkClientHttpConnector; import org.springframework.web.reactive.function.client.WebClient; +import de.ozgcloud.processor.ProcessorManagerConfiguration; import lombok.RequiredArgsConstructor; @Configuration @RequiredArgsConstructor class ProcessorConfiguration { + @Qualifier(ProcessorManagerConfiguration.PROXY_PROPERTIES_NAME) // NOSONAR private final Optional<ProxyProperties> proxyProperties; @Bean diff --git a/src/main/java/de/ozgcloud/processor/processor/ProcessorEventListener.java b/src/main/java/de/ozgcloud/processor/processor/ProcessorEventListener.java index 5955c5f..be8623a 100644 --- a/src/main/java/de/ozgcloud/processor/processor/ProcessorEventListener.java +++ b/src/main/java/de/ozgcloud/processor/processor/ProcessorEventListener.java @@ -6,6 +6,7 @@ import java.util.function.Predicate; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.exception.ExceptionUtils; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.event.EventListener; @@ -15,6 +16,7 @@ import de.ozgcloud.command.Command; import de.ozgcloud.command.CommandCreatedEvent; import de.ozgcloud.command.CommandFailedEvent; import de.ozgcloud.command.VorgangCreatedEvent; +import de.ozgcloud.processor.ProcessorManagerConfiguration; import de.ozgcloud.processor.result.ResultService; import de.ozgcloud.processor.vorgang.Vorgang; import de.ozgcloud.processor.vorgang.VorgangId; @@ -23,15 +25,21 @@ import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import reactor.core.publisher.Mono; -@Component("processorVorgangEventListener") +@Component(ProcessorManagerConfiguration.PROCESSOR_EVENT_LISTENER_NAME) // NOSONAR @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address") @RequiredArgsConstructor @Log4j2 class ProcessorEventListener { + @Qualifier(ProcessorManagerConfiguration.VORGANG_SERVICE_NAME) // NOSONAR private final VorgangService service; + + @Qualifier(ProcessorManagerConfiguration.PROCESSOR_SERVICE_NAME) // NOSONAR private final ProcessorService processorService; + + @Qualifier(ProcessorManagerConfiguration.RESULT_SERVICE_NAME) // NOSONAR private final ResultService resultService; + private final ApplicationEventPublisher publisher; static final String PROCESS_VORGANG_ORDER = "PROCESS_VORGANG"; diff --git a/src/main/java/de/ozgcloud/processor/processor/ProcessorProperties.java b/src/main/java/de/ozgcloud/processor/processor/ProcessorProperties.java index ae22239..9b345b3 100644 --- a/src/main/java/de/ozgcloud/processor/processor/ProcessorProperties.java +++ b/src/main/java/de/ozgcloud/processor/processor/ProcessorProperties.java @@ -9,6 +9,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import org.springframework.validation.annotation.Validated; +import de.ozgcloud.processor.ProcessorManagerConfiguration; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -20,7 +21,7 @@ import lombok.ToString; @ToString @Getter @Setter -@Configuration +@Configuration(ProcessorManagerConfiguration.PROCESSOR_PROPERTIES_NAME) // NOSONAR @ConfigurationProperties(prefix = "ozgcloud") @Validated @Builder diff --git a/src/main/java/de/ozgcloud/processor/processor/ProcessorService.java b/src/main/java/de/ozgcloud/processor/processor/ProcessorService.java index 42f2a02..cf766ab 100644 --- a/src/main/java/de/ozgcloud/processor/processor/ProcessorService.java +++ b/src/main/java/de/ozgcloud/processor/processor/ProcessorService.java @@ -6,6 +6,7 @@ import java.util.Optional; import java.util.stream.Stream; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.http.HttpEntity; import org.springframework.http.HttpStatusCode; @@ -17,6 +18,7 @@ import org.springframework.web.reactive.function.client.ClientResponse; import org.springframework.web.reactive.function.client.WebClient; import de.ozgcloud.common.errorhandling.TechnicalException; +import de.ozgcloud.processor.ProcessorManagerConfiguration; import de.ozgcloud.processor.processor.ProcessorProperties.Form; import de.ozgcloud.processor.processor.ProcessorProperties.Processor; import de.ozgcloud.processor.result.ProcessorTechnicalException; @@ -26,13 +28,14 @@ import lombok.extern.log4j.Log4j2; import reactor.core.publisher.Mono; @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address") -@Service +@Service(ProcessorManagerConfiguration.PROCESSOR_SERVICE_NAME) // NOSONAR @RequiredArgsConstructor @Log4j2 public class ProcessorService { private static final String KEY_VORGANG = "vorgang"; + @Qualifier(ProcessorManagerConfiguration.PROCESSOR_PROPERTIES_NAME) // NOSONAR private final ProcessorProperties properties; private final WebClient webClient; diff --git a/src/main/java/de/ozgcloud/processor/processor/ProxyProperties.java b/src/main/java/de/ozgcloud/processor/processor/ProxyProperties.java index 5ea0a78..014e9ce 100644 --- a/src/main/java/de/ozgcloud/processor/processor/ProxyProperties.java +++ b/src/main/java/de/ozgcloud/processor/processor/ProxyProperties.java @@ -8,6 +8,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import org.springframework.validation.annotation.Validated; +import de.ozgcloud.processor.ProcessorManagerConfiguration; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -15,7 +16,7 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; -@Configuration +@Configuration(ProcessorManagerConfiguration.PROXY_PROPERTIES_NAME) // NOSONAR @ConditionalOnProperty(prefix = "ozgcloud.http-proxy", name = { "host", "port" }) @ConfigurationProperties(prefix = "ozgcloud.http-proxy") @Validated diff --git a/src/main/java/de/ozgcloud/processor/result/AktennotizFactory.java b/src/main/java/de/ozgcloud/processor/result/AktennotizFactory.java index ec61ada..9f48112 100644 --- a/src/main/java/de/ozgcloud/processor/result/AktennotizFactory.java +++ b/src/main/java/de/ozgcloud/processor/result/AktennotizFactory.java @@ -2,9 +2,10 @@ package de.ozgcloud.processor.result; import org.springframework.stereotype.Component; +import de.ozgcloud.processor.ProcessorManagerConfiguration; import de.ozgcloud.processor.processor.ProcessorResult; -@Component +@Component(ProcessorManagerConfiguration.AKTENNOTIZ_FACTORY_NAME) // NOSONAR public class AktennotizFactory { static final String AKTENNOTIZ_ERROR_TEXT = """ diff --git a/src/main/java/de/ozgcloud/processor/result/ResultService.java b/src/main/java/de/ozgcloud/processor/result/ResultService.java index 507c3e4..a462884 100644 --- a/src/main/java/de/ozgcloud/processor/result/ResultService.java +++ b/src/main/java/de/ozgcloud/processor/result/ResultService.java @@ -2,21 +2,24 @@ package de.ozgcloud.processor.result; import jakarta.validation.Valid; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import de.ozgcloud.apilib.alfa.AlfaService; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangIdMapper; +import de.ozgcloud.processor.ProcessorManagerConfiguration; import de.ozgcloud.processor.processor.ProcessorResult; import lombok.RequiredArgsConstructor; -@Service +@Service(ProcessorManagerConfiguration.RESULT_SERVICE_NAME) // NOSONAR @RequiredArgsConstructor @Validated public class ResultService { private final AlfaService alfaService; private final OzgCloudVorgangIdMapper vorgangIdMapper; + @Qualifier(ProcessorManagerConfiguration.AKTENNOTIZ_FACTORY_NAME) // NOSONAR private final AktennotizFactory aktennotizFactory; public void processResult(@Valid ProcessorResult result) { diff --git a/src/main/java/de/ozgcloud/processor/vorgang/ProcessorVorgangMapper.java b/src/main/java/de/ozgcloud/processor/vorgang/ProcessorVorgangMapper.java index 5c7c912..4b640f0 100644 --- a/src/main/java/de/ozgcloud/processor/vorgang/ProcessorVorgangMapper.java +++ b/src/main/java/de/ozgcloud/processor/vorgang/ProcessorVorgangMapper.java @@ -4,9 +4,11 @@ import java.util.List; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.mapstruct.AnnotateWith; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Named; +import org.springframework.stereotype.Component; import de.ozgcloud.apilib.file.OzgCloudFileGroup; import de.ozgcloud.apilib.file.OzgCloudFileId; @@ -19,8 +21,10 @@ import de.ozgcloud.apilib.vorgang.OzgCloudSubForm; import de.ozgcloud.apilib.vorgang.OzgCloudVorgang; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId; import de.ozgcloud.common.binaryfile.FileId; +import de.ozgcloud.processor.ProcessorManagerConfiguration; @Mapper +@AnnotateWith(value = Component.class, elements = @AnnotateWith.Element(strings = ProcessorManagerConfiguration.VORGANG_MAPPER_NAME)) public interface ProcessorVorgangMapper { @Mapping(target = "eingang", qualifiedByName = "mapEingang", source = "eingangs") diff --git a/src/main/java/de/ozgcloud/processor/vorgang/VorgangService.java b/src/main/java/de/ozgcloud/processor/vorgang/VorgangService.java index dca2e61..ad3823a 100644 --- a/src/main/java/de/ozgcloud/processor/vorgang/VorgangService.java +++ b/src/main/java/de/ozgcloud/processor/vorgang/VorgangService.java @@ -1,23 +1,25 @@ package de.ozgcloud.processor.vorgang; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangService; +import de.ozgcloud.processor.ProcessorManagerConfiguration; import lombok.NonNull; +import lombok.RequiredArgsConstructor; @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address") -@Service("processorVorgangService") +@Service(ProcessorManagerConfiguration.VORGANG_SERVICE_NAME) // NOSONAR +@RequiredArgsConstructor public class VorgangService { - @Autowired - @Qualifier("processorManager_OzgCloudCommandService") - private OzgCloudVorgangService ozgCloudService; - @Autowired - private ProcessorVorgangMapper mapper; + @Qualifier(ProcessorManagerConfiguration.OZGCLOUD_VORGANG_SERVICE_NAME) // NOSONAR + private final OzgCloudVorgangService ozgCloudService; + + @Qualifier(ProcessorManagerConfiguration.VORGANG_MAPPER_NAME) // NOSONAR + private final ProcessorVorgangMapper mapper; public Vorgang getVorgang(@NonNull VorgangId id) { var loaded = ozgCloudService.getById(OzgCloudVorgangId.from(id.toString())); -- GitLab