From dfd6bae92043cd37880aef7ed732f44730dd7218 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 17 Oct 2023 19:09:19 +0200 Subject: [PATCH] OZG-4390 set interceptor for each request --- .../OzgCloudCallContextAttachingInterceptor.java | 2 -- .../vorgang/grpc/GrpcOzgCloudVorgangService.java | 11 +++++++++-- .../vorgang/grpc/GrpcOzgCloudVorgangServiceTest.java | 2 ++ .../OzgCloudClientAutoConfiguration.java | 4 ++-- 4 files changed, 13 insertions(+), 6 deletions(-) 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 50a5ddc..b46e926 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 3cdba10..31df378 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 ad87c0e..905f273 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 4346546..8bb4eae 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") -- GitLab