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/12/16 11:34:50 UTC

svn commit: r604600 - in /cayenne/main/branches/STABLE-2.0/cayenne: cayenne-java/src/cayenne/java/org/apache/cayenne/exp/parser/ cayenne-java/src/tests/java/org/apache/cayenne/exp/ cayenne-other/release-notes/

Author: aadamchik
Date: Sun Dec 16 02:34:49 2007
New Revision: 604600

URL: http://svn.apache.org/viewvc?rev=604600&view=rev
Log:
CAY-941 NPE in SimpleNode.connectChildren() - Cayenne 2.0

Modified:
    cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/exp/parser/SimpleNode.java
    cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/exp/ExpressionFactoryTst.java
    cayenne/main/branches/STABLE-2.0/cayenne/cayenne-other/release-notes/RELEASE-NOTES-2.0-SNAPSHOT.txt

Modified: cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/exp/parser/SimpleNode.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/exp/parser/SimpleNode.java?rev=604600&r1=604599&r2=604600&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/exp/parser/SimpleNode.java (original)
+++ cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/exp/parser/SimpleNode.java Sun Dec 16 02:34:49 2007
@@ -261,7 +261,9 @@
     protected void connectChildren() {
         if (children != null) {
             for (int i = 0; i < children.length; i++) {
-                children[i].jjtSetParent(this);
+                if (children[i] != null) {
+                    children[i].jjtSetParent(this);
+                }
             }
         }
     }

Modified: cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/exp/ExpressionFactoryTst.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/exp/ExpressionFactoryTst.java?rev=604600&r1=604599&r2=604600&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/exp/ExpressionFactoryTst.java (original)
+++ cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/exp/ExpressionFactoryTst.java Sun Dec 16 02:34:49 2007
@@ -25,6 +25,7 @@
 import org.apache.cayenne.unit.CayenneTestCase;
 
 public class ExpressionFactoryTst extends CayenneTestCase {
+
     // non-existent type
     private static final int badType = -50;
 
@@ -34,7 +35,7 @@
             fail();
         }
         catch (ExpressionException ex) {
-            // exception expected   
+            // exception expected
         }
     }
 
@@ -77,7 +78,9 @@
     }
 
     public void testInExp1() throws Exception {
-        Object[] v = new Object[] { "a", "b" };
+        Object[] v = new Object[] {
+                "a", "b"
+        };
         Expression exp = ExpressionFactory.inExp("abc", v);
         assertEquals(Expression.IN, exp.getType());
     }
@@ -105,4 +108,15 @@
         Expression exp = ExpressionFactory.notLikeIgnoreCaseExp("abc", v);
         assertEquals(Expression.NOT_LIKE_IGNORE_CASE, exp.getType());
     }
+
+    // testing CAY-941 bug
+    public void testLikeExpNull() throws Exception {
+        Expression exp = ExpressionFactory.likeExp("abc", null);
+        assertEquals(Expression.LIKE, exp.getType());
+
+        Expression path = (Expression) exp.getOperand(0);
+        assertEquals(Expression.OBJ_PATH, path.getType());
+        assertNull(exp.getOperand(1));
+    }
+
 }

Modified: cayenne/main/branches/STABLE-2.0/cayenne/cayenne-other/release-notes/RELEASE-NOTES-2.0-SNAPSHOT.txt
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-other/release-notes/RELEASE-NOTES-2.0-SNAPSHOT.txt?rev=604600&r1=604599&r2=604600&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-2.0/cayenne/cayenne-other/release-notes/RELEASE-NOTES-2.0-SNAPSHOT.txt (original)
+++ cayenne/main/branches/STABLE-2.0/cayenne/cayenne-other/release-notes/RELEASE-NOTES-2.0-SNAPSHOT.txt Sun Dec 16 02:34:49 2007
@@ -17,6 +17,7 @@
 
 Bug fixes:
 
+CAY-941 NPE in SimpleNode.connectChildren()
 
 ----------------------------------
 Release: 2.0.4