Skip to content
Snippets Groups Projects
Commit f3e793a8 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6710 add custom bean names

parent 5c72d4cf
No related branches found
No related tags found
No related merge requests found
Showing
with 57 additions and 16 deletions
...@@ -28,3 +28,4 @@ lombok.log.log4j.flagUsage = ERROR ...@@ -28,3 +28,4 @@ lombok.log.log4j.flagUsage = ERROR
lombok.data.flagUsage = ERROR lombok.data.flagUsage = ERROR
lombok.nonNull.exceptionType = IllegalArgumentException lombok.nonNull.exceptionType = IllegalArgumentException
lombok.addLombokGeneratedAnnotation = true lombok.addLombokGeneratedAnnotation = true
lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier
\ No newline at end of file
...@@ -38,11 +38,25 @@ import net.devh.boot.grpc.client.inject.GrpcClient; ...@@ -38,11 +38,25 @@ import net.devh.boot.grpc.client.inject.GrpcClient;
@Configuration @Configuration
public class ProcessorManagerConfiguration { 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; private VorgangServiceGrpc.VorgangServiceBlockingStub vorgangServiceStub;
@ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address") @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address")
@Bean("processorManager_OzgCloudCommandService") @Bean(OZGCLOUD_VORGANG_SERVICE_NAME) // NOSONAR
OzgCloudVorgangService grpcOzgCloudCommandService(OzgCloudVorgangMapper vorgangMapper, OzgCloudVorgangStubMapper vorgangStubMapper, OzgCloudVorgangService grpcOzgCloudCommandService(OzgCloudVorgangMapper vorgangMapper, OzgCloudVorgangStubMapper vorgangStubMapper,
OzgCloudVorgangQueryMapper vorgangQueryMapper, ProzessorManagerCallContextProvider contextProvider) { OzgCloudVorgangQueryMapper vorgangQueryMapper, ProzessorManagerCallContextProvider contextProvider) {
return new GrpcOzgCloudVorgangService(vorgangServiceStub, vorgangMapper, vorgangStubMapper, vorgangQueryMapper, contextProvider); return new GrpcOzgCloudVorgangService(vorgangServiceStub, vorgangMapper, vorgangStubMapper, vorgangQueryMapper, contextProvider);
......
...@@ -5,18 +5,21 @@ import java.net.ProxySelector; ...@@ -5,18 +5,21 @@ import java.net.ProxySelector;
import java.net.http.HttpClient; import java.net.http.HttpClient;
import java.util.Optional; import java.util.Optional;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.reactive.ClientHttpConnector; import org.springframework.http.client.reactive.ClientHttpConnector;
import org.springframework.http.client.reactive.JdkClientHttpConnector; import org.springframework.http.client.reactive.JdkClientHttpConnector;
import org.springframework.web.reactive.function.client.WebClient; import org.springframework.web.reactive.function.client.WebClient;
import de.ozgcloud.processor.ProcessorManagerConfiguration;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@Configuration @Configuration
@RequiredArgsConstructor @RequiredArgsConstructor
class ProcessorConfiguration { class ProcessorConfiguration {
@Qualifier(ProcessorManagerConfiguration.PROXY_PROPERTIES_NAME) // NOSONAR
private final Optional<ProxyProperties> proxyProperties; private final Optional<ProxyProperties> proxyProperties;
@Bean @Bean
......
...@@ -6,6 +6,7 @@ import java.util.function.Predicate; ...@@ -6,6 +6,7 @@ import java.util.function.Predicate;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
...@@ -15,6 +16,7 @@ import de.ozgcloud.command.Command; ...@@ -15,6 +16,7 @@ import de.ozgcloud.command.Command;
import de.ozgcloud.command.CommandCreatedEvent; import de.ozgcloud.command.CommandCreatedEvent;
import de.ozgcloud.command.CommandFailedEvent; import de.ozgcloud.command.CommandFailedEvent;
import de.ozgcloud.command.VorgangCreatedEvent; import de.ozgcloud.command.VorgangCreatedEvent;
import de.ozgcloud.processor.ProcessorManagerConfiguration;
import de.ozgcloud.processor.result.ResultService; import de.ozgcloud.processor.result.ResultService;
import de.ozgcloud.processor.vorgang.Vorgang; import de.ozgcloud.processor.vorgang.Vorgang;
import de.ozgcloud.processor.vorgang.VorgangId; import de.ozgcloud.processor.vorgang.VorgangId;
...@@ -23,15 +25,21 @@ import lombok.RequiredArgsConstructor; ...@@ -23,15 +25,21 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
@Component("processorVorgangEventListener") @Component(ProcessorManagerConfiguration.PROCESSOR_EVENT_LISTENER_NAME) // NOSONAR
@ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address") @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address")
@RequiredArgsConstructor @RequiredArgsConstructor
@Log4j2 @Log4j2
class ProcessorEventListener { class ProcessorEventListener {
@Qualifier(ProcessorManagerConfiguration.VORGANG_SERVICE_NAME) // NOSONAR
private final VorgangService service; private final VorgangService service;
@Qualifier(ProcessorManagerConfiguration.PROCESSOR_SERVICE_NAME) // NOSONAR
private final ProcessorService processorService; private final ProcessorService processorService;
@Qualifier(ProcessorManagerConfiguration.RESULT_SERVICE_NAME) // NOSONAR
private final ResultService resultService; private final ResultService resultService;
private final ApplicationEventPublisher publisher; private final ApplicationEventPublisher publisher;
static final String PROCESS_VORGANG_ORDER = "PROCESS_VORGANG"; static final String PROCESS_VORGANG_ORDER = "PROCESS_VORGANG";
......
...@@ -9,6 +9,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; ...@@ -9,6 +9,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import de.ozgcloud.processor.ProcessorManagerConfiguration;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
...@@ -20,7 +21,7 @@ import lombok.ToString; ...@@ -20,7 +21,7 @@ import lombok.ToString;
@ToString @ToString
@Getter @Getter
@Setter @Setter
@Configuration @Configuration(ProcessorManagerConfiguration.PROCESSOR_PROPERTIES_NAME) // NOSONAR
@ConfigurationProperties(prefix = "ozgcloud") @ConfigurationProperties(prefix = "ozgcloud")
@Validated @Validated
@Builder @Builder
......
...@@ -6,6 +6,7 @@ import java.util.Optional; ...@@ -6,6 +6,7 @@ import java.util.Optional;
import java.util.stream.Stream; import java.util.stream.Stream;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.http.HttpEntity; import org.springframework.http.HttpEntity;
import org.springframework.http.HttpStatusCode; import org.springframework.http.HttpStatusCode;
...@@ -17,6 +18,7 @@ import org.springframework.web.reactive.function.client.ClientResponse; ...@@ -17,6 +18,7 @@ import org.springframework.web.reactive.function.client.ClientResponse;
import org.springframework.web.reactive.function.client.WebClient; import org.springframework.web.reactive.function.client.WebClient;
import de.ozgcloud.common.errorhandling.TechnicalException; import de.ozgcloud.common.errorhandling.TechnicalException;
import de.ozgcloud.processor.ProcessorManagerConfiguration;
import de.ozgcloud.processor.processor.ProcessorProperties.Form; import de.ozgcloud.processor.processor.ProcessorProperties.Form;
import de.ozgcloud.processor.processor.ProcessorProperties.Processor; import de.ozgcloud.processor.processor.ProcessorProperties.Processor;
import de.ozgcloud.processor.result.ProcessorTechnicalException; import de.ozgcloud.processor.result.ProcessorTechnicalException;
...@@ -26,13 +28,14 @@ import lombok.extern.log4j.Log4j2; ...@@ -26,13 +28,14 @@ import lombok.extern.log4j.Log4j2;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
@ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address") @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address")
@Service @Service(ProcessorManagerConfiguration.PROCESSOR_SERVICE_NAME) // NOSONAR
@RequiredArgsConstructor @RequiredArgsConstructor
@Log4j2 @Log4j2
public class ProcessorService { public class ProcessorService {
private static final String KEY_VORGANG = "vorgang"; private static final String KEY_VORGANG = "vorgang";
@Qualifier(ProcessorManagerConfiguration.PROCESSOR_PROPERTIES_NAME) // NOSONAR
private final ProcessorProperties properties; private final ProcessorProperties properties;
private final WebClient webClient; private final WebClient webClient;
......
...@@ -8,6 +8,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; ...@@ -8,6 +8,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import de.ozgcloud.processor.ProcessorManagerConfiguration;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
...@@ -15,7 +16,7 @@ import lombok.NoArgsConstructor; ...@@ -15,7 +16,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
@Configuration @Configuration(ProcessorManagerConfiguration.PROXY_PROPERTIES_NAME) // NOSONAR
@ConditionalOnProperty(prefix = "ozgcloud.http-proxy", name = { "host", "port" }) @ConditionalOnProperty(prefix = "ozgcloud.http-proxy", name = { "host", "port" })
@ConfigurationProperties(prefix = "ozgcloud.http-proxy") @ConfigurationProperties(prefix = "ozgcloud.http-proxy")
@Validated @Validated
......
...@@ -2,9 +2,10 @@ package de.ozgcloud.processor.result; ...@@ -2,9 +2,10 @@ package de.ozgcloud.processor.result;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import de.ozgcloud.processor.ProcessorManagerConfiguration;
import de.ozgcloud.processor.processor.ProcessorResult; import de.ozgcloud.processor.processor.ProcessorResult;
@Component @Component(ProcessorManagerConfiguration.AKTENNOTIZ_FACTORY_NAME) // NOSONAR
public class AktennotizFactory { public class AktennotizFactory {
static final String AKTENNOTIZ_ERROR_TEXT = """ static final String AKTENNOTIZ_ERROR_TEXT = """
......
...@@ -2,21 +2,24 @@ package de.ozgcloud.processor.result; ...@@ -2,21 +2,24 @@ package de.ozgcloud.processor.result;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import de.ozgcloud.apilib.alfa.AlfaService; import de.ozgcloud.apilib.alfa.AlfaService;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangIdMapper; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangIdMapper;
import de.ozgcloud.processor.ProcessorManagerConfiguration;
import de.ozgcloud.processor.processor.ProcessorResult; import de.ozgcloud.processor.processor.ProcessorResult;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@Service @Service(ProcessorManagerConfiguration.RESULT_SERVICE_NAME) // NOSONAR
@RequiredArgsConstructor @RequiredArgsConstructor
@Validated @Validated
public class ResultService { public class ResultService {
private final AlfaService alfaService; private final AlfaService alfaService;
private final OzgCloudVorgangIdMapper vorgangIdMapper; private final OzgCloudVorgangIdMapper vorgangIdMapper;
@Qualifier(ProcessorManagerConfiguration.AKTENNOTIZ_FACTORY_NAME) // NOSONAR
private final AktennotizFactory aktennotizFactory; private final AktennotizFactory aktennotizFactory;
public void processResult(@Valid ProcessorResult result) { public void processResult(@Valid ProcessorResult result) {
......
...@@ -4,9 +4,11 @@ import java.util.List; ...@@ -4,9 +4,11 @@ import java.util.List;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.mapstruct.AnnotateWith;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.mapstruct.Named; import org.mapstruct.Named;
import org.springframework.stereotype.Component;
import de.ozgcloud.apilib.file.OzgCloudFileGroup; import de.ozgcloud.apilib.file.OzgCloudFileGroup;
import de.ozgcloud.apilib.file.OzgCloudFileId; import de.ozgcloud.apilib.file.OzgCloudFileId;
...@@ -19,8 +21,10 @@ import de.ozgcloud.apilib.vorgang.OzgCloudSubForm; ...@@ -19,8 +21,10 @@ import de.ozgcloud.apilib.vorgang.OzgCloudSubForm;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgang; import de.ozgcloud.apilib.vorgang.OzgCloudVorgang;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId;
import de.ozgcloud.common.binaryfile.FileId; import de.ozgcloud.common.binaryfile.FileId;
import de.ozgcloud.processor.ProcessorManagerConfiguration;
@Mapper @Mapper
@AnnotateWith(value = Component.class, elements = @AnnotateWith.Element(strings = ProcessorManagerConfiguration.VORGANG_MAPPER_NAME))
public interface ProcessorVorgangMapper { public interface ProcessorVorgangMapper {
@Mapping(target = "eingang", qualifiedByName = "mapEingang", source = "eingangs") @Mapping(target = "eingang", qualifiedByName = "mapEingang", source = "eingangs")
......
package de.ozgcloud.processor.vorgang; package de.ozgcloud.processor.vorgang;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangService; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangService;
import de.ozgcloud.processor.ProcessorManagerConfiguration;
import lombok.NonNull; import lombok.NonNull;
import lombok.RequiredArgsConstructor;
@ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address") @ConditionalOnProperty(prefix = "ozgcloud.processors[0]", name = "address")
@Service("processorVorgangService") @Service(ProcessorManagerConfiguration.VORGANG_SERVICE_NAME) // NOSONAR
@RequiredArgsConstructor
public class VorgangService { public class VorgangService {
@Autowired @Qualifier(ProcessorManagerConfiguration.OZGCLOUD_VORGANG_SERVICE_NAME) // NOSONAR
@Qualifier("processorManager_OzgCloudCommandService") private final OzgCloudVorgangService ozgCloudService;
private OzgCloudVorgangService ozgCloudService;
@Autowired @Qualifier(ProcessorManagerConfiguration.VORGANG_MAPPER_NAME) // NOSONAR
private ProcessorVorgangMapper mapper; private final ProcessorVorgangMapper mapper;
public Vorgang getVorgang(@NonNull VorgangId id) { public Vorgang getVorgang(@NonNull VorgangId id) {
var loaded = ozgCloudService.getById(OzgCloudVorgangId.from(id.toString())); var loaded = ozgCloudService.getById(OzgCloudVorgangId.from(id.toString()));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment