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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
