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