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 2011/01/30 02:43:32 UTC

svn commit: r1065163 - in /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src: main/java/org/apache/cayenne/util/Util.java test/java/org/apache/cayenne/access/DataContextSerializationTest.java

Author: aadamchik
Date: Sun Jan 30 01:43:31 2011
New Revision: 1065163

URL: http://svn.apache.org/viewvc?rev=1065163&view=rev
Log:
parameterizing clone method

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/Util.java
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSerializationTest.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/Util.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/Util.java?rev=1065163&r1=1065162&r2=1065163&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/Util.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/Util.java Sun Jan 30 01:43:31 2011
@@ -333,7 +333,7 @@ public class Util {
     /**
      * Creates Serializable object copy using serialization/deserialization.
      */
-    public static Object cloneViaSerialization(Serializable obj) throws Exception {
+    public static <T extends Serializable> T cloneViaSerialization(T object) throws Exception {
         ByteArrayOutputStream bytes = new ByteArrayOutputStream() {
 
             @Override
@@ -343,17 +343,17 @@ public class Util {
         };
 
         ObjectOutputStream out = new ObjectOutputStream(bytes);
-        out.writeObject(obj);
+        out.writeObject(object);
         out.close();
 
         ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes
                 .toByteArray()));
-        Object objCopy = in.readObject();
+        T copy = (T) in.readObject();
 
         // no need to close the stream - we created it and now will be throwing away...
         // in.close();
 
-        return objCopy;
+        return copy;
     }
 
     /**

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSerializationTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSerializationTest.java?rev=1065163&r1=1065162&r2=1065163&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSerializationTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSerializationTest.java Sun Jan 30 01:43:31 2011
@@ -47,8 +47,7 @@ public class DataContextSerializationTes
 
         DataContext context = createDataContextWithSharedCache(true);
 
-        DataContext deserializedContext = (DataContext) Util
-                .cloneViaSerialization(context);
+        DataContext deserializedContext = Util.cloneViaSerialization(context);
 
         assertNotNull(deserializedContext.getEntityResolver());
         assertSame(context.getEntityResolver(), deserializedContext.getEntityResolver());
@@ -58,8 +57,7 @@ public class DataContextSerializationTes
 
         DataContext context = createDataContextWithSharedCache(true);
 
-        DataContext deserializedContext = (DataContext) Util
-                .cloneViaSerialization(context);
+        DataContext deserializedContext = Util.cloneViaSerialization(context);
 
         assertNotNull(deserializedContext.getChannel());
         assertSame(context.getChannel(), deserializedContext.getChannel());
@@ -69,8 +67,7 @@ public class DataContextSerializationTes
         DataContext context = createDataContextWithSharedCache(true);
         ObjectContext child = context.createChildContext();
 
-        ObjectContext deserializedContext = (ObjectContext) Util
-                .cloneViaSerialization(child);
+        ObjectContext deserializedContext = Util.cloneViaSerialization(child);
 
         assertNotNull(deserializedContext.getChannel());
         assertNotNull(deserializedContext.getEntityResolver());
@@ -82,8 +79,7 @@ public class DataContextSerializationTes
 
         DataContext context = createDataContextWithSharedCache(true);
 
-        DataContext deserializedContext = (DataContext) Util
-                .cloneViaSerialization(context);
+        DataContext deserializedContext = Util.cloneViaSerialization(context);
 
         assertNotSame(context, deserializedContext);
         assertNotSame(context.getObjectStore(), deserializedContext.getObjectStore());
@@ -115,8 +111,7 @@ public class DataContextSerializationTes
                 .getObjectStore()
                 .getDataRowCache());
 
-        DataContext deserializedContext = (DataContext) Util
-                .cloneViaSerialization(context);
+        DataContext deserializedContext = Util.cloneViaSerialization(context);
 
         assertNotSame(context, deserializedContext);
         assertNotSame(context.getObjectStore(), deserializedContext.getObjectStore());
@@ -146,8 +141,7 @@ public class DataContextSerializationTes
         artist.setArtistName("artist1");
         assertNotNull(artist.getObjectId());
 
-        DataContext deserializedContext = (DataContext) Util
-                .cloneViaSerialization(context);
+        DataContext deserializedContext = Util.cloneViaSerialization(context);
         assertSame(context.getParentDataDomain(), deserializedContext
                 .getParentDataDomain());
 
@@ -173,8 +167,7 @@ public class DataContextSerializationTes
         assertNotNull(artist.getObjectId());
         context.commitChanges();
 
-        DataContext deserializedContext = (DataContext) Util
-                .cloneViaSerialization(context);
+        DataContext deserializedContext = Util.cloneViaSerialization(context);
 
         assertSame(context.getParentDataDomain(), deserializedContext
                 .getParentDataDomain());
@@ -209,8 +202,7 @@ public class DataContextSerializationTes
         context.commitChanges();
         artist.setArtistName("artist2");
 
-        DataContext deserializedContext = (DataContext) Util
-                .cloneViaSerialization(context);
+        DataContext deserializedContext = Util.cloneViaSerialization(context);
 
         assertSame(context.getParentDataDomain(), deserializedContext
                 .getParentDataDomain());