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

OZG-6099 create context provider in processor manager

parent 3dd4c992
No related branches found
No related tags found
No related merge requests found
......@@ -6,19 +6,19 @@
<parent>
<groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-parent</artifactId>
<version>4.0.1</version>
<version>4.3.0</version>
</parent>
<groupId>de.ozgcloud.processor</groupId>
<artifactId>processor-manager</artifactId>
<version>0.4.0</version>
<version>0.4.1-SNAPSHOT</version>
<name>ozgcloud-processor-manager</name>
<description>OZG-Cloud Processor Manager</description>
<properties>
<vorgang-manager.version>2.5.0</vorgang-manager.version>
<api-lib.version>0.7.0</api-lib.version>
<api-lib.version>0.10.0</api-lib.version>
<tyrus-standalone-client.version>2.1.3</tyrus-standalone-client.version>
<okio.version>3.9.0</okio.version>
</properties>
......@@ -48,6 +48,11 @@
<artifactId>ozg-cloud-spring-boot-starter</artifactId>
<version>${api-lib.version}</version>
</dependency>
<dependency>
<groupId>de.ozgcloud.api-lib</groupId>
<artifactId>api-lib-core</artifactId>
<version>${api-lib.version}</version>
</dependency>
<!-- spring -->
<dependency>
......@@ -97,7 +102,12 @@
<version>${okio.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-inprocess</artifactId>
<version>1.65.0</version>
<scope>test</scope>
</dependency>
<!-- commons -->
<dependency>
......
/*
* 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.processor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangService;
import de.ozgcloud.apilib.vorgang.grpc.GrpcOzgCloudVorgangService;
import de.ozgcloud.apilib.vorgang.grpc.OzgCloudVorgangMapper;
import de.ozgcloud.apilib.vorgang.grpc.OzgCloudVorgangStubMapper;
import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc;
import net.devh.boot.grpc.client.inject.GrpcClient;
@Configuration
public class ProcessorManagerConfiguration {
@GrpcClient("vorgang-manager")
private VorgangServiceGrpc.VorgangServiceBlockingStub vorgangServiceStub;
@Bean("processorManager_OzgCloudCommandService")
OzgCloudVorgangService grpcOzgCloudCommandService(OzgCloudVorgangMapper vorgangMapper, OzgCloudVorgangStubMapper vorgangStubMapper,
ProzessorManagerCallContextProvider contextProvider) {
return new GrpcOzgCloudVorgangService(vorgangServiceStub, vorgangMapper, vorgangStubMapper, contextProvider);
}
}
/*
* 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.processor;
import org.springframework.stereotype.Component;
import de.ozgcloud.apilib.common.callcontext.CallContext;
import de.ozgcloud.apilib.common.callcontext.OzgCloudCallContextProvider;
import lombok.RequiredArgsConstructor;
@Component
@RequiredArgsConstructor
class ProzessorManagerCallContextProvider implements OzgCloudCallContextProvider {
static final String PROZESSOR_MANAGER_CLIENT_NAME = "OzgCloud_ProzessorManager";
@Override
public CallContext provideContext() {
return CallContext.builder().clientName(PROZESSOR_MANAGER_CLIENT_NAME).build();
}
}
package de.ozgcloud.processor.vorgang;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId;
import de.ozgcloud.apilib.vorgang.OzgCloudVorgangService;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
@Service("processorVorgangService")
@RequiredArgsConstructor
public class VorgangService {
private final OzgCloudVorgangService ozgCloudService;
private final ProcessorVorgangMapper mapper;
@Autowired
@Qualifier("processorManager_OzgCloudCommandService")
private OzgCloudVorgangService ozgCloudService;
@Autowired
private ProcessorVorgangMapper mapper;
public Vorgang getVorgang(@NonNull VorgangId id) {
var loaded = ozgCloudService.getById(OzgCloudVorgangId.from(id.toString()));
......
......@@ -2,12 +2,18 @@ package de.ozgcloud.processor;
import java.util.TimeZone;
import org.mockito.Mock;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc;
@SpringBootApplication(scanBasePackages = { "de.ozgcloud" })
public class ProcessorTestApplication {
@Mock
private VorgangServiceGrpc.VorgangServiceBlockingStub vorgangServiceStub;
public static void main(String[] args) {
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
SpringApplication.run(ProcessorTestApplication.class, args);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment