You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by to...@apache.org on 2007/08/23 09:21:23 UTC
svn commit: r568862 - in
/harmony/enhanced/classlib/branches/java6/modules/rmi/src:
main/java/java/rmi/MarshalledObject.java
test/api/java/org/apache/harmony/rmi/MarshalledObjectTest.java
Author: tonywu
Date: Thu Aug 23 00:21:21 2007
New Revision: 568862
URL: http://svn.apache.org/viewvc?rev=568862&view=rev
Log:
Apply patch for HARMONY-4672([classlib][rmi][java6] Add generic type parameter <T> for java.rmi.MarshalledObject)
Modified:
harmony/enhanced/classlib/branches/java6/modules/rmi/src/main/java/java/rmi/MarshalledObject.java
harmony/enhanced/classlib/branches/java6/modules/rmi/src/test/api/java/org/apache/harmony/rmi/MarshalledObjectTest.java
Modified: harmony/enhanced/classlib/branches/java6/modules/rmi/src/main/java/java/rmi/MarshalledObject.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/rmi/src/main/java/java/rmi/MarshalledObject.java?rev=568862&r1=568861&r2=568862&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/rmi/src/main/java/java/rmi/MarshalledObject.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/rmi/src/main/java/java/rmi/MarshalledObject.java Thu Aug 23 00:21:21 2007
@@ -26,7 +26,7 @@
import org.apache.harmony.rmi.MarshalledObjectInputStream;
import org.apache.harmony.rmi.MarshalledObjectOutputStream;
-public final class MarshalledObject implements Serializable {
+public final class MarshalledObject<T> implements Serializable {
private static final long serialVersionUID = 8988374069173025854L;
private final byte[] objBytes;
@@ -35,7 +35,7 @@
private final int hash;
- public MarshalledObject(Object obj) throws IOException {
+ public MarshalledObject(T obj) throws IOException {
ByteArrayOutputStream objStream = new ByteArrayOutputStream();
MarshalledObjectOutputStream moStream = new MarshalledObjectOutputStream(objStream);
moStream.writeObject(obj);
@@ -61,12 +61,12 @@
return (hash == anotherObj.hash) || (Arrays.equals(objBytes, anotherObj.objBytes));
}
- public Object get() throws IOException, ClassNotFoundException {
+ public T get() throws IOException, ClassNotFoundException {
if (objBytes == null) {
return null;
}
MarshalledObjectInputStream moin = new MarshalledObjectInputStream(objBytes, locBytes);
- return moin.readObject();
+ return (T) moin.readObject();
}
@Override
Modified: harmony/enhanced/classlib/branches/java6/modules/rmi/src/test/api/java/org/apache/harmony/rmi/MarshalledObjectTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/rmi/src/test/api/java/org/apache/harmony/rmi/MarshalledObjectTest.java?rev=568862&r1=568861&r2=568862&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/rmi/src/test/api/java/org/apache/harmony/rmi/MarshalledObjectTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/rmi/src/test/api/java/org/apache/harmony/rmi/MarshalledObjectTest.java Thu Aug 23 00:21:21 2007
@@ -56,6 +56,36 @@
public MarshalledObjectTest(String name) {
super(name);
}
+
+ /**
+ * @tests java.rmi.MarshalledObject<T>#MarshalledObject(T)
+ */
+ public void test_Constructor() throws Exception {
+ MarshalledObject marObject =
+ new MarshalledObject<Integer>(new Integer(100));
+ assertNotNull(marObject);
+
+ Object object = null;
+ marObject = new MarshalledObject<Object>(object);
+ assertNotNull(marObject);
+ }
+
+ /**
+ * @tests java.rmi.MarshalledObject<T>#get()
+ */
+ public void test_get() throws Exception {
+ Hashtable object = new Hashtable();
+ object.put(new Integer(1), "One");
+ MarshalledObject<Hashtable> marObject =
+ new MarshalledObject<Hashtable>(object);
+ assertEquals(object, marObject.get());
+ object.put(new Integer(2), "Two");
+ assertFalse(marObject.get().equals(object));
+
+ object = null;
+ marObject = new MarshalledObject<Hashtable>(object);
+ assertNull(marObject.get());
+ }
/**
* Tests {@link MarshalledObject#equals(Object)} method.