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/04 19:23:25 UTC

svn commit: r514455 - in /incubator/tuscany/java/sca/kernel/core/src: main/java/org/apache/tuscany/core/marshaller/extensions/ main/java/org/apache/tuscany/core/marshaller/extensions/java/ test/resources/marshall/

Author: meerajk
Date: Sun Mar  4 10:23:24 2007
New Revision: 514455

URL: http://svn.apache.org/viewvc?view=rev&rev=514455
Log:
Added instance factory byte code.

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/AbstractExtensibleMarshallerExtension.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/java/JavaPhysicalComponentDefinitionMarshaller.java
    incubator/tuscany/java/sca/kernel/core/src/test/resources/marshall/javaChangeSet.xml

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/AbstractExtensibleMarshallerExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/AbstractExtensibleMarshallerExtension.java?view=diff&rev=514455&r1=514454&r2=514455
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/AbstractExtensibleMarshallerExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/AbstractExtensibleMarshallerExtension.java Sun Mar  4 10:23:24 2007
@@ -22,6 +22,7 @@
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.tuscany.core.marshaller.AbstractMarshallerExtension;
+import org.apache.tuscany.spi.marshaller.MarshallException;
 import org.apache.tuscany.spi.model.ModelObject;
 
 /**
@@ -31,26 +32,27 @@
  *
  * @param <MD>
  */
-public abstract class AbstractExtensibleMarshallerExtension<MD extends ModelObject> extends AbstractMarshallerExtension<MD> {
+public abstract class AbstractExtensibleMarshallerExtension<MD extends ModelObject> extends
+    AbstractMarshallerExtension<MD> {
 
     /**
      * Create the concrete model object.
      * @return Concrete model object.
      */
     protected abstract MD getConcreteModelObject();
-    
+
     /**
      * Handles extensions for unmarshalling.
      * @param modelObject Concrete model object.
      * @param reader Reader from which marshalled data is read.
      */
-    protected abstract void handleExtension(MD modelObject, XMLStreamReader reader);
-    
+    protected abstract void handleExtension(MD modelObject, XMLStreamReader reader) throws MarshallException;
+
     /**
      * Handles extensions for marshalling.
      * @param modelObject Concrete model object.
      * @param reader Writer to which marshalled data is written.
      */
-    protected abstract void handleExtension(MD modelObject, XMLStreamWriter writer);
+    protected abstract void handleExtension(MD modelObject, XMLStreamWriter writer) throws MarshallException;
 
 }

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/java/JavaPhysicalComponentDefinitionMarshaller.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/java/JavaPhysicalComponentDefinitionMarshaller.java?view=diff&rev=514455&r1=514454&r2=514455
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/java/JavaPhysicalComponentDefinitionMarshaller.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/marshaller/extensions/java/JavaPhysicalComponentDefinitionMarshaller.java Sun Mar  4 10:23:24 2007
@@ -19,6 +19,7 @@
 package org.apache.tuscany.core.marshaller.extensions.java;
 
 import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
@@ -32,19 +33,25 @@
 /**
  * Marshaller for Java physical component definitions.
  * 
- * @version $Revision$ $Date$
+ * @version $Revision$ $Date: 2007-03-03 16:41:22 +0000 (Sat, 03 Mar
+ *          2007) $
  */
-public class JavaPhysicalComponentDefinitionMarshaller extends AbstractPhysicalComponentDefinitionMarshaller<JavaPhysicalComponentDefinition> {
+public class JavaPhysicalComponentDefinitionMarshaller extends
+    AbstractPhysicalComponentDefinitionMarshaller<JavaPhysicalComponentDefinition> {
 
     // Instance factory
     private static final String INSTANCE_FACTORY = "instanceFactory";
 
     // QName for the root element
-    private static final QName QNAME = new QName("http://tuscany.apache.org/xmlns/marshaller/java/1.0-SNAPSHOT", "component");
+    private static final QName QNAME =
+        new QName("http://tuscany.apache.org/xmlns/marshaller/java/1.0-SNAPSHOT", "component");
 
     /**
-     * Gets the qualified name of the XML fragment for the marshalled model object.
-     * @return {"http://tuscany.apache.org/xmlns/marshaller/component/java/1.0-SNAPSHOT", "component"}
+     * Gets the qualified name of the XML fragment for the marshalled model
+     * object.
+     * 
+     * @return {"http://tuscany.apache.org/xmlns/marshaller/component/java/1.0-SNAPSHOT",
+     *         "component"}
      */
     @Override
     protected QName getModelObjectQName() {
@@ -53,62 +60,75 @@
 
     /**
      * Retursn the type of the model object.
+     * 
      * @return <code>JavaPhysicalComponentDefinition.class</code>.
      */
     @Override
     protected Class<JavaPhysicalComponentDefinition> getModelObjectType() {
         return JavaPhysicalComponentDefinition.class;
     }
-    
+
     /**
      * Create the concrete PCD.
+     * 
      * @return An instance of<code>JavaPhysicalComponentDefinition</code>.
      */
     @Override
     protected JavaPhysicalComponentDefinition getConcreteModelObject() {
         return new JavaPhysicalComponentDefinition();
     }
-    
+
     /**
-     * Handles extensions for unmarshalling Java physical component definitions 
+     * Handles extensions for unmarshalling Java physical component definitions
      * including the marshalling of base64 encoded instance factory byte code.
      * 
      * @param componentDefinition Physical component definition.
      * @param reader Reader from which marshalled data is read.
      */
     @Override
-    protected void handleExtension(JavaPhysicalComponentDefinition componentDefinition, XMLStreamReader reader) {
-        String name = reader.getName().getLocalPart();
-        if(INSTANCE_FACTORY.equals(name)) {
-            byte[] base64ByteCode = reader.getText().getBytes();
-            byte[] byteCode = Base64.decodeBase64(base64ByteCode);
-            componentDefinition.setInstanceFactoryByteCode(byteCode);
+    protected void handleExtension(JavaPhysicalComponentDefinition componentDefinition, XMLStreamReader reader)
+        throws MarshallException {
+
+        try {
+            String name = reader.getName().getLocalPart();
+            if (INSTANCE_FACTORY.equals(name)) {
+                reader.next();
+                byte[] base64ByteCode = reader.getText().getBytes();
+                byte[] byteCode = Base64.decodeBase64(base64ByteCode);
+                componentDefinition.setInstanceFactoryByteCode(byteCode);
+            }
+        } catch (XMLStreamException ex) {
+            throw new MarshallException(ex);
         }
+        
     }
+
     /**
      * Handles a reference.
      * 
      * @param componentDefinition Component definition.
      * @param reader XML stream.
      */
-    protected void handleReference(JavaPhysicalComponentDefinition componentDefinition, XMLStreamReader reader) throws MarshallException {
-        JavaPhysicalReferenceDefinition reference = (JavaPhysicalReferenceDefinition) registry.unmarshall(reader);
+    protected void handleReference(JavaPhysicalComponentDefinition componentDefinition, XMLStreamReader reader)
+        throws MarshallException {
+        JavaPhysicalReferenceDefinition reference = (JavaPhysicalReferenceDefinition)registry.unmarshall(reader);
         componentDefinition.addReference(reference);
     }
-    
+
     /**
      * Handles a reference.
      * 
      * @param componentDefinition Component definition.
      * @param reader XML stream.
      */
-    protected void handleService(JavaPhysicalComponentDefinition componentDefinition, XMLStreamReader reader) throws MarshallException {
-        JavaPhysicalServiceDefinition service = (JavaPhysicalServiceDefinition) registry.unmarshall(reader);
-        componentDefinition.addService(service); 
+    protected void handleService(JavaPhysicalComponentDefinition componentDefinition, XMLStreamReader reader)
+        throws MarshallException {
+        JavaPhysicalServiceDefinition service = (JavaPhysicalServiceDefinition)registry.unmarshall(reader);
+        componentDefinition.addService(service);
     }
-    
+
     /**
-     * Handles extensions for marshalling Java physical component definitions 
+     * Handles extensions for marshalling Java physical component definitions
      * including the marshalling of base64 encoded instance factory byte code.
      * 
      * @param componentDefinition Physical component definition.

Modified: incubator/tuscany/java/sca/kernel/core/src/test/resources/marshall/javaChangeSet.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/resources/marshall/javaChangeSet.xml?view=diff&rev=514455&r1=514454&r2=514455
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/resources/marshall/javaChangeSet.xml (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/resources/marshall/javaChangeSet.xml Sun Mar  4 10:23:24 2007
@@ -8,6 +8,7 @@
 		<java:service name="sv1">
 			<core:operation name="op1"/>
 		</java:service>
+		<java:instanceFactory>1234ASF</java:instanceFactory>
 	</java:component>
 	
 	<!-- Component 2 -->
@@ -18,6 +19,7 @@
 		<java:service name="sv2">
 			<core:operation name="op2"/>
 		</java:service>
+		<java:instanceFactory>1234ASF</java:instanceFactory>
 	</java:component>
 	
 	<!-- Wire 1 -->



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