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/02/06 09:24:20 UTC

svn commit: r504024 - in /incubator/tuscany/java/sca/kernel/core/src: main/java/org/apache/tuscany/core/marshaller/ test/java/org/apache/tuscany/core/marshaller/

Author: meerajk
Date: Tue Feb  6 00:24:19 2007
New Revision: 504024

URL: http://svn.apache.org/viewvc?view=rev&rev=504024
Log:
Implemented marshall

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/JavaPhysicalComponentDefinitionMarshaller.java
    incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/marshaller/JavaPhysicalComponentDefinitionMarshallerTestCase.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/JavaPhysicalComponentDefinitionMarshaller.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/JavaPhysicalComponentDefinitionMarshaller.java?view=diff&rev=504024&r1=504023&r2=504024
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/JavaPhysicalComponentDefinitionMarshaller.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/JavaPhysicalComponentDefinitionMarshaller.java Tue Feb  6 00:24:19 2007
@@ -38,9 +38,9 @@
  * physical Java component definitions are of the form,
  * 
  * <code>
- *   <ns:componentJava componentId="uri" xmlns:ns="http://tuscany.apache.org/xmlns/1.0-SNAPSHOT">
+ *   <componentJava componentId="uri" xmlns="http://tuscany.apache.org/xmlns/1.0-SNAPSHOT">
  *     <instanceFactoryByteCode>Base 64 Encoded byte code</instanceFactoryByteCode>
- *   </ns:component-java>
+ *   </component-java>
  * </code>
  * 
  * @version $Rev$ $Date$
@@ -56,7 +56,8 @@
     public static final String COMPONENT_ID = "componentId";
 
     /** Instance factory byte code. */
-    public static final QName INSTANCE_FACTORY_BYTE_CODE = new QName(null, "instanceFactoryByteCode");
+    public static final QName INSTANCE_FACTORY_BYTE_CODE = 
+        new QName("http://tuscany.apache.org/xmlns/1.0-SNAPSHOT", "instanceFactoryByteCode");
 
     /**
      * Marshalls the component definition object to the specified stream writer.
@@ -66,7 +67,31 @@
      * @throws MarshalException In case of any marshalling error.
      */
     public void marshall(JavaPhysicalComponentDefinition modelObject, XMLStreamWriter writer) throws MarshalException {
-        throw new UnsupportedOperationException("Not implemented");
+        
+        try {
+            
+            writer.setDefaultNamespace(MESSAGE_TYPE.getNamespaceURI());
+            
+            writer.writeStartDocument();
+            writer.writeStartElement(MESSAGE_TYPE.getLocalPart());
+            writer.writeNamespace(null, MESSAGE_TYPE.getNamespaceURI());
+            writer.writeAttribute(COMPONENT_ID, modelObject.getComponentId().toASCIIString());
+            writer.writeStartElement(INSTANCE_FACTORY_BYTE_CODE.getLocalPart());
+            
+            byte[] byteCode = modelObject.getInstanceFactoryByteCode();
+            // TODO Change this with base64 encode
+            String encodedByteCode = new String(byteCode);
+            writer.writeCharacters(encodedByteCode);
+            
+            writer.writeEndElement();
+            writer.writeEndElement();
+            writer.writeEndDocument();
+            
+            writer.flush();
+            
+        } catch (XMLStreamException ex) {
+            throw new MarshalException(ex);
+        }
     }
 
     /**

Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/marshaller/JavaPhysicalComponentDefinitionMarshallerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/marshaller/JavaPhysicalComponentDefinitionMarshallerTestCase.java?view=diff&rev=504024&r1=504023&r2=504024
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/marshaller/JavaPhysicalComponentDefinitionMarshallerTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/marshaller/JavaPhysicalComponentDefinitionMarshallerTestCase.java Tue Feb  6 00:24:19 2007
@@ -18,9 +18,12 @@
  */
 package org.apache.tuscany.core.marshaller;
 
+import java.io.ByteArrayOutputStream;
 import java.net.URI;
 
+import javax.xml.stream.XMLOutputFactory;
 import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.tuscany.core.component.JavaPhysicalComponentDefinition;
 import org.apache.tuscany.spi.marshaller.ModelMarshaller;
@@ -45,9 +48,9 @@
     public void testUnmarshall() throws Exception {
         
         String xml = 
-            "<ns:componentJava componentId=\"uri\" xmlns:ns=\"http://tuscany.apache.org/xmlns/1.0-SNAPSHOT\">" +
+            "<componentJava componentId=\"uri\" xmlns=\"http://tuscany.apache.org/xmlns/1.0-SNAPSHOT\">" +
             "  <instanceFactoryByteCode>Base 64 Encoded byte code</instanceFactoryByteCode>" +
-            "</ns:componentJava>";
+            "</componentJava>";
         XMLStreamReader reader = StaxUtil.createReader(xml);
         
         ModelMarshaller<JavaPhysicalComponentDefinition> marshaller = new JavaPhysicalComponentDefinitionMarshaller();
@@ -55,6 +58,30 @@
         
         assertEquals(new URI("uri"), definition.getComponentId());
         assertEquals("Base 64 Encoded byte code", new String(definition.getInstanceFactoryByteCode()));
+        
+    }
+
+    public void testMarshall() throws Exception {
+        
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        
+        JavaPhysicalComponentDefinition definition = new JavaPhysicalComponentDefinition();
+        definition.setComponentId(new URI("uri"));
+        definition.setInstanceFactoryByteCode("Base 64 Encoded byte code".getBytes());
+        
+        XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(out, "UTF-8");
+        
+        
+        ModelMarshaller<JavaPhysicalComponentDefinition> marshaller = new JavaPhysicalComponentDefinitionMarshaller();
+        marshaller.marshall(definition, writer);
+        
+        String xml = new String(out.toByteArray());
+        XMLStreamReader reader = StaxUtil.createReader(xml);        
+        definition = marshaller.unmarshall(reader);
+        
+        assertEquals(new URI("uri"), definition.getComponentId());
+        assertEquals("Base 64 Encoded byte code", new String(definition.getInstanceFactoryByteCode()));
+        
         
     }
 



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