diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/common/callcontext/OzgCloudCallContextAttachingInterceptor.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/common/callcontext/OzgCloudCallContextAttachingInterceptor.java index 50a5ddc64c3cb9917b6064df34fca514976af369..b46e9263f14285ff3abd6f41b55b16172cb1f571 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/common/callcontext/OzgCloudCallContextAttachingInterceptor.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/common/callcontext/OzgCloudCallContextAttachingInterceptor.java @@ -16,9 +16,7 @@ import io.grpc.ForwardingClientCall.SimpleForwardingClientCall; import io.grpc.Metadata; import io.grpc.MethodDescriptor; import lombok.RequiredArgsConstructor; -import net.devh.boot.grpc.client.interceptor.GrpcGlobalClientInterceptor; -@GrpcGlobalClientInterceptor @RequiredArgsConstructor public class OzgCloudCallContextAttachingInterceptor implements ClientInterceptor { diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangService.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangService.java index 3cdba10574771336d6097d708ee4ac1c2062e116..31df378d1c8a0248032a9881ee08b5af2ab50fc4 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangService.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangService.java @@ -7,6 +7,8 @@ import de.itvsh.ozg.pluto.vorgang.GrpcFindVorgangRequest; import de.itvsh.ozg.pluto.vorgang.GrpcFindVorgangRequest.GrpcOrderBy; import de.itvsh.ozg.pluto.vorgang.GrpcFindVorgangWithEingangRequest; import de.itvsh.ozg.pluto.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub; +import de.ozgcloud.apilib.common.callcontext.OzgCloudCallContextAttachingInterceptor; +import de.ozgcloud.apilib.common.callcontext.OzgCloudCallContextProvider; import de.ozgcloud.apilib.vorgang.OzgCloudVorgang; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangId; import de.ozgcloud.apilib.vorgang.OzgCloudVorgangService; @@ -25,9 +27,11 @@ public class GrpcOzgCloudVorgangService implements OzgCloudVorgangService { private final OzgCloudVorgangMapper mapper; private final OzgCloudVorgangStubMapper stubMapper; + private final OzgCloudCallContextProvider contextProvider; + @Override public OzgCloudVorgang getById(@NonNull OzgCloudVorgangId vorgangId) { - var response = vorgangServiceStub.findVorgangWithEingang(buildRequest(vorgangId)); + var response = getVorgangServiceStub().findVorgangWithEingang(buildRequest(vorgangId)); return mapper.fromGrpc(response.getVorgangWithEingang()); } @@ -45,7 +49,7 @@ public class GrpcOzgCloudVorgangService implements OzgCloudVorgangService { @Override public List<OzgCloudVorgangStub> search(@NonNull String searchString, Page page) { - var response = vorgangServiceStub.findVorgang(buildSearchRequest(searchString, page)); + var response = getVorgangServiceStub().findVorgang(buildSearchRequest(searchString, page)); return response.getVorgangList().stream().map(stubMapper::fromGrpc).toList(); } @@ -60,4 +64,7 @@ public class GrpcOzgCloudVorgangService implements OzgCloudVorgangService { .build(); } + VorgangServiceBlockingStub getVorgangServiceStub() { + return vorgangServiceStub.withInterceptors(new OzgCloudCallContextAttachingInterceptor(contextProvider)); + } } diff --git a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangServiceTest.java b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangServiceTest.java index ad87c0e7ee60639e3d99ff2e33a331a7303e51f4..905f2734908fb0e9f8650fb9be7ec21e3812d7d8 100644 --- a/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangServiceTest.java +++ b/api-lib-core/src/test/java/de/ozgcloud/apilib/vorgang/grpc/GrpcOzgCloudVorgangServiceTest.java @@ -40,6 +40,7 @@ class GrpcOzgCloudVorgangServiceTest { @BeforeEach void init() { + when(stub.withInterceptors(any())).thenReturn(stub); when(stub.findVorgangWithEingang(any())).thenReturn(GrpcFindVorgangWithEingangResponseTestFactory.create()); } @@ -119,6 +120,7 @@ class GrpcOzgCloudVorgangServiceTest { @BeforeEach void init() { + when(stub.withInterceptors(any())).thenReturn(stub); when(stub.findVorgang(any())).thenReturn(RESPONSE); } diff --git a/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java b/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java index 4346546a300c8bd07f741e93526c5c94fc373191..8bb4eaee96acad8059ecf08aaa973a610e34150d 100644 --- a/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java +++ b/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java @@ -129,8 +129,8 @@ public class OzgCloudClientAutoConfiguration { @Bean("ozgCloudVorgangService") @ConditionalOnProperty("ozgcloud.vorgang-manager.address") public OzgCloudVorgangService grpcOzgCloudVorgangService(VorgangServiceBlockingStub vorgangServiceStub, OzgCloudVorgangMapper mapper, - OzgCloudVorgangStubMapper stubMapper) { - return new GrpcOzgCloudVorgangService(vorgangServiceStub, mapper, stubMapper); + OzgCloudVorgangStubMapper stubMapper, OzgCloudCallContextProvider contextProvider) { + return new GrpcOzgCloudVorgangService(vorgangServiceStub, mapper, stubMapper, contextProvider); } @Bean("ozgCloudVorgangService")