diff --git a/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraClientModule.java b/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraClientModule.java index 36e604d7b5e1..37cafbbce293 100644 --- a/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraClientModule.java +++ b/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraClientModule.java @@ -61,18 +61,9 @@ public class CassandraClientModule extends AbstractConfigurationAwareModule { - private final TypeManager typeManager; - - public CassandraClientModule(TypeManager typeManager) - { - this.typeManager = requireNonNull(typeManager, "typeManager is null"); - } - @Override public void setup(Binder binder) { - binder.bind(TypeManager.class).toInstance(typeManager); - verifyConnectorUnsafeAllowed(binder, "cassandra"); binder.bind(CassandraConnector.class).in(Scopes.SINGLETON); diff --git a/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraConnectorFactory.java b/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraConnectorFactory.java index c13f51421c82..273427eac06a 100644 --- a/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraConnectorFactory.java +++ b/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraConnectorFactory.java @@ -48,7 +48,7 @@ public Connector create(String catalogName, Map config, Connecto new ConnectorContextModule(catalogName, context), new MBeanModule(), new JsonModule(), - new CassandraClientModule(context.getTypeManager()), + new CassandraClientModule(), new MBeanServerModule()); Injector injector = app.doNotInitializeLogging() diff --git a/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerConnectorFactory.java b/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerConnectorFactory.java index 53ba7e61d174..f7d9120419aa 100644 --- a/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerConnectorFactory.java +++ b/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerConnectorFactory.java @@ -16,6 +16,7 @@ import com.google.inject.Injector; import io.airlift.bootstrap.Bootstrap; +import io.trino.plugin.base.ConnectorContextModule; import io.trino.spi.connector.Connector; import io.trino.spi.connector.ConnectorContext; import io.trino.spi.connector.ConnectorFactory; @@ -48,7 +49,10 @@ public Connector create(String catalogName, Map requiredConfig, requireNonNull(context, "context is null"); checkStrictSpiVersionMatch(context, this); - Bootstrap app = new Bootstrap("io.trino.bootstrap.catalog." + catalogName, new FakerModule(context.getTypeManager())); + Bootstrap app = new Bootstrap( + "io.trino.bootstrap.catalog." + catalogName, + new ConnectorContextModule(catalogName, context), + new FakerModule()); Injector injector = app .doNotInitializeLogging() diff --git a/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerModule.java b/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerModule.java index c1d5272f8978..e87133b574ff 100644 --- a/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerModule.java +++ b/plugin/trino-faker/src/main/java/io/trino/plugin/faker/FakerModule.java @@ -15,30 +15,17 @@ package io.trino.plugin.faker; import com.google.inject.Binder; -import com.google.inject.Inject; import com.google.inject.Module; import com.google.inject.Scopes; -import io.trino.spi.type.TypeManager; import static io.airlift.configuration.ConfigBinder.configBinder; -import static java.util.Objects.requireNonNull; public class FakerModule implements Module { - private final TypeManager typeManager; - - @Inject - public FakerModule(TypeManager typeManager) - { - this.typeManager = requireNonNull(typeManager, "typeManager is null"); - } - @Override public void configure(Binder binder) { - binder.bind(TypeManager.class).toInstance(typeManager); - binder.bind(FakerConnector.class).in(Scopes.SINGLETON); binder.bind(FakerMetadata.class).in(Scopes.SINGLETON); binder.bind(FakerSplitManager.class).in(Scopes.SINGLETON); diff --git a/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryConnectorFactory.java b/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryConnectorFactory.java index 207b38a9bf86..d40fddfd4a49 100644 --- a/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryConnectorFactory.java +++ b/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryConnectorFactory.java @@ -16,6 +16,7 @@ import com.google.inject.Injector; import io.airlift.bootstrap.Bootstrap; import io.airlift.json.JsonModule; +import io.trino.plugin.base.ConnectorContextModule; import io.trino.spi.connector.Connector; import io.trino.spi.connector.ConnectorContext; import io.trino.spi.connector.ConnectorFactory; @@ -44,7 +45,8 @@ public Connector create(String catalogName, Map requiredConfig, Bootstrap app = new Bootstrap( "io.trino.bootstrap.catalog." + catalogName, new JsonModule(), - new MemoryModule(context.getTypeManager(), context.getCurrentNode(), context.getNodeManager())); + new ConnectorContextModule(catalogName, context), + new MemoryModule()); Injector injector = app .doNotInitializeLogging() diff --git a/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryModule.java b/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryModule.java index d26ca1f9547a..89be8e66cb76 100644 --- a/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryModule.java +++ b/plugin/trino-memory/src/main/java/io/trino/plugin/memory/MemoryModule.java @@ -16,34 +16,15 @@ import com.google.inject.Binder; import com.google.inject.Module; import com.google.inject.Scopes; -import io.trino.spi.Node; -import io.trino.spi.NodeManager; -import io.trino.spi.type.TypeManager; import static io.airlift.configuration.ConfigBinder.configBinder; -import static java.util.Objects.requireNonNull; public class MemoryModule implements Module { - private final TypeManager typeManager; - private final Node currentNode; - private final NodeManager nodeManager; - - public MemoryModule(TypeManager typeManager, Node currentNode, NodeManager nodeManager) - { - this.typeManager = requireNonNull(typeManager, "typeManager is null"); - this.currentNode = requireNonNull(currentNode, "currentNode is null"); - this.nodeManager = requireNonNull(nodeManager, "nodeManager is null"); - } - @Override public void configure(Binder binder) { - binder.bind(TypeManager.class).toInstance(typeManager); - binder.bind(Node.class).toInstance(currentNode); - binder.bind(NodeManager.class).toInstance(nodeManager); - binder.bind(MemoryConnector.class).in(Scopes.SINGLETON); binder.bind(MemoryMetadata.class).in(Scopes.SINGLETON); binder.bind(MemorySplitManager.class).in(Scopes.SINGLETON); diff --git a/plugin/trino-tpcds/src/main/java/io/trino/plugin/tpcds/TpcdsConnectorFactory.java b/plugin/trino-tpcds/src/main/java/io/trino/plugin/tpcds/TpcdsConnectorFactory.java index d2edb22fdd26..3363b849a4ec 100644 --- a/plugin/trino-tpcds/src/main/java/io/trino/plugin/tpcds/TpcdsConnectorFactory.java +++ b/plugin/trino-tpcds/src/main/java/io/trino/plugin/tpcds/TpcdsConnectorFactory.java @@ -15,6 +15,7 @@ import com.google.inject.Injector; import io.airlift.bootstrap.Bootstrap; +import io.trino.plugin.base.ConnectorContextModule; import io.trino.spi.connector.Connector; import io.trino.spi.connector.ConnectorContext; import io.trino.spi.connector.ConnectorFactory; @@ -37,7 +38,10 @@ public Connector create(String catalogName, Map config, Connecto { checkStrictSpiVersionMatch(context, this); - Bootstrap app = new Bootstrap("io.trino.bootstrap.catalog." + catalogName, new TpcdsModule(context.getNodeManager())); + Bootstrap app = new Bootstrap( + "io.trino.bootstrap.catalog." + catalogName, + new ConnectorContextModule(catalogName, context), + new TpcdsModule()); Injector injector = app .doNotInitializeLogging() diff --git a/plugin/trino-tpcds/src/main/java/io/trino/plugin/tpcds/TpcdsModule.java b/plugin/trino-tpcds/src/main/java/io/trino/plugin/tpcds/TpcdsModule.java index d3a746601b90..5b18dddc512d 100644 --- a/plugin/trino-tpcds/src/main/java/io/trino/plugin/tpcds/TpcdsModule.java +++ b/plugin/trino-tpcds/src/main/java/io/trino/plugin/tpcds/TpcdsModule.java @@ -16,26 +16,16 @@ import com.google.inject.Binder; import com.google.inject.Module; import com.google.inject.Scopes; -import io.trino.spi.NodeManager; import static io.airlift.configuration.ConfigBinder.configBinder; -import static java.util.Objects.requireNonNull; public class TpcdsModule implements Module { - private final NodeManager nodeManager; - - public TpcdsModule(NodeManager nodeManager) - { - this.nodeManager = requireNonNull(nodeManager, "nodeManager is null"); - } - @Override public void configure(Binder binder) { configBinder(binder).bindConfig(TpcdsConfig.class); - binder.bind(NodeManager.class).toInstance(nodeManager); binder.bind(TpcdsSessionProperties.class).in(Scopes.SINGLETON); binder.bind(TpcdsMetadata.class).in(Scopes.SINGLETON); binder.bind(TpcdsSplitManager.class).in(Scopes.SINGLETON); diff --git a/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchConnectorFactory.java b/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchConnectorFactory.java index 7fe4463cd225..8ccbcaa354a3 100644 --- a/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchConnectorFactory.java +++ b/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchConnectorFactory.java @@ -65,7 +65,7 @@ public Connector create(String catalogName, Map properties, Conn new ConnectorContextModule(catalogName, context), new MBeanModule(), new JsonModule(), - new TpchModule(context.getNodeManager(), defaultSplitsPerNode, predicatePushdownEnabled), + new TpchModule(defaultSplitsPerNode, predicatePushdownEnabled), new MBeanServerModule()); Injector injector = app diff --git a/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchModule.java b/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchModule.java index 38c7530a5a73..61028f1ffa8f 100644 --- a/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchModule.java +++ b/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchModule.java @@ -16,7 +16,6 @@ import com.google.inject.Binder; import com.google.inject.Scopes; import io.airlift.configuration.AbstractConfigurationAwareModule; -import io.trino.spi.NodeManager; import io.trino.spi.connector.Connector; import io.trino.spi.connector.ConnectorMetadata; import io.trino.spi.connector.ConnectorNodePartitioningProvider; @@ -24,18 +23,15 @@ import io.trino.spi.connector.ConnectorSplitManager; import static io.airlift.configuration.ConfigBinder.configBinder; -import static java.util.Objects.requireNonNull; public class TpchModule extends AbstractConfigurationAwareModule { - private final NodeManager nodeManager; private final int defaultSplitsPerNode; private final boolean predicatePushdownEnabled; - public TpchModule(NodeManager nodeManager, int defaultSplitsPerNode, boolean predicatePushdownEnabled) + public TpchModule(int defaultSplitsPerNode, boolean predicatePushdownEnabled) { - this.nodeManager = requireNonNull(nodeManager, "nodeManager is null"); this.defaultSplitsPerNode = defaultSplitsPerNode; this.predicatePushdownEnabled = predicatePushdownEnabled; } @@ -43,7 +39,6 @@ public TpchModule(NodeManager nodeManager, int defaultSplitsPerNode, boolean pre @Override protected void setup(Binder binder) { - binder.bind(NodeManager.class).toInstance(nodeManager); binder.bind(Connector.class).to(TpchConnector.class).in(Scopes.SINGLETON); binder.bind(ConnectorMetadata.class).to(TpchMetadata.class).in(Scopes.SINGLETON); binder.bind(ConnectorPageSourceProvider.class).to(TpchPageSourceProvider.class).in(Scopes.SINGLETON);