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 2006/10/13 21:24:47 UTC

svn commit: r463791 - /incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/project/validator/SelectQueryValidator.java

Author: aadamchik
Date: Fri Oct 13 12:24:46 2006
New Revision: 463791

URL: http://svn.apache.org/viewvc?view=rev&rev=463791
Log:
CAY-691 ClassNotFoundException on query validation
(attempted fix)

Modified:
    incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/project/validator/SelectQueryValidator.java

Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/project/validator/SelectQueryValidator.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/project/validator/SelectQueryValidator.java?view=diff&rev=463791&r1=463790&r2=463791
==============================================================================
--- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/project/validator/SelectQueryValidator.java (original)
+++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/project/validator/SelectQueryValidator.java Fri Oct 13 12:24:46 2006
@@ -31,7 +31,6 @@
 import org.apache.cayenne.query.Ordering;
 import org.apache.cayenne.query.PrefetchTreeNode;
 import org.apache.cayenne.query.Query;
-import org.apache.cayenne.query.QueryMetadata;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.util.Util;
 
@@ -94,31 +93,26 @@
             return (query.getRoot() instanceof Entity) ? (Entity) query.getRoot() : null;
         }
 
+        if (query.getRoot() instanceof Entity) {
+            return (Entity) query.getRoot();
+        }
+
         // can't validate Class root - it is likely not accessible from here...
         if (query.getRoot() instanceof Class) {
             return null;
         }
 
         // resolve entity
-        QueryEngine parent = (QueryEngine) path.firstInstanceOf(QueryEngine.class);
-
-        if (parent == null) {
-            return null;
-        }
+        if (query.getRoot() instanceof String) {
 
-        QueryMetadata metadata = query.getMetaData(parent.getEntityResolver());
-        Entity entity = metadata.getObjEntity();
-        if (entity == null) {
-            entity = metadata.getDbEntity();
-        }
+            QueryEngine parent = (QueryEngine) path.firstInstanceOf(QueryEngine.class);
 
-        // if no entity is found register warning and return null
-        if (entity == null) {
-            validator.registerWarning("Unknown query root.", path);
-            return null;
+            if (parent != null) {
+                return parent.getEntityResolver().getObjEntity((String) query.getRoot());
+            }
         }
 
-        return entity;
+        return null;
     }
 
     protected void validateName(Query query, ProjectPath path, Validator validator) {