You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/03/13 01:23:46 UTC

svn commit: r517474 - in /incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src: main/java/org/apache/tuscany/core/databinding/xml/ test/java/org/apache/tuscany/core/databinding/xml/

Author: rfeng
Date: Mon Mar 12 17:23:46 2007
New Revision: 517474

URL: http://svn.apache.org/viewvc?view=rev&rev=517474
Log:
[sca-integration-branch] Make sure that XMLStreamSerializer handles START_DOCUMENT and END_DOCUMENT

Modified:
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/XMLFragmentStreamReaderImpl.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/XMLStreamSerializer.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/xml/JavaBean2XMLStreamReaderTestCase.java

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/XMLFragmentStreamReaderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/XMLFragmentStreamReaderImpl.java?view=diff&rev=517474&r1=517473&r2=517474
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/XMLFragmentStreamReaderImpl.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/XMLFragmentStreamReaderImpl.java Mon Mar 12 17:23:46 2007
@@ -309,10 +309,11 @@
             return START_ELEMENT;
         } else if (state == END_ELEMENT_STATE) {
             return END_ELEMENT;
+        } else if (state == TEXT_STATE) {
+            return CHARACTERS;
         } else { // this is the delegated state
             return childReader.getEventType();
         }
-
     }
 
     public String getLocalName() {

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/XMLStreamSerializer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/XMLStreamSerializer.java?view=diff&rev=517474&r1=517473&r2=517474
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/XMLStreamSerializer.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/xml/XMLStreamSerializer.java Mon Mar 12 17:23:46 2007
@@ -218,14 +218,8 @@
      * @throws XMLStreamException
      */
     protected void serializeNode(XMLStreamReader reader, XMLStreamWriter writer) throws XMLStreamException {
-        // TODO We get the StAXWriter at this point and uses it hereafter
-        // assuming that this is the only entry point
-        // to this class.
-        // If there can be other classes calling methodes of this we might
-        // need to change methode signatures to
-        // OMOutputer
-        while (reader.hasNext()) {
-            int event = reader.next();
+        while (true) {
+            int event = reader.getEventType();
             if (event == START_ELEMENT) {
                 serializeElement(reader, writer);
                 depth++;
@@ -242,18 +236,20 @@
                 depth--;
             } else if (event == START_DOCUMENT) {
                 depth++; // if a start document is found then increment
+                writer.writeStartDocument();
                 // the depth
             } else if (event == END_DOCUMENT) {
                 if (depth != 0) {
                     depth--; // for the end document - reduce the depth
                 }
-                try {
-                    serializeEndElement(writer);
-                } catch (Exception e) {
-                    // TODO: log exceptions
-                }
+                writer.writeEndDocument();
             }
             if (depth == 0) {
+                break;
+            }
+            if (reader.hasNext()) {
+                reader.next();
+            } else {
                 break;
             }
         }

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/xml/JavaBean2XMLStreamReaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/xml/JavaBean2XMLStreamReaderTestCase.java?view=diff&rev=517474&r1=517473&r2=517474
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/xml/JavaBean2XMLStreamReaderTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/xml/JavaBean2XMLStreamReaderTestCase.java Mon Mar 12 17:23:46 2007
@@ -43,10 +43,9 @@
         XMLStreamReader reader = t2.transform(bean, null);
         XMLStreamReader2String t3 = new XMLStreamReader2String();
         String xml = t3.transform(reader, null);
-        assertEquals("<JavaBean2XMLStreamReaderTestCase$MyBean>" 
+        assertTrue(xml.contains("<JavaBean2XMLStreamReaderTestCase$MyBean>" 
                      + "<arr>1</arr><arr>2</arr><arr>3</arr><bean><name>Name</name></bean>"
-                     + "<i>1</i><str>ABC</str></JavaBean2XMLStreamReaderTestCase$MyBean>",
-                     xml);
+                     + "<i>1</i><str>ABC</str></JavaBean2XMLStreamReaderTestCase$MyBean>"));
     }
 
     private static class MyBean {



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org