From 381723e8255207811aa5215434020adc52c6926a Mon Sep 17 00:00:00 2001 From: Aaron Steinfeld Date: Mon, 28 Nov 2022 12:12:03 -0500 Subject: [PATCH] refactor: allow building service using definition --- platform-grpc-service-framework/build.gradle.kts | 4 ++-- .../serviceframework/grpc/GrpcPlatformService.java | 11 ++++++++++- .../grpc/GrpcPlatformServiceContainer.java | 2 +- platform-http-service-framework/build.gradle.kts | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/platform-grpc-service-framework/build.gradle.kts b/platform-grpc-service-framework/build.gradle.kts index 914e285..eb757a2 100644 --- a/platform-grpc-service-framework/build.gradle.kts +++ b/platform-grpc-service-framework/build.gradle.kts @@ -10,7 +10,7 @@ dependencies { api(platform("io.grpc:grpc-bom:1.47.0")) api("io.grpc:grpc-api") api("io.grpc:grpc-services") - api("org.hypertrace.core.grpcutils:grpc-client-utils:0.7.6") + api("org.hypertrace.core.grpcutils:grpc-client-utils:0.9.1") api("com.typesafe:config:1.4.2") api(project(":service-framework-spi")) @@ -18,5 +18,5 @@ dependencies { compileOnly("org.projectlombok:lombok:1.18.24") implementation("org.slf4j:slf4j-api:1.7.36") - implementation("org.hypertrace.core.grpcutils:grpc-server-utils:0.7.6") + implementation("org.hypertrace.core.grpcutils:grpc-server-utils:0.9.1") } diff --git a/platform-grpc-service-framework/src/main/java/org/hypertrace/core/serviceframework/grpc/GrpcPlatformService.java b/platform-grpc-service-framework/src/main/java/org/hypertrace/core/serviceframework/grpc/GrpcPlatformService.java index 813d54e..c474b27 100644 --- a/platform-grpc-service-framework/src/main/java/org/hypertrace/core/serviceframework/grpc/GrpcPlatformService.java +++ b/platform-grpc-service-framework/src/main/java/org/hypertrace/core/serviceframework/grpc/GrpcPlatformService.java @@ -1,9 +1,18 @@ package org.hypertrace.core.serviceframework.grpc; import io.grpc.BindableService; +import io.grpc.ServerServiceDefinition; import lombok.Value; @Value public class GrpcPlatformService { - BindableService grpcService; + ServerServiceDefinition grpcServiceDefinition; + + public GrpcPlatformService(BindableService grpcService) { + this(grpcService.bindService()); + } + + public GrpcPlatformService(ServerServiceDefinition grpcService) { + this.grpcServiceDefinition = grpcService; + } } diff --git a/platform-grpc-service-framework/src/main/java/org/hypertrace/core/serviceframework/grpc/GrpcPlatformServiceContainer.java b/platform-grpc-service-framework/src/main/java/org/hypertrace/core/serviceframework/grpc/GrpcPlatformServiceContainer.java index aee0415..34de8e5 100644 --- a/platform-grpc-service-framework/src/main/java/org/hypertrace/core/serviceframework/grpc/GrpcPlatformServiceContainer.java +++ b/platform-grpc-service-framework/src/main/java/org/hypertrace/core/serviceframework/grpc/GrpcPlatformServiceContainer.java @@ -94,7 +94,7 @@ private ConstructedServer constructServer( serverDefinition.getServiceFactories().stream() .map(factory -> factory.buildServices(containerEnvironment)) .flatMap(Collection::stream) - .map(GrpcPlatformService::getGrpcService) + .map(GrpcPlatformService::getGrpcServiceDefinition) .map(InterceptorUtil::wrapInterceptors) .forEach( service -> { diff --git a/platform-http-service-framework/build.gradle.kts b/platform-http-service-framework/build.gradle.kts index 5a77c48..072e141 100644 --- a/platform-http-service-framework/build.gradle.kts +++ b/platform-http-service-framework/build.gradle.kts @@ -5,7 +5,7 @@ plugins { dependencies { api(project(":platform-service-framework")) - api("org.hypertrace.core.grpcutils:grpc-client-utils:0.7.6") + api("org.hypertrace.core.grpcutils:grpc-client-utils:0.9.1") api("com.typesafe:config:1.4.2") api("javax.servlet:javax.servlet-api:4.0.1") api("com.google.inject:guice:5.1.0")