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