You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by me...@apache.org on 2007/03/03 14:15:37 UTC

svn commit: r514155 - /incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/DefaultModelMarshallerRegistry.java

Author: meerajk
Date: Sat Mar  3 05:15:37 2007
New Revision: 514155

URL: http://svn.apache.org/viewvc?view=rev&rev=514155
Log:
First cut of test case, need to get this working now :)

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/DefaultModelMarshallerRegistry.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/DefaultModelMarshallerRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/DefaultModelMarshallerRegistry.java?view=diff&rev=514155&r1=514154&r2=514155
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/DefaultModelMarshallerRegistry.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/DefaultModelMarshallerRegistry.java Sat Mar  3 05:15:37 2007
@@ -22,8 +22,10 @@
 import java.util.concurrent.ConcurrentHashMap;
 
 import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
+import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
 
 import org.apache.tuscany.spi.marshaller.MarshallException;
 import org.apache.tuscany.spi.marshaller.ModelMarshaller;
@@ -83,13 +85,21 @@
      */
     public ModelObject unmarshall(XMLStreamReader reader) throws MarshallException {
         
-        QName qname = reader.getName();
+        try {
         
-        ModelMarshaller marshaller = unmarshallerRegistry.get(qname);
-        if(marshaller == null) {
-            throw new MarshallException("No marshaller defined for " + qname);
+            while(reader.next() != START_ELEMENT) {
+            }
+            QName qname = reader.getName();
+            
+            ModelMarshaller marshaller = unmarshallerRegistry.get(qname);
+            if(marshaller == null) {
+                throw new MarshallException("No marshaller defined for " + qname);
+            }
+            return marshaller.unmarshall(reader);
+            
+        } catch(XMLStreamException ex) {
+            throw new MarshallException(ex);
         }
-        return marshaller.unmarshall(reader);
         
     }
 



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