This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new 396b2c11d CAY-2984 Remove "DataChannel" injectable dependency
396b2c11d is described below

commit 396b2c11da46fdf999cb6d2025e384c3a2b18dd1
Author: Andrus Adamchik <[email protected]>
AuthorDate: Tue Jul 21 18:05:18 2026 +0200

    CAY-2984 Remove "DataChannel" injectable dependency
---
 RELEASE-NOTES.txt                                  |  1 +
 .../value/DefaultValueTransformerFactoryIT.java    |  8 ++---
 .../cayenne/lifecycle/id/EntityIdCoderTest.java    |  3 +-
 .../apache/cayenne/lifecycle/id/IdCoderTest.java   | 10 +++---
 .../org/apache/cayenne/access/DataContext.java     |  2 +-
 .../meta/AnnotationCommitLogEntityFactory.java     | 12 +++----
 .../cayenne/configuration/runtime/CoreModule.java  | 25 ++++++-------
 .../runtime/DomainDataChannelProvider.java         | 41 ----------------------
 .../org/apache/cayenne/runtime/CayenneRuntime.java | 26 +++++++-------
 .../org/apache/cayenne/access/DataContextTest.java | 15 +++++---
 .../access/jdbc/BatchActionGeneratedIT.java        |  6 ++--
 .../apache/cayenne/access/jdbc/BatchActionIT.java  |  4 +--
 .../apache/cayenne/runtime/CayenneRuntimeTest.java | 36 -------------------
 13 files changed, 57 insertions(+), 132 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 17bd960ef..d1e8ca322 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -30,6 +30,7 @@ CAY-2979 AI skill: "cayenne-full-db-sync"
 CAY-2980 Improve model name generation
 CAY-2982 Modeler: when upgrading projects allow upgraders to send outcome 
messages
 CAY-2983 CayenneDataSource: Public-facing DataSource builder
+CAY-2984 Remove "DataChannel" injectable dependency
 
 Bug Fixes:
 
diff --git 
a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryIT.java
 
b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryIT.java
index e0d5f7647..b4c15bb54 100644
--- 
a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryIT.java
+++ 
b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/transformer/value/DefaultValueTransformerFactoryIT.java
@@ -54,10 +54,10 @@ public class DefaultValueTransformerFactoryIT {
     @BeforeAll
     public static void beforeClass() throws Exception {
         CayenneRuntime runtime = 
CayenneRuntime.of().addConfig("cayenne-crypto.xml").build();
-        t1 = runtime.getChannel().getEntityResolver().getDbEntity("TABLE1");
-        t2 = runtime.getChannel().getEntityResolver().getDbEntity("TABLE2");
-        t3 = runtime.getChannel().getEntityResolver().getDbEntity("TABLE3");
-        t5 = runtime.getChannel().getEntityResolver().getDbEntity("TABLE5");
+        t1 = runtime.getDataDomain().getEntityResolver().getDbEntity("TABLE1");
+        t2 = runtime.getDataDomain().getEntityResolver().getDbEntity("TABLE2");
+        t3 = runtime.getDataDomain().getEntityResolver().getDbEntity("TABLE3");
+        t5 = runtime.getDataDomain().getEntityResolver().getDbEntity("TABLE5");
 
         dbToBytes = getDefaultDbConverters();
         objectToBytes = getDefaultObjectConverters();
diff --git 
a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
 
b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
index 67c9a8855..983d2d5ee 100644
--- 
a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
+++ 
b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/EntityIdCoderTest.java
@@ -59,8 +59,7 @@ public class EntityIdCoderTest {
     @Test
     public void tempId() {
 
-        ObjEntity e1 = runtime.getChannel().getEntityResolver()
-                .getObjEntity("E1");
+        ObjEntity e1 = 
runtime.getDataDomain().getEntityResolver().getObjEntity("E1");
         EntityIdCoder coder = new EntityIdCoder(e1);
 
         byte[] key = new byte[] { 2, 2, 10, 100 };
diff --git 
a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
 
b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
index 12a3aad0b..fa250098f 100644
--- 
a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
+++ 
b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
@@ -43,7 +43,7 @@ public class IdCoderTest {
 
     @Test
     public void getStringId() {
-        IdCoder handler = new 
IdCoder(runtime.getChannel().getEntityResolver());
+        IdCoder handler = new 
IdCoder(runtime.getDataDomain().getEntityResolver());
 
         E1 e1 = new E1();
         e1.setObjectId(ObjectId.of("E1", "ID", 5));
@@ -52,13 +52,13 @@ public class IdCoderTest {
 
     @Test
     public void getStringId_ObjectId() {
-        IdCoder handler = new 
IdCoder(runtime.getChannel().getEntityResolver());
+        IdCoder handler = new 
IdCoder(runtime.getDataDomain().getEntityResolver());
         assertEquals("E1:5", handler.getStringId(ObjectId.of("E1", "ID", 5)));
     }
 
     @Test
     public void getStringId_Temp() {
-        IdCoder handler = new 
IdCoder(runtime.getChannel().getEntityResolver());
+        IdCoder handler = new 
IdCoder(runtime.getDataDomain().getEntityResolver());
 
         byte[] key = new byte[] { 1, 2, 10, 100 };
 
@@ -70,7 +70,7 @@ public class IdCoderTest {
 
     @Test
     public void getObjectId_Temp() {
-        IdCoder handler = new 
IdCoder(runtime.getChannel().getEntityResolver());
+        IdCoder handler = new 
IdCoder(runtime.getDataDomain().getEntityResolver());
 
         byte[] key = new byte[] { 1, (byte) 0xD7, 10, 100 };
 
@@ -80,7 +80,7 @@ public class IdCoderTest {
 
     @Test
     public void getSringId_TempWithReplacement() {
-        IdCoder handler = new 
IdCoder(runtime.getChannel().getEntityResolver());
+        IdCoder handler = new 
IdCoder(runtime.getDataDomain().getEntityResolver());
 
         byte[] key = new byte[] { 5, 2, 11, 99 };
         ObjectId id = ObjectId.of("E1", key);
diff --git a/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java 
b/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java
index 27a26c2a4..9272d2755 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java
@@ -223,7 +223,7 @@ public class DataContext implements ObjectContext {
      * @since 3.1
      */
     protected void attachToRuntime(Injector injector) {
-        attachToChannel(injector.getInstance(DataChannel.class));
+        attachToChannel(injector.getInstance(DataDomain.class));
         setQueryCache(new 
NestedQueryCache(injector.getInstance(QueryCache.class)));
     }
 
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/commitlog/meta/AnnotationCommitLogEntityFactory.java
 
b/cayenne/src/main/java/org/apache/cayenne/commitlog/meta/AnnotationCommitLogEntityFactory.java
index 245c4819e..18e82a3b8 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/commitlog/meta/AnnotationCommitLogEntityFactory.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/commitlog/meta/AnnotationCommitLogEntityFactory.java
@@ -21,8 +21,8 @@ package org.apache.cayenne.commitlog.meta;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
-import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.ObjectId;
+import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.annotation.CommitLog;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
@@ -59,15 +59,15 @@ public class AnnotationCommitLogEntityFactory implements 
CommitLogEntityFactory
                }
        };
 
-       private Provider<DataChannel> channelProvider;
+       private Provider<DataDomain> domainProvider;
        private ConcurrentMap<String, CommitLogEntity> entities;
 
-       public AnnotationCommitLogEntityFactory(@Inject Provider<DataChannel> 
channelProvider) {
+       public AnnotationCommitLogEntityFactory(@Inject Provider<DataDomain> 
domainProvider) {
                this.entities = new ConcurrentHashMap<>();
 
-               // injecting provider instead of DataChannel, as otherwise we 
end up
+               // injecting provider instead of DataDomain, as otherwise we 
end up
                // with circular dependency.
-               this.channelProvider = channelProvider;
+               this.domainProvider = domainProvider;
        }
 
        @Override
@@ -85,7 +85,7 @@ public class AnnotationCommitLogEntityFactory implements 
CommitLogEntityFactory
        }
 
        private EntityResolver getEntityResolver() {
-               return channelProvider.get().getEntityResolver();
+               return domainProvider.get().getEntityResolver();
        }
 
        private CommitLogEntity createDescriptor(String entityName) {
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/CoreModule.java
 
b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/CoreModule.java
index 6e76dd343..dc785a235 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/CoreModule.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/CoreModule.java
@@ -18,12 +18,8 @@
  ****************************************************************/
 package org.apache.cayenne.configuration.runtime;
 
-import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.DataChannelQueryFilter;
 import org.apache.cayenne.DataChannelSyncFilter;
-import org.apache.cayenne.commitlog.CommitLogFilter;
-import org.apache.cayenne.commitlog.meta.IncludeAllCommitLogEntityFactory;
-import org.apache.cayenne.commitlog.meta.CommitLogEntityFactory;
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DataRowStoreFactory;
 import org.apache.cayenne.access.DefaultDataRowStoreFactory;
@@ -35,25 +31,31 @@ import 
org.apache.cayenne.access.flush.DataDomainFlushActionFactory;
 import org.apache.cayenne.access.flush.DefaultDataDomainFlushActionFactory;
 import org.apache.cayenne.access.flush.operation.DbRowOpSorter;
 import org.apache.cayenne.access.flush.operation.DefaultDbRowOpSorter;
-import org.apache.cayenne.access.flush.operation.HardDeleteDbRowOpFactory;
 import org.apache.cayenne.access.flush.operation.DeleteDbRowOpFactory;
-import org.apache.cayenne.access.translator.SQLTemplateTranslator;
+import org.apache.cayenne.access.flush.operation.HardDeleteDbRowOpFactory;
 import org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory;
 import org.apache.cayenne.access.jdbc.reader.RowReaderFactory;
 import org.apache.cayenne.access.translator.BatchTranslator;
+import org.apache.cayenne.access.translator.EJBQLTranslator;
+import org.apache.cayenne.access.translator.ProcedureTranslator;
+import org.apache.cayenne.access.translator.SQLTemplateTranslator;
+import org.apache.cayenne.access.translator.SelectTranslator;
 import org.apache.cayenne.access.translator.batch.DeleteBatchTranslator;
 import org.apache.cayenne.access.translator.batch.InsertBatchTranslator;
 import org.apache.cayenne.access.translator.batch.UpdateBatchTranslator;
 import 
org.apache.cayenne.access.translator.ejbql.DbAdapterDelegatedEJBQLTranslator;
-import org.apache.cayenne.access.translator.EJBQLTranslator;
 import 
org.apache.cayenne.access.translator.procedure.DbAdapterDelegatedProcedureTranslator;
-import org.apache.cayenne.access.translator.ProcedureTranslator;
 import 
org.apache.cayenne.access.translator.select.DbAdapterDelegatedSelectTranslator;
-import org.apache.cayenne.access.translator.SelectTranslator;
+import 
org.apache.cayenne.access.translator.sqltemplate.DefaultSQLTemplateTranslator;
+import 
org.apache.cayenne.access.translator.sqltemplate.DefaultTemplateContextFactory;
+import org.apache.cayenne.access.translator.sqltemplate.TemplateContextFactory;
 import org.apache.cayenne.access.types.*;
 import org.apache.cayenne.ashwood.AshwoodEntitySorter;
 import org.apache.cayenne.cache.MapQueryCacheProvider;
 import org.apache.cayenne.cache.QueryCache;
+import org.apache.cayenne.commitlog.CommitLogFilter;
+import org.apache.cayenne.commitlog.meta.CommitLogEntityFactory;
+import org.apache.cayenne.commitlog.meta.IncludeAllCommitLogEntityFactory;
 import org.apache.cayenne.configuration.ConfigurationNameMapper;
 import org.apache.cayenne.configuration.Constants;
 import org.apache.cayenne.configuration.DataChannelDescriptorLoader;
@@ -129,9 +131,6 @@ import 
org.apache.cayenne.reflect.generic.DefaultValueComparisonStrategyFactory;
 import org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory;
 import org.apache.cayenne.resource.ClassLoaderResourceLocator;
 import org.apache.cayenne.resource.ResourceLocator;
-import 
org.apache.cayenne.access.translator.sqltemplate.DefaultSQLTemplateTranslator;
-import 
org.apache.cayenne.access.translator.sqltemplate.DefaultTemplateContextFactory;
-import org.apache.cayenne.access.translator.sqltemplate.TemplateContextFactory;
 import org.apache.cayenne.tx.DefaultTransactionFactory;
 import org.apache.cayenne.tx.DefaultTransactionManager;
 import org.apache.cayenne.tx.TransactionFactory;
@@ -437,8 +436,6 @@ public class CoreModule implements Module {
         binder.bind(DataDomain.class).toProvider(DataDomainProvider.class);
         binder.bind(DataNodeFactory.class).to(DefaultDataNodeFactory.class);
 
-        // will return DataDomain for request for a DataChannel
-        
binder.bind(DataChannel.class).toProvider(DomainDataChannelProvider.class);
         binder.bind(ObjectContextFactory.class).to(DataContextFactory.class);
         
binder.bind(TransactionFactory.class).to(DefaultTransactionFactory.class);
 
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DomainDataChannelProvider.java
 
b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DomainDataChannelProvider.java
deleted file mode 100644
index 4b599b6c6..000000000
--- 
a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DomainDataChannelProvider.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.configuration.runtime;
-
-import org.apache.cayenne.DataChannel;
-import org.apache.cayenne.access.DataDomain;
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.di.Provider;
-
-/**
- * This is a default implementation of a DataChannel provider that simply 
returns a
- * DataDomain for a given runtime.
- * 
- * @since 3.1
- */
-public class DomainDataChannelProvider implements Provider<DataChannel> {
-
-    @Inject
-    protected DataDomain dataDomain;
-
-    @Override
-    public DataChannel get() {
-        return dataDomain;
-    }
-}
diff --git 
a/cayenne/src/main/java/org/apache/cayenne/runtime/CayenneRuntime.java 
b/cayenne/src/main/java/org/apache/cayenne/runtime/CayenneRuntime.java
index 0770f5d17..97fd3b82f 100644
--- a/cayenne/src/main/java/org/apache/cayenne/runtime/CayenneRuntime.java
+++ b/cayenne/src/main/java/org/apache/cayenne/runtime/CayenneRuntime.java
@@ -213,19 +213,24 @@ public class CayenneRuntime {
     }
 
     /**
-     * Returns the main runtime DataDomain. Note that by default the returned
-     * DataDomain is the same as the main DataChannel returned by
-     * {@link #getChannel()}. Although users may redefine DataChannel provider
-     * in the DI registry, for instance to decorate this DataDomain with a
-     * custom wrapper.
+     * Returns the runtime {@link DataChannel}.
+     *
+     * @deprecated in favor of {@link #getDataDomain()}
+     */
+    @Deprecated(since = "5.0", forRemoval = true)
+    public DataChannel getChannel() {
+        return getDataDomain();
+    }
+
+    /**
+     * Returns the main runtime DataDomain.
      */
     public DataDomain getDataDomain() {
         return injector.getInstance(DataDomain.class);
     }
 
     /**
-     * Returns a default DataSource for this runtime. If no default DataSource
-     * exists, an exception is thrown.
+     * Returns a default DataSource for this runtime. If no default DataSource 
exists, an exception is thrown.
      *
      * @since 4.0
      */
@@ -298,13 +303,6 @@ public class CayenneRuntime {
         injector.shutdown();
     }
 
-    /**
-     * Returns the runtime {@link DataChannel}.
-     */
-    public DataChannel getChannel() {
-        return injector.getInstance(DataChannel.class);
-    }
-
     /**
      * Returns a new ObjectContext instance based on the runtime's main
      * DataChannel.
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextTest.java 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextTest.java
index 373610684..aeeeb15d8 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextTest.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextTest.java
@@ -20,13 +20,15 @@
 package org.apache.cayenne.access;
 
 import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.DataChannel;
+import org.apache.cayenne.access.flush.DataDomainFlushActionFactory;
 import org.apache.cayenne.cache.QueryCache;
+import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.tx.TransactionFactory;
+import org.apache.cayenne.tx.TransactionManager;
 import org.junit.jupiter.api.Test;
 
 import java.util.Map;
@@ -48,14 +50,19 @@ public class DataContextTest {
     @Test
     public void attachToRuntimeIfNeeded() {
 
-        final DataChannel channel = mock(DataChannel.class);
+        final DataDomain domain = mock(DataDomain.class);
         final QueryCache cache = mock(QueryCache.class);
         final TransactionFactory factory = mock(TransactionFactory.class);
 
+        // DataDomain is a concrete class with @Inject fields, so its instance 
binding
+        // requires bindings for each of the injected services
         Module testModule = binder -> {
-            binder.bind(DataChannel.class).toInstance(channel);
+            binder.bind(DataDomain.class).toInstance(domain);
             binder.bind(QueryCache.class).toInstance(cache);
             binder.bind(TransactionFactory.class).toInstance(factory);
+            
binder.bind(TransactionManager.class).toInstance(mock(TransactionManager.class));
+            
binder.bind(DataDomainFlushActionFactory.class).toInstance(mock(DataDomainFlushActionFactory.class));
+            
binder.bind(AdhocObjectFactory.class).toInstance(mock(AdhocObjectFactory.class));
         };
 
         Injector injector = DIBootstrap.createInjector(testModule);
@@ -70,7 +77,7 @@ public class DataContextTest {
             CayenneRuntime.bindThreadInjector(injector);
 
             assertTrue(context.attachToRuntimeIfNeeded());
-            assertSame(channel, context.getChannel());
+            assertSame(domain, context.getChannel());
 
             assertFalse(context.attachToRuntimeIfNeeded());
             assertFalse(context.attachToRuntimeIfNeeded());
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
index 0f7eeaa78..ed27d3476 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
@@ -40,7 +40,7 @@ public class BatchActionGeneratedIT {
 
     @Test
     public void hasGeneratedKeys1() throws Exception {
-        EntityResolver resolver = 
env.runtime().getChannel().getEntityResolver();
+        EntityResolver resolver = 
env.runtime().getDataDomain().getEntityResolver();
 
         // test with adapter that supports keys
         JdbcAdapter adapter = buildAdapter(true);
@@ -57,8 +57,8 @@ public class BatchActionGeneratedIT {
     }
 
     @Test
-    public void hasGeneratedKeys2() throws Exception {
-        EntityResolver resolver = 
env.runtime().getChannel().getEntityResolver();
+    public void hasGeneratedKeys2() {
+        EntityResolver resolver = 
env.runtime().getDataDomain().getEntityResolver();
 
         // test with adapter that does not support keys...
         JdbcAdapter adapter = buildAdapter(false);
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java 
b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
index 93fd7730d..afd7ba8d5 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
@@ -39,7 +39,7 @@ public class BatchActionIT {
 
     @Test
     public void hasGeneratedKeys1() throws Exception {
-        EntityResolver resolver = 
env.runtime().getChannel().getEntityResolver();
+        EntityResolver resolver = 
env.runtime().getDataDomain().getEntityResolver();
 
         // test with adapter that supports keys
         JdbcAdapter adapter = buildAdapter(true);
@@ -55,7 +55,7 @@ public class BatchActionIT {
 
     @Test
     public void hasGeneratedKeys2() throws Exception {
-        EntityResolver resolver = 
env.runtime().getChannel().getEntityResolver();
+        EntityResolver resolver = 
env.runtime().getDataDomain().getEntityResolver();
 
         // test with adapter that does not support keys...
         JdbcAdapter adapter = buildAdapter(false);
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeTest.java 
b/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeTest.java
index 4ef797cdc..ee3b9aa57 100644
--- a/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeTest.java
+++ b/cayenne/src/test/java/org/apache/cayenne/runtime/CayenneRuntimeTest.java
@@ -20,15 +20,10 @@ package org.apache.cayenne.runtime;
 
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.QueryResponse;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.configuration.ObjectContextFactory;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Module;
-import org.apache.cayenne.event.EventManager;
-import org.apache.cayenne.graph.GraphDiff;
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.query.Query;
 import org.apache.cayenne.tx.BaseTransaction;
 import org.apache.cayenne.tx.TransactionDescriptor;
 import org.apache.cayenne.tx.TransactionFactory;
@@ -90,37 +85,6 @@ public class CayenneRuntimeTest {
         assertTrue(configured[1]);
     }
 
-    @Test
-    public void getDataChannel_CustomModule() {
-        final DataChannel channel = new DataChannel() {
-
-            public EntityResolver getEntityResolver() {
-                return null;
-            }
-
-            public EventManager getEventManager() {
-                return null;
-            }
-
-            public DataChannel getParent() {
-                return null;
-            }
-
-            public QueryResponse onQuery(ObjectContext originatingContext, 
Query query) {
-                return null;
-            }
-
-            public GraphDiff onSync(ObjectContext originatingContext, 
GraphDiff changes, int syncType) {
-                return null;
-            }
-        };
-
-        Module module = binder -> 
binder.bind(DataChannel.class).toInstance(channel);
-
-        CayenneRuntime runtime = new 
CayenneRuntime(Collections.singleton(module));
-        assertSame(channel, runtime.getChannel());
-    }
-
     @Test
     public void getObjectContext_CustomModule() {
         final ObjectContext context = new DataContext();

Reply via email to