You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2015/02/22 13:36:29 UTC

cayenne git commit: CAY-1988 ServerRuntimeBuilder: synthetic DataNode does not have domain's DataMaps linked

Repository: cayenne
Updated Branches:
  refs/heads/master fb4123a51 -> 6fa5de23b


CAY-1988 ServerRuntimeBuilder: synthetic DataNode does not have domain's DataMaps linked


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/6fa5de23
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/6fa5de23
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/6fa5de23

Branch: refs/heads/master
Commit: 6fa5de23b8ecdabf2a981beaa05abe85473e8cdb
Parents: fb4123a
Author: aadamchik <aa...@apache.org>
Authored: Sun Feb 22 15:23:34 2015 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Sun Feb 22 15:36:08 2015 +0300

----------------------------------------------------------------------
 .../server/SyntheticNodeDataDomainProvider.java |  6 ++++
 .../server/ServerRuntimeBuilderIT.java          | 38 ++++++++++++++++++++
 docs/doc/src/main/resources/RELEASE-NOTES.txt   |  4 +++
 3 files changed, 48 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/6fa5de23/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/SyntheticNodeDataDomainProvider.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/SyntheticNodeDataDomainProvider.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/SyntheticNodeDataDomainProvider.java
index dbd0ec2..ba6c9dc 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/SyntheticNodeDataDomainProvider.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/SyntheticNodeDataDomainProvider.java
@@ -22,6 +22,7 @@ import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
+import org.apache.cayenne.map.DataMap;
 
 /**
  * @since 4.0
@@ -39,6 +40,11 @@ class SyntheticNodeDataDomainProvider extends DataDomainProvider {
 			DataChannelDescriptor channelDescriptor = new DataChannelDescriptor();
 
 			DataNodeDescriptor nodeDescriptor = new DataNodeDescriptor(ServerRuntimeBuilder.DEFAULT_NAME);
+
+			for (DataMap map : dataDomain.getDataMaps()) {
+				nodeDescriptor.getDataMapNames().add(map.getName());
+			}
+
 			nodeDescriptor.setDataChannelDescriptor(channelDescriptor);
 
 			DataNode node = addDataNode(dataDomain, nodeDescriptor);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6fa5de23/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderIT.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderIT.java
index 1ad342d..36c8734 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderIT.java
@@ -19,8 +19,10 @@
 package org.apache.cayenne.configuration.server;
 
 import org.apache.cayenne.DataRow;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.conn.DataSourceInfo;
 import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.query.SQLSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
@@ -32,9 +34,12 @@ import org.junit.Before;
 import org.junit.Test;
 
 import javax.sql.DataSource;
+
 import java.util.List;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 
 @UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
 public class ServerRuntimeBuilderIT extends ServerCase {
@@ -92,6 +97,39 @@ public class ServerRuntimeBuilderIT extends ServerCase {
 	}
 
 	@Test
+	public void testNoNodeConfig_WithDataSource() {
+
+		localRuntime = new ServerRuntimeBuilder().addConfig(CayenneProjects.TESTMAP_PROJECT).dataSource(dataSource)
+				.build();
+
+		DataMap map = localRuntime.getDataDomain().getDataMap("testmap");
+		assertNotNull(map);
+
+		DataNode node = localRuntime.getDataDomain().getDefaultNode();
+		assertNotNull(node);
+		assertEquals(1, node.getDataMaps().size());
+
+		assertSame(map, node.getDataMap("testmap"));
+	}
+
+	@Test
+	public void testNoNodeConfig_WithDBParams() {
+
+		localRuntime = new ServerRuntimeBuilder().addConfig(CayenneProjects.TESTMAP_PROJECT)
+				.jdbcDriver(dsi.getJdbcDriver()).url(dsi.getDataSourceUrl()).password(dsi.getPassword())
+				.user(dsi.getUserName()).minConnections(1).maxConnections(2).build();
+
+		DataMap map = localRuntime.getDataDomain().getDataMap("testmap");
+		assertNotNull(map);
+
+		DataNode node = localRuntime.getDataDomain().getDefaultNode();
+		assertNotNull(node);
+		assertEquals(1, node.getDataMaps().size());
+
+		assertSame(map, node.getDataMap("testmap"));
+	}
+
+	@Test
 	public void test_UnnamedDomain_MultiLocation() {
 		localRuntime = new ServerRuntimeBuilder().addConfigs(CayenneProjects.TESTMAP_PROJECT,
 				CayenneProjects.EMBEDDABLE_PROJECT).build();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6fa5de23/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt
index edbcec9..105df98 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -16,6 +16,10 @@ Changes/New Features:
 
 CAY-1267 Some changes to LogDialog
 
+Bug Fixes:
+
+CAy-1988 ServerRuntimeBuilder: synthetic DataNode does not have domain's DataMaps linked
+
 Changes/New Features:
 ----------------------------------
 Release: 4.0.M2