From 96211ecea26e8b16576fa6da29328683f3a4c96c Mon Sep 17 00:00:00 2001 From: Colin Alworth Date: Fri, 17 Dec 2021 13:41:14 -0600 Subject: [PATCH] Move uri resolvers+wiring to uri (#1706) These classes are specific to uri but lived in grpc-api server packages. These could also end up in their own module just for reuse in other projects that want to register, expose their own set of resolvers, but the simplest refactor was to move to :java-client-uri. Partial #1270 --- .../grpc_api/runner/DeephavenApiServer.java | 6 +++--- .../deephaven/grpc_api/uri/ApplicationResolver.java | 2 ++ .../deephaven/grpc_api/uri/BarrageTableResolver.java | 2 ++ .../io/deephaven/grpc_api/uri/CsvTableResolver.java | 2 ++ .../deephaven/grpc_api/uri/ParquetTableResolver.java | 2 ++ .../deephaven/grpc_api/uri/QueryScopeResolver.java | 2 ++ .../java/io/deephaven/grpc_api/uri/UriModule.java | 12 ++++++++++++ .../src/main/java/io/deephaven/uri/ResolveTools.java | 4 ++-- .../java/io/deephaven/uri/resolver}/UriResolver.java | 2 +- .../io/deephaven/uri/resolver}/UriResolvers.java | 6 +----- .../uri/resolver}/UriResolversInstance.java | 2 +- 11 files changed, 30 insertions(+), 12 deletions(-) rename {grpc-api => java-client/uri}/src/main/java/io/deephaven/uri/ResolveTools.java (89%) rename {grpc-api/src/main/java/io/deephaven/grpc_api/uri => java-client/uri/src/main/java/io/deephaven/uri/resolver}/UriResolver.java (95%) rename {grpc-api/src/main/java/io/deephaven/grpc_api/uri => java-client/uri/src/main/java/io/deephaven/uri/resolver}/UriResolvers.java (94%) rename {grpc-api/src/main/java/io/deephaven/grpc_api/uri => java-client/uri/src/main/java/io/deephaven/uri/resolver}/UriResolversInstance.java (93%) diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/runner/DeephavenApiServer.java b/grpc-api/src/main/java/io/deephaven/grpc_api/runner/DeephavenApiServer.java index 0baa06462e8..86e35126fda 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/runner/DeephavenApiServer.java +++ b/grpc-api/src/main/java/io/deephaven/grpc_api/runner/DeephavenApiServer.java @@ -10,11 +10,11 @@ import io.deephaven.grpc_api.console.ConsoleServiceGrpcImpl; import io.deephaven.grpc_api.log.LogInit; import io.deephaven.grpc_api.session.SessionService; -import io.deephaven.grpc_api.uri.UriResolver; -import io.deephaven.grpc_api.uri.UriResolvers; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; -import io.deephaven.grpc_api.uri.UriResolversInstance; +import io.deephaven.uri.resolver.UriResolver; +import io.deephaven.uri.resolver.UriResolvers; +import io.deephaven.uri.resolver.UriResolversInstance; import io.deephaven.util.annotations.VisibleForTesting; import io.deephaven.util.process.ProcessEnvironment; import io.deephaven.util.process.ShutdownManager; diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/ApplicationResolver.java b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/ApplicationResolver.java index ae84ab0b055..12291cb2a1b 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/ApplicationResolver.java +++ b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/ApplicationResolver.java @@ -5,6 +5,8 @@ import io.deephaven.grpc_api.appmode.ApplicationStates; import io.deephaven.uri.ApplicationUri; import io.deephaven.uri.DeephavenUri; +import io.deephaven.uri.resolver.UriResolver; +import io.deephaven.uri.resolver.UriResolversInstance; import javax.inject.Inject; import java.net.URI; diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/BarrageTableResolver.java b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/BarrageTableResolver.java index 02dc419aa43..49d97bec6d8 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/BarrageTableResolver.java +++ b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/BarrageTableResolver.java @@ -16,6 +16,8 @@ import io.deephaven.uri.QueryScopeUri; import io.deephaven.uri.RemoteUri; import io.deephaven.uri.StructuredUri.Visitor; +import io.deephaven.uri.resolver.UriResolver; +import io.deephaven.uri.resolver.UriResolversInstance; import io.grpc.ManagedChannel; import org.apache.arrow.memory.BufferAllocator; diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/CsvTableResolver.java b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/CsvTableResolver.java index 0c3609910a6..f79b6e0f8a7 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/CsvTableResolver.java +++ b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/CsvTableResolver.java @@ -2,6 +2,8 @@ import io.deephaven.csv.CsvTools; import io.deephaven.engine.table.Table; +import io.deephaven.uri.resolver.UriResolver; +import io.deephaven.uri.resolver.UriResolversInstance; import javax.inject.Inject; import java.io.IOException; diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/ParquetTableResolver.java b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/ParquetTableResolver.java index 5accfca23b6..7806910236b 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/ParquetTableResolver.java +++ b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/ParquetTableResolver.java @@ -3,6 +3,8 @@ import io.deephaven.engine.table.Table; import io.deephaven.parquet.table.ParquetTools; import io.deephaven.uri.UriHelper; +import io.deephaven.uri.resolver.UriResolver; +import io.deephaven.uri.resolver.UriResolversInstance; import javax.inject.Inject; import java.net.URI; diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/QueryScopeResolver.java b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/QueryScopeResolver.java index 24d45f33781..8648d351e30 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/QueryScopeResolver.java +++ b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/QueryScopeResolver.java @@ -3,6 +3,8 @@ import io.deephaven.grpc_api.console.GlobalSessionProvider; import io.deephaven.uri.DeephavenUri; import io.deephaven.uri.QueryScopeUri; +import io.deephaven.uri.resolver.UriResolver; +import io.deephaven.uri.resolver.UriResolversInstance; import javax.inject.Inject; import java.net.URI; diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriModule.java b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriModule.java index 203daf85c2b..0a574066182 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriModule.java +++ b/grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriModule.java @@ -2,8 +2,14 @@ import dagger.Binds; import dagger.Module; +import dagger.Provides; import dagger.multibindings.IntoSet; import io.deephaven.grpc_api.barrage.BarrageClientModule; +import io.deephaven.uri.resolver.UriResolver; +import io.deephaven.uri.resolver.UriResolvers; + +import javax.inject.Singleton; +import java.util.Set; /** * Installs the {@link UriResolver URI resolvers}. See each specific resolver for more information. @@ -36,4 +42,10 @@ public interface UriModule { @Binds @IntoSet UriResolver bindParquetResolver(ParquetTableResolver resolver); + + @Provides + @Singleton + static UriResolvers bindResolvers(Set resolvers) { + return new UriResolvers(resolvers); + } } diff --git a/grpc-api/src/main/java/io/deephaven/uri/ResolveTools.java b/java-client/uri/src/main/java/io/deephaven/uri/ResolveTools.java similarity index 89% rename from grpc-api/src/main/java/io/deephaven/uri/ResolveTools.java rename to java-client/uri/src/main/java/io/deephaven/uri/ResolveTools.java index 7f796529f9f..fe292b79553 100644 --- a/grpc-api/src/main/java/io/deephaven/uri/ResolveTools.java +++ b/java-client/uri/src/main/java/io/deephaven/uri/ResolveTools.java @@ -1,7 +1,7 @@ package io.deephaven.uri; -import io.deephaven.grpc_api.uri.UriResolver; -import io.deephaven.grpc_api.uri.UriResolversInstance; +import io.deephaven.uri.resolver.UriResolver; +import io.deephaven.uri.resolver.UriResolversInstance; import java.net.URI; diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriResolver.java b/java-client/uri/src/main/java/io/deephaven/uri/resolver/UriResolver.java similarity index 95% rename from grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriResolver.java rename to java-client/uri/src/main/java/io/deephaven/uri/resolver/UriResolver.java index 0febaabb09c..fbb562ad3e7 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriResolver.java +++ b/java-client/uri/src/main/java/io/deephaven/uri/resolver/UriResolver.java @@ -1,4 +1,4 @@ -package io.deephaven.grpc_api.uri; +package io.deephaven.uri.resolver; import java.net.URI; import java.util.Set; diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriResolvers.java b/java-client/uri/src/main/java/io/deephaven/uri/resolver/UriResolvers.java similarity index 94% rename from grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriResolvers.java rename to java-client/uri/src/main/java/io/deephaven/uri/resolver/UriResolvers.java index f104f0eb9fb..4ce45d9d0fc 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriResolvers.java +++ b/java-client/uri/src/main/java/io/deephaven/uri/resolver/UriResolvers.java @@ -1,7 +1,5 @@ -package io.deephaven.grpc_api.uri; +package io.deephaven.uri.resolver; -import javax.inject.Inject; -import javax.inject.Singleton; import java.net.URI; import java.util.Collections; import java.util.HashMap; @@ -13,13 +11,11 @@ import java.util.Set; import java.util.stream.Collectors; -@Singleton public final class UriResolvers { private final Set resolvers; private final Map> map; - @Inject public UriResolvers(Set resolvers) { this.resolvers = Objects.requireNonNull(resolvers); map = new HashMap<>(); diff --git a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriResolversInstance.java b/java-client/uri/src/main/java/io/deephaven/uri/resolver/UriResolversInstance.java similarity index 93% rename from grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriResolversInstance.java rename to java-client/uri/src/main/java/io/deephaven/uri/resolver/UriResolversInstance.java index cdefce32bbb..0f15bc9552f 100644 --- a/grpc-api/src/main/java/io/deephaven/grpc_api/uri/UriResolversInstance.java +++ b/java-client/uri/src/main/java/io/deephaven/uri/resolver/UriResolversInstance.java @@ -1,4 +1,4 @@ -package io.deephaven.grpc_api.uri; +package io.deephaven.uri.resolver; import java.util.Objects;