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 2007/08/05 17:00:46 UTC
svn commit: r562878 - in
/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test:
java/org/apache/cayenne/access/DataContextEJBQLConditionsTest.java
resources/dml/access.DataContextEJBQLConditionsTest.xml
Author: aadamchik
Date: Sun Aug 5 08:00:45 2007
New Revision: 562878
URL: http://svn.apache.org/viewvc?view=rev&rev=562878
Log:
CAY-841 EJBQL Support for LIKE/ESCAPE and IN conditions
(test for NOT LIKE)
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsTest.java
cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/resources/dml/access.DataContextEJBQLConditionsTest.xml
Modified: cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsTest.java?view=diff&rev=562878&r1=562877&r2=562878
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsTest.java Sun Aug 5 08:00:45 2007
@@ -29,13 +29,13 @@
import org.apache.cayenne.unit.CayenneCase;
public class DataContextEJBQLConditionsTest extends CayenneCase {
-
+
protected void setUp() throws Exception {
deleteTestData();
}
public void testLike1() throws Exception {
- createTestData("prepare");
+ createTestData("prepareLike");
String ejbql = "SELECT p FROM Painting p WHERE p.paintingTitle LIKE 'A%C'";
@@ -52,9 +52,28 @@
assertTrue(ids.contains(new Integer(33001)));
}
-
+
+ public void testNotLike() throws Exception {
+ createTestData("prepareLike");
+
+ String ejbql = "SELECT p FROM Painting p WHERE p.paintingTitle NOT LIKE 'A%C'";
+
+ EJBQLQuery query = new EJBQLQuery(ejbql);
+ List objects = createDataContext().performQuery(query);
+ assertEquals(4, objects.size());
+
+ Set ids = new HashSet();
+ Iterator it = objects.iterator();
+ while (it.hasNext()) {
+ Object id = DataObjectUtils.pkForObject((Persistent) it.next());
+ ids.add(id);
+ }
+
+ assertFalse(ids.contains(new Integer(33001)));
+ }
+
public void testLike2() throws Exception {
- createTestData("prepare");
+ createTestData("prepareLike");
String ejbql = "SELECT p FROM Painting p WHERE p.paintingTitle LIKE '_DDDD'";
@@ -73,9 +92,9 @@
assertTrue(ids.contains(new Integer(33003)));
assertTrue(ids.contains(new Integer(33005)));
}
-
+
public void testLikeEscape() throws Exception {
- createTestData("prepare");
+ createTestData("prepareLike");
String ejbql = "SELECT p FROM Painting p WHERE p.paintingTitle LIKE 'X_DDDD' ESCAPE 'X'";
@@ -92,4 +111,5 @@
assertTrue(ids.contains(new Integer(33005)));
}
+
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/resources/dml/access.DataContextEJBQLConditionsTest.xml
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/resources/dml/access.DataContextEJBQLConditionsTest.xml?view=diff&rev=562878&r1=562877&r2=562878
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/resources/dml/access.DataContextEJBQLConditionsTest.xml (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/test/resources/dml/access.DataContextEJBQLConditionsTest.xml Sun Aug 5 08:00:45 2007
@@ -68,7 +68,7 @@
<!-- Data Sets -->
<!-- ======================================= -->
- <bean id="prepare" class="java.util.ArrayList">
+ <bean id="prepareLike" class="java.util.ArrayList">
<constructor-arg>
<list>
<ref bean="P1" />