You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/12/05 21:23:26 UTC

svn commit: r601501 [3/3] - in /incubator/tuscany/java/sca: demos/xml-bigbank/src/main/resources/wsdl/ itest/properties/src/main/java/org/apache/tuscany/sca/itest/ itest/properties/src/main/resources/ itest/ws-void-args-return/src/main/java/voidtest/ m...

Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java Wed Dec  5 12:23:21 2007
@@ -23,12 +23,14 @@
 import java.beans.Introspector;
 import java.beans.PropertyDescriptor;
 import java.lang.reflect.Array;
+import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -42,8 +44,8 @@
  * @version $Rev$ $Date$
  */
 public class BeanXMLStreamReaderImpl extends XmlTreeStreamReaderImpl {
-    private final static Comparator<PropertyDescriptor> COMPARATOR = new Comparator<PropertyDescriptor>() {
-        public int compare(PropertyDescriptor o1, PropertyDescriptor o2) {
+    private final static Comparator<Accessor> COMPARATOR = new Comparator<Accessor>() {
+        public int compare(Accessor o1, Accessor o2) {
             return o1.getName().compareTo(o2.getName());
         }
     };
@@ -100,30 +102,22 @@
                 return entries.iterator();
             }
             try {
-                BeanInfo beanInfo = Introspector.getBeanInfo(value.getClass());
-                PropertyDescriptor[] propDescs = beanInfo.getPropertyDescriptors();
-                Collections.sort(Arrays.asList(propDescs), COMPARATOR);
+                Map<String, Accessor> accessorMap = getAccessors(value);
+                List<Accessor> accessorList = new ArrayList<Accessor>(accessorMap.values());
+                Collections.sort(accessorList, COMPARATOR);
 
                 List<XmlNode> props = new ArrayList<XmlNode>();
-                for (int i = 0; i < propDescs.length; i++) {
-                    PropertyDescriptor propDesc = propDescs[i];
-                    Class<?> pType = propDesc.getPropertyType();
-                    if ("class".equals(propDesc.getName())) {
-                        continue;
-                    }
-                    Method getter = propDesc.getReadMethod();
-                    if (getter == null) {
-                        continue;
-                    }
-                    QName pName = new QName(name.getNamespaceURI(), propDesc.getName());
-                    getter.setAccessible(true);
-                    Object pValue = getter.invoke(value, NULL);
+                for (Accessor accessor : accessorList) {
+                    Class<?> pType = accessor.getType();
+
+                    QName pName = new QName(name.getNamespaceURI(), accessor.getName());
+                    Object pValue = accessor.getValue();
                     if (pType.isArray()) {
                         if (pValue != null) {
                             int i1 = Array.getLength(pValue);
                             for (int j = 0; j < i1; j++) {
                                 Object o = Array.get(pValue, j);
-                                props.add(new BeanXmlNodeImpl(pName, getStringValue(o)));
+                                props.add(new BeanXmlNodeImpl(pName, o));
                             }
                         } else {
                             // TODO: How to handle null?
@@ -133,11 +127,7 @@
                         if (objList != null && objList.size() > 0) {
                             for (Iterator j = objList.iterator(); j.hasNext();) {
                                 Object o = j.next();
-                                if (isSimpleType(o.getClass())) {
-                                    props.add(new BeanXmlNodeImpl(pName, getStringValue(o)));
-                                } else {
-                                    props.add(new BeanXmlNodeImpl(pName, o));
-                                }
+                                props.add(new BeanXmlNodeImpl(pName, o));
                             }
 
                         } else {
@@ -195,6 +185,101 @@
             root = new BeanXmlNodeImpl(bean);
         }
         return root;
+    }
+
+    public static interface Accessor {
+        String getName();
+
+        Class<?> getType();
+
+        Object getValue() throws Exception;
+
+        void setValue(Object value) throws Exception;
+    }
+
+    private static class FieldAccessor implements Accessor {
+        private Object target;
+        private Field field;
+
+        public FieldAccessor(Object target, Field field) {
+            super();
+            this.target = target;
+            this.field = field;
+            this.field.setAccessible(true);
+        }
+
+        public String getName() {
+            return field.getName();
+        }
+
+        public Object getValue() throws Exception {
+            return field.get(target);
+        }
+
+        public void setValue(Object value) throws Exception {
+            field.set(target, value);
+        }
+
+        public Class<?> getType() {
+            return field.getType();
+        }
+
+    }
+
+    private static class PropertyAccessor implements Accessor {
+        private Object target;
+        private PropertyDescriptor prop;
+
+        public PropertyAccessor(Object target, PropertyDescriptor prop) {
+            super();
+            this.target = target;
+            this.prop = prop;
+        }
+
+        public String getName() {
+            return prop.getName();
+        }
+
+        public Class<?> getType() {
+            return prop.getPropertyType();
+        }
+
+        public Object getValue() throws Exception {
+            Method getter = prop.getReadMethod();
+            if (getter != null) {
+                getter.setAccessible(true);
+                return getter.invoke(target);
+            }
+            throw new IllegalAccessException("The property cannot be read: " + getName());
+        }
+
+        public void setValue(Object value) throws Exception {
+            Method setter = prop.getWriteMethod();
+            if (setter != null) {
+                setter.setAccessible(true);
+                setter.invoke(target);
+            }
+            throw new IllegalAccessException("The property cannot be written: " + getName());
+        }
+
+    }
+
+    private static Map<String, Accessor> getAccessors(Object target) throws Exception {
+        if (target == null) {
+            return Collections.emptyMap();
+        }
+        Map<String, Accessor> map = new HashMap<String, Accessor>();
+        Class<?> type = target.getClass();
+        for (Field f : type.getFields()) {
+            map.put(f.getName(), new FieldAccessor(target, f));
+        }
+        BeanInfo info = Introspector.getBeanInfo(type, Object.class);
+        for (PropertyDescriptor p : info.getPropertyDescriptors()) {
+            // if (p.getReadMethod() != null && p.getWriteMethod() != null) {
+                map.put(p.getName(), new PropertyAccessor(target, p));
+            // }
+        }
+        return map;
     }
 
 }

Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2XMLStreamReader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2XMLStreamReader.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2XMLStreamReader.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2XMLStreamReader.java Wed Dec  5 12:23:21 2007
@@ -33,6 +33,9 @@
     PullTransformer<Node, XMLStreamReader> {
 
     public XMLStreamReader transform(Node source, TransformationContext context) {
+        if (source == null) {
+            return null;
+        }
         try {
             DOMXMLStreamReader reader = new DOMXMLStreamReader(source);
             return reader;

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=601501&r1=601500&r2=601501&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 Dec  5 12:23:21 2007
@@ -18,11 +18,11 @@
 # 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.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.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
@@ -31,5 +31,5 @@
 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.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

Modified: incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/TransformerExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/TransformerExtensionTestCase.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/TransformerExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/TransformerExtensionTestCase.java Wed Dec  5 12:23:21 2007
@@ -48,12 +48,12 @@
         assertEquals(XMLStreamReader.class.getName(), transformer.getTargetDataBinding());
         assertEquals(50, transformer.getWeight());
         TransformerExtensionPoint registry = EasyMock.createMock(TransformerExtensionPoint.class);
-        registry.addTransformer(EasyMock.isA(Transformer.class));
+        registry.addTransformer(EasyMock.isA(Transformer.class), EasyMock.eq(true));
         EasyMock
                 .expect(registry.getTransformer(transformer.getSourceDataBinding(), transformer.getTargetDataBinding()))
                 .andReturn(transformer);
         EasyMock.replay(registry);
-        registry.addTransformer(transformer);
+        registry.addTransformer(transformer, true);
         assertSame(transformer, registry.getTransformer(transformer.getSourceDataBinding(), transformer
                 .getTargetDataBinding()));
     }

Modified: incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/DirectedGraphTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/DirectedGraphTestCase.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/DirectedGraphTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/DirectedGraphTestCase.java Wed Dec  5 12:23:21 2007
@@ -33,16 +33,23 @@
     protected void setUp() throws Exception {
         super.setUp();
         graph = new DirectedGraph<String, Object>();
-        graph.addEdge("a", "b", null, 3);
-        graph.addEdge("b", "c", null, 1);
-        graph.addEdge("a", "c", null, 8);
-        graph.addEdge("a", "d", null, 3);
-        graph.addEdge("b", "d", null, 2);
-        graph.addEdge("c", "b", null, 1);
-        graph.addEdge("c", "d", null, 2);
-        graph.addEdge("d", "b", null, 1);
-        graph.addEdge("a", "e", null, 8);
-        graph.addEdge("c", "c", null, 2);
+        graph.addEdge("a", "b", null, 3, true);
+        graph.addEdge("b", "c", null, 1, true);
+        // graph.addEdge("a", "c", null, 8, true);
+        graph.addEdge("a", "d", null, 3, true);
+        graph.addEdge("b", "d", null, 2, true);
+        graph.addEdge("d", "c", null, 3, true);
+        graph.addEdge("c", "b", null, 1, true);
+        graph.addEdge("c", "d", null, 2, true);
+        graph.addEdge("d", "b", null, 1, true);
+        graph.addEdge("a", "e", null, 8, true);
+        graph.addEdge("c", "c", null, 2, true);
+        graph.addEdge("f", "g", null, 2, false);
+        graph.addEdge("f", "h", null, 8, true);
+        graph.addEdge("g", "j", null, 2, false);
+        graph.addEdge("j", "i", null, 2, true);
+        graph.addEdge("h", "i", null, 8, true);
+
     }
 
     public void testGraph() {
@@ -79,7 +86,8 @@
         DirectedGraph<String, Object>.Path path4 = graph.getShortestPath("c", "c");
         Assert.assertTrue(path4.getWeight() == 2 && path4.getEdges().size() == 1);
 
-        // System.out.println(path);
+        DirectedGraph<String, Object>.Path path5 = graph.getShortestPath("f", "i");
+        Assert.assertTrue(path5.getWeight() == 16 && path5.getEdges().size() == 2);
 
     }
 

Modified: incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/MediatorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/MediatorImplTestCase.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/MediatorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/MediatorImplTestCase.java Wed Dec  5 12:23:21 2007
@@ -82,10 +82,10 @@
         DataBindingExtensionPoint dataBindingRegistry = new DefaultDataBindingExtensionPoint();
         TransformerExtensionPoint registry = new DefaultTransformerExtensionPoint();
 
-        registry.addTransformer(new String2SAX());
-        registry.addTransformer(new SAX2DOMPipe());
-        registry.addTransformer(new Node2String());
-        registry.addTransformer(new Node2Writer());
+        registry.addTransformer(new String2SAX(), true);
+        registry.addTransformer(new SAX2DOMPipe(), true);
+        registry.addTransformer(new Node2String(), true);
+        registry.addTransformer(new Node2Writer(), true);
 
         mediator = new MediatorImpl(dataBindingRegistry, registry);
     }

Modified: incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/TransformerRegistryImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/TransformerRegistryImplTestCase.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/TransformerRegistryImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/TransformerRegistryImplTestCase.java Wed Dec  5 12:23:21 2007
@@ -49,7 +49,7 @@
 
     public void testRegisterTransformer1() {
         Transformer transformer = createMock(Transformer.class);
-        registry.addTransformer("a", "b", 10, transformer);
+        registry.addTransformer("a", "b", 10, transformer, true);
         Transformer t = registry.getTransformer("a", "b");
         Assert.assertSame(t, transformer);
     }
@@ -60,14 +60,14 @@
         expect(transformer.getTargetDataBinding()).andReturn("b");
         expect(transformer.getWeight()).andReturn(10);
         replay(transformer);
-        registry.addTransformer(transformer);
+        registry.addTransformer(transformer, true);
         Transformer t = registry.getTransformer("a", "b");
         Assert.assertSame(t, transformer);
     }
 
     public void testUnregisterTransformer() {
         Transformer transformer = createMock(Transformer.class);
-        registry.addTransformer("a", "b", 10, transformer);
+        registry.addTransformer("a", "b", 10, transformer, true);
         boolean result = registry.removeTransformer("a", "b");
         Assert.assertTrue(result);
         Transformer t = registry.getTransformer("a", "b");
@@ -92,9 +92,9 @@
         expect(t3.getWeight()).andReturn(120);
         replay(t3);
 
-        registry.addTransformer(t1);
-        registry.addTransformer(t2);
-        registry.addTransformer(t3);
+        registry.addTransformer(t1, true);
+        registry.addTransformer(t2, true);
+        registry.addTransformer(t3, true);
 
         List<Transformer> l1 = registry.getTransformerChain("a", "b");
         Assert.assertTrue(l1.size() == 1 && l1.get(0) == t1);

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java Wed Dec  5 12:23:21 2007
@@ -30,6 +30,7 @@
 import org.apache.tuscany.sca.core.factory.ObjectFactory;
 import org.apache.tuscany.sca.databinding.Mediator;
 import org.apache.tuscany.sca.databinding.SimpleTypeMapper;
+import org.apache.tuscany.sca.databinding.impl.DOMHelper;
 import org.apache.tuscany.sca.databinding.impl.SimpleTypeMapperImpl;
 import org.apache.tuscany.sca.databinding.xml.DOMDataBinding;
 import org.apache.tuscany.sca.implementation.java.impl.JavaElementImpl;
@@ -41,6 +42,7 @@
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 
 public class JavaPropertyValueObjectFactory implements PropertyValueFactory {
     private Mediator mediator = null;
@@ -163,9 +165,10 @@
     private List<Node> getComplexPropertyValues(Document document) {
         Element rootElement = document.getDocumentElement();
         List<Node> propValues = new ArrayList<Node>();
-        for (int count = 0; count < rootElement.getChildNodes().getLength(); ++count) {
-            if (rootElement.getChildNodes().item(count).getNodeType() == Document.ELEMENT_NODE) {
-                propValues.add(rootElement.getChildNodes().item(count));
+        NodeList nodes = rootElement.getChildNodes();
+        for (int count = 0; count < nodes.getLength(); ++count) {
+            if (nodes.item(count).getNodeType() == Document.ELEMENT_NODE) {
+                propValues.add(DOMHelper.promote(nodes.item(count)));
             }
         }
         return propValues;

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/PolicyHandlingInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/PolicyHandlingInterceptor.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/PolicyHandlingInterceptor.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/PolicyHandlingInterceptor.java Wed Dec  5 12:23:21 2007
@@ -35,16 +35,18 @@
     private List<PolicyHandler> policyHandlers = null;
     private Operation targetOperation = null;
 
-    public PolicyHandlingInterceptor(Operation targetOperation,
-                                     List<PolicyHandler> policyHandlers) {
+    public PolicyHandlingInterceptor(Operation targetOperation, List<PolicyHandler> policyHandlers) {
         this.policyHandlers = policyHandlers;
         this.targetOperation = targetOperation;
     }
 
     public Message invoke(Message msg) {
-        applyPreInvocationPolicies(targetOperation, msg);
-        msg = next.invoke(msg);
-        applyPostInvocationPolices(targetOperation, msg);
+        try {
+            applyPreInvocationPolicies(targetOperation, msg);
+            msg = next.invoke(msg);
+        } finally {
+            applyPostInvocationPolices(targetOperation, msg);
+        }
         return msg;
     }
 
@@ -55,15 +57,15 @@
     public Invoker getNext() {
         return next;
     }
-    
+
     private void applyPreInvocationPolicies(Object... context) {
-        for ( PolicyHandler policyHandler : policyHandlers ) {
+        for (PolicyHandler policyHandler : policyHandlers) {
             policyHandler.beforeInvoke(context);
         }
     }
-    
-    private void applyPostInvocationPolices(Object...  context) {
-        for ( PolicyHandler policyHandler : policyHandlers ) {
+
+    private void applyPostInvocationPolices(Object... context) {
+        for (PolicyHandler policyHandler : policyHandlers) {
             policyHandler.afterInvoke(context);
         }
     }

Added: incubator/tuscany/java/sca/modules/implementation-xquery/build-saxon.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-xquery/build-saxon.xml?rev=601501&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-xquery/build-saxon.xml (added)
+++ incubator/tuscany/java/sca/modules/implementation-xquery/build-saxon.xml Wed Dec  5 12:23:21 2007
@@ -0,0 +1,81 @@
+<?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 name="DojoZipInstaller">
+
+
+	<property name="saxon.version" value="9.0.0.2" />
+	<property name="saxon.dir" value="${basedir}/target/saxon-download" />
+	<property name="saxon.url" value="http://prdownloads.sourceforge.net/saxon/saxonb9-0-0-2j.zip" />
+
+
+	<target name="check-saxon-installed">
+		<condition property="already.installed">
+			<and>
+				<available file="${localRepository}/net/sf/saxon/saxon/${saxon.version}/saxon-${saxon.version}.jar" />
+				<available file="${localRepository}/net/sf/saxon/saxon-dom/${saxon.version}/saxon-dom-${saxon.version}.jar" />
+				<available file="${localRepository}/net/sf/saxon/saxon-api/${saxon.version}/saxon-api-${saxon.version}.jar" />
+			</and>
+		</condition>
+		<condition property="maven.suffix" value="">
+			<os family="unix" />
+		</condition>
+		<condition property="maven.suffix" value=".bat">
+			<os family="windows" />
+		</condition>
+	</target>
+
+
+	<target name="check-saxon-unpacked">
+		<condition property="already.unpacked">
+			<available file="${saxon.dir}" />
+		</condition>
+	</target>
+
+	<target name="install-saxon" depends="check-saxon-installed" unless="already.installed">
+		<mkdir dir="${saxon.dir}" />
+		<get src="${saxon.url}" dest="${saxon.dir}/saxon-${saxon.version}.zip" verbose="true" usetimestamp="true" />
+		<unzip src="${saxon.dir}/saxon-${saxon.version}.zip" dest="${saxon.dir}" overwrite="false">
+		</unzip>
+		<exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
+			<arg line="install:install-file -DgroupId=net.sf.saxon  -DartifactId=saxon -Dversion=${saxon.version} -Dpackaging=jar -DgeneratePom=true -Dfile=${saxon.dir}/saxon9.jar" />
+		</exec>
+		<exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
+			<arg line="install:install-file -DgroupId=net.sf.saxon  -DartifactId=saxon-dom -Dversion=${saxon.version} -Dpackaging=jar -DgeneratePom=true -Dfile=${saxon.dir}/saxon9-dom.jar" />
+		</exec>
+		<exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
+			<arg line="install:install-file -DgroupId=net.sf.saxon  -DartifactId=saxon-api -Dversion=${saxon.version} -Dpackaging=jar -DgeneratePom=true -Dfile=${saxon.dir}/saxon9-s9api.jar" />
+		</exec>
+	</target>
+
+	<target name="install-saxon-nomaven" depends="check-saxon-installed" unless="already.installed">
+		<mkdir dir="${saxon.dir}" />
+		<get src="${saxon.url}" dest="${saxon.dir}/saxon-${saxon.version}.zip" verbose="true" usetimestamp="true" />
+		<unzip src="${saxon.dir}/saxon-${saxon.version}.zip" dest="${saxon.dir}" overwrite="false">
+		</unzip>
+		<copy file="${saxon.dir}/saxon9.jar" tofile="${localRepository}/net/sf/saxon/saxon/${saxon.version}/saxon-${saxon.version}.jar" />
+		<copy file="${saxon.dir}/saxon9-dom.jar" tofile="${localRepository}/net/sf/saxon/saxon-dom/${saxon.version}/saxon-dom-${saxon.version}.jar" />
+		<copy file="${saxon.dir}/saxon9-s9api.jar" tofile="${localRepository}/net/sf/saxon/saxon-api/${saxon.version}/saxon-api-${saxon.version}.jar" />
+
+	</target>
+
+	<target name="clean-saxon-files">
+		<delete dir="${saxon.dir}" />
+	</target>
+</project>

Propchange: incubator/tuscany/java/sca/modules/implementation-xquery/build-saxon.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/implementation-xquery/build-saxon.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/modules/implementation-xquery/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-xquery/pom.xml?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-xquery/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/implementation-xquery/pom.xml Wed Dec  5 12:23:21 2007
@@ -40,19 +40,26 @@
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-interface-java-xml</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
-        </dependency>        
+        </dependency>
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-implementation-java-runtime</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
-        </dependency>        
+        </dependency>
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-databinding-saxon</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
-        </dependency>        
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-databinding-jaxb</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
@@ -76,4 +83,44 @@
 
     </dependencies>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>1.1</version>
+
+                <executions>
+                    <execution>
+                        <id>install-saxon</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <tasks>
+                                <ant antfile="./build-saxon.xml" target="install-saxon">
+                                    <property name="localRepository" value="${settings.localRepository}" />
+                                </ant>
+                            </tasks>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>clean-saxon-files</id>
+                        <phase>clean</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <tasks>
+                                <ant antfile="./build-saxon.xml" target="clean-saxon-files">
+                                    <property name="localRepository" value="${settings.localRepository}" />
+                                </ant>
+                            </tasks>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>

Modified: incubator/tuscany/java/sca/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java Wed Dec  5 12:23:21 2007
@@ -160,8 +160,7 @@
      */
     private void introspectServicesAndReferences(XQueryImplementation xqueryImplementation, XQueryExpression exp, ModelResolver resolver)
         throws ClassNotFoundException, InvalidInterfaceException {
-        StaticQueryContext compiledSqc = exp.getStaticContext();
-        NamespaceResolver namespaceResolver = compiledSqc.getNamespaceResolver();
+        NamespaceResolver namespaceResolver = exp.getStaticContext().getNamespaceResolver();
         Iterator declaredPrefixesIterator = namespaceResolver.iteratePrefixes();
         while (declaredPrefixesIterator.hasNext()) {
             String prefix = (String)declaredPrefixesIterator.next();

Added: incubator/tuscany/java/sca/samples/quote-xquery/build-saxon.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/quote-xquery/build-saxon.xml?rev=601501&view=auto
==============================================================================
--- incubator/tuscany/java/sca/samples/quote-xquery/build-saxon.xml (added)
+++ incubator/tuscany/java/sca/samples/quote-xquery/build-saxon.xml Wed Dec  5 12:23:21 2007
@@ -0,0 +1,81 @@
+<?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 name="DojoZipInstaller">
+
+
+	<property name="saxon.version" value="9.0.0.2" />
+	<property name="saxon.dir" value="${basedir}/target/saxon-download" />
+	<property name="saxon.url" value="http://prdownloads.sourceforge.net/saxon/saxonb9-0-0-2j.zip" />
+
+
+	<target name="check-saxon-installed">
+		<condition property="already.installed">
+			<and>
+				<available file="${localRepository}/net/sf/saxon/saxon/${saxon.version}/saxon-${saxon.version}.jar" />
+				<available file="${localRepository}/net/sf/saxon/saxon-dom/${saxon.version}/saxon-dom-${saxon.version}.jar" />
+				<available file="${localRepository}/net/sf/saxon/saxon-api/${saxon.version}/saxon-api-${saxon.version}.jar" />
+			</and>
+		</condition>
+		<condition property="maven.suffix" value="">
+			<os family="unix" />
+		</condition>
+		<condition property="maven.suffix" value=".bat">
+			<os family="windows" />
+		</condition>
+	</target>
+
+
+	<target name="check-saxon-unpacked">
+		<condition property="already.unpacked">
+			<available file="${saxon.dir}" />
+		</condition>
+	</target>
+
+	<target name="install-saxon" depends="check-saxon-installed" unless="already.installed">
+		<mkdir dir="${saxon.dir}" />
+		<get src="${saxon.url}" dest="${saxon.dir}/saxon-${saxon.version}.zip" verbose="true" usetimestamp="true" />
+		<unzip src="${saxon.dir}/saxon-${saxon.version}.zip" dest="${saxon.dir}" overwrite="false">
+		</unzip>
+		<exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
+			<arg line="install:install-file -DgroupId=net.sf.saxon  -DartifactId=saxon -Dversion=${saxon.version} -Dpackaging=jar -DgeneratePom=true -Dfile=${saxon.dir}/saxon9.jar" />
+		</exec>
+		<exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
+			<arg line="install:install-file -DgroupId=net.sf.saxon  -DartifactId=saxon-dom -Dversion=${saxon.version} -Dpackaging=jar -DgeneratePom=true -Dfile=${saxon.dir}/saxon9-dom.jar" />
+		</exec>
+		<exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
+			<arg line="install:install-file -DgroupId=net.sf.saxon  -DartifactId=saxon-api -Dversion=${saxon.version} -Dpackaging=jar -DgeneratePom=true -Dfile=${saxon.dir}/saxon9-s9api.jar" />
+		</exec>
+	</target>
+
+	<target name="install-saxon-nomaven" depends="check-saxon-installed" unless="already.installed">
+		<mkdir dir="${saxon.dir}" />
+		<get src="${saxon.url}" dest="${saxon.dir}/saxon-${saxon.version}.zip" verbose="true" usetimestamp="true" />
+		<unzip src="${saxon.dir}/saxon-${saxon.version}.zip" dest="${saxon.dir}" overwrite="false">
+		</unzip>
+		<copy file="${saxon.dir}/saxon9.jar" tofile="${localRepository}/net/sf/saxon/saxon/${saxon.version}/saxon-${saxon.version}.jar" />
+		<copy file="${saxon.dir}/saxon9-dom.jar" tofile="${localRepository}/net/sf/saxon/saxon-dom/${saxon.version}/saxon-dom-${saxon.version}.jar" />
+		<copy file="${saxon.dir}/saxon9-s9api.jar" tofile="${localRepository}/net/sf/saxon/saxon-api/${saxon.version}/saxon-api-${saxon.version}.jar" />
+
+	</target>
+
+	<target name="clean-saxon-files">
+		<delete dir="${saxon.dir}" />
+	</target>
+</project>

Propchange: incubator/tuscany/java/sca/samples/quote-xquery/build-saxon.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/samples/quote-xquery/build-saxon.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/samples/quote-xquery/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/quote-xquery/pom.xml?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/quote-xquery/pom.xml (original)
+++ incubator/tuscany/java/sca/samples/quote-xquery/pom.xml Wed Dec  5 12:23:21 2007
@@ -78,7 +78,7 @@
         <dependency>
             <groupId>net.sf.saxon</groupId>
             <artifactId>saxon</artifactId>
-            <version>8.7</version>
+            <version>9.0.0.2</version>
         </dependency>
 
         <dependency>
@@ -106,6 +106,42 @@
     <build>
         <finalName>${artifactId}</finalName>
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>1.1</version>
+
+                <executions>
+                    <execution>
+                        <id>install-saxon</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <tasks>
+                                <ant antfile="./build-saxon.xml" target="install-saxon">
+                                    <property name="localRepository" value="${settings.localRepository}" />
+                                </ant>
+                            </tasks>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>clean-saxon-files</id>
+                        <phase>clean</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <tasks>
+                                <ant antfile="./build-saxon.xml" target="clean-saxon-files">
+                                    <property name="localRepository" value="${settings.localRepository}" />
+                                </ant>
+                            </tasks>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>build-helper-maven-plugin</artifactId>

Modified: incubator/tuscany/java/sca/samples/simple-callback-ws/src/main/java/simplecallback/MyClientImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/simple-callback-ws/src/main/java/simplecallback/MyClientImpl.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/simple-callback-ws/src/main/java/simplecallback/MyClientImpl.java (original)
+++ incubator/tuscany/java/sca/samples/simple-callback-ws/src/main/java/simplecallback/MyClientImpl.java Wed Dec  5 12:23:21 2007
@@ -39,7 +39,7 @@
 
     public void aClientMethod() {
         System.out.println("aClientMethod on thread " + Thread.currentThread());
-        myService.someMethod(" -> someMethod ");
+        myService.someMethod("-> someMethod");
         System.out.println("aClientMethod return from someMethod on thread " + Thread.currentThread());
     }
 

Modified: incubator/tuscany/java/sca/samples/simple-callback-ws/src/main/java/simplecallback/MyServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/simple-callback-ws/src/main/java/simplecallback/MyServiceImpl.java?rev=601501&r1=601500&r2=601501&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/simple-callback-ws/src/main/java/simplecallback/MyServiceImpl.java (original)
+++ incubator/tuscany/java/sca/samples/simple-callback-ws/src/main/java/simplecallback/MyServiceImpl.java Wed Dec  5 12:23:21 2007
@@ -45,7 +45,7 @@
         System.out.println("someMethod on thread " + Thread.currentThread());
         // invoke the callback
         try {
-            myServiceCallback.receiveResult(arg + " -> receiveResult ");
+            myServiceCallback.receiveResult(arg + " -> receiveResult");
         } catch(RuntimeException e) {
             System.out.println("RuntimeException invoking receiveResult: " + e.toString());
             e.printStackTrace();



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