Skip to content
Snippets Groups Projects
DocumentManagerConfiguration.java 2.91 KiB
Newer Older
  • Learn to ignore specific revisions
  • /*
     * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
     * Ministerpräsidenten des Landes Schleswig-Holstein
     * Staatskanzlei
     * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
     *
     * Lizenziert unter der EUPL, Version 1.2 oder - sobald
     * diese von der Europäischen Kommission genehmigt wurden -
     * Folgeversionen der EUPL ("Lizenz");
     * Sie dürfen dieses Werk ausschließlich gemäß
     * dieser Lizenz nutzen.
     * Eine Kopie der Lizenz finden Sie hier:
     *
     * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
     *
     * Sofern nicht durch anwendbare Rechtsvorschriften
     * gefordert oder in schriftlicher Form vereinbart, wird
     * die unter der Lizenz verbreitete Software "so wie sie
     * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
     * ausdrücklich oder stillschweigend - verbreitet.
     * Die sprachspezifischen Genehmigungen und Beschränkungen
     * unter der Lizenz sind dem Lizenztext zu entnehmen.
     */
    
    package de.ozgcloud.document;
    
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import de.ozgcloud.apilib.common.command.OzgCloudCommandService;
    import de.ozgcloud.apilib.common.command.grpc.CommandMapper;
    import de.ozgcloud.apilib.common.command.grpc.GrpcOzgCloudCommandService;
    
    import de.ozgcloud.apilib.user.GrpcOzgCloudUserProfileService;
    import de.ozgcloud.apilib.user.OzgCloudUserProfileService;
    import de.ozgcloud.apilib.user.UserProfileMapper;
    
    import de.ozgcloud.document.bescheid.common.callcontext.BescheidManagerCallContextProvider;
    
    import de.ozgcloud.user.grpc.userprofile.UserProfileServiceGrpc;
    
    import de.ozgcloud.vorgang.grpc.command.CommandServiceGrpc;
    import net.devh.boot.grpc.client.inject.GrpcClient;
    
    @Configuration
    
    public class DocumentManagerConfiguration {
    
    	private static final String GRPC_USER_MANAGER_NAME = "user-manager";
    	private static final String GRPC_COMMAND_MANAGER_NAME = "command-manager";
    
    
    OZGCloud's avatar
    OZGCloud committed
    	public static final String COMMAND_SERVICE_NAME = "bescheid_OzgCloudCommandService";
    
    	public static final String USER_PROFILE_SERVICE_NAME = "bescheid_OzgCloudUserProfileService";
    
    OZGCloud's avatar
    OZGCloud committed
    
    
    	@GrpcClient(GRPC_COMMAND_MANAGER_NAME)
    
    	private CommandServiceGrpc.CommandServiceBlockingStub commandServiceStub;
    
    	@GrpcClient(GRPC_USER_MANAGER_NAME)
    
    	private UserProfileServiceGrpc.UserProfileServiceBlockingStub userProfileServiceStub;
    
    OZGCloud's avatar
    OZGCloud committed
    	@Bean(COMMAND_SERVICE_NAME)
    
    	OzgCloudCommandService grpcOzgCloudCommandService(CommandMapper commandMapper, BescheidManagerCallContextProvider contextProvider) {
    		return new GrpcOzgCloudCommandService(commandServiceStub, commandMapper, contextProvider,
    				GrpcOzgCloudCommandService.DEFAULT_COMMAND_REQUEST_THRESHOLD_MILLIS);
    	}
    
    
    	@Bean(USER_PROFILE_SERVICE_NAME)
    
    	OzgCloudUserProfileService grpcOzgCloudUserProfileService(UserProfileMapper mapper, BescheidManagerCallContextProvider contextProvider) {
    
    		return new GrpcOzgCloudUserProfileService(userProfileServiceStub, mapper, contextProvider);
    	}