You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by an...@apache.org on 2009/11/11 09:03:13 UTC
svn commit: r834795 - in /cayenne/main/trunk: docs/doc/src/main/resources/
framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/
framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/
Author: andrey
Date: Wed Nov 11 08:03:12 2009
New Revision: 834795
URL: http://svn.apache.org/viewvc?rev=834795&view=rev
Log:
CAY-1305 EJBQL doesn't support null parameters
Modified:
cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLConditionTranslator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/EJBQLQueryTest.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=834795&r1=834794&r2=834795&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 Wed Nov 11 08:03:12 2009
@@ -8,6 +8,15 @@
http://issues.apache.org/cayenne/
----------------------------------
+Release: 3.0 RC 1
+Date:
+----------------------------------
+
+Bug Fixes Since beta1:
+
+CAY-1305 EJBQL doesn't support null parameters
+
+----------------------------------
Release: 3.0 beta 1
Date: 3 November 2009
----------------------------------
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLConditionTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLConditionTranslator.java?rev=834795&r1=834794&r2=834795&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLConditionTranslator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/EJBQLConditionTranslator.java Wed Nov 11 08:03:12 2009
@@ -48,6 +48,7 @@
import org.apache.cayenne.map.DbRelationship;
import org.apache.cayenne.reflect.AttributeProperty;
import org.apache.cayenne.reflect.ClassDescriptor;
+import org.apache.cayenne.reflect.Property;
/**
* @since 3.0
@@ -705,13 +706,14 @@
throw new EJBQLException("Unmapped id variable: " + id);
}
String pathChunk = translator.lastPathComponent;
- AttributeProperty property = (AttributeProperty) descriptor
- .getProperty(pathChunk);
- String atrType = property.getAttribute().getType();
-
- type = TypesMapping.getSqlNameByType(TypesMapping
- .getSqlTypeByJava(atrType));
+
+ Property property = descriptor.getProperty(pathChunk);
+ if (property instanceof AttributeProperty) {
+ String atrType = ((AttributeProperty) property).getAttribute().getType();
+ type = TypesMapping.getSqlNameByType(TypesMapping
+ .getSqlTypeByJava(atrType));
+ }
}
context.popMarker();
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/EJBQLQueryTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/EJBQLQueryTest.java?rev=834795&r1=834794&r2=834795&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/EJBQLQueryTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/query/EJBQLQueryTest.java Wed Nov 11 08:03:12 2009
@@ -263,4 +263,10 @@
assertEquals(w.getBuffer().toString(), s.toString());
}
+
+ public void testNullParameter() {
+ EJBQLQuery query = new EJBQLQuery("select p from Painting p WHERE p.toArtist=:x");
+ query.setParameter("x", null);
+ createDataContext().performQuery(query);
+ }
}