Skip to content
Snippets Groups Projects
ArchiveManagerConfiguration.java 7.12 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.
     */
    
    OZGCloud's avatar
    OZGCloud committed
    package de.ozgcloud.archive;
    
    
    import org.springframework.beans.factory.annotation.Qualifier;
    
    import org.springframework.context.annotation.Bean;
    
    OZGCloud's avatar
    OZGCloud committed
    import org.springframework.context.annotation.Configuration;
    
    import org.springframework.scheduling.annotation.EnableScheduling;
    
    OZGCloud's avatar
    OZGCloud committed
    
    
    import de.ozgcloud.apilib.client_attribute.OzgCloudClientAttributeService;
    import de.ozgcloud.apilib.client_attribute.grpc.OzgCloudClientAttributeGrpcService;
    
    import de.ozgcloud.apilib.client_attribute.grpc.OzgCloudClientAttributeMapper;
    
    OZGCloud's avatar
    OZGCloud committed
    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.file.OzgCloudFileService;
    import de.ozgcloud.apilib.file.grpc.GrpcOzgCloudFileService;
    import de.ozgcloud.apilib.file.grpc.OzgCloudFileMapper;
    import de.ozgcloud.apilib.user.GrpcOzgCloudUserProfileService;
    import de.ozgcloud.apilib.user.OzgCloudUserProfileService;
    import de.ozgcloud.apilib.user.UserProfileMapper;
    
    import de.ozgcloud.archive.common.callcontext.CallContextProvider;
    
    import de.ozgcloud.user.grpc.userprofile.UserProfileServiceGrpc.UserProfileServiceBlockingStub;
    import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc.BinaryFileServiceBlockingStub;
    import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc.BinaryFileServiceStub;
    
    OZGCloud's avatar
    OZGCloud committed
    import de.ozgcloud.vorgang.grpc.clientAttribute.ClientAttributeServiceGrpc.ClientAttributeServiceBlockingStub;
    import de.ozgcloud.vorgang.grpc.command.CommandServiceGrpc.CommandServiceBlockingStub;
    
    import lombok.RequiredArgsConstructor;
    
    import net.devh.boot.grpc.client.inject.GrpcClient;
    
    OZGCloud's avatar
    OZGCloud committed
    @Configuration
    
    @RequiredArgsConstructor
    
    @EnableScheduling
    
    OZGCloud's avatar
    OZGCloud committed
    public class ArchiveManagerConfiguration {
    
    OZGCloud's avatar
    OZGCloud committed
    
    
    	public static final String VORGANG_SERVICE_NAME = "archiveVorgangService";
    	public static final String VORGANG_REMOTE_MANAGER_SERVICE_NAME = "archiveVorgangRemoteService";
    	public static final String VORGANG_WITH_EINGANG_MAPPER_NAME = "archiveVorgangWithEingangMapper";
    
    OZGCloud's avatar
    OZGCloud committed
    
    
    	public static final String CURRENT_USER_SERVICE_NAME = "archiveCurrentUserService";
    	public static final String DOCUMENT_MAPPER_NAME = "archiveDocumentMapper";
    	public static final String DOCUMENT_REMOTE_SERVICE_NAME = "archiveDocumentRemoteService";
    
    OZGCloud's avatar
    OZGCloud committed
    
    
    	public static final String USER_SERVICE_NAME = "archiveUserService";
    	public static final String USER_PROFILE_MAPPER_NAME = "archiveUserProfileMapper";
    	public static final String OZGCLOUD_USER_PROFILE_SERVICE_NAME = "archiveOzgCloudUserProfileService";
    
    OZGCloud's avatar
    OZGCloud committed
    
    
    	public static final String COMMAND_SERVICE_NAME = "archiveCommandService";
    	public static final String COMMAND_REMOTE_SERVICE_NAME = "archiveCommandRemoteService";
    	public static final String COMMAND_MAPPER_NAME = "archiveCommandMapper";
    	public static final String OZGCLOUD_COMMAND_SERVICE_NAME = "archiveOzgCloudCommandService";
    
    OZGCloud's avatar
    OZGCloud committed
    
    
    	public static final String BINARY_FILE_SERVICE_NAME = "archiveBinaryFileService";
    	public static final String BINARY_FILE_REMOTE_SERVICE_NAME = "archiveBinaryFileRemoteService";
    	public static final String OZGCLOUD_FILE_SERVICE_NAME = "archiveOzgCloudFileService";
    
    OZGCloud's avatar
    OZGCloud committed
    
    
    	public static final String FILE_ID_MAPPER_NAME = "archiveFileIdMapper";
    
    OZGCloud's avatar
    OZGCloud committed
    
    
    	public static final String BESCHEID_REMOTE_SERVICE_NAME = "archiveBescheidRemoteService";
    	public static final String BESCHEID_MAPPER_NAME = "archiveBescheidMapper";
    
    OZGCloud's avatar
    OZGCloud committed
    
    
    	public static final String CALL_CONTEXT_PROVIDER_NAME = "archiveCallContextProvider";
    	public static final String CALL_CONTEXT_MAPPER_NAME = "archiveCallContextMapper";
    
    	public static final String OZGCLOUD_CLIENT_ATTRIBUTE_SERVICE_NAME = "archiveOzgCloudClientAttributeService";
    
    	public static final String KOMMENTAR_SERVICE_NAME = "archiveKommentarService";
    	public static final String KOMMENTAR_REMOTE_SERVICE_NAME = "archiveKommentarRemoteService";
    
    	public static final String CALL_CONTEXT_SERVER_INTERCEPTOR_NAME = "archiveCallContextGrpcServerInterceptor";
    
    	public static final String GRPC_VORGANG_MANAGER_CLIENT_NAME = "vorgang-manager";
    	public static final String GRPC_COMMAND_MANAGER_CLIENT_NAME = "command-manager";
    	public static final String GRPC_FILE_MANAGER_CLIENT_NAME = "file-manager";
    	public static final String GRPC_USER_MANAGER_CLIENT_NAME = "user-manager";
    
    	@GrpcClient(GRPC_VORGANG_MANAGER_CLIENT_NAME)
    	private final ClientAttributeServiceBlockingStub clientAttributeServiceBlockingStub;
    
    	@GrpcClient(GRPC_COMMAND_MANAGER_CLIENT_NAME)
    	private final CommandServiceBlockingStub commandServiceStub;
    
    	@GrpcClient(GRPC_USER_MANAGER_CLIENT_NAME)
    	private final UserProfileServiceBlockingStub userProfileServiceBlockingStub;
    
    	@GrpcClient(GRPC_FILE_MANAGER_CLIENT_NAME)
    	private final BinaryFileServiceBlockingStub binaryFileServiceBlockingStub;
    
    	@GrpcClient(GRPC_FILE_MANAGER_CLIENT_NAME)
    	private final BinaryFileServiceStub binaryFileServiceStub;
    
    
    	@Bean(ArchiveManagerConfiguration.OZGCLOUD_FILE_SERVICE_NAME)
    
    	OzgCloudFileService ozgCloudFileService(OzgCloudFileMapper mapper,
    			@Qualifier(CALL_CONTEXT_PROVIDER_NAME) CallContextProvider callContextProvider) {
    
    		return new GrpcOzgCloudFileService(binaryFileServiceBlockingStub, binaryFileServiceStub, callContextProvider, mapper);
    	}
    
    
    	@Bean(ArchiveManagerConfiguration.OZGCLOUD_USER_PROFILE_SERVICE_NAME)
    
    	OzgCloudUserProfileService grpcOzgCloudUserProfileService(UserProfileMapper userProfileMapper,
    			@Qualifier(CALL_CONTEXT_PROVIDER_NAME) CallContextProvider callContextProvider) {
    
    		return new GrpcOzgCloudUserProfileService(userProfileServiceBlockingStub, userProfileMapper, callContextProvider);
    	}
    
    	@Bean(OZGCLOUD_CLIENT_ATTRIBUTE_SERVICE_NAME)
    
    	OzgCloudClientAttributeService ozgCloudAttributesService(OzgCloudClientAttributeMapper mapper,
    			@Qualifier(CALL_CONTEXT_PROVIDER_NAME) CallContextProvider callContextProvider) {
    
    		return new OzgCloudClientAttributeGrpcService(clientAttributeServiceBlockingStub, mapper, callContextProvider);
    
    	@Bean(OZGCLOUD_COMMAND_SERVICE_NAME)
    
    	OzgCloudCommandService ozgCloudCommandService(CommandMapper commandMapper,
    			@Qualifier(CALL_CONTEXT_PROVIDER_NAME) CallContextProvider callContextProvider) {
    
    		return new GrpcOzgCloudCommandService(commandServiceStub, commandMapper, callContextProvider,
    
    OZGCloud's avatar
    OZGCloud committed
    				GrpcOzgCloudCommandService.DEFAULT_COMMAND_REQUEST_THRESHOLD_MILLIS);
    	}
    
    OZGCloud's avatar
    OZGCloud committed
    }