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 2013/08/02 09:34:11 UTC
svn commit: r1509573 - in /cayenne/main/trunk: docs/doc/src/main/resources/
framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/
Author: aadamchik
Date: Fri Aug 2 07:34:11 2013
New Revision: 1509573
URL: http://svn.apache.org/r1509573
Log:
CAY-1859 NullPointerException when importing EOModel
Modified:
cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOObjEntity.java
cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOQuery.java
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=1509573&r1=1509572&r2=1509573&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 Fri Aug 2 07:34:11 2013
@@ -27,6 +27,7 @@ Bug Fixes:
CAY-1695 Unexpected null value in bidirectional one-to-one prefetch
CAY-1736 IllegalArgumentException when synchronizing entities in the Modeler
CAY-1857 Problem with hotkeys
+CAY-1859 NullPointerException when importing EOModel
----------------------------------
Release: 3.2M1
Modified: cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOObjEntity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOObjEntity.java?rev=1509573&r1=1509572&r2=1509573&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOObjEntity.java (original)
+++ cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOObjEntity.java Fri Aug 2 07:34:11 2013
@@ -29,9 +29,11 @@ import java.util.StringTokenizer;
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.exp.Expression;
+import org.apache.cayenne.exp.ExpressionException;
import org.apache.cayenne.exp.ExpressionFactory;
import org.apache.cayenne.map.Entity;
import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.map.Relationship;
import org.apache.cayenne.query.Query;
import org.apache.commons.collections.Transformer;
@@ -39,7 +41,7 @@ import org.apache.commons.collections.Tr
* An extension of ObjEntity used to accomodate extra EOModel entity properties.
*/
public class EOObjEntity extends ObjEntity {
-
+
protected boolean subclass;
protected boolean abstractEntity;
@@ -200,9 +202,12 @@ public class EOObjEntity extends ObjEnti
buffer.append(chunk);
- entity = (EOObjEntity) entity
- .getRelationship(chunk)
- .getTargetEntity();
+ Relationship r = entity.getRelationship(chunk);
+ if (r == null) {
+ throw new ExpressionException("Invalid path component: " + chunk);
+ }
+
+ entity = (EOObjEntity) r.getTargetEntity();
}
// this is an attribute...
else {
Modified: cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOQuery.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOQuery.java?rev=1509573&r1=1509572&r2=1509573&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOQuery.java (original)
+++ cayenne/main/trunk/framework/cayenne-wocompat-unpublished/src/main/java/org/apache/cayenne/wocompat/EOQuery.java Fri Aug 2 07:34:11 2013
@@ -496,9 +496,12 @@ public class EOQuery<T> extends SelectQu
Expression keyExp = Expression.fromString(key);
try {
entity.lastPathComponent(keyExp, Collections.emptyMap());
- }
- catch (ExpressionException e) {
- keyExp = entity.translateToDbPath(keyExp);
+ } catch (ExpressionException e) {
+ try {
+ keyExp = entity.translateToDbPath(keyExp);
+ } catch (Exception dbpathEx) {
+ return null;
+ }
}
try {