You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Leo Li (JIRA)" <ji...@apache.org> on 2007/07/23 10:19:31 UTC
[jira] Resolved: (HARMONY-4447) XMLEncoder.flush() should not
always flush
[ https://issues.apache.org/jira/browse/HARMONY-4447?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leo Li resolved HARMONY-4447.
-----------------------------
Resolution: Fixed
Fixed at r558606.
> XMLEncoder.flush() should not always flush
> ------------------------------------------
>
> Key: HARMONY-4447
> URL: https://issues.apache.org/jira/browse/HARMONY-4447
> Project: Harmony
> Issue Type: Bug
> Environment: M2 on Win x86.
> Reporter: Andrew Cornwall
> Assignee: Leo Li
> Priority: Minor
>
> The flush() method in XMLEncoder doesn't take into account the fact that data may have already been written. Consequently, calling XMLEncoder.flush() may result in the same data being written twice.
> Here's a testcase:
> import java.beans.XMLEncoder;
> import java.io.ByteArrayOutputStream;
> public class Bugzilla125927 {
> public static void main (String args[]) {
> Object object = "hello";
> byte[] out = null;
> ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
> XMLEncoder encoder = new XMLEncoder(outputStream);
> try{
> encoder.writeObject(object);
> encoder.flush();
> encoder.close();
> outputStream.close();
> }
> catch (Exception ex) {
> ex.printStackTrace();
> }
> System.out.println(new String(outputStream.toByteArray()));
> }
> }
> On the Sun JDK, this results in the following output:
> <?xml version="1.0" encoding="UTF-8"?>
> <java version="1.5.0_04" class="java.beans.XMLDecoder">
> <string>hello</string>
> </java>
> On Harmony, you get the following:
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.