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 2009/10/16 20:42:55 UTC

svn commit: r826028 - in /cayenne/main/trunk: docs/doc/src/main/resources/ framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/ framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/exp/parser/ framework/cay...

Author: aadamchik
Date: Fri Oct 16 18:42:55 2009
New Revision: 826028

URL: http://svn.apache.org/viewvc?rev=826028&view=rev
Log:
CAY-1293 Beta 1 Test Failures

patch #2 by Olga Tkachova

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/dba/oracle/OracleQualifierTranslator.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/exp/parser/AggregateConditionNode.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/JDBCResultIteratorTest.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.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=826028&r1=826027&r2=826028&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 Fri Oct 16 18:42:55 2009
@@ -58,6 +58,7 @@
 CAY-1279 Passing null values in query parameters
 CAY-1285 Update Cayenne Modeler's code generation panel to resize correctly.
 CAY-1286 Update Cayenne Modeler's validation errors panel to resize correctly.
+CAY-1293 Beta 1 Test Failures
 
 ----------------------------------
 Release: 3.0M6

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.java?rev=826028&r1=826027&r2=826028&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/oracle/OracleQualifierTranslator.java Fri Oct 16 18:42:55 2009
@@ -28,14 +28,13 @@
 import org.apache.cayenne.exp.parser.ASTIn;
 import org.apache.cayenne.exp.parser.ASTList;
 import org.apache.cayenne.exp.parser.ASTNegate;
-import org.apache.cayenne.exp.parser.ASTNot;
 import org.apache.cayenne.exp.parser.ASTNotIn;
 import org.apache.cayenne.exp.parser.ASTPath;
 import org.apache.commons.collections.Transformer;
 
 /**
- * Oracle qualifier translator. In particular, trims INs with more than 1000 elements 
- * to an OR-set of INs with <= 1000 elements 
+ * Oracle qualifier translator. In particular, trims INs with more than 1000 elements to
+ * an OR-set of INs with <= 1000 elements
  */
 public class OracleQualifierTranslator extends TrimmingQualifierTranslator {
 
@@ -48,43 +47,33 @@
         if (rootNode == null) {
             return;
         }
-
-        boolean isNot = false;
-        if (rootNode instanceof ASTNot) {
-            if (rootNode.getOperandCount() == 1) {
-                rootNode = ((Expression) rootNode.getOperand(0));
-                isNot = true;
-            }
-        }
-
         rootNode = rootNode.transform(new INTrimmer());
-
-        if (isNot) {
-            rootNode = rootNode.notExp();
-        }
-
         rootNode.traverse(this);
     }
-    
+
     public static class INTrimmer implements Transformer {
+
         public Expression trimmedInExpression(Expression exp, int maxInSize) {
             Expression list = (Expression) exp.getOperand(1);
             Object[] objects = (Object[]) list.evaluate(null);
-            
+
             if (objects.length <= maxInSize) {
                 return exp;
             }
-            
-            Expression trimmed = trimmedInExpression((ASTPath) exp.getOperand(0), objects, maxInSize);
+
+            Expression trimmed = trimmedInExpression(
+                    (ASTPath) exp.getOperand(0),
+                    objects,
+                    maxInSize);
             if (exp instanceof ASTNotIn) {
                 return new ASTNegate(trimmed);
             }
             return trimmed;
         }
-        
+
         Expression trimmedInExpression(ASTPath path, Object[] values, int maxInSize) {
             Expression res = null;
-            
+
             List<Object> in = new ArrayList<Object>(maxInSize);
             for (Object v : values) {
                 in.add(v);

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/exp/parser/AggregateConditionNode.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/exp/parser/AggregateConditionNode.java?rev=826028&r1=826027&r2=826028&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/exp/parser/AggregateConditionNode.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/exp/parser/AggregateConditionNode.java Fri Oct 16 18:42:55 2009
@@ -53,7 +53,12 @@
         // no children or a single child
         switch (condition.getOperandCount()) {
             case 1 :
-                return condition.getOperand(0);
+                if (condition instanceof ASTNot) {
+                    return condition;
+                }
+                else {
+                    return condition.getOperand(0);
+                }
             case 0 :
                 return PRUNED_NODE;
             default :

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/JDBCResultIteratorTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/JDBCResultIteratorTest.java?rev=826028&r1=826027&r2=826028&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/JDBCResultIteratorTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/JDBCResultIteratorTest.java Fri Oct 16 18:42:55 2009
@@ -21,7 +21,6 @@
 
 import java.sql.Connection;
 import java.sql.Statement;
-import java.util.Map;
 
 import junit.framework.TestCase;
 

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java?rev=826028&r1=826027&r2=826028&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java Fri Oct 16 18:42:55 2009
@@ -26,6 +26,7 @@
 
 import org.apache.art.Artist;
 import org.apache.cayenne.access.MockOperationObserver;
+import org.apache.cayenne.query.CapsStrategy;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.unit.CayenneCase;
@@ -58,7 +59,7 @@
         Map<String, Object> selectResult = selectForQuery(sql);
 
         assertEquals(artist.get("ARTIST_ID"), selectResult.get("ARTIST_ID"));
-        assertEquals(artist.get("ARTIST_NAME"), selectResult.get("ARTIST_NAME"));
+        assertEquals(artist.get("ARTIST_NAME"), selectResult.get("ARTIST_NAME").toString().trim());
     }
 
     public void testWithMixedDirectiveUse1() throws Exception {
@@ -69,7 +70,7 @@
         Map<String, Object> selectResult = selectForQuery(sql);
 
         assertEquals(artist.get("ARTIST_ID"), selectResult.get("ARTIST_ID"));
-        assertEquals(artist.get("ARTIST_NAME"), selectResult.get("ARTIST_NAME"));
+        assertEquals(artist.get("ARTIST_NAME"), selectResult.get("ARTIST_NAME").toString().trim());
     }
 
     public void testWithMixedDirectiveUse2() throws Exception {
@@ -85,6 +86,7 @@
 
     private Map<String, Object> selectForQuery(String sql) {
         SQLTemplate template = new SQLTemplate(Artist.class, sql);
+        template.setColumnNamesCapitalization(CapsStrategy.UPPER);
         MockOperationObserver observer = new MockOperationObserver();
         getDomain().performQueries(Collections.singletonList(template), observer);