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) {


Reply via email to