You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2017/03/14 15:08:16 UTC

cayenne git commit: CAY-2265 ServerRuntime.builder() fails to set default runtime name when a the project file doesn't follow recognized pattern.

Repository: cayenne
Updated Branches:
  refs/heads/master ba3c7eadf -> daaa20381


CAY-2265 ServerRuntime.builder() fails to set default runtime name when a the project file doesn't follow recognized pattern.


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

Branch: refs/heads/master
Commit: daaa20381c937d17a4b4f84b6320bc1c28a066bb
Parents: ba3c7ea
Author: Nikita Timofeev <st...@gmail.com>
Authored: Tue Mar 14 18:02:35 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Tue Mar 14 18:02:35 2017 +0300

----------------------------------------------------------------------
 .../configuration/DefaultConfigurationNameMapper.java  |  4 +++-
 .../configuration/server/ServerRuntimeBuilderIT.java   | 13 +++++++++++++
 .../apache/cayenne/unit/di/server/CayenneProjects.java |  1 +
 cayenne-server/src/test/resources/custom-name-file.xml |  4 ++++
 docs/doc/src/main/resources/RELEASE-NOTES.txt          |  1 +
 5 files changed, 22 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/daaa2038/cayenne-server/src/main/java/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.java
index ffe2868..5e6a53d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/DefaultConfigurationNameMapper.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.resource.Resource;
  */
 public class DefaultConfigurationNameMapper implements ConfigurationNameMapper {
 
+	private static final String DEFAULT_NAME = "cayenne";
 	private static final String CAYENNE_PREFIX = "cayenne-";
 	private static final String CAYENNE_SUFFIX = ".xml";
 
@@ -74,7 +75,8 @@ public class DefaultConfigurationNameMapper implements ConfigurationNameMapper {
 
 		if (DataChannelDescriptor.class.isAssignableFrom(type)) {
 			if (!path.startsWith(CAYENNE_PREFIX) || !path.endsWith(CAYENNE_SUFFIX)) {
-				return null;
+				// DataChannelDescriptor should always have name
+				return DEFAULT_NAME;
 			}
 
 			return path.substring(CAYENNE_PREFIX.length(), path.length() - CAYENNE_SUFFIX.length());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/daaa2038/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 60a38d4..dc9fe1e 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
@@ -27,6 +27,7 @@ import java.util.List;
 import javax.sql.DataSource;
 
 import org.apache.cayenne.DataRow;
+import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.conn.DataSourceInfo;
 import org.apache.cayenne.di.Inject;
@@ -144,4 +145,16 @@ public class ServerRuntimeBuilderIT extends ServerCase {
 				CayenneProjects.EMBEDDABLE_PROJECT).build();
 		assertEquals("myd", localRuntime.getDataDomain().getName());
 	}
+
+	/**
+	 * Test case for CAY-2265
+	 */
+	@Test
+	public void test_UnnamedDomain_CustomNameProjectFile() {
+		localRuntime = new ServerRuntimeBuilder().addConfigs(CayenneProjects.CUSTOM_NAME_PROJECT).build();
+		assertEquals("cayenne", localRuntime.getDataDomain().getName());
+
+		ObjectContext context = localRuntime.newContext();
+		assertNotNull(context);
+	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/daaa2038/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/CayenneProjects.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/CayenneProjects.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/CayenneProjects.java
index d7eb2f2..5710bcd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/CayenneProjects.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/CayenneProjects.java
@@ -78,5 +78,6 @@ public class CayenneProjects {
     public static final String TOONE_PROJECT = "cayenne-toone.xml";
     public static final String UNSUPPORTED_DISTINCT_TYPES_PROJECT = "cayenne-unsupported-distinct-types.xml";
     public static final String UUID_PROJECT = "cayenne-uuid.xml";
+    public static final String CUSTOM_NAME_PROJECT = "custom-name-file.xml";
 
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/daaa2038/cayenne-server/src/test/resources/custom-name-file.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/custom-name-file.xml b/cayenne-server/src/test/resources/custom-name-file.xml
new file mode 100644
index 0000000..3c44022
--- /dev/null
+++ b/cayenne-server/src/test/resources/custom-name-file.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="9">
+	<map name="testmap"/>
+</domain>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/daaa2038/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 5c8be17..9dc1c80 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -20,6 +20,7 @@ Bug Fixes:
 
 CAY-2240 Modeler: issue with cursor rendering for EJBQL query
 CAY-2256 Cannot Save/Insert an Object With null Flattened (complex) toOne Relationship (see also CAY-2146)
+CAY-2265 ServerRuntime.builder() fails to set default runtime name when a the project file doesn't follow recognized pattern
 
 ----------------------------------
 Release: 4.0.M5