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 15:13:36 UTC

svn commit: r514160 - in /incubator/tuscany/java/sca/kernel: core/src/main/java/org/apache/tuscany/core/marshaller/ core/src/main/java/org/apache/tuscany/core/marshaller/extensions/ core/src/test/java/org/apache/tuscany/core/marshaller/ spi/src/main/ja...

Author: meerajk
Date: Sat Mar  3 06:13:35 2007
New Revision: 514160

URL: http://svn.apache.org/viewvc?view=rev&rev=514160
Log:
First working test for the marshaller framework

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/DefaultModelMarshallerRegistry.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/PhysicalChangeSetMarshaller.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/AbstractPhysicalComponentDefinitionMarshaller.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/marshaller/JavaPhysicalChangeSetMarshallerTest.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/marshaller/ModelMarshallerRegistry.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=514160&r1=514159&r2=514160
==============================================================================
--- 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 06:13:35 2007
@@ -18,6 +18,8 @@
  */
 package org.apache.tuscany.core.marshaller;
 
+import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
+
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -25,12 +27,12 @@
 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;
 import org.apache.tuscany.spi.marshaller.ModelMarshallerRegistry;
 import org.apache.tuscany.spi.model.ModelObject;
+import org.apache.tuscany.spi.model.physical.PhysicalChangeSet;
 
 /**
  * Default map-based implementation of the model marshaller registry.
@@ -85,16 +87,38 @@
      */
     public ModelObject unmarshall(XMLStreamReader reader) throws MarshallException {
         
-        try {
+        QName qname = reader.getName();
+            
+        ModelMarshaller marshaller = unmarshallerRegistry.get(qname);
+        if(marshaller == null) {
+            throw new MarshallException("No marshaller defined for " + qname);
+        }
+        return marshaller.unmarshall(reader);
         
+    }
+    
+    /**
+     * Marshalls a physical change set.
+     * 
+     * @param changeSet Model object to be marshalled.
+     * @param writer Writer to which marshalled information is written.
+     */
+    public void marshallChangeSet(PhysicalChangeSet changeSet, XMLStreamWriter writer) throws MarshallException {        
+    }
+
+    /**
+     * Unmarshalls an XML stream to a physical change set.
+     * 
+     * @param reader Reader from which marshalled information is read.
+     * @return Physical change set from the marshalled stream.
+     */
+    public PhysicalChangeSet unmarshallChangeSet(XMLStreamReader reader) throws MarshallException {
+        
+        try {
             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);
-            }
+            PhysicalChangeSetMarshaller marshaller = new PhysicalChangeSetMarshaller();
+            marshaller.setRegistry(this);
             return marshaller.unmarshall(reader);
             
         } catch(XMLStreamException ex) {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/PhysicalChangeSetMarshaller.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/PhysicalChangeSetMarshaller.java?view=diff&rev=514160&r1=514159&r2=514160
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/PhysicalChangeSetMarshaller.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/PhysicalChangeSetMarshaller.java Sat Mar  3 06:13:35 2007
@@ -19,7 +19,7 @@
 package org.apache.tuscany.core.marshaller;
 
 import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+import static javax.xml.stream.XMLStreamConstants.END_DOCUMENT;
 
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
@@ -67,15 +67,15 @@
             while (true) {
                 switch (reader.next()) {
                     case START_ELEMENT:
-                        ModelObject modelObject = registry.unmarshall(reader);
                         String name = reader.getName().getLocalPart();
+                        ModelObject modelObject = registry.unmarshall(reader);
                         if(COMPONENT.equals(name)) {
                             changeSet.addComponentDefinition((PhysicalComponentDefinition) modelObject);
                         } else if(WIRE.equals(name)) {
                             changeSet.addWireDefinition((PhysicalWireDefinition) modelObject);
                         }
                         break;
-                    case END_ELEMENT:
+                    case END_DOCUMENT:
                         return changeSet;
                 }
             }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/AbstractPhysicalComponentDefinitionMarshaller.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/AbstractPhysicalComponentDefinitionMarshaller.java?view=diff&rev=514160&r1=514159&r2=514160
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/AbstractPhysicalComponentDefinitionMarshaller.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/AbstractPhysicalComponentDefinitionMarshaller.java Sat Mar  3 06:13:35 2007
@@ -29,6 +29,7 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.tuscany.spi.marshaller.MarshallException;
+import org.apache.tuscany.spi.model.ModelObject;
 import org.apache.tuscany.spi.model.physical.PhysicalComponentDefinition;
 import org.apache.tuscany.spi.model.physical.PhysicalReferenceDefinition;
 import org.apache.tuscany.spi.model.physical.PhysicalServiceDefinition;
@@ -68,12 +69,11 @@
                 switch (reader.next()) {
                     case START_ELEMENT:
                         String name = reader.getName().getLocalPart();
+                        ModelObject modelObject = registry.unmarshall(reader);;
                         if(REFERENCE.equals(name)) {
-                            PhysicalReferenceDefinition reference = (PhysicalReferenceDefinition) registry.unmarshall(reader);
-                            componentDefinition.addReference(reference);
+                            componentDefinition.addReference((PhysicalReferenceDefinition) modelObject);
                         } else if(SERVICE.equals(name)) {
-                            PhysicalServiceDefinition service = (PhysicalServiceDefinition) registry.unmarshall(reader);
-                            componentDefinition.addService(service);
+                            componentDefinition.addService((PhysicalServiceDefinition) modelObject);
                         } else {
                             handleExtensions(componentDefinition, reader);
                         }

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/marshaller/JavaPhysicalChangeSetMarshallerTest.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/marshaller/JavaPhysicalChangeSetMarshallerTest.java?view=diff&rev=514160&r1=514159&r2=514160
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/marshaller/JavaPhysicalChangeSetMarshallerTest.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/marshaller/JavaPhysicalChangeSetMarshallerTest.java Sat Mar  3 06:13:35 2007
@@ -51,16 +51,13 @@
         
         AbstractMarshallerExtension<?>[] marshallers = new AbstractMarshallerExtension<?>[6];
         
-        for(int i = 0;i < 6; i++) {
-            marshallers[i] = new JavaPhysicalComponentDefinitionMarshaller();
-            marshallers[i] = new JavaPhysicalServiceDefinitionMarshaller();
-            marshallers[i] = new JavaPhysicalReferenceDefinitionMarshaller();
-            marshallers[i] = new PhysicalOperationDefinitionMarshaller();
-            marshallers[i] = new PhysicalWireDefinitionMarshaller();
-            marshallers[i] = new PhysicalChangeSetMarshaller();
-        }
+        marshallers[0] = new JavaPhysicalComponentDefinitionMarshaller();
+        marshallers[1] = new JavaPhysicalServiceDefinitionMarshaller();
+        marshallers[2] = new JavaPhysicalReferenceDefinitionMarshaller();
+        marshallers[3] = new PhysicalOperationDefinitionMarshaller();
+        marshallers[4] = new PhysicalWireDefinitionMarshaller();
         
-        for(int i = 0;i < 6; i++) {
+        for(int i = 0;i < 5; i++) {
             marshallers[i].setRegistry(registry);
         }
         
@@ -72,8 +69,10 @@
         InputStream inputStream = cl.getResourceAsStream("marshall/javaChangeSet.xml");
         XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(inputStream);
         
-        //PhysicalChangeSet changeSet = (PhysicalChangeSet) registry.unmarshall(reader);
-        //assertNotNull(changeSet);
+        PhysicalChangeSet changeSet = registry.unmarshallChangeSet(reader);
+        assertNotNull(changeSet);
+        assertEquals(2, changeSet.getComponentDefinitions().size());
+        assertEquals(2, changeSet.getWireDefinitions().size());
         
         
     }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/marshaller/ModelMarshallerRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/marshaller/ModelMarshallerRegistry.java?view=diff&rev=514160&r1=514159&r2=514160
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/marshaller/ModelMarshallerRegistry.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/marshaller/ModelMarshallerRegistry.java Sat Mar  3 06:13:35 2007
@@ -23,6 +23,7 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.tuscany.spi.model.ModelObject;
+import org.apache.tuscany.spi.model.physical.PhysicalChangeSet;
 
 /**
  * A registry for model object marshallers.
@@ -56,5 +57,21 @@
      * @return Model object from the marshalled stream.
      */
     ModelObject unmarshall(XMLStreamReader reader) throws MarshallException;
+    
+    /**
+     * Marshalls a physical change set.
+     * 
+     * @param changeSet Model object to be marshalled.
+     * @param writer Writer to which marshalled information is written.
+     */
+    void marshallChangeSet(PhysicalChangeSet changeSet, XMLStreamWriter writer) throws MarshallException;
+
+    /**
+     * Unmarshalls an XML stream to a physical change set.
+     * 
+     * @param reader Reader from which marshalled information is read.
+     * @return Physical change set from the marshalled stream.
+     */
+    PhysicalChangeSet unmarshallChangeSet(XMLStreamReader reader) throws MarshallException;
 
 }



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