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());