cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aadamc...@apache.org
Subject svn commit: r1577997 - in /cayenne/main/trunk: cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ d...
Date Sun, 16 Mar 2014 08:52:02 GMT
Author: aadamchik
Date: Sun Mar 16 08:52:01 2014
New Revision: 1577997

URL: http://svn.apache.org/r1577997
Log:
CAY-1919 Split DataNode creation into a separate DataNodeFactory

Added:
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataNodeFactory.java
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.java
    cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeFactory.java
Modified:
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
    cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
    cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java
    cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
    cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java?rev=1577997&r1=1577996&r2=1577997&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
(original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
Sun Mar 16 08:52:01 2014
@@ -21,16 +21,11 @@ package org.apache.cayenne.configuration
 import java.util.Collection;
 import java.util.List;
 
-import javax.sql.DataSource;
-
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.DataChannelFilter;
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DataNode;
-import org.apache.cayenne.access.dbsync.SchemaUpdateStrategy;
-import org.apache.cayenne.access.jdbc.reader.RowReaderFactory;
-import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
 import org.apache.cayenne.cache.NestedQueryCache;
 import org.apache.cayenne.cache.QueryCache;
 import org.apache.cayenne.configuration.ConfigurationTree;
@@ -40,12 +35,10 @@ import org.apache.cayenne.configuration.
 import org.apache.cayenne.configuration.DataChannelDescriptorMerger;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.configuration.RuntimeProperties;
-import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.event.EventManager;
-import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.EntitySorter;
 import org.apache.cayenne.resource.Resource;
@@ -61,7 +54,7 @@ import org.apache.commons.logging.LogFac
  * @since 3.1
  */
 public class DataDomainProvider implements Provider<DataDomain> {
-    
+
     /**
      * @since 3.2
      */
@@ -78,18 +71,6 @@ public class DataDomainProvider implemen
     @Inject
     protected DataChannelDescriptorLoader loader;
 
-    @Inject
-    protected SchemaUpdateStrategy defaultSchemaUpdateStrategy;
-
-    @Inject
-    protected DbAdapterFactory adapterFactory;
-
-    @Inject
-    protected DataSourceFactory dataSourceFactory;
-
-    @Inject
-    protected AdhocObjectFactory objectFactory;
-
     @Inject(Constants.SERVER_DOMAIN_FILTERS_LIST)
     protected List<DataChannelFilter> filters;
 
@@ -100,19 +81,13 @@ public class DataDomainProvider implemen
     protected Injector injector;
 
     @Inject
-    protected JdbcEventLogger jdbcEventLogger;
-
-    @Inject
     protected QueryCache queryCache;
 
     @Inject
     protected RuntimeProperties runtimeProperties;
-    
-    @Inject
-    protected RowReaderFactory rowReaderFactory;
-    
+
     @Inject
-    protected BatchTranslatorFactory batchQueryBuilderFactory;
+    protected DataNodeFactory dataNodeFactory;
 
     @Override
     public DataDomain get() throws ConfigurationException {
@@ -188,40 +163,12 @@ public class DataDomainProvider implemen
 
         return dataDomain;
     }
-    
+
     /**
-     * @throws Exception 
      * @since 3.2
      */
     protected DataNode addDataNode(DataDomain dataDomain, DataNodeDescriptor nodeDescriptor)
throws Exception {
-        DataNode dataNode = new DataNode(nodeDescriptor.getName());
-
-        dataNode.setJdbcEventLogger(jdbcEventLogger);
-        dataNode.setRowReaderFactory(rowReaderFactory);
-        dataNode.setBatchTranslatorFactory(batchQueryBuilderFactory);
-        
-        dataNode.setDataSourceLocation(nodeDescriptor.getParameters());
-
-        DataSource dataSource = dataSourceFactory.getDataSource(nodeDescriptor);
-
-        dataNode.setDataSourceFactory(nodeDescriptor.getDataSourceFactoryType());
-        dataNode.setDataSource(dataSource);
-
-        // schema update strategy
-        String schemaUpdateStrategyType = nodeDescriptor.getSchemaUpdateStrategyType();
-
-        if (schemaUpdateStrategyType == null) {
-            dataNode.setSchemaUpdateStrategy(defaultSchemaUpdateStrategy);
-            dataNode.setSchemaUpdateStrategyName(defaultSchemaUpdateStrategy.getClass().getName());
-        } else {
-            SchemaUpdateStrategy strategy = objectFactory.newInstance(SchemaUpdateStrategy.class,
-                    schemaUpdateStrategyType);
-            dataNode.setSchemaUpdateStrategyName(schemaUpdateStrategyType);
-            dataNode.setSchemaUpdateStrategy(strategy);
-        }
-
-        // DbAdapter
-        dataNode.setAdapter(adapterFactory.createAdapter(nodeDescriptor, dataSource));
+        DataNode dataNode = dataNodeFactory.createDataNode(nodeDescriptor);
 
         // DataMaps
         for (String dataMapName : nodeDescriptor.getDataMapNames()) {

Added: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataNodeFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataNodeFactory.java?rev=1577997&view=auto
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataNodeFactory.java
(added)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataNodeFactory.java
Sun Mar 16 08:52:01 2014
@@ -0,0 +1,32 @@
+/*****************************************************************
+ *   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
+ *
+ *    http://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.server;
+
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.configuration.DataNodeDescriptor;
+
+/**
+ * A factory for creating DataNodes from descriptors.
+ * 
+ * @since 3.2
+ */
+public interface DataNodeFactory {
+
+    DataNode createDataNode(DataNodeDescriptor nodeDescriptor) throws Exception;
+}

Added: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.java?rev=1577997&view=auto
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.java
(added)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.java
Sun Mar 16 08:52:01 2014
@@ -0,0 +1,93 @@
+/*****************************************************************
+ *   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
+ *
+ *    http://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.server;
+
+import javax.sql.DataSource;
+
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.access.dbsync.SchemaUpdateStrategy;
+import org.apache.cayenne.access.jdbc.reader.RowReaderFactory;
+import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
+import org.apache.cayenne.configuration.DataNodeDescriptor;
+import org.apache.cayenne.di.AdhocObjectFactory;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.log.JdbcEventLogger;
+
+/**
+ * @since 3.2
+ */
+public class DefaultDataNodeFactory implements DataNodeFactory {
+
+    @Inject
+    protected JdbcEventLogger jdbcEventLogger;
+
+    @Inject
+    protected RowReaderFactory rowReaderFactory;
+
+    @Inject
+    protected DataSourceFactory dataSourceFactory;
+
+    @Inject
+    protected BatchTranslatorFactory batchTranslatorFactory;
+
+    @Inject
+    protected DbAdapterFactory adapterFactory;
+
+    @Inject
+    protected AdhocObjectFactory objectFactory;
+
+    @Inject
+    protected SchemaUpdateStrategy defaultSchemaUpdateStrategy;
+
+    @Override
+    public DataNode createDataNode(DataNodeDescriptor nodeDescriptor) throws Exception {
+
+        DataNode dataNode = new DataNode(nodeDescriptor.getName());
+
+        dataNode.setJdbcEventLogger(jdbcEventLogger);
+        dataNode.setRowReaderFactory(rowReaderFactory);
+        dataNode.setBatchTranslatorFactory(batchTranslatorFactory);
+
+        dataNode.setDataSourceLocation(nodeDescriptor.getParameters());
+
+        DataSource dataSource = dataSourceFactory.getDataSource(nodeDescriptor);
+
+        dataNode.setDataSourceFactory(nodeDescriptor.getDataSourceFactoryType());
+        dataNode.setDataSource(dataSource);
+
+        // schema update strategy
+        String schemaUpdateStrategyType = nodeDescriptor.getSchemaUpdateStrategyType();
+
+        if (schemaUpdateStrategyType == null) {
+            dataNode.setSchemaUpdateStrategy(defaultSchemaUpdateStrategy);
+            dataNode.setSchemaUpdateStrategyName(defaultSchemaUpdateStrategy.getClass().getName());
+        } else {
+            SchemaUpdateStrategy strategy = objectFactory.newInstance(SchemaUpdateStrategy.class,
+                    schemaUpdateStrategyType);
+            dataNode.setSchemaUpdateStrategyName(schemaUpdateStrategyType);
+            dataNode.setSchemaUpdateStrategy(strategy);
+        }
+
+        // DbAdapter
+        dataNode.setAdapter(adapterFactory.createAdapter(nodeDescriptor, dataSource));
+
+        return dataNode;
+    }
+
+}

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java?rev=1577997&r1=1577996&r2=1577997&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
(original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
Sun Mar 16 08:52:01 2014
@@ -210,6 +210,8 @@ public class ServerModule implements Mod
 
         // a service to provide the main stack DataDomain
         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);

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java?rev=1577997&r1=1577996&r2=1577997&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
(original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
Sun Mar 16 08:52:01 2014
@@ -193,6 +193,7 @@ public class DataDomainProviderTest exte
                 binder.bind(JdbcEventLogger.class).to(CommonsJdbcEventLogger.class);
                 binder.bind(QueryCache.class).toInstance(mock(QueryCache.class));
                 binder.bind(RowReaderFactory.class).toInstance(mock(RowReaderFactory.class));
+                binder.bind(DataNodeFactory.class).to(DefaultDataNodeFactory.class);
             }
         };
 

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java?rev=1577997&r1=1577996&r2=1577997&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java
(original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java
Sun Mar 16 08:52:01 2014
@@ -21,13 +21,10 @@ package org.apache.cayenne.unit.di.serve
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.UnitTestDomain;
-import org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy;
-import org.apache.cayenne.access.jdbc.reader.RowReaderFactory;
-import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
+import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.configuration.server.DataDomainProvider;
-import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.configuration.server.DataNodeFactory;
 import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.unit.UnitDbAdapter;
@@ -35,22 +32,10 @@ import org.apache.cayenne.unit.UnitDbAda
 class ServerCaseDataDomainProvider extends DataDomainProvider {
 
     @Inject
-    private ServerCaseDataSourceFactory dataSourceFactory;
-
-    @Inject
-    private DbAdapter adapter;
-
-    @Inject
-    private JdbcEventLogger jdbcEventLogger;
-    
-    @Inject
     private UnitDbAdapter unitDbAdapter;
-    
-    @Inject
-    protected RowReaderFactory rowReaderFactory;
-    
+
     @Inject
-    protected BatchTranslatorFactory batchQueryBuilderFactory;
+    protected DataNodeFactory dataNodeFactory;
 
     @Override
     protected DataDomain createDataDomain(String name) {
@@ -62,26 +47,21 @@ class ServerCaseDataDomainProvider exten
 
         DataDomain domain = super.createAndInitDataDomain();
         DataNode node = null;
-       
+
         for (DataMap dataMap : domain.getDataMaps()) {
 
             // add nodes and DataSources dynamically...
-            node = new DataNode(dataMap.getName());
-            node.setJdbcEventLogger(jdbcEventLogger);
-            node.setRowReaderFactory(rowReaderFactory);
-            node.setBatchTranslatorFactory(batchQueryBuilderFactory);
-
-            // shared or dedicated DataSources can be mapped per DataMap
-            node.setDataSource(dataSourceFactory.getDataSource(dataMap.getName()));
-            node.setAdapter(adapter);
+            DataNodeDescriptor descriptor = new DataNodeDescriptor(dataMap.getName());
+
+            node = dataNodeFactory.createDataNode(descriptor);
+
             node.addDataMap(dataMap);
-            node.setSchemaUpdateStrategy(new SkipSchemaUpdateStrategy());
 
             // tweak procedures for testing...
             for (Procedure proc : dataMap.getProcedures()) {
                 unitDbAdapter.tweakProcedure(proc);
             }
-            
+
             // customizations from SimpleAccessStackAdapter that are not yet
             // ported...
             // those can be done better now
@@ -94,8 +74,8 @@ class ServerCaseDataDomainProvider exten
 
             domain.addNode(node);
         }
-        
-        if(domain.getDataMaps().size() == 1) {
+
+        if (domain.getDataMaps().size() == 1) {
             domain.setDefaultNode(node);
         }
 

Added: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeFactory.java?rev=1577997&view=auto
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeFactory.java
(added)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataNodeFactory.java
Sun Mar 16 08:52:01 2014
@@ -0,0 +1,64 @@
+/*****************************************************************
+ *   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
+ *
+ *    http://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.unit.di.server;
+
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy;
+import org.apache.cayenne.access.jdbc.reader.RowReaderFactory;
+import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
+import org.apache.cayenne.configuration.DataNodeDescriptor;
+import org.apache.cayenne.configuration.server.DataNodeFactory;
+import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.log.JdbcEventLogger;
+
+public class ServerCaseDataNodeFactory implements DataNodeFactory {
+
+    @Inject
+    private JdbcEventLogger jdbcEventLogger;
+
+    @Inject
+    protected RowReaderFactory rowReaderFactory;
+
+    @Inject
+    protected BatchTranslatorFactory batchTranslatorFactory;
+
+    @Inject
+    private ServerCaseDataSourceFactory dataSourceFactory;
+
+    @Inject
+    private DbAdapter adapter;
+
+    @Override
+    public DataNode createDataNode(DataNodeDescriptor nodeDescriptor) throws Exception {
+        DataNode dataNode = new DataNode(nodeDescriptor.getName());
+
+        dataNode.setJdbcEventLogger(jdbcEventLogger);
+        dataNode.setRowReaderFactory(rowReaderFactory);
+        dataNode.setBatchTranslatorFactory(batchTranslatorFactory);
+
+        // shared or dedicated DataSources can be mapped per DataMap
+        dataNode.setDataSource(dataSourceFactory.getDataSource(nodeDescriptor.getName()));
+        dataNode.setAdapter(adapter);
+        dataNode.setSchemaUpdateStrategy(new SkipSchemaUpdateStrategy());
+
+        return dataNode;
+    }
+
+}

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java?rev=1577997&r1=1577996&r2=1577997&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
(original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
Sun Mar 16 08:52:01 2014
@@ -20,6 +20,7 @@ package org.apache.cayenne.unit.di.serve
 
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.access.DataDomain;
+import org.apache.cayenne.configuration.server.DataNodeFactory;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.di.Binder;
@@ -67,6 +68,7 @@ public class ServerRuntimeProvider imple
 
             binder.bind(DbAdapter.class).toProviderInstance(dbAdapterProvider);
             binder.bind(DataDomain.class).toProvider(ServerCaseDataDomainProvider.class);
+            binder.bind(DataNodeFactory.class).to(ServerCaseDataNodeFactory.class);
             binder.bind(UnitDbAdapter.class).toInstance(unitDbAdapter);
 
             // map DataSources for all test DataNode names

Modified: cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=1577997&r1=1577996&r2=1577997&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt Sun Mar 16 08:52:01 2014
@@ -42,6 +42,7 @@ CAY-1913 Refactor org.apache.cayenne.acc
 CAY-1914 Refactor EJBQL-related translators to a standalone 'org.apache.cayenne.access.translator.ejbql'
package
 CAY-1915 BatchTranslator instead of performing bindings should return binding object whose
values can be altered
 CAY-1918 Replace Oracle LOB hacks with JDBC 4.0 API
+CAY-1919 Split DataNode creation into a separate DataNodeFactory
 
 Bug Fixes:
 



Mime
View raw message