Author: nash
Date: Wed Jan  2 07:06:14 2008
New Revision: 608125

URL: http://svn.apache.org/viewvc?rev=608125&view=rev
Log:
Serialize callable references to XML not base64 binary (TUSCANY-1943)

Added:
    incubator/tuscany/java/sca/itest/callablereferences-ws/
    incubator/tuscany/java/sca/itest/callablereferences-ws/pom.xml
    incubator/tuscany/java/sca/itest/callablereferences-ws/src/
    incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/
    incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/
    incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/
    
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/
    
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleClient.java
    
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleClientImpl.java
    
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleService.java
    
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleServiceImpl.java
    incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/resources/
    
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/resources/example.composite
    incubator/tuscany/java/sca/itest/callablereferences-ws/src/test/
    incubator/tuscany/java/sca/itest/callablereferences-ws/src/test/java/
    incubator/tuscany/java/sca/itest/callablereferences-ws/src/test/java/com/
    
incubator/tuscany/java/sca/itest/callablereferences-ws/src/test/java/com/example/
    
incubator/tuscany/java/sca/itest/callablereferences-ws/src/test/java/com/example/ExampleTestCase.java
    
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/CallableReference2XMLStreamReader.java
    
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/CallableReferenceDataBinding.java
    
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XMLStreamReader2CallableReference.java
Removed:
    
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/externalizable/CallableReferenceDataBinding.java
Modified:
    incubator/tuscany/java/sca/itest/pom.xml
    incubator/tuscany/java/sca/modules/core/pom.xml
    
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java
    
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
    
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java
    
incubator/tuscany/java/sca/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2XMLStreamReader.java
    
incubator/tuscany/java/sca/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
    incubator/tuscany/java/sca/modules/databinding/pom.xml
    
incubator/tuscany/java/sca/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding
    
incubator/tuscany/java/sca/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer

Added: incubator/tuscany/java/sca/itest/callablereferences-ws/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/callablereferences-ws/pom.xml?rev=608125&view=auto
==============================================================================
--- incubator/tuscany/java/sca/itest/callablereferences-ws/pom.xml (added)
+++ incubator/tuscany/java/sca/itest/callablereferences-ws/pom.xml Wed Jan  2 
07:06:14 2008
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    * Licensed to the Apache Software Foundation (ASF) under one
+    * or more contributor license agreements.  See the NOTICE file
+    * distributed with this work for additional information
+    * regarding copyright ownership.  The ASF licenses this file
+    * to you under the Apache License, Version 2.0 (the
+    * "License"); you may not use this file except in compliance
+    * with the License.  You may obtain a copy of the License at
+    * 
+    *   http://www.apache.org/licenses/LICENSE-2.0
+    * 
+    * Unless required by applicable law or agreed to in writing,
+    * software distributed under the License is distributed on an
+    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    * KIND, either express or implied.  See the License for the
+    * specific language governing permissions and limitations
+    * under the License.    
+-->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-itest</artifactId>
+        <version>1.1-incubating-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>itest-callablereferences-ws</artifactId>
+    <name>Apache Tuscany Test for Callable References over Web Services</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-embedded</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-binding-ws-axis2</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-host-tomcat</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
+    </dependencies>
+</project>

Added: 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleClient.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleClient.java?rev=608125&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleClient.java
 (added)
+++ 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleClient.java
 Wed Jan  2 07:06:14 2008
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package com.example;
+
+public interface ExampleClient {
+
+    void runTest();
+
+    void sayHello(String name);
+}

Added: 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleClientImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleClientImpl.java?rev=608125&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleClientImpl.java
 (added)
+++ 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleClientImpl.java
 Wed Jan  2 07:06:14 2008
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package com.example;
+
+import org.osoa.sca.CallableReference;
+import org.osoa.sca.ComponentContext;
+import org.osoa.sca.ServiceReference;
+import org.osoa.sca.annotations.Context;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
+
[EMAIL PROTECTED](ExampleClient.class)
[EMAIL PROTECTED]("COMPOSITE")
+public class ExampleClientImpl implements ExampleClient {
+
+    private ExampleService myService;
+
+    @Context
+    protected ComponentContext context;
+
+    @Reference
+    public void setMyService(ExampleService myService) {
+        this.myService = myService;
+    }
+
+    public void runTest() {
+        ServiceReference<ExampleClient> ref = 
context.createSelfReference(ExampleClient.class);
+        ref.getService().sayHello("Jack");
+        CallableReference result = myService.hello("Jill", ref);
+        if (result != null) {
+            
((CallableReference<ExampleClient>)result).getService().sayHello("John");
+        }
+        result = myService.hello("Jane", null);
+        if (result != null) {
+            
((CallableReference<ExampleClient>)result).getService().sayHello("Jim");
+        }
+    }
+
+    public void sayHello(String name) {
+        System.out.println("Hello, client " + name + "!");
+    }
+}

Added: 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleService.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleService.java?rev=608125&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleService.java
 (added)
+++ 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleService.java
 Wed Jan  2 07:06:14 2008
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package com.example;
+
+import org.osoa.sca.CallableReference;
+import org.osoa.sca.ServiceReference;
+import org.osoa.sca.annotations.Remotable;
+
[EMAIL PROTECTED]
+public interface ExampleService {
+
+       CallableReference hello(String name, ServiceReference ref);
+
+}

Added: 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleServiceImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleServiceImpl.java?rev=608125&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleServiceImpl.java
 (added)
+++ 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/java/com/example/ExampleServiceImpl.java
 Wed Jan  2 07:06:14 2008
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package com.example;
+
+import org.osoa.sca.CallableReference;
+import org.osoa.sca.ServiceReference;
+
+public class ExampleServiceImpl implements ExampleService {
+
+    public CallableReference hello(String name, ServiceReference ref) {
+        if (ref != null) {
+            ((ServiceReference<ExampleClient>)ref).getService().sayHello(name);
+        }
+        return (CallableReference)ref;
+    }
+
+}

Added: 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/resources/example.composite
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/resources/example.composite?rev=608125&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/resources/example.composite
 (added)
+++ 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/main/resources/example.composite
 Wed Jan  2 07:06:14 2008
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+-->
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"; 
+           targetNamespace="http://www.example.com";
+           xmlns:hw="http://www.example.com";
+           name="example">
+
+    <component name="ExampleClientComponent">
+        <implementation.java class="com.example.ExampleClientImpl" />
+        <reference name="myService">
+            <interface.java interface="com.example.ExampleService" />
+            <binding.ws 
uri="http://localhost:8085/axis2/services/ExampleService"; />
+        </reference>
+    </component>
+
+    <component name="ExampleComponent">
+        <implementation.java class="com.example.ExampleServiceImpl"/>
+        <service name="ExampleService">
+            <interface.java interface="com.example.ExampleService" />
+            <binding.ws 
uri="http://localhost:8085/axis2/services/ExampleService"; />
+        </service>  
+    </component>
+</composite>

Added: 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/test/java/com/example/ExampleTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/callablereferences-ws/src/test/java/com/example/ExampleTestCase.java?rev=608125&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/test/java/com/example/ExampleTestCase.java
 (added)
+++ 
incubator/tuscany/java/sca/itest/callablereferences-ws/src/test/java/com/example/ExampleTestCase.java
 Wed Jan  2 07:06:14 2008
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package com.example;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+public class ExampleTestCase extends TestCase {
+
+    private SCADomain scaDomain;
+    private ExampleClient client;
+
+    @Override
+    protected void setUp() throws Exception {
+        scaDomain = SCADomain.newInstance("example.composite");
+        client = scaDomain.getService(ExampleClient.class, 
"ExampleClientComponent");
+    }
+    
+    @Override
+    protected void tearDown() throws Exception {
+        scaDomain.close();
+    }
+
+    public void test() throws Exception {
+        client.runTest();
+    }
+}

Modified: incubator/tuscany/java/sca/itest/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/pom.xml?rev=608125&r1=608124&r2=608125&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/pom.xml (original)
+++ incubator/tuscany/java/sca/itest/pom.xml Wed Jan  2 07:06:14 2008
@@ -37,6 +37,7 @@
             </activation>
             <modules>
                 <module>callablereferences</module>
+                <module>callablereferences-ws</module>
                 <module>callback-api</module>
                 <module>callback-basic</module>
                 <module>callback-complex-type</module>

Modified: incubator/tuscany/java/sca/modules/core/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/pom.xml?rev=608125&r1=608124&r2=608125&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/core/pom.xml Wed Jan  2 07:06:14 2008
@@ -60,6 +60,12 @@
         </dependency>
         
         <dependency>
+            <groupId>stax</groupId>
+            <artifactId>stax-api</artifactId>
+            <version>1.0.1</version>
+        </dependency>
+
+        <dependency>
             <groupId>org.codehaus.woodstox</groupId>
             <artifactId>wstx-asl</artifactId>
             <version>3.2.1</version>

Modified: 
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java?rev=608125&r1=608124&r2=608125&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java
 Wed Jan  2 07:06:14 2008
@@ -23,6 +23,7 @@
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.util.UUID;
+import javax.xml.stream.XMLStreamReader;
 
 import org.apache.tuscany.sca.assembly.Binding;
 import org.apache.tuscany.sca.assembly.Component;
@@ -76,10 +77,24 @@
 
     protected String scdl;
 
+    private transient RuntimeComponentReference clonedRef;
+    private transient ReferenceParameters refParams;
+    private transient XMLStreamReader xmlReader;
+
+    /*
+     * Protected constructor for Externalizable serialization/deserialization
+     */
     protected CallableReferenceImpl() {
         super();
     }
 
+    /*
+     * Public constructor for use by XMLStreamReader2CallableReference
+     */
+    public CallableReferenceImpl(XMLStreamReader xmlReader) {
+        this.xmlReader = xmlReader;
+    }
+
     protected CallableReferenceImpl(Class<B> businessInterface,
                                     RuntimeComponent component,
                                     RuntimeComponentReference reference,
@@ -195,17 +210,25 @@
      * @throws IOException
      */
     private synchronized void resolve() throws Exception {
-        if (scdl != null && component == null && reference == null) {
+        if ((scdl != null || xmlReader != null) && component == null && 
reference == null) {
             ComponentContextHelper componentContextHelper = 
ComponentContextHelper.getCurrentComponentContextHelper();
             if (componentContextHelper != null) {
                 CompositeActivator currentActivator = 
ComponentContextHelper.getCurrentCompositeActivator();
                 this.compositeActivator = currentActivator;
                 this.conversationManager = 
this.compositeActivator.getConversationManager();
-                Component c = componentContextHelper.fromXML(scdl);
+                Component c;
+                if (xmlReader != null) {
+                    c = componentContextHelper.fromXML(xmlReader);
+                    xmlReader = null;  // OK to GC this now
+                } else {
+                    c = componentContextHelper.fromXML(scdl);
+                    scdl = null;  // OK to GC this now
+                }
                 this.component = (RuntimeComponent)c;
                 currentActivator.configureComponentContext(this.component);
                 this.reference = 
(RuntimeComponentReference)c.getReferences().get(0);
                 this.reference.setComponent(this.component);
+                clonedRef = reference;
                 ReferenceParameters parameters = null;
                 for (Object ext : reference.getExtensions()) {
                     if (ext instanceof ReferenceParameters) {
@@ -214,6 +237,7 @@
                     }
                 }
                 if (parameters != null) {
+                    refParams = parameters;
                     this.callbackID = parameters.getCallbackID();
                     this.conversationID = parameters.getConversationID();
                 }
@@ -282,27 +306,35 @@
      */
     public void writeExternal(ObjectOutput out) throws IOException {
         try {
-            if (reference != null) {
-                ReferenceParameters parameters = new ReferenceParametersImpl();
-                parameters.setCallbackID(callbackID);
-                if (conversationID != null) {
-                    parameters.setConversationID(conversationID);
-                } else {
-                    parameters.setConversationID(null);
-                }
-                reference.getExtensions().add(parameters);
-                scdl =
-                    
((CompositeActivatorImpl)compositeActivator).getComponentContextHelper()
-                        .toXML(component, reference);
-                reference.getExtensions().remove(parameters);
-            }
-            out.writeUTF(scdl);
+            out.writeUTF(toXMLString());
         } catch (Exception e) {
             e.printStackTrace();
             throw new IOException(e.getMessage());
         }
     }
 
+    public String toXMLString() throws IOException {
+        if (reference != null) {
+            if (clonedRef == null) {
+                try {
+                    clonedRef = (RuntimeComponentReference)reference.clone();
+                } catch (CloneNotSupportedException e) {
+                    // will not happen
+                }
+            }
+            if (refParams == null) {
+                refParams = new ReferenceParametersImpl();
+                clonedRef.getExtensions().add(refParams);
+            }
+            refParams.setCallbackID(callbackID);
+            refParams.setConversationID(conversationID);
+            return 
((CompositeActivatorImpl)compositeActivator).getComponentContextHelper()
+                    .toXML(component, clonedRef);
+        } else { 
+            return scdl;
+        }
+    }
+
     /**
      * Create a callback id
      * 
@@ -344,6 +376,10 @@
         ReferenceParameters parameters = getReferenceParameters();
         epr.setReferenceParameters(parameters);
         return epr;
+    }
+
+    public XMLStreamReader getXMLReader() {
+        return xmlReader;
     }
 
 }

Modified: 
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java?rev=608125&r1=608124&r2=608125&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
 Wed Jan  2 07:06:14 2008
@@ -220,9 +220,17 @@
 
     public RuntimeComponent read(Reader reader) throws IOException {
         try {
-            StAXArtifactProcessor<Composite> processor = 
staxProcessors.getProcessor(Composite.class);
             XMLInputFactory inputFactory = XMLInputFactory.newInstance();
             XMLStreamReader streamReader = 
inputFactory.createXMLStreamReader(reader);
+            return read(streamReader);
+        } catch (Exception e) {
+            throw new IOException(e.getMessage());
+        }
+    }
+
+    public RuntimeComponent read(XMLStreamReader streamReader) throws 
IOException {
+        try {
+            StAXArtifactProcessor<Composite> processor = 
staxProcessors.getProcessor(Composite.class);
             Composite composite = processor.read(streamReader);
             RuntimeComponent component = 
(RuntimeComponent)composite.getComponents().get(0);
             return component;
@@ -233,6 +241,10 @@
 
     public Component fromXML(String xml) throws IOException {
         return read(new StringReader(xml));
+    }
+
+    public Component fromXML(XMLStreamReader streamReader) throws IOException {
+        return read(streamReader);
     }
 
     public static RuntimeComponent getCurrentComponent() {

Modified: 
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java?rev=608125&r1=608124&r2=608125&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java
 Wed Jan  2 07:06:14 2008
@@ -18,6 +18,8 @@
  */
 package org.apache.tuscany.sca.core.context;
 
+import javax.xml.stream.XMLStreamReader;
+
 import org.apache.tuscany.sca.assembly.Binding;
 import org.apache.tuscany.sca.core.assembly.CompositeActivator;
 import org.apache.tuscany.sca.core.conversation.ConversationState;
@@ -41,8 +43,18 @@
 
     protected transient Object callback;
 
+    /*
+     * Public constructor for Externalizable serialization/deserialization
+     */
     public ServiceReferenceImpl() {
         super();
+    }
+
+    /*
+     * Public constructor for use by XMLStreamReader2CallableReference
+     */
+    public ServiceReferenceImpl(XMLStreamReader xmlReader) {
+        super(xmlReader);
     }
 
     /**

Modified: 
incubator/tuscany/java/sca/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2XMLStreamReader.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2XMLStreamReader.java?rev=608125&r1=608124&r2=608125&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2XMLStreamReader.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2XMLStreamReader.java
 Wed Jan  2 07:06:14 2008
@@ -18,6 +18,7 @@
  */
 package org.apache.tuscany.sca.databinding.axiom;
 
+import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamReader;
 
 import org.apache.axiom.om.OMElement;
@@ -29,8 +30,18 @@
     PullTransformer<OMElement, XMLStreamReader> {
     // private XmlOptions options;
 
+    public static QName QNAME_NIL = new 
QName("http://www.w3.org/2001/XMLSchema-instance";, "nil");
+
     public XMLStreamReader transform(OMElement source, TransformationContext 
context) {
-        return source != null ? source.getXMLStreamReader() : null;
+        if (source == null) {
+            return null;
+        } else {
+            if ("true".equals(source.getAttributeValue(QNAME_NIL))) {
+                return null;
+            } else {
+                return source.getXMLStreamReader();
+            }
+        }
     }
 
     @Override

Modified: 
incubator/tuscany/java/sca/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer?rev=608125&r1=608124&r2=608125&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
 (original)
+++ 
incubator/tuscany/java/sca/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
 Wed Jan  2 07:06:14 2008
@@ -1,28 +1,28 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Implementation classes for the transformers
-org.apache.tuscany.sca.databinding.axiom.Externalizable2OMElement;source=org.osoa.sca.CallableReference,target=org.apache.axiom.om.OMElement,weight=10
-org.apache.tuscany.sca.databinding.axiom.OMElement2Externalizable;source=org.apache.axiom.om.OMElement,target=org.osoa.sca.CallableReference,weight=10
-org.apache.tuscany.sca.databinding.axiom.Externalizable2OMElement;source=java.io.Externalizable,target=org.apache.axiom.om.OMElement,weight=10
-org.apache.tuscany.sca.databinding.axiom.OMElement2Externalizable;source=org.apache.axiom.om.OMElement,target=java.io.Externalizable,weight=10
-# 
org.apache.tuscany.sca.databinding.axiom.Object2OMElement;source=java:simpleType,target=org.apache.axiom.om.OMElement,weight=80000
-# 
org.apache.tuscany.sca.databinding.axiom.OMElement2Object;source=org.apache.axiom.om.OMElement,target=java:simpleType,weight=80000
-org.apache.tuscany.sca.databinding.axiom.OMElement2String;source=org.apache.axiom.om.OMElement,target=java.lang.String,weight=80
-org.apache.tuscany.sca.databinding.axiom.OMElement2XMLStreamReader;source=org.apache.axiom.om.OMElement,target=javax.xml.stream.XMLStreamReader,weight=60
-org.apache.tuscany.sca.databinding.axiom.String2OMElement;source=java.lang.String,target=org.apache.axiom.om.OMElement,weight=80
-org.apache.tuscany.sca.databinding.axiom.XMLStreamReader2OMElement;source=javax.xml.stream.XMLStreamReader,target=org.apache.axiom.om.OMElement,weight=60
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Implementation classes for the transformers
+# 
org.apache.tuscany.sca.databinding.axiom.CallableReference2OMElement;source=org.osoa.sca.CallableReference,target=org.apache.axiom.om.OMElement,weight=10
+# 
org.apache.tuscany.sca.databinding.axiom.OMElement2CallableReference;source=org.apache.axiom.om.OMElement,target=org.osoa.sca.CallableReference,weight=10
+org.apache.tuscany.sca.databinding.axiom.Externalizable2OMElement;source=java.io.Externalizable,target=org.apache.axiom.om.OMElement,weight=10
+org.apache.tuscany.sca.databinding.axiom.OMElement2Externalizable;source=org.apache.axiom.om.OMElement,target=java.io.Externalizable,weight=10
+# 
org.apache.tuscany.sca.databinding.axiom.Object2OMElement;source=java:simpleType,target=org.apache.axiom.om.OMElement,weight=80000
+# 
org.apache.tuscany.sca.databinding.axiom.OMElement2Object;source=org.apache.axiom.om.OMElement,target=java:simpleType,weight=80000
+org.apache.tuscany.sca.databinding.axiom.OMElement2String;source=org.apache.axiom.om.OMElement,target=java.lang.String,weight=80
+org.apache.tuscany.sca.databinding.axiom.OMElement2XMLStreamReader;source=org.apache.axiom.om.OMElement,target=javax.xml.stream.XMLStreamReader,weight=60
+org.apache.tuscany.sca.databinding.axiom.String2OMElement;source=java.lang.String,target=org.apache.axiom.om.OMElement,weight=80
+org.apache.tuscany.sca.databinding.axiom.XMLStreamReader2OMElement;source=javax.xml.stream.XMLStreamReader,target=org.apache.axiom.om.OMElement,weight=60

Modified: incubator/tuscany/java/sca/modules/databinding/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/pom.xml?rev=608125&r1=608124&r2=608125&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/databinding/pom.xml Wed Jan  2 07:06:14 
2008
@@ -47,6 +47,12 @@
             <version>1.1-incubating-SNAPSHOT</version>
         </dependency>          
 
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-core</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+        </dependency>        
+
                <dependency>
                        <groupId>stax</groupId>
                        <artifactId>stax-api</artifactId>

Added: 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/CallableReference2XMLStreamReader.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/CallableReference2XMLStreamReader.java?rev=608125&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/CallableReference2XMLStreamReader.java
 (added)
+++ 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/CallableReference2XMLStreamReader.java
 Wed Jan  2 07:06:14 2008
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.databinding.impl;
+
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.sca.core.context.CallableReferenceImpl;
+import org.apache.tuscany.sca.databinding.PullTransformer;
+import org.apache.tuscany.sca.databinding.TransformationContext;
+import org.apache.tuscany.sca.databinding.TransformationException;
+import org.apache.tuscany.sca.databinding.xml.StAXHelper;
+
+import org.osoa.sca.CallableReference;
+
[EMAIL PROTECTED]("unchecked")
+public class CallableReference2XMLStreamReader extends 
BaseTransformer<CallableReference, XMLStreamReader> implements
+    PullTransformer<CallableReference, XMLStreamReader> {
+
+    @Override
+    protected Class getSourceType() {
+        return CallableReference.class;
+    }
+
+    @Override
+    protected Class getTargetType() {
+        return XMLStreamReader.class;
+    }
+
+    public XMLStreamReader transform(CallableReference source, 
TransformationContext context) {
+        try {
+            if (source != null) {
+                if (source instanceof CallableReferenceImpl) {
+                    XMLStreamReader xmlReader = 
((CallableReferenceImpl)source).getXMLReader();
+                    if (xmlReader != null) {
+                        return xmlReader;
+                    } else {
+                        String xmlString = 
((CallableReferenceImpl)source).toXMLString();
+
+                        // remove "<?xml...?>" processing instruction and wrap 
with a top-level element
+                        return StAXHelper.createXMLStreamReader("<reference 
xmlns=\"http://callable\";>"
+                                        + 
xmlString.substring(xmlString.indexOf("?>") + 2)
+                                        + "</reference>");
+                    }
+                } else {   
+                    throw new TransformationException("Unrecognized 
transformation source object");
+                }
+            } else {
+                return null;
+            }
+        } catch (Exception e) {
+            throw new TransformationException(e);
+        }
+    }
+       
+    @Override
+    public int getWeight() {
+        return 10;
+    }
+
+}

Added: 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/CallableReferenceDataBinding.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/CallableReferenceDataBinding.java?rev=608125&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/CallableReferenceDataBinding.java
 (added)
+++ 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/CallableReferenceDataBinding.java
 Wed Jan  2 07:06:14 2008
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package org.apache.tuscany.sca.databinding.impl;
+
+public class CallableReferenceDataBinding extends BaseDataBinding {
+    
+    public static final String NAME = 
org.osoa.sca.CallableReference.class.getName();
+    public static final String[] ALIASES = new String[] {"callablereference"};
+
+    public CallableReferenceDataBinding() {
+        super(NAME, ALIASES, org.osoa.sca.CallableReference.class);
+    }
+
+}

Added: 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XMLStreamReader2CallableReference.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XMLStreamReader2CallableReference.java?rev=608125&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XMLStreamReader2CallableReference.java
 (added)
+++ 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XMLStreamReader2CallableReference.java
 Wed Jan  2 07:06:14 2008
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.databinding.impl;
+
+import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
+
+import java.lang.reflect.Constructor;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.tuscany.sca.core.context.CallableReferenceImpl;
+import org.apache.tuscany.sca.core.context.ServiceReferenceImpl;
+import org.apache.tuscany.sca.databinding.PullTransformer;
+import org.apache.tuscany.sca.databinding.TransformationContext;
+import org.apache.tuscany.sca.databinding.TransformationException;
+
+import org.osoa.sca.CallableReference;
+
[EMAIL PROTECTED]("unchecked")
+public class XMLStreamReader2CallableReference extends 
BaseTransformer<XMLStreamReader, CallableReference>
+            implements PullTransformer<XMLStreamReader, CallableReference> {
+
+    private static String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0";;
+    private static String COMPOSITE = "composite";
+    public static QName COMPOSITE_QNAME = new QName(SCA10_NS, COMPOSITE);
+    
+    public CallableReference transform(XMLStreamReader source, 
TransformationContext context) {
+        try {
+            if (source != null) {
+                skipTopLevelElement(source);
+                Class refType = context.getTargetDataType().getPhysical();
+                Class implType;
+                if (refType.isAssignableFrom(CallableReferenceImpl.class)) {
+                    implType = CallableReferenceImpl.class;
+                } else if 
(refType.isAssignableFrom(ServiceReferenceImpl.class)) {
+                    implType = ServiceReferenceImpl.class;
+                } else {   
+                    throw new TransformationException("Unrecognized 
transformation target type");
+                }
+                Constructor constructor = implType.getConstructor(new Class[] 
{XMLStreamReader.class});
+                return (CallableReference)constructor.newInstance(new Object[] 
{source});
+            } else {
+                return null;
+            }
+        } catch (Exception e) {
+            throw new TransformationException(e);
+        }
+    }
+
+    /*
+     * Step over top-level element added by CallableReference2XMLStreamReader
+     */
+    private void skipTopLevelElement(XMLStreamReader source) throws 
XMLStreamException {
+        while (source.hasNext()) {
+            int event = source.getEventType();
+            if (event == START_ELEMENT) {
+                QName name = source.getName();
+                if (COMPOSITE_QNAME.equals(name)) {
+                    return;
+                }
+            }
+            source.next();
+        }
+        throw new TransformationException("<composite> element not found");
+    }
+
+    @Override
+    public Class getSourceType() {
+        return XMLStreamReader.class;
+    }
+
+    @Override
+    public Class getTargetType() {
+        return CallableReference.class;
+    }
+
+    @Override
+    public int getWeight() {
+        return 10;
+    }
+
+}

Modified: 
incubator/tuscany/java/sca/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding?rev=608125&r1=608124&r2=608125&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding
 (original)
+++ 
incubator/tuscany/java/sca/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding
 Wed Jan  2 07:06:14 2008
@@ -22,5 +22,5 @@
 
org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding;type=java:complexType
 
org.apache.tuscany.sca.databinding.javabeans.SimpleJavaDataBinding;type=java:simpleType
 
org.apache.tuscany.sca.databinding.externalizable.ExternalizableDataBinding;type=java.io.Externalizable,name=externalizable
-org.apache.tuscany.sca.databinding.externalizable.CallableReferenceDataBinding;type=org.osoa.sca.CallableReference,name=callablereference
+org.apache.tuscany.sca.databinding.impl.CallableReferenceDataBinding;type=org.osoa.sca.CallableReference,name=callablereference
 

Modified: 
incubator/tuscany/java/sca/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer?rev=608125&r1=608124&r2=608125&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
 (original)
+++ 
incubator/tuscany/java/sca/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer
 Wed Jan  2 07:06:14 2008
@@ -1,35 +1,37 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Implementation classes for the transformers
-org.apache.tuscany.sca.databinding.xml.InputSource2Node;source=org.xml.sax.InputSource,target=org.w3c.dom.Node,weight=80
-org.apache.tuscany.sca.databinding.xml.InputStream2Node;source=java.io.InputStream,target=org.w3c.dom.Node,weight=80
-# 
org.apache.tuscany.sca.databinding.javabeans.DOMNode2JavaBeanTransformer;source=org.w3c.dom.Node,target=java:complexType,weight=80000
-org.apache.tuscany.sca.databinding.xml.Node2String;source=org.w3c.dom.Node,target=java.lang.String,weight=80
-org.apache.tuscany.sca.databinding.xml.Node2XMLStreamReader;source=org.w3c.dom.Node,target=javax.xml.stream.XMLStreamReader,weight=80
-# 
org.apache.tuscany.sca.databinding.javabeans.JavaBean2DOMNodeTransformer;source=java:complexType,target=org.w3c.dom.Node,weight=80000
-# 
org.apache.tuscany.sca.databinding.javabeans.JavaBean2XMLStreamReaderTransformer;source=java:complexType,target=javax.xml.stream.XMLStreamReader,weight=79000
-org.apache.tuscany.sca.databinding.xml.Reader2Node;source=java.io.Reader,target=org.w3c.dom.Node,weight=80
-org.apache.tuscany.sca.databinding.xml.SAX2DOMPipe;source=org.xml.sax.ContentHandler,target=org.w3c.dom.Node,weight=70
-org.apache.tuscany.sca.databinding.xml.StreamDataPipe;source=java.io.OutputStream,target=java.io.InputStream,weight=90
-org.apache.tuscany.sca.databinding.xml.String2Node;source=java.lang.String,target=org.w3c.dom.Node,weight=90
-org.apache.tuscany.sca.databinding.xml.String2XMLStreamReader;source=java.lang.String,target=javax.xml.stream.XMLStreamReader,weight=90
-org.apache.tuscany.sca.databinding.xml.Writer2ReaderDataPipe;source=java.io.Writer,target=java.io.Reader,weight=90
-org.apache.tuscany.sca.databinding.xml.XMLStreamReader2Node;source=javax.xml.stream.XMLStreamReader,target=org.w3c.dom.Node,weight=80
-org.apache.tuscany.sca.databinding.xml.XMLStreamReader2String;source=javax.xml.stream.XMLStreamReader,target=java.lang.String,weight=80
-# 
org.apache.tuscany.sca.databinding.xml.Node2SimpleJavaType;source=org.w3c.dom.Node,target=java:simpleType,weight=80000
-# 
org.apache.tuscany.sca.databinding.xml.SimpleJavaType2Node;source=java:simpleType,target=org.w3c.dom.Node,weight=80000
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Implementation classes for the transformers
+org.apache.tuscany.sca.databinding.xml.InputSource2Node;source=org.xml.sax.InputSource,target=org.w3c.dom.Node,weight=80
+org.apache.tuscany.sca.databinding.xml.InputStream2Node;source=java.io.InputStream,target=org.w3c.dom.Node,weight=80
+# 
org.apache.tuscany.sca.databinding.javabeans.DOMNode2JavaBeanTransformer;source=org.w3c.dom.Node,target=java:complexType,weight=80000
+org.apache.tuscany.sca.databinding.xml.Node2String;source=org.w3c.dom.Node,target=java.lang.String,weight=80
+org.apache.tuscany.sca.databinding.xml.Node2XMLStreamReader;source=org.w3c.dom.Node,target=javax.xml.stream.XMLStreamReader,weight=80
+# 
org.apache.tuscany.sca.databinding.javabeans.JavaBean2DOMNodeTransformer;source=java:complexType,target=org.w3c.dom.Node,weight=80000
+# 
org.apache.tuscany.sca.databinding.javabeans.JavaBean2XMLStreamReaderTransformer;source=java:complexType,target=javax.xml.stream.XMLStreamReader,weight=79000
+org.apache.tuscany.sca.databinding.xml.Reader2Node;source=java.io.Reader,target=org.w3c.dom.Node,weight=80
+org.apache.tuscany.sca.databinding.xml.SAX2DOMPipe;source=org.xml.sax.ContentHandler,target=org.w3c.dom.Node,weight=70
+org.apache.tuscany.sca.databinding.xml.StreamDataPipe;source=java.io.OutputStream,target=java.io.InputStream,weight=90
+org.apache.tuscany.sca.databinding.xml.String2Node;source=java.lang.String,target=org.w3c.dom.Node,weight=90
+org.apache.tuscany.sca.databinding.xml.String2XMLStreamReader;source=java.lang.String,target=javax.xml.stream.XMLStreamReader,weight=90
+org.apache.tuscany.sca.databinding.xml.Writer2ReaderDataPipe;source=java.io.Writer,target=java.io.Reader,weight=90
+org.apache.tuscany.sca.databinding.xml.XMLStreamReader2Node;source=javax.xml.stream.XMLStreamReader,target=org.w3c.dom.Node,weight=80
+org.apache.tuscany.sca.databinding.xml.XMLStreamReader2String;source=javax.xml.stream.XMLStreamReader,target=java.lang.String,weight=80
+# 
org.apache.tuscany.sca.databinding.xml.Node2SimpleJavaType;source=org.w3c.dom.Node,target=java:simpleType,weight=80000
+# 
org.apache.tuscany.sca.databinding.xml.SimpleJavaType2Node;source=java:simpleType,target=org.w3c.dom.Node,weight=80000
+org.apache.tuscany.sca.databinding.impl.CallableReference2XMLStreamReader;source=org.osoa.sca.CallableReference,target=javax.xml.stream.XMLStreamReader,weight=10
+org.apache.tuscany.sca.databinding.impl.XMLStreamReader2CallableReference;source=javax.xml.stream.XMLStreamReader,target=org.osoa.sca.CallableReference,weight=10



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to