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 2012/10/19 14:09:17 UTC

svn commit: r1400062 - in /cayenne/main/trunk/framework/cayenne-lifecycle/src: main/java/org/apache/cayenne/lifecycle/id/IdCoder.java test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java

Author: aadamchik
Date: Fri Oct 19 12:09:16 2012
New Revision: 1400062

URL: http://svn.apache.org/viewvc?rev=1400062&view=rev
Log:
CAY-1748 IdCoder/EntityIdCoder improvements to work with ObjectIds, including temp ones

idCoder.getStringId(ObjectId id)

Modified:
    cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/IdCoder.java
    cayenne/main/trunk/framework/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java

Modified: cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/IdCoder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/IdCoder.java?rev=1400062&r1=1400061&r2=1400062&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/IdCoder.java (original)
+++ cayenne/main/trunk/framework/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/IdCoder.java Fri Oct 19 12:09:16 2012
@@ -52,16 +52,22 @@ public class IdCoder {
         return coder.toObjectId(id);
     }
 
-    public String getStringId(Persistent referenceable) {
+    /**
+     * @since 3.2
+     */
+    public String getStringId(ObjectId id) {
+        EntityIdCoder coder = getCoder(id.getEntityName());
+        return coder.toStringId(id);
+    }
+
+    public String getStringId(Persistent object) {
 
-        if (referenceable == null) {
+        if (object == null) {
             throw new NullPointerException("Null object");
         }
 
-        ObjectId id = referenceable.getObjectId();
-
-        EntityIdCoder coder = getCoder(id.getEntityName());
-        return coder.toStringId(id);
+        ObjectId id = object.getObjectId();
+        return getStringId(id);
     }
 
     protected EntityIdCoder getCoder(String entityName) {

Modified: cayenne/main/trunk/framework/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java?rev=1400062&r1=1400061&r2=1400062&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/IdCoderTest.java Fri Oct 19 12:09:16 2012
@@ -47,6 +47,11 @@ public class IdCoderTest extends TestCas
         assertEquals("E1:5", handler.getStringId(e1));
     }
 
+    public void testGetStringId_ObjectId() {
+        IdCoder handler = new IdCoder(runtime.getChannel().getEntityResolver());
+        assertEquals("E1:5", handler.getStringId(new ObjectId("E1", "ID", 5)));
+    }
+
     public void testGetStringId_TempException() {
         IdCoder handler = new IdCoder(runtime.getChannel().getEntityResolver());
 
@@ -55,8 +60,7 @@ public class IdCoderTest extends TestCas
 
         try {
             handler.getStringId(e1);
-        }
-        catch (IllegalArgumentException e) {
+        } catch (IllegalArgumentException e) {
             // expected
         }
     }