Author: aadamchik
Date: Fri Jul 6 20:49:17 2012
New Revision: 1358412
URL: http://svn.apache.org/viewvc?rev=1358412&view=rev
Log:
CAY-1718 Remove everything deprecated in 3.1
in progress
Removed:
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/ResourceLocator.java
Modified:
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOModelHelper.java
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelHelperTest.java
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorInheritanceTest.java
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorTest.java
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelPrototypesTest.java
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportEOModelAction.java
Modified:
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOModelHelper.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOModelHelper.java?rev=1358412&r1=1358411&r2=1358412&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOModelHelper.java
(original)
+++
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOModelHelper.java
Fri Jul 6 20:49:17 2012
@@ -17,9 +17,9 @@
* under the License.
****************************************************************/
-
package org.apache.cayenne.wocompat;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
@@ -31,9 +31,9 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import org.apache.commons.collections.IteratorUtils;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.wocompat.parser.Parser;
+import org.apache.commons.collections.IteratorUtils;
/**
* Helper class used by EOModelProcessor. EOModelHelper loads an EOModel from
the
@@ -41,8 +41,6 @@ import org.apache.cayenne.wocompat.parse
*/
public class EOModelHelper {
- private static final ResourceLocator locator = new ResourceLocator();
-
private Parser plistParser = new Parser();
protected URL modelUrl;
protected Map entityIndex;
@@ -52,20 +50,20 @@ public class EOModelHelper {
protected DataMap dataMap;
private Map prototypeValues;
- static {
- // configure locator
- locator.setSkipClasspath(false);
- locator.setSkipCurrentDirectory(false);
- locator.setSkipAbsolutePath(false);
- }
-
/**
* Creates helper instance and tries to locate EOModel and load index file.
+ *
+ * @deprecated since 3.2, use {@link #EOModelHelper(URL)}.
*/
+ @Deprecated
public EOModelHelper(String path) throws Exception {
+ this(new File(path).toURI().toURL());
+ }
- this.modelUrl = findModelUrl(path);
- this.dataMap = new DataMap(findModelName(path));
+ public EOModelHelper(URL modelUrl) throws Exception {
+
+ this.modelUrl = modelUrl;
+ this.dataMap = new DataMap(findModelName(modelUrl.toExternalForm()));
// load index file
List modelIndex = (List) loadModelIndex().get("entities");
@@ -102,7 +100,7 @@ public class EOModelHelper {
String name = (String) info.get("name");
Map entityPlistMap = entityPListMap(name);
List classProperties = (List)
entityPlistMap.get("classProperties");
- if(classProperties == null) {
+ if (classProperties == null) {
classProperties = Collections.EMPTY_LIST;
}
@@ -198,8 +196,10 @@ public class EOModelHelper {
}
catch (ClassNotFoundException
yetAnotherClassNotFoundException) {
try {
- return ClassLoader.getSystemClassLoader().loadClass(
- valueClassName).getName();
+ return ClassLoader
+ .getSystemClassLoader()
+ .loadClass(valueClassName)
+ .getName();
}
catch (ClassNotFoundException e) {
// likely a custom class
@@ -217,23 +217,32 @@ public class EOModelHelper {
protected Class numericAttributeClass(String valueType) {
if (valueType == null) {
return null;
- } else if ("b".equals(valueType)) {
+ }
+ else if ("b".equals(valueType)) {
return Byte.class;
- } else if ("s".equals(valueType)) {
+ }
+ else if ("s".equals(valueType)) {
return Short.class;
- } else if ("i".equals(valueType)) {
+ }
+ else if ("i".equals(valueType)) {
return Integer.class;
- } else if ("l".equals(valueType)) {
+ }
+ else if ("l".equals(valueType)) {
return Long.class;
- } else if ("f".equals(valueType)) {
+ }
+ else if ("f".equals(valueType)) {
return Float.class;
- } else if ("d".equals(valueType)) {
+ }
+ else if ("d".equals(valueType)) {
return Double.class;
- } else if ("B".equals(valueType)) {
+ }
+ else if ("B".equals(valueType)) {
return BigDecimal.class;
- } else if ("c".equals(valueType)) {
+ }
+ else if ("c".equals(valueType)) {
return Boolean.class;
- } else {
+ }
+ else {
return null;
}
}
@@ -248,13 +257,13 @@ public class EOModelHelper {
return modelUrl;
}
- /**
- * Returns an iterator of model names.
+ /**
+ * Returns an iterator of model names.
*/
public Iterator modelNames() {
return entityClassIndex.keySet().iterator();
}
-
+
/**
* Returns a list of model entity names.
*
@@ -272,7 +281,8 @@ public class EOModelHelper {
// no prototypes
if (eoPrototypesEntityMap == null) {
prototypeValues = Collections.EMPTY_MAP;
- } else {
+ }
+ else {
List eoPrototypeAttributes = (List) eoPrototypesEntityMap
.get("attributes");
@@ -283,7 +293,8 @@ public class EOModelHelper {
String attrName = (String) attrMap.get("name");
- // TODO: why are we copying the original map? can we just
use it as is?
+ // TODO: why are we copying the original map? can we just
use it as
+ // is?
Map prototypeAttrMap = new HashMap();
prototypeValues.put(attrName, prototypeAttrMap);
@@ -343,7 +354,8 @@ public class EOModelHelper {
public String entityClass(String entityName, boolean getClientClass) {
if (getClientClass) {
return (String) entityClientClassIndex.get(entityName);
- } else {
+ }
+ else {
return (String) entityClassIndex.get(entityName);
}
}
@@ -421,21 +433,6 @@ public class EOModelHelper {
}
/**
- * Returns a URL of the EOModel directory. Throws exception if it can't be
found.
- */
- protected URL findModelUrl(String path) {
- if (!path.endsWith(".eomodeld")) {
- path += ".eomodeld";
- }
-
- URL base = locator.findDirectoryResource(path);
- if (base == null) {
- throw new IllegalArgumentException("Can't find EOModel: " + path);
- }
- return base;
- }
-
- /**
* Returns InputStream to read an EOModel index file.
*/
protected InputStream openIndexStream() throws Exception {
@@ -445,8 +442,7 @@ public class EOModelHelper {
/**
* Returns InputStream to read an EOEntity plist file.
*
- * @param entityName
- * name of EOEntity to be loaded.
+ * @param entityName name of EOEntity to be loaded.
* @return InputStream to read an EOEntity plist file or null if
* <code>entityname.plist</code> file can not be located.
*/
@@ -457,8 +453,7 @@ public class EOModelHelper {
/**
* Returns InputStream to read an EOFetchSpecification plist file.
*
- * @param entityName
- * name of EOEntity to be loaded.
+ * @param entityName name of EOEntity to be loaded.
* @return InputStream to read an EOEntity plist file or null if
* <code>entityname.plist</code> file can not be located.
*/
Modified:
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java?rev=1358412&r1=1358411&r2=1358412&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
(original)
+++
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
Fri Jul 6 20:49:17 2012
@@ -19,6 +19,7 @@
package org.apache.cayenne.wocompat;
+import java.io.File;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.net.URL;
@@ -68,30 +69,29 @@ public class EOModelProcessor {
}
/**
+ * @deprecated since 3.2 in favor of {@link #loadModeIndex(URL)}.
+ */
+ public Map loadModeIndex(String path) throws Exception {
+ return loadModeIndex(new File(path).toURI().toURL());
+ }
+
+ /**
* Returns index.eomodeld contents as a Map.
*
- * @since 1.1
+ * @since 3.2
*/
// TODO: refactor EOModelHelper to provide a similar method without loading
// all entity files in memory... here we simply copied stuff from
EOModelHelper
- public Map loadModeIndex(String path) throws Exception {
+ public Map loadModeIndex(URL url) throws Exception {
- ResourceLocator locator = new ResourceLocator();
- locator.setSkipClasspath(false);
- locator.setSkipCurrentDirectory(false);
- locator.setSkipAbsolutePath(false);
-
- if (!path.endsWith(".eomodeld")) {
- path += ".eomodeld";
- }
+ String urlString = url.toExternalForm();
- URL base = locator.findDirectoryResource(path);
- if (base == null) {
- throw new FileNotFoundException("Can't find EOModel: " + path);
+ if (!urlString.endsWith(".eomodeld")) {
+ url = new URL(urlString + ".eomodeld");
}
Parser plistParser = new Parser();
- InputStream in = new URL(base, "index.eomodeld").openStream();
+ InputStream in = new URL(url, "index.eomodeld").openStream();
try {
plistParser.ReInit(in);
@@ -103,26 +103,40 @@ public class EOModelProcessor {
}
/**
- * Performs EOModel loading.
- *
- * @param path A path to ".eomodeld" directory. If path doesn't end with
".eomodeld",
- * ".eomodeld" suffix is automatically assumed.
+ * @deprecated since 3.2 in favor of {@link #loadEOModel(URL)}.
*/
+ @Deprecated
public DataMap loadEOModel(String path) throws Exception {
return loadEOModel(path, false);
}
/**
+ * @deprecated since 3.2 in favor of {@link #loadEOModel(URL, boolean)}.
+ */
+ @Deprecated
+ public DataMap loadEOModel(String path, boolean generateClientClass)
throws Exception {
+ return loadEOModel(new File(path).toURI().toURL(),
generateClientClass);
+ }
+
+ /**
* Performs EOModel loading.
*
- * @param path A path to ".eomodeld" directory. If path doesn't end with
".eomodeld",
- * ".eomodeld" suffix is automatically assumed.
+ * @param url URL of ".eomodeld" directory.
+ */
+ public DataMap loadEOModel(URL url) throws Exception {
+ return loadEOModel(url, false);
+ }
+
+ /**
+ * Performs EOModel loading.
+ *
+ * @param url URL of ".eomodeld" directory.
* @param generateClientClass if true then loading of EOModel is java
client classes
* aware and the following processing will work with Java
client class
* settings of the EOModel.
*/
- public DataMap loadEOModel(String path, boolean generateClientClass)
throws Exception {
- EOModelHelper helper = makeHelper(path, generateClientClass);
+ public DataMap loadEOModel(URL url, boolean generateClientClass) throws
Exception {
+ EOModelHelper helper = makeHelper(url);
// create empty map
DataMap dataMap = helper.getDataMap();
@@ -208,9 +222,8 @@ public class EOModelProcessor {
* Creates an returns new EOModelHelper to process EOModel. Exists mostly
for the
* benefit of subclasses.
*/
- protected EOModelHelper makeHelper(String path, boolean
genereateClientClass)
- throws Exception {
- return new EOModelHelper(path);
+ protected EOModelHelper makeHelper(URL url) throws Exception {
+ return new EOModelHelper(url);
}
/**
Modified:
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelHelperTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelHelperTest.java?rev=1358412&r1=1358411&r2=1358412&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelHelperTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelHelperTest.java
Fri Jul 6 20:49:17 2012
@@ -21,6 +21,7 @@ package org.apache.cayenne.wocompat;
import java.io.IOException;
import java.io.InputStream;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -28,15 +29,15 @@ import java.util.Map;
import junit.framework.TestCase;
-/**
- */
public class EOModelHelperTest extends TestCase {
protected EOModelHelper helper;
@Override
protected void setUp() throws Exception {
- helper = new EOModelHelper("wotests/art.eomodeld");
+ URL url =
getClass().getClassLoader().getResource("wotests/art.eomodeld/");
+ assertNotNull(url);
+ helper = new EOModelHelper(url);
}
public void testModelNames() throws Exception {
Modified:
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorInheritanceTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorInheritanceTest.java?rev=1358412&r1=1358411&r2=1358412&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorInheritanceTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorInheritanceTest.java
Fri Jul 6 20:49:17 2012
@@ -19,6 +19,8 @@
package org.apache.cayenne.wocompat;
+import java.net.URL;
+
import junit.framework.TestCase;
import org.apache.cayenne.map.DataMap;
@@ -27,15 +29,19 @@ import org.apache.cayenne.map.ObjRelatio
public class EOModelProcessorInheritanceTest extends TestCase {
+ private URL url;
protected EOModelProcessor processor;
@Override
public void setUp() throws Exception {
processor = new EOModelProcessor();
+
+ url = getClass().getClassLoader().getResource("inheritance.eomodeld/");
+ assertNotNull(url);
}
public void testLoadAbstractEntity() throws Exception {
- DataMap map = processor.loadEOModel("inheritance.eomodeld");
+ DataMap map = processor.loadEOModel(url);
ObjEntity abstractE = map.getObjEntity("AbstractEntity");
assertNotNull(abstractE);
@@ -44,7 +50,7 @@ public class EOModelProcessorInheritance
}
public void testLoadConcreteEntity() throws Exception {
- DataMap map = processor.loadEOModel("inheritance.eomodeld");
+ DataMap map = processor.loadEOModel(url);
ObjEntity concreteE = map.getObjEntity("ConcreteEntityOne");
assertNotNull(concreteE);
@@ -56,7 +62,7 @@ public class EOModelProcessorInheritance
}
public void testLoadFlattenedRelationship() throws Exception {
- DataMap map = processor.loadEOModel("inheritance.eomodeld");
+ DataMap map = processor.loadEOModel(url);
ObjEntity e1 = map.getObjEntity("HelperFlatEntity");
assertNotNull(e1);
Modified:
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorTest.java?rev=1358412&r1=1358411&r2=1358412&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelProcessorTest.java
Fri Jul 6 20:49:17 2012
@@ -20,6 +20,7 @@
package org.apache.cayenne.wocompat;
import java.io.PrintWriter;
+import java.net.URL;
import java.util.Collection;
import junit.framework.TestCase;
@@ -45,7 +46,11 @@ public class EOModelProcessorTest extend
}
public void testLoadModel() throws Exception {
- DataMap map = processor.loadEOModel("wotests/art.eomodeld");
+ URL url =
getClass().getClassLoader().getResource("wotests/art.eomodeld/");
+ assertNotNull(url);
+
+
+ DataMap map = processor.loadEOModel(url);
assertLoaded("art", map);
assertLoadedQueries(map);
assertOneWayRelationships(map);
@@ -53,7 +58,11 @@ public class EOModelProcessorTest extend
}
public void testLoadModelWithDependencies() throws Exception {
- DataMap map =
processor.loadEOModel("wotests/cross-model-relationships.eomodeld");
+ URL url = getClass().getClassLoader().getResource(
+ "wotests/cross-model-relationships.eomodeld/");
+ assertNotNull(url);
+
+ DataMap map = processor.loadEOModel(url);
ObjEntity entity = map.getObjEntity("CrossModelRelTest");
assertNotNull(entity);
@@ -72,7 +81,10 @@ public class EOModelProcessorTest extend
}
public void testLoadBrokenModel() throws Exception {
- DataMap map = processor.loadEOModel("art-with-errors.eomodeld");
+ URL url =
getClass().getClassLoader().getResource("art-with-errors.eomodeld/");
+ assertNotNull(url);
+
+ DataMap map = processor.loadEOModel(url);
assertLoaded("art-with-errors", map);
}
Modified:
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelPrototypesTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelPrototypesTest.java?rev=1358412&r1=1358411&r2=1358412&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelPrototypesTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOModelPrototypesTest.java
Fri Jul 6 20:49:17 2012
@@ -19,6 +19,7 @@
package org.apache.cayenne.wocompat;
+import java.net.URL;
import java.sql.Types;
import junit.framework.TestCase;
@@ -31,8 +32,16 @@ import org.apache.cayenne.map.ObjEntity;
public class EOModelPrototypesTest extends TestCase {
+ private URL url;
+
+ @Override
+ protected void setUp() throws Exception {
+ url = getClass().getClassLoader().getResource("prototypes.eomodeld/");
+ assertNotNull(url);
+ }
+
public void testSkipPrototypes() throws Exception {
- DataMap map = new
EOModelProcessor().loadEOModel("prototypes.eomodeld");
+ DataMap map = new EOModelProcessor().loadEOModel(url);
assertNotNull(map.getObjEntity("Document"));
assertNull(map.getObjEntity("EOPrototypes"));
@@ -40,7 +49,7 @@ public class EOModelPrototypesTest exten
}
public void testDbAttributeType() throws Exception {
- DataMap map = new
EOModelProcessor().loadEOModel("prototypes.eomodeld");
+ DataMap map = new EOModelProcessor().loadEOModel(url);
DbEntity dbe = map.getDbEntity("DOCUMENT");
assertNotNull(dbe);
@@ -62,7 +71,7 @@ public class EOModelPrototypesTest exten
// nothing
// to do with prototypes...
public void testSameColumnMapping() throws Exception {
- DataMap map = new
EOModelProcessor().loadEOModel("prototypes.eomodeld");
+ DataMap map = new EOModelProcessor().loadEOModel(url);
ObjEntity estimateOE = map.getObjEntity("Estimate");
ObjEntity invoiceOE = map.getObjEntity("Invoice");
@@ -85,9 +94,8 @@ public class EOModelPrototypesTest exten
// TODO: move this test to EOModelProcessorInheritanceTst. The original
problem had
// nothing to do with prototypes...
public void testOverridingAttributes() throws Exception {
- DataMap map = new
EOModelProcessor().loadEOModel("prototypes.eomodeld");
+ DataMap map = new EOModelProcessor().loadEOModel(url);
- ObjEntity documentOE = map.getObjEntity("Document");
ObjEntity estimateOE = map.getObjEntity("Estimate");
assertSame(estimateOE, estimateOE.getAttribute("created").getEntity());
Modified:
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java?rev=1358412&r1=1358411&r2=1358412&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
Fri Jul 6 20:49:17 2012
@@ -19,6 +19,7 @@
package org.apache.cayenne.wocompat;
+import java.net.URL;
import java.util.Collection;
import java.util.Map;
@@ -30,9 +31,12 @@ import org.apache.cayenne.query.Prefetch
public class EOQueryTest extends TestCase {
public void testConstructor() throws Exception {
+
+ URL url =
getClass().getClassLoader().getResource("wotests/fetchspec.eomodeld/");
+ assertNotNull(url);
EOModelProcessor processor = new EOModelProcessor();
- DataMap map = processor.loadEOModel("wotests/fetchspec.eomodeld");
+ DataMap map = processor.loadEOModel(url);
Map fspecMap = (Map)
PropertyListSerialization.propertyListFromStream(getClass()
.getClassLoader()
Modified:
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportEOModelAction.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportEOModelAction.java?rev=1358412&r1=1358411&r2=1358412&view=diff
==============================================================================
---
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportEOModelAction.java
(original)
+++
cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ImportEOModelAction.java
Fri Jul 6 20:49:17 2012
@@ -23,6 +23,7 @@ import java.awt.Component;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.io.File;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
@@ -109,17 +110,17 @@ public class ImportEOModelAction extends
DataMap currentMap = getProjectController().getCurrentDataMap();
try {
- String path = file.getCanonicalPath();
+ URL url = file.toURI().toURL();
EOModelProcessor processor = new EOModelProcessor();
// load DataNode if we are not merging with an existing map
if (currentMap == null) {
- loadDataNode(processor.loadModeIndex(path));
+ loadDataNode(processor.loadModeIndex(url));
}
// load DataMap
- DataMap map = processor.loadEOModel(path);
+ DataMap map = processor.loadEOModel(url);
addDataMap(map, currentMap);
}