harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paulex Yang (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HARMONY-2239) [classlib][luni]ObjectOutputStream fails to call ReplaceObject while the serialized class is int.class
Date Tue, 21 Nov 2006 17:06:03 GMT
     [ http://issues.apache.org/jira/browse/HARMONY-2239?page=all ]

Paulex Yang resolved HARMONY-2239.
----------------------------------

    Resolution: Fixed

Leo, patch applied at revision r477748,  thanks a lot for this enhancement, please verify
that the problem is fully fixed as you expected.


> [classlib][luni]ObjectOutputStream fails to call ReplaceObject while the serialized class
is int.class
> ------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2239
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2239
>             Project: Harmony
>          Issue Type: Bug
>            Reporter: Leo Li
>         Assigned To: Paulex Yang
>         Attachments: patch-2239.diff
>
>
> Here is the testcase:
> public class SerTest extends TestCase {
>     private static class TestSerializable implements Serializable{
>        
>         protected Object writeReplace() throws ObjectStreamException {
>            return int.class;           
>         }
>     }
>     
>     private static class ObjectOutputStreamWithReplace extends ObjectOutputStream {
>         public ObjectOutputStreamWithReplace(OutputStream out)
>                 throws IOException {
>             super(out);          
>             enableReplaceObject(true);
>         }
>         protected Object replaceObject(Object obj) throws IOException {
>             System.out.println("replaceObject");
>         	return new Double(20);
>         }
>     }
>     
>     public void test_replaceObject() throws Exception {
>         ByteArrayOutputStream baos = new ByteArrayOutputStream();
>         ObjectOutputStreamWithReplace oos = new ObjectOutputStreamWithReplace(baos);
>         oos.writeObject(new TestSerializable());
>         oos.flush();
>         ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream (baos.toByteArray()));
>         Object obj = ois.readObject();
>         oos.close();
>         ois.close();
>         
>         assertTrue("replaceObject has not been called", (obj instanceof Double));
>     }
> }
> RI passes.
> Harmony fails.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message