Author: aadamchik
Date: Fri Nov 17 14:06:07 2006
New Revision: 476338

URL: http://svn.apache.org/viewvc?view=rev&rev=476338
Log:
CAY-707 SelectQuery automatic cache key build mechanism produces wrong results 
when DO's are used in qualifier
(oops - sometimes it helps to test the changes before commit - fixing toString 
algorithm in ObjectId)

Modified:
    
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/ObjectId.java
    
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/ObjectIdTst.java

Modified: 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/ObjectId.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/ObjectId.java?view=diff&rev=476338&r1=476337&r2=476338
==============================================================================
--- 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/ObjectId.java
 (original)
+++ 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/ObjectId.java
 Fri Nov 17 14:06:07 2006
@@ -357,7 +357,7 @@
             // ensure consistent order of the keys, so that toString could be 
used as a
             // unique key, just like id itself
             
-            List keys = new ArrayList(objectIdKeys.entrySet());
+            List keys = new ArrayList(objectIdKeys.keySet());
             Collections.sort(keys);
             Iterator it = keys.iterator();
             while (it.hasNext()) {

Modified: 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/ObjectIdTst.java
URL: 
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/ObjectIdTst.java?view=diff&rev=476338&r1=476337&r2=476338
==============================================================================
--- 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/ObjectIdTst.java
 (original)
+++ 
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/ObjectIdTst.java
 Fri Nov 17 14:06:07 2006
@@ -308,4 +308,20 @@
         assertTrue(ref.equals(oid));
         assertEquals(ref.hashCode(), oid.hashCode());
     }
+
+    public void testToString() {
+        Map m1 = new HashMap();
+        m1.put("a", "1");
+        m1.put("b", "2");
+        ObjectId i1 = new ObjectId("e1", m1);
+
+        Map m2 = new HashMap();
+        m2.put("b", "2");
+        m2.put("a", "1");
+
+        ObjectId i2 = new ObjectId("e1", m2);
+
+        assertEquals(i1, i2);
+        assertEquals(i1.toString(), i2.toString());
+    }
 }


Reply via email to