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 2010/08/21 12:38:25 UTC
svn commit: r987723 [1/2] - in /cayenne/main/trunk:
build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/file/
build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/
build-tools/cayenne-test-utilities/src/mai...
Author: aadamchik
Date: Sat Aug 21 10:38:24 2010
New Revision: 987723
URL: http://svn.apache.org/viewvc?rev=987723&view=rev
Log:
CAY-1472 Build with -Dmaven.test.skip=true fails on clean repo
* removing tests with DB access for the generated code
* replacing CayenneResources with cayenne-test-utilities for file and resource access
Added:
cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/file/
cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/file/FileUtil.java
cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/resource/
cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/resource/ResourceUtil.java
cayenne/main/trunk/framework/cayenne-tools/src/test/resources/embeddable.map.xml
cayenne/main/trunk/framework/cayenne-tools/src/test/resources/testmap.map.xml
Removed:
cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/gen/ClientDataMapGeneratedQueryRunTest.java
cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/gen/DataMapGeneratedQueryRunTest.java
Modified:
cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UtilityLogger.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/resource/FilesystemResourceLocatorTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/CayenneResources.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/util/ZipUtilTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/XMLDecoderTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/XMLEncoderTest.java
cayenne/main/trunk/framework/cayenne-tools/pom.xml
cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/access/AbstractDbLoaderDelegateTest.java
cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java
cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java
cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java
cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/DbGeneratorTaskTest.java
Added: cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/file/FileUtil.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/file/FileUtil.java?rev=987723&view=auto
==============================================================================
--- cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/file/FileUtil.java (added)
+++ cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/file/FileUtil.java Sat Aug 21 10:38:24 2010
@@ -0,0 +1,82 @@
+/*****************************************************************
+ * 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.test.file;
+
+import java.io.File;
+
+public final class FileUtil {
+
+ static final String TEST_DIR_KEY = "cayenne.test.dir";
+ static final String DEFAULT_TEST_DIR = "target/testrun";
+
+ private static final File baseTestDirectory;
+
+ static {
+ String testDirName = System.getProperty(TEST_DIR_KEY);
+
+ if (testDirName == null) {
+ testDirName = DEFAULT_TEST_DIR;
+ }
+
+ baseTestDirectory = new File(testDirName);
+
+ // delete old tests
+ if (baseTestDirectory.exists()) {
+ if (!FileUtil.delete(testDirName, true)) {
+ throw new RuntimeException("Error deleting test directory: "
+ + testDirName);
+ }
+ }
+
+ if (!baseTestDirectory.mkdirs()) {
+ throw new RuntimeException("Error creating test directory: " + testDirName);
+ }
+ }
+
+ /**
+ * Returns a test directory that is used as a scratch area.
+ */
+ public static File baseTestDirectory() {
+ return baseTestDirectory;
+ }
+
+ private static boolean delete(String filePath, boolean recursive) {
+ File file = new File(filePath);
+ if (!file.exists()) {
+ return true;
+ }
+
+ if (!recursive || !file.isDirectory())
+ return file.delete();
+
+ String[] contents = file.list();
+
+ // list can be null if directory doesn't have an 'x' permission bit set for the
+ // user
+ if (contents != null) {
+ for (String item : contents) {
+ if (!delete(filePath + File.separator + item, true)) {
+ return false;
+ }
+ }
+ }
+
+ return file.delete();
+ }
+}
Modified: cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UtilityLogger.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UtilityLogger.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UtilityLogger.java (original)
+++ cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UtilityLogger.java Sat Aug 21 10:38:24 2010
@@ -24,7 +24,7 @@ import org.apache.commons.logging.LogFac
class UtilityLogger {
private static Log logger = LogFactory.getLog(UtilityLogger.class);
-
+
static void log(String sql) {
logger.info(sql);
}
Added: cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/resource/ResourceUtil.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/resource/ResourceUtil.java?rev=987723&view=auto
==============================================================================
--- cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/resource/ResourceUtil.java (added)
+++ cayenne/main/trunk/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/resource/ResourceUtil.java Sat Aug 21 10:38:24 2010
@@ -0,0 +1,112 @@
+/*****************************************************************
+ * 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.test.resource;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+public class ResourceUtil {
+
+ /**
+ * Copies resources to a file, thus making it available to the caller as File.
+ */
+ public static void copyResourceToFile(String resourceName, File file) {
+ URL in = getResource(resourceName);
+
+ if (!copy(in, file)) {
+ throw new RuntimeException("Error copying resource to file : " + file);
+ }
+ }
+
+ /**
+ * Returns a guaranteed non-null resource for a given name.
+ */
+ public static URL getResource(String name) {
+ URL in = Thread.currentThread().getContextClassLoader().getResource(name);
+
+ if (in == null) {
+ throw new RuntimeException("Resource not found: " + name);
+ }
+
+ // Fix for the issue described at https://issues.apache.org/struts/browse/SB-35
+ // Basically, spaces in filenames make maven cry.
+ try {
+ in = new URL(in.toExternalForm().replaceAll(" ", "%20"));
+ }
+ catch (MalformedURLException e) {
+ throw new RuntimeException("Error constructing URL.", e);
+ }
+
+ return in;
+ }
+
+ private static boolean copy(URL from, File to) {
+ BufferedInputStream urlin = null;
+ BufferedOutputStream fout = null;
+ try {
+ int bufSize = 8 * 1024;
+ urlin = new BufferedInputStream(
+ from.openConnection().getInputStream(),
+ bufSize);
+ fout = new BufferedOutputStream(new FileOutputStream(to), bufSize);
+ copyPipe(urlin, fout, bufSize);
+ }
+ catch (IOException ioex) {
+ return false;
+ }
+ catch (SecurityException sx) {
+ return false;
+ }
+ finally {
+ if (urlin != null) {
+ try {
+ urlin.close();
+ }
+ catch (IOException cioex) {
+ }
+ }
+ if (fout != null) {
+ try {
+ fout.close();
+ }
+ catch (IOException cioex) {
+ }
+ }
+ }
+ return true;
+ }
+
+ private static void copyPipe(InputStream in, OutputStream out, int bufSizeHint)
+ throws IOException {
+ int read = -1;
+ byte[] buf = new byte[bufSizeHint];
+ while ((read = in.read(buf, 0, bufSizeHint)) >= 0) {
+ out.write(buf, 0, read);
+ }
+ out.flush();
+ }
+
+}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java Sat Aug 21 10:38:24 2010
@@ -27,15 +27,15 @@ import java.util.List;
import junit.framework.TestCase;
-import org.apache.cayenne.query.EJBQLQuery;
import org.apache.cayenne.query.CapsStrategy;
+import org.apache.cayenne.query.EJBQLQuery;
import org.apache.cayenne.query.Ordering;
import org.apache.cayenne.query.SQLTemplate;
import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.test.file.FileUtil;
import org.apache.cayenne.testdo.embeddable.Embeddable1;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.testdo.testmap.Gallery;
-import org.apache.cayenne.unit.CayenneResources;
import org.xml.sax.InputSource;
public class MapLoaderLoadTest extends TestCase {
@@ -120,7 +120,7 @@ public class MapLoaderLoadTest extends T
assertNotNull(map);
// encode map
- File file = new File(CayenneResources.getResources().getTestDir(), "testmap_generated.map.xml");
+ File file = new File(FileUtil.baseTestDirectory(), "testmap_generated.map.xml");
PrintWriter pw = new PrintWriter(new FileOutputStream(file));
map.encodeAsXML(pw);
pw.close();
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/resource/FilesystemResourceLocatorTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/resource/FilesystemResourceLocatorTest.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/resource/FilesystemResourceLocatorTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/resource/FilesystemResourceLocatorTest.java Sat Aug 21 10:38:24 2010
@@ -26,7 +26,7 @@ import java.util.Collections;
import junit.framework.TestCase;
-import org.apache.cayenne.unit.CayenneResources;
+import org.apache.cayenne.test.file.FileUtil;
public class FilesystemResourceLocatorTest extends TestCase {
@@ -35,7 +35,7 @@ public class FilesystemResourceLocatorTe
assertEquals(1, l1.roots.length);
assertEquals(System.getProperty("user.dir"), l1.roots[0].getPath());
- File base = CayenneResources.getResources().getTestDir();
+ File base = FileUtil.baseTestDirectory();
File f1 = new File(base, "f1");
File f2 = new File(new File(base, "f2"), "f3");
@@ -51,7 +51,7 @@ public class FilesystemResourceLocatorTe
assertEquals(1, l1.roots.length);
assertEquals(System.getProperty("user.dir"), l1.roots[0].getPath());
- File base = CayenneResources.getResources().getTestDir();
+ File base = FileUtil.baseTestDirectory();
File f1 = new File(base, "f1");
File f2 = new File(new File(base, "f2"), "f3");
@@ -64,7 +64,7 @@ public class FilesystemResourceLocatorTe
public void testFindResources() throws Exception {
- File base = new File(CayenneResources.getResources().getTestDir(), getClass().getName());
+ File base = new File(FileUtil.baseTestDirectory(), getClass().getName());
File root1 = new File(base, "r1");
File root2 = new File(base, "r2");
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/CayenneResources.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/CayenneResources.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/CayenneResources.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/CayenneResources.java Sat Aug 21 10:38:24 2010
@@ -19,21 +19,16 @@
package org.apache.cayenne.unit;
-import java.io.File;
import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
import java.util.Map;
import javax.sql.DataSource;
-import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.access.DataNode;
import org.apache.cayenne.conn.DataSourceInfo;
import org.apache.cayenne.conn.PoolDataSource;
import org.apache.cayenne.conn.PoolManager;
import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
-import org.apache.cayenne.util.Util;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
@@ -53,8 +48,6 @@ public class CayenneResources implements
public static final String CONNECTION_NAME_KEY = "cayenneTestConnection";
public static final String SKIP_SCHEMA_KEY = "cayenne.test.schema.skip";
- public static final String TEST_DIR_KEY = "cayenne.test.dir";
- public static final String DEFAULT_TEST_DIR = "target/testrun";
public static final String SCHEMA_SETUP_STACK = "SchemaSetupStack";
public static final String SQL_TEMPLATE_CUSTOMIZER = "SQLTemplateCustomizer";
@@ -86,7 +79,6 @@ public class CayenneResources implements
return resources;
}
- protected File testDir;
protected DataSourceInfo connectionInfo;
protected DataSource dataSource;
protected BeanFactory beanFactory;
@@ -115,59 +107,10 @@ public class CayenneResources implements
return resources;
}
- /**
- * Copies resources to a file, thus making it available to the caller as File.
- */
- public static void copyResourceToFile(String resourceName, File file) {
- URL in = getResourceURL(resourceName);
-
- if (!Util.copy(in, file)) {
- throw new CayenneRuntimeException("Error copying resource to file : " + file);
- }
- }
-
- /**
- * Returns a guaranteed non-null resource for a given name.
- */
- public static URL getResourceURL(String name) {
- URL in = Thread.currentThread().getContextClassLoader().getResource(name);
-
- // Fix for the issue described at https://issues.apache.org/struts/browse/SB-35
- // Basically, spaces in filenames make maven cry.
- try {
- in = new URL(in.toExternalForm().replaceAll(" ", "%20"));
- }
- catch (MalformedURLException e) {
- throw new CayenneRuntimeException("Error constructing URL.", e);
- }
-
- if (in == null) {
- throw new CayenneRuntimeException("Resource not found: " + name);
- }
-
- return in;
- }
-
- /**
- * Returns a guaranteed non-null resource for a given name.
- */
- public static InputStream getResource(String name) {
- InputStream in = Thread
- .currentThread()
- .getContextClassLoader()
- .getResourceAsStream(name);
-
- if (in == null) {
- throw new CayenneRuntimeException("Resource not found: " + name);
- }
- return in;
- }
public CayenneResources(Map adapterMap) {
this.adapterMap = adapterMap;
-
- setupTestDir();
}
/**
@@ -264,13 +207,6 @@ public class CayenneResources implements
}
/**
- * Returns a test directory that is used as a scratch area.
- */
- public File getTestDir() {
- return testDir;
- }
-
- /**
* Creates new DataNode.
*/
public DataNode newDataNode(String name) throws Exception {
@@ -309,31 +245,4 @@ public class CayenneResources implements
}
}
- protected void setupTestDir() {
- String testDirName = System.getProperty(TEST_DIR_KEY);
-
- if (testDirName == null) {
- testDirName = DEFAULT_TEST_DIR;
-
- logger.info("No property '"
- + TEST_DIR_KEY
- + "' set. Using default directory: '"
- + testDirName
- + "'");
- }
-
- testDir = new File(testDirName);
-
- // delete old tests
- if (testDir.exists()) {
- if (!Util.delete(testDirName, true)) {
- throw new RuntimeException("Error deleting test directory: "
- + testDirName);
- }
- }
-
- if (!testDir.mkdirs()) {
- throw new RuntimeException("Error creating test directory: " + testDirName);
- }
- }
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/util/ZipUtilTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/util/ZipUtilTest.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/util/ZipUtilTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/util/ZipUtilTest.java Sat Aug 21 10:38:24 2010
@@ -24,7 +24,7 @@ import java.net.URL;
import junit.framework.TestCase;
-import org.apache.cayenne.unit.CayenneResources;
+import org.apache.cayenne.test.file.FileUtil;
/**
* @deprecated since 3.1
@@ -37,11 +37,11 @@ public class ZipUtilTest extends TestCas
URL jarResource = Thread.currentThread().getContextClassLoader().getResource(
"org/apache/cayenne/util/jar-test.jar");
File jarCopy = new File(
- CayenneResources.getResources().getTestDir(),
+ FileUtil.baseTestDirectory(),
"jar-test.jar");
Util.copy(jarResource, jarCopy);
- File unjarDir = CayenneResources.getResources().getTestDir();
+ File unjarDir = FileUtil.baseTestDirectory();
File unjarRootDir = new File(unjarDir, "jar-test");
File manifest = new File(unjarRootDir.getParentFile(), "META-INF"
+ File.separator
@@ -68,11 +68,11 @@ public class ZipUtilTest extends TestCas
URL jarResource = Thread.currentThread().getContextClassLoader().getResource(
"org/apache/cayenne/util/jar-test.jar");
File jarCopy = new File(
- CayenneResources.getResources().getTestDir(),
+ FileUtil.baseTestDirectory(),
"jar-test.jar");
Util.copy(jarResource, jarCopy);
- File unjarDir = CayenneResources.getResources().getTestDir();
+ File unjarDir = FileUtil.baseTestDirectory();
File unjarRootDir = new File(unjarDir, "jar-test");
File newJarFile = new File(unjarDir, "new-jar.jar");
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/XMLDecoderTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/XMLDecoderTest.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/XMLDecoderTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/XMLDecoderTest.java Sat Aug 21 10:38:24 2010
@@ -26,10 +26,8 @@ import java.util.List;
import junit.framework.TestCase;
-import org.apache.cayenne.unit.CayenneResources;
+import org.apache.cayenne.test.resource.ResourceUtil;
-/**
- */
public class XMLDecoderTest extends TestCase {
static final String XML_DATA_DIR = "xmlcoding/";
@@ -41,8 +39,8 @@ public class XMLDecoderTest extends Test
}
public void testDecode() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "encoded-object.xml"));
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "encoded-object.xml").openStream());
Object object = decoder.decode(xml);
assertTrue(object instanceof TestObject);
@@ -53,9 +51,9 @@ public class XMLDecoderTest extends Test
}
public void testDecodeMappingAttributes() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "attribute-mapped.xml"));
- Object object = decoder.decode(xml, CayenneResources.getResourceURL(
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "attribute-mapped.xml").openStream());
+ Object object = decoder.decode(xml, ResourceUtil.getResource(
XML_DATA_DIR + "attribute-mapping.xml").toExternalForm());
assertTrue(object instanceof TestObject);
@@ -71,9 +69,9 @@ public class XMLDecoderTest extends Test
* @throws Exception
*/
public void testDecodeMapping() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "simple-mapped.xml"));
- Object object = decoder.decode(xml, CayenneResources.getResourceURL(
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "simple-mapped.xml").openStream());
+ Object object = decoder.decode(xml, ResourceUtil.getResource(
XML_DATA_DIR + "simple-mapping.xml").toExternalForm());
assertTrue(object instanceof TestObject);
@@ -82,14 +80,14 @@ public class XMLDecoderTest extends Test
TestObject george = new TestObject("George", 57, false);
assertEquals(decoded, george);
}
-
- // Added test for 1-to-1 relationship mappings, per CAY-597.
+
+ // Added test for 1-to-1 relationship mappings, per CAY-597.
public void testDecodeMapping1To1() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "1to1-mapped.xml"));
- Object object = decoder.decode(xml, CayenneResources.getResourceURL(
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "1to1-mapped.xml").openStream());
+ Object object = decoder.decode(xml, ResourceUtil.getResource(
XML_DATA_DIR + "1to1-mapping.xml").toExternalForm());
-
+
assertTrue(object instanceof TestObject);
TestObject decoded = (TestObject) object;
@@ -97,26 +95,26 @@ public class XMLDecoderTest extends Test
grandParent.setAge(117);
grandParent.setName("Sue");
grandParent.setOpen(false);
-
+
TestObject parent = new TestObject();
parent.setAge(94);
parent.setName("Bill");
parent.setOpen(true);
parent.setParent(grandParent);
-
+
TestObject child = new TestObject();
child.setAge(57);
child.setName("George");
child.setOpen(false);
child.setParent(parent);
-
+
assertEquals(decoded, child);
}
public void testDecodeMappingCollection() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "collection-mapped.xml"));
- Object object = decoder.decode(xml, CayenneResources.getResourceURL(
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "collection-mapped.xml").openStream());
+ Object object = decoder.decode(xml, ResourceUtil.getResource(
XML_DATA_DIR + "collection-mapping.xml").toExternalForm());
assertTrue(object instanceof TestObject);
@@ -150,9 +148,9 @@ public class XMLDecoderTest extends Test
}
public void testDecodeMappingCollectionWithNoEntity() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "collection-no-entity-mapped.xml"));
- Object object = decoder.decode(xml, CayenneResources.getResourceURL(
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "collection-no-entity-mapped.xml").openStream());
+ Object object = decoder.decode(xml, ResourceUtil.getResource(
XML_DATA_DIR + "collection-no-entity-mapping.xml").toExternalForm());
assertTrue(object instanceof TestObject);
@@ -171,9 +169,9 @@ public class XMLDecoderTest extends Test
}
public void testDecodeMappingCollection1() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "collection-mapped1.xml"));
- Object object = decoder.decode(xml, CayenneResources.getResourceURL(
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "collection-mapped1.xml").openStream());
+ Object object = decoder.decode(xml, ResourceUtil.getResource(
XML_DATA_DIR + "collection-mapping.xml").toExternalForm());
assertTrue(object instanceof TestObject);
@@ -192,9 +190,9 @@ public class XMLDecoderTest extends Test
}
public void testDecodeMappingCollection2() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "collection-mapped2.xml"));
- Object object = decoder.decode(xml, CayenneResources.getResourceURL(
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "collection-mapped2.xml").openStream());
+ Object object = decoder.decode(xml, ResourceUtil.getResource(
XML_DATA_DIR + "collection-mapping.xml").toExternalForm());
assertTrue(object instanceof TestObject);
@@ -213,8 +211,8 @@ public class XMLDecoderTest extends Test
}
public void testDecodeCollection() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "encoded-simple-collection.xml"));
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "encoded-simple-collection.xml").openStream());
Object object = decoder.decode(xml);
assertTrue(object instanceof TestObject);
@@ -231,8 +229,8 @@ public class XMLDecoderTest extends Test
}
public void testDecodeComplexCollection() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "encoded-complex-collection.xml"));
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "encoded-complex-collection.xml").openStream());
Object object = decoder.decode(xml);
assertTrue(object instanceof TestObject);
@@ -263,8 +261,8 @@ public class XMLDecoderTest extends Test
}
public void testDecodePrimitives() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "encoded-object-primitives.xml"));
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "encoded-object-primitives.xml").openStream());
Object object = decoder.decode(xml);
assertTrue(object instanceof TestObject);
@@ -273,13 +271,13 @@ public class XMLDecoderTest extends Test
assertEquals(5, test.getAge());
assertEquals(true, test.isOpen());
}
-
- // Added test for 1-to-1 relationships, per CAY-597.
+
+ // Added test for 1-to-1 relationships, per CAY-597.
public void testDecode1To1() throws Exception {
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "1to1-encoded.xml"));
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "1to1-encoded.xml").openStream());
Object object = decoder.decode(xml);
-
+
assertTrue(object instanceof TestObject);
TestObject decoded = (TestObject) object;
@@ -287,19 +285,19 @@ public class XMLDecoderTest extends Test
grandParent.setAge(117);
grandParent.setName("Sue");
grandParent.setOpen(false);
-
+
TestObject parent = new TestObject();
parent.setAge(94);
parent.setName("Bill");
parent.setOpen(true);
parent.setParent(grandParent);
-
+
TestObject child = new TestObject();
child.setAge(57);
child.setName("George");
child.setOpen(false);
child.setParent(parent);
-
+
assertEquals(decoded, child);
}
@@ -310,8 +308,8 @@ public class XMLDecoderTest extends Test
dataObjects.add(new TestObject("Mary", 28, false));
dataObjects.add(new TestObject("Joe", 31, true));
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "data-objects-encoded.xml"));
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "data-objects-encoded.xml").openStream());
final List<?> decoded = XMLDecoder.decodeList(xml);
assertEquals(dataObjects, decoded);
@@ -324,11 +322,10 @@ public class XMLDecoderTest extends Test
dataObjects.add(new TestObject("Mary", 28, false));
dataObjects.add(new TestObject("Joe", 31, true));
- Reader xml = new InputStreamReader(CayenneResources.getResource(XML_DATA_DIR
- + "data-objects-mapped.xml"));
- final List<?> decoded = XMLDecoder.decodeList(xml, CayenneResources
- .getResourceURL(XML_DATA_DIR + "simple-mapping.xml")
- .toExternalForm());
+ Reader xml = new InputStreamReader(ResourceUtil.getResource(
+ XML_DATA_DIR + "data-objects-mapped.xml").openStream());
+ final List<?> decoded = XMLDecoder.decodeList(xml, ResourceUtil.getResource(
+ XML_DATA_DIR + "simple-mapping.xml").toExternalForm());
assertEquals(dataObjects, decoded);
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/XMLEncoderTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/XMLEncoderTest.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/XMLEncoderTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/XMLEncoderTest.java Sat Aug 21 10:38:24 2010
@@ -27,7 +27,7 @@ import java.util.List;
import junit.framework.TestCase;
-import org.apache.cayenne.unit.CayenneResources;
+import org.apache.cayenne.test.resource.ResourceUtil;
/**
*/
@@ -70,8 +70,8 @@ public class XMLEncoderTest extends Test
}
private String loadTestFileAsString(String filename) throws IOException {
- BufferedReader in = new BufferedReader(new InputStreamReader(CayenneResources
- .getResource(XML_DATA_DIR + filename)));
+ BufferedReader in = new BufferedReader(new InputStreamReader(ResourceUtil
+ .getResource(XML_DATA_DIR + filename).openStream()));
StringBuffer comp = new StringBuffer();
while (in.ready()) {
comp.append(in.readLine());
@@ -110,7 +110,7 @@ public class XMLEncoderTest extends Test
}
public void testSimpleMapping() throws Exception {
- XMLEncoder encoder = new XMLEncoder(CayenneResources.getResourceURL(
+ XMLEncoder encoder = new XMLEncoder(ResourceUtil.getResource(
XML_DATA_DIR + "simple-mapping.xml").toExternalForm());
TestObject test = new TestObject();
test.setAge(57);
@@ -126,7 +126,7 @@ public class XMLEncoderTest extends Test
// Added test for 1-to-1 relationship mappings, per CAY-597.
public void test1To1Mapping() throws Exception {
- XMLEncoder encoder = new XMLEncoder(CayenneResources.getResourceURL(
+ XMLEncoder encoder = new XMLEncoder(ResourceUtil.getResource(
XML_DATA_DIR + "1to1-mapping.xml").toExternalForm());
TestObject grandParent = new TestObject();
@@ -180,7 +180,7 @@ public class XMLEncoderTest extends Test
}
public void testCollectionMapping() throws Exception {
- XMLEncoder encoder = new XMLEncoder(CayenneResources.getResourceURL(
+ XMLEncoder encoder = new XMLEncoder(ResourceUtil.getResource(
XML_DATA_DIR + "collection-mapping.xml").toExternalForm());
TestObject george = new TestObject();
george.setAge(76);
@@ -219,7 +219,7 @@ public class XMLEncoderTest extends Test
dataObjects.add(new TestObject("Mary", 28, false));
dataObjects.add(new TestObject("Joe", 31, true));
- String xml = new XMLEncoder(CayenneResources.getResourceURL(
+ String xml = new XMLEncoder(ResourceUtil.getResource(
XML_DATA_DIR + "simple-mapping.xml").toExternalForm()).encode(
"EncodedTestList",
dataObjects);
Modified: cayenne/main/trunk/framework/cayenne-tools/pom.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-tools/pom.xml?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-tools/pom.xml (original)
+++ cayenne/main/trunk/framework/cayenne-tools/pom.xml Sat Aug 21 10:38:24 2010
@@ -105,49 +105,16 @@
</dependency>
<dependency>
- <groupId>ognl</groupId>
- <artifactId>ognl</artifactId>
- </dependency>
-
- <dependency>
<groupId>foundrylogic.vpp</groupId>
<artifactId>vpp</artifactId>
</dependency>
<dependency>
- <groupId>mockrunner</groupId>
- <artifactId>mockrunner</artifactId>
- </dependency>
-
- <dependency>
<groupId>net.java.dev.inflector</groupId>
<artifactId>inflector</artifactId>
<version>0.7.0</version>
</dependency>
- <dependency>
- <groupId>org.apache.cayenne.unpublished</groupId>
- <artifactId>cayenne-jdk1.5-unpublished</artifactId>
- <version>${version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- </dependency>
-
- <dependency>
- <groupId>hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
Modified: cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/access/AbstractDbLoaderDelegateTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/access/AbstractDbLoaderDelegateTest.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/access/AbstractDbLoaderDelegateTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/access/AbstractDbLoaderDelegateTest.java Sat Aug 21 10:38:24 2010
@@ -37,6 +37,7 @@ public class AbstractDbLoaderDelegateTes
private DbEntity dbEntity;
private ObjEntity objEntity;
+ @Override
public void setUp() {
delegate = new TestDbLoaderDelegate();
dataMap = new DataMap();
Modified: cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/gen/ImportUtilsTest.java Sat Aug 21 10:38:24 2010
@@ -21,8 +21,6 @@ package org.apache.cayenne.gen;
import junit.framework.TestCase;
-/**
- */
public class ImportUtilsTest extends TestCase {
protected ImportUtils importUtils = null;
@@ -32,7 +30,7 @@ public class ImportUtilsTest extends Tes
super.setUp();
importUtils = new ImportUtils();
}
-
+
@Override
protected void tearDown() throws Exception {
super.tearDown();
@@ -189,13 +187,14 @@ public class ImportUtilsTest extends Tes
public void testFormatJavaTypeWithPrimitives() throws Exception {
assertEquals("int", importUtils.formatJavaType("int", true));
assertEquals("Integer", importUtils.formatJavaType("int", false));
-
+
assertEquals("char", importUtils.formatJavaType("char", true));
- assertEquals("Character", importUtils.formatJavaType("java.lang.Character", false));
-
+ assertEquals("Character", importUtils
+ .formatJavaType("java.lang.Character", false));
+
assertEquals("double", importUtils.formatJavaType("java.lang.Double", true));
assertEquals("Double", importUtils.formatJavaType("java.lang.Double", false));
-
+
assertEquals("a.b.C", importUtils.formatJavaType("a.b.C", true));
assertEquals("a.b.C", importUtils.formatJavaType("a.b.C", false));
}
@@ -217,7 +216,7 @@ public class ImportUtilsTest extends Tes
assertEquals(baseType, importUtils.formatJavaType(fullyQualifiedType));
}
-
+
public void testFormatJavaType() {
assertEquals("x.X", importUtils.formatJavaType("x.X"));
assertEquals("X", importUtils.formatJavaType("java.lang.X"));
Modified: cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java Sat Aug 21 10:38:24 2010
@@ -27,7 +27,8 @@ import java.util.regex.Pattern;
import junit.framework.TestCase;
-import org.apache.cayenne.unit.CayenneResources;
+import org.apache.cayenne.test.file.FileUtil;
+import org.apache.cayenne.test.resource.ResourceUtil;
import org.apache.tools.ant.Location;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.types.FileList;
@@ -47,20 +48,20 @@ public class CayenneGeneratorTaskCrossMa
// prepare destination directory
- File destDir = new File(CayenneResources.getResources().getTestDir(), "cgen12");
+ File destDir = new File(FileUtil.baseTestDirectory(), "cgen12");
// prepare destination directory
if (!destDir.exists()) {
assertTrue(destDir.mkdirs());
}
File map = new File(destDir, "cgen-dependent.map.xml");
- CayenneResources.copyResourceToFile(
+ ResourceUtil.copyResourceToFile(
"org/apache/cayenne/tools/cgen-dependent.map.xml",
map);
File additionalMaps[] = new File[1];
additionalMaps[0] = new File(destDir, "cgen.map.xml");
- CayenneResources.copyResourceToFile(
+ ResourceUtil.copyResourceToFile(
"org/apache/cayenne/tools/cgen.map.xml",
additionalMaps[0]);
Modified: cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java Sat Aug 21 10:38:24 2010
@@ -27,7 +27,8 @@ import java.util.regex.Pattern;
import junit.framework.TestCase;
-import org.apache.cayenne.unit.CayenneResources;
+import org.apache.cayenne.test.file.FileUtil;
+import org.apache.cayenne.test.resource.ResourceUtil;
import org.apache.tools.ant.Location;
import org.apache.tools.ant.Project;
@@ -40,14 +41,14 @@ public class CayenneGeneratorTaskTest ex
static {
- baseDir = CayenneResources.getResources().getTestDir();
+ baseDir = FileUtil.baseTestDirectory();
map = new File(baseDir, "antmap.xml");
mapEmbeddables = new File(baseDir, "antmap-embeddables.xml");
template = new File(baseDir, "velotemplate.vm");
- CayenneResources.copyResourceToFile("testmap.map.xml", map);
- CayenneResources.copyResourceToFile("embeddable.map.xml", mapEmbeddables);
- CayenneResources.copyResourceToFile(
+ ResourceUtil.copyResourceToFile("testmap.map.xml", map);
+ ResourceUtil.copyResourceToFile("embeddable.map.xml", mapEmbeddables);
+ ResourceUtil.copyResourceToFile(
"org/apache/cayenne/tools/velotemplate.vm",
template);
}
Modified: cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/DbGeneratorTaskTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/DbGeneratorTaskTest.java?rev=987723&r1=987722&r2=987723&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/DbGeneratorTaskTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-tools/src/test/java/org/apache/cayenne/tools/DbGeneratorTaskTest.java Sat Aug 21 10:38:24 2010
@@ -19,12 +19,11 @@
package org.apache.cayenne.tools;
+import junit.framework.TestCase;
+
import org.apache.cayenne.dba.sqlserver.SQLServerAdapter;
-import org.apache.cayenne.unit.CayenneCase;
-/**
- */
-public class DbGeneratorTaskTest extends CayenneCase {
+public class DbGeneratorTaskTest extends TestCase {
public void testSetUserName() throws Exception {
DbGeneratorTask task = new DbGeneratorTask();
Added: cayenne/main/trunk/framework/cayenne-tools/src/test/resources/embeddable.map.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-tools/src/test/resources/embeddable.map.xml?rev=987723&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-tools/src/test/resources/embeddable.map.xml (added)
+++ cayenne/main/trunk/framework/cayenne-tools/src/test/resources/embeddable.map.xml Sat Aug 21 10:38:24 2010
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd"
+ project-version="6">
+ <property name="defaultPackage" value="org.apache.cayenne.testdo.embeddable"/>
+ <embeddable className="org.apache.cayenne.testdo.embeddable.Embeddable1">
+ <embeddable-attribute name="embedded10" type="java.lang.String" db-attribute-name="EMBEDDED10"/>
+ <embeddable-attribute name="embedded20" type="java.lang.String" db-attribute-name="EMBEDDED20"/>
+ </embeddable>
+ <db-entity name="EMBED_ENTITY1">
+ <db-attribute name="EMBEDDED10" type="VARCHAR" length="100"/>
+ <db-attribute name="EMBEDDED20" type="VARCHAR" length="100"/>
+ <db-attribute name="EMBEDDED30" type="VARCHAR" length="100"/>
+ <db-attribute name="EMBEDDED40" type="VARCHAR" length="100"/>
+ <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+ <db-attribute name="NAME" type="VARCHAR" length="100"/>
+ </db-entity>
+ <obj-entity name="EmbedEntity1" className="org.apache.cayenne.testdo.embeddable.EmbedEntity1" dbEntityName="EMBED_ENTITY1">
+ <embedded-attribute name="embedded1" type="org.apache.cayenne.testdo.embeddable.Embeddable1"/>
+ <embedded-attribute name="embedded2" type="org.apache.cayenne.testdo.embeddable.Embeddable1">
+ <embeddable-attribute-override name="embedded10" db-attribute-path="EMBEDDED30"/>
+ <embeddable-attribute-override name="embedded20" db-attribute-path="EMBEDDED40"/>
+ </embedded-attribute>
+ <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+ </obj-entity>
+</data-map>