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