Newer
Older
/*
* 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.
*/
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import de.ozgcloud.apilib.client_attribute.OzgCloudClientAttributeService;
import de.ozgcloud.apilib.client_attribute.grpc.OzgCloudClientAttributeGrpcService;
import de.ozgcloud.apilib.client_attribute.grpc.OzgCloudClientAttributeMapper;
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;
import de.ozgcloud.vorgang.grpc.clientAttribute.ClientAttributeServiceGrpc.ClientAttributeServiceBlockingStub;
import de.ozgcloud.vorgang.grpc.command.CommandServiceGrpc.CommandServiceBlockingStub;
import net.devh.boot.grpc.client.inject.GrpcClient;
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";
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";
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";
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";
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";
public static final String FILE_ID_MAPPER_NAME = "archiveFileIdMapper";
public static final String BESCHEID_REMOTE_SERVICE_NAME = "archiveBescheidRemoteService";
public static final String BESCHEID_MAPPER_NAME = "archiveBescheidMapper";
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,
GrpcOzgCloudCommandService.DEFAULT_COMMAND_REQUEST_THRESHOLD_MILLIS);
}