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/03/17 06:56:54 UTC
svn commit: r519244 [5/5] - in
/incubator/tuscany/java/sca/services/databinding/databinding-framework: ./
src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/tuscany/ src/main/java/org/apache/tuscany/data...
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/TransformerRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/TransformerRegistry.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/TransformerRegistry.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/TransformerRegistry.java Fri Mar 16 22:56:48 2007
@@ -26,7 +26,7 @@
public interface TransformerRegistry {
/**
* Register a transformer
- *
+ *
* @param sourceDataBinding
* @param targetDataBinding
* @param weight
@@ -39,35 +39,37 @@
/**
* Register a transformer
- *
+ *
* @param transformer
*/
void registerTransformer(Transformer transformer);
/**
* Unregister a transformer
- *
+ *
* @param sourceDataBinding
* @param targetDataBinding
- * @return true if sucessfully unregistered
+ * @return
*/
boolean unregisterTransformer(String sourceDataBinding, String targetDataBinding);
/**
- * Get the direct Transformer which can transform data from source type to result type
- *
+ * Get the direct Transformer which can transform data from source type to
+ * result type
+ *
* @param sourceDataBinding
* @param targetDataBinding
- * @return the transformer
+ * @return
*/
Transformer getTransformer(String sourceDataBinding, String targetDataBinding);
/**
- * Get the a chain of Transformers which can transform data from source type to result type
- *
+ * Get the a chain of Transformers which can transform data from source type
+ * to result type
+ *
* @param sourceDataBinding
* @param targetDataBinding
- * @return the list of transformers
+ * @return
*/
List<Transformer> getTransformerChain(String sourceDataBinding, String targetDataBinding);
}
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/WrapperHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/WrapperHandler.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/WrapperHandler.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/WrapperHandler.java Fri Mar 16 22:56:48 2007
@@ -19,6 +19,8 @@
package org.apache.tuscany.spi.databinding;
+import java.util.List;
+
import org.apache.tuscany.spi.model.ElementInfo;
/**
@@ -45,12 +47,9 @@
void setChild(T wrapper, int i, ElementInfo childElement, Object value);
/**
- * Get child element from the wrapper
- *
- * @param wrapper The wrapper
- * @param i The index
- * @param element The XSD element
- * @return The value of the child
+ * Get a list of child elements from the wrapper
+ * @param wrapper
+ * @return child elements under the wrapper
*/
- Object getChild(T wrapper, int i, ElementInfo element);
+ List getChildren(T wrapper);
}
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java Fri Mar 16 22:56:48 2007
@@ -18,31 +18,25 @@
*/
package org.apache.tuscany.spi.databinding.extension;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.ObjectStreamClass;
-import java.io.OutputStream;
-import java.io.Serializable;
-
-import org.osoa.sca.annotations.EagerInit;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Reference;
-import org.osoa.sca.annotations.Scope;
-import org.osoa.sca.annotations.Service;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
import org.apache.tuscany.spi.databinding.DataBinding;
import org.apache.tuscany.spi.databinding.DataBindingRegistry;
+import org.apache.tuscany.spi.databinding.ExceptionHandler;
import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
import org.apache.tuscany.spi.databinding.WrapperHandler;
import org.apache.tuscany.spi.model.DataType;
+import org.osoa.sca.annotations.EagerInit;
+import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
/**
* Base Implementation of DataBinding
- *
+ *
* @version $Rev$ $Date$
*/
@Service(DataBinding.class)
@@ -55,26 +49,43 @@
protected Class<?> baseType;
protected String name;
+ protected String[] aliases;
/**
- * Create a databinding with the base java type whose name will be used as the name of the databinding
- *
- * @param baseType The base java class or interface representing the databinding, for example, org.w3c.dom.Node
+ * Create a databinding with the base java type whose name will be used as
+ * the name of the databinding
+ *
+ * @param baseType The base java class or interface representing the
+ * databinding, for example, org.w3c.dom.Node
*/
protected DataBindingExtension(Class<?> baseType) {
- this(baseType.getName(), baseType);
+ this(baseType.getName(), null, baseType);
}
/**
* Create a databinding with the name and base java type
- *
- * @param name The name of the databinding
- * @param baseType The base java class or interface representing the databinding, for example, org.w3c.dom.Node
+ *
+ * @param name The name of the databinding
+ * @param baseType The base java class or interface representing the
+ * databinding, for example, org.w3c.dom.Node
*/
protected DataBindingExtension(String name, Class<?> baseType) {
+ this(name, null, baseType);
+ }
+
+ /**
+ * Create a databinding with the name and base java type
+ *
+ * @param name The name of the databinding
+ * @param aliases The aliases of the databinding
+ * @param baseType The base java class or interface representing the
+ * databinding, for example, org.w3c.dom.Node
+ */
+ protected DataBindingExtension(String name, String[] aliases, Class<?> baseType) {
this.name = name;
this.baseType = baseType;
- }
+ this.aliases = aliases;
+ }
@Reference
public void setDataBindingRegistry(DataBindingRegistry registry) {
@@ -86,22 +97,43 @@
registry.register(this);
}
- public DataType introspect(Class<?> javaType) {
- if (baseType == null || javaType == null) {
- return null;
+ @SuppressWarnings("unchecked")
+ public boolean introspect(DataType type, Annotation[] annotations) {
+ assert type != null;
+ Type physical = type.getPhysical();
+ if (physical instanceof ParameterizedType) {
+ physical = ((ParameterizedType)physical).getRawType();
+ }
+ if (physical instanceof Class) {
+ Class cls = (Class)physical;
+ if (baseType != null && baseType.isAssignableFrom(cls)) {
+ type.setDataBinding(getName());
+ type.setLogical(baseType);
+ return true;
+ }
}
- if (baseType.isAssignableFrom(javaType)) {
- return new DataType<Class>(name, javaType, baseType);
- } else {
- return null;
+ return false;
+ }
+
+ protected static org.apache.tuscany.api.annotation.DataType getDataTypeAnnotation(Annotation[] annotations) {
+ for (Annotation a : annotations) {
+ if (a.annotationType() == org.apache.tuscany.api.annotation.DataType.class) {
+ return (org.apache.tuscany.api.annotation.DataType) a;
+ }
}
+ return null;
}
public DataType introspect(Object value) {
if (value == null) {
return null;
} else {
- return introspect(value.getClass());
+ DataType<Class> dataType = new DataType<Class>(value.getClass(), value.getClass());
+ if (introspect(dataType, null)) {
+ return dataType;
+ } else {
+ return null;
+ }
}
}
@@ -116,64 +148,20 @@
return null;
}
- public Object copy(Object arg) {
- if (arg == null) {
- return null;
- }
- final Class clazz = arg.getClass();
- if (String.class == clazz || clazz.isPrimitive() || Number.class.isAssignableFrom(clazz)
- || Boolean.class.isAssignableFrom(clazz) || Character.class.isAssignableFrom(clazz)
- || Byte.class.isAssignableFrom(clazz)) {
- // Immutable classes
- return arg;
- }
- try {
- if (arg instanceof Serializable) {
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- ObjectOutputStream oos = getObjectOutputStream(bos);
- oos.writeObject(arg);
- oos.close();
- bos.close();
-
- ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
- ObjectInputStream ois = getObjectInputStream(bis, clazz.getClassLoader());
- Object objectCopy = ois.readObject();
- ois.close();
- bis.close();
- return objectCopy;
- } else {
- //return arg;
- throw new IllegalArgumentException(
- "Pass-by-value is not supported for the given object");
- }
- } catch (Exception e) {
- throw new IllegalArgumentException(
- "Pass-by-value is not supported for the given object", e);
- }
+ public ExceptionHandler getExceptionHandler() {
+ return null;
}
- protected ObjectOutputStream getObjectOutputStream(OutputStream os) throws IOException {
- return new ObjectOutputStream(os);
- }
-
- protected ObjectInputStream getObjectInputStream(InputStream is, final ClassLoader cl)
- throws IOException {
- ObjectInputStream ois = new ObjectInputStream(is) {
- @Override
- protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
- try {
- return Class.forName(desc.getName(), false, cl);
- } catch (ClassNotFoundException e) {
- return super.resolveClass(desc);
- }
- }
-
- };
- return ois;
+ public Object copy(Object object) {
+ return object;
}
public SimpleTypeMapper getSimpleTypeMapper() {
return new SimpleTypeMapperExtension();
+ }
+
+ public String[] getAliases() {
+ return aliases;
}
}
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java Fri Mar 16 22:56:48 2007
@@ -18,11 +18,12 @@
*/
package org.apache.tuscany.spi.databinding.extension;
+import javax.xml.namespace.QName;
+
import org.apache.tuscany.spi.databinding.PullTransformer;
import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.model.ElementInfo;
-import org.apache.tuscany.spi.model.TypeInfo;
+import org.apache.tuscany.spi.model.XMLType;
/**
* Transformer to convert data from a simple java object to a databinding's representation
@@ -41,11 +42,9 @@
}
public T transform(Object source, TransformationContext context) {
- ElementInfo element =
- (ElementInfo) context.getTargetDataType().getMetadata(ElementInfo.class.getName());
- TypeInfo simpleType = (TypeInfo) element.getType();
- String text = mapper.toXMLLiteral(simpleType, source, context);
- return createElement(element, text, context);
+ XMLType xmlType = (XMLType) context.getTargetDataType().getLogical();
+ String text = mapper.toXMLLiteral(xmlType.getTypeName(), source, context);
+ return createElement(xmlType.getElementName(), text, context);
}
public Class getSourceType() {
@@ -56,6 +55,6 @@
return 10000;
}
- protected abstract T createElement(ElementInfo element, String literal, TransformationContext context);
+ protected abstract T createElement(QName element, String literal, TransformationContext context);
}
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java Fri Mar 16 22:56:48 2007
@@ -21,13 +21,11 @@
import org.apache.tuscany.spi.databinding.PullTransformer;
import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.model.ElementInfo;
-import org.apache.tuscany.spi.model.TypeInfo;
+import org.apache.tuscany.spi.model.XMLType;
/**
- * Transformer to convert data from a databinding's representation of simple types to Java Objects
- *
- * @version $Rev$ $Date$
+ * Transformer to convert data from a databinding's representation of simple
+ * types to Java Objects
*/
public abstract class SimpleType2JavaTransformer<T> extends TransformerExtension<T, Object> implements
PullTransformer<T, Object> {
@@ -43,14 +41,8 @@
}
public Object transform(T source, TransformationContext context) {
- TypeInfo simpleType = (TypeInfo) context.getSourceDataType().getMetadata(TypeInfo.class.getName());
- if (simpleType == null) {
- ElementInfo element =
- (ElementInfo) context.getSourceDataType().getMetadata(ElementInfo.class.getName());
- simpleType = element.getType();
- }
-
- return mapper.toJavaObject(simpleType, getText(source), context);
+ XMLType xmlType = (XMLType) context.getSourceDataType().getLogical();
+ return mapper.toJavaObject(xmlType.getTypeName(), getText(source), context);
}
public Class getTargetType() {
@@ -64,8 +56,7 @@
/**
* Get the string value from the source
- *
- * @param source the source to return the string from
+ * @param source
* @return A string
*/
protected abstract String getText(T source);
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java Fri Mar 16 22:56:48 2007
@@ -36,11 +36,6 @@
public class SimpleTypeMapperExtension extends XSDDataTypeConverter implements SimpleTypeMapper {
- public static final int BASE64_ENCODING = 1;
- public static final int HEXBIN_ENCODING = 2;
-
- public static final String SET = "set";
-
public static final Map<Class, String> JAVA2XML = new HashMap<Class, String>();
public static final String URI_2001_SCHEMA_XSD = "http://www.w3.org/2001/XMLSchema";
@@ -218,7 +213,6 @@
XML2JAVA.put("NOTATION", javax.xml.namespace.QName.class);
}
- private int byteEncoding = BASE64_ENCODING;
private DatatypeFactory factory;
public SimpleTypeMapperExtension() {
@@ -230,19 +224,19 @@
}
}
- public Class getJavaType(TypeInfo xmlType) {
- TypeInfo baseType = xmlType;
- while (baseType.getBaseType() != null) {
- baseType = baseType.getBaseType();
+ public Class getJavaType(QName xmlType) {
+ if (URI_2001_SCHEMA_XSD.equals(xmlType.getNamespaceURI())) {
+ return XML2JAVA.get(xmlType.getLocalPart());
+ } else {
+ return null;
}
- return XML2JAVA.get(baseType.getQName().getLocalPart());
}
public TypeInfo getXMLType(Class javaType) {
return XSD_SIMPLE_TYPES.get(JAVA2XML.get(javaType));
}
- public Object toJavaObject(TypeInfo simpleType, String literal, TransformationContext context) {
+ public Object toJavaObject(QName simpleType, String literal, TransformationContext context) {
/**
* <ul>
* <li>xsd:string --- java.lang.String
@@ -278,15 +272,8 @@
return null;
}
String value = literal.trim();
- if (!simpleType.isSimpleType()) {
- throw new IllegalArgumentException("Complex type is not supported for simple java databinding.");
- }
- TypeInfo baseType = simpleType;
- while (baseType.getBaseType() != null) {
- baseType = (TypeInfo)baseType.getBaseType();
- }
- QName type = baseType.getQName();
+ QName type = simpleType;
if (type.equals(XSD_STRING)) {
return parseString(value);
} else if (type.equals(XSD_INT)) {
@@ -364,7 +351,7 @@
return factory.newXMLGregorianCalendar(calendar);
}
- public String toXMLLiteral(TypeInfo simpleType, Object obj, TransformationContext context) {
+ public String toXMLLiteral(QName simpleType, Object obj, TransformationContext context) {
if (obj instanceof Float || obj instanceof Double) {
if (obj instanceof Float) {
return printDouble(((Float)obj).floatValue());
@@ -380,17 +367,12 @@
return ((XMLGregorianCalendar)obj).toXMLFormat();
} else if (obj instanceof byte[]) {
if (simpleType != null) {
- if (simpleType.getQName().equals(XSD_BASE64)) {
- byteEncoding = BASE64_ENCODING;
- } else if (simpleType.getQName().equals(XSD_HEXBIN)) {
- byteEncoding = BASE64_ENCODING;
+ if (simpleType.equals(XSD_BASE64)) {
+ return printBase64Binary((byte[])obj);
+ } else if (simpleType.equals(XSD_HEXBIN)) {
+ return printHexBinary((byte[])obj);
}
}
- if (byteEncoding == BASE64_ENCODING) {
- return printBase64Binary((byte[])obj);
- } else if (byteEncoding == HEXBIN_ENCODING) {
- return printHexBinary((byte[])obj);
- }
} else if (obj instanceof QName) {
NamespaceContext namespaceContext =
(NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class) : null);
@@ -400,16 +382,11 @@
}
public static boolean isSimpleXSDType(QName typeName) {
+ if (typeName == null) {
+ return false;
+ }
return typeName.getNamespaceURI().equals(URI_2001_SCHEMA_XSD)
&& XSD_SIMPLE_TYPES.get(typeName.getLocalPart()) != null;
- }
-
- public int getByteEncoding() {
- return byteEncoding;
- }
-
- public void setByteEncoding(int byteEncoding) {
- this.byteEncoding = byteEncoding;
}
}
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/TransformerExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/TransformerExtension.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/TransformerExtension.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/java/org/apache/tuscany/spi/databinding/extension/TransformerExtension.java Fri Mar 16 22:56:48 2007
@@ -18,14 +18,13 @@
*/
package org.apache.tuscany.spi.databinding.extension;
+import org.apache.tuscany.spi.databinding.Transformer;
+import org.apache.tuscany.spi.databinding.TransformerRegistry;
import org.osoa.sca.annotations.EagerInit;
import org.osoa.sca.annotations.Init;
import org.osoa.sca.annotations.Reference;
import org.osoa.sca.annotations.Scope;
import org.osoa.sca.annotations.Service;
-
-import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.TransformerRegistry;
/**
* Base Implementation of Transformer which provides the registration to the transformer registry
Added: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/resources/org/apache/tuscany/core/databinding.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/resources/org/apache/tuscany/core/databinding.scdl?view=auto&rev=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/resources/org/apache/tuscany/core/databinding.scdl (added)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/main/resources/org/apache/tuscany/core/databinding.scdl Fri Mar 16 22:56:48 2007
@@ -0,0 +1,185 @@
+<?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" xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
+ name="org.apache.tuscany.core.DataBinding">
+
+ <component name="databinding.wirePostProcessor" initLevel="50">
+ <system:implementation.system class="org.apache.tuscany.core.databinding.wire.DataBindingWirePostProcessor" />
+ </component>
+
+ <component name="databinding.javaInterfaceProcessor">
+ <system:implementation.system class="org.apache.tuscany.core.databinding.processor.DataBindingJavaInterfaceProcessor" />
+ </component>
+
+ <!-- [rfeng] HACK: Make sure the passByValue interceptor is added before the databinding interceptor -->
+ <!--
+ <component name="databinding.passByValueWirePostProcessor" initLevel="80">
+ <system:implementation.system class="org.apache.tuscany.databinding.impl.PassByValueWirePostProcessor" />
+ </component>
+ -->
+
+ <!-- DataBinding registry -->
+ <component name="databinding.registry">
+ <system:implementation.system class="org.apache.tuscany.databinding.impl.DataBindingRegistryImpl" />
+ </component>
+
+ <!-- DataBinding registry -->
+ <component name="databinding.mediator">
+ <system:implementation.system class="org.apache.tuscany.databinding.impl.MediatorImpl" />
+ </component>
+
+ <!-- Transformer registry -->
+ <component name="databinding.transformerRegistry" initLevel="90">
+ <system:implementation.system class="org.apache.tuscany.databinding.impl.TransformerRegistryImpl" />
+ </component>
+
+ <component name="dataType.loader">
+ <system:implementation.system class="org.apache.tuscany.core.databinding.loader.DataTypeLoader" />
+ </component>
+
+ <component name="databinding.dom">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.DOMDataBinding" />
+ </component>
+
+ <component name="databinding.xmlString">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.XMLStringDataBinding" />
+ </component>
+
+ <!-- Group databindings -->
+ <component name="databinding.group.xml">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.XMLGroupDataBinding" />
+ </component>
+
+ <!-- Comment out the stax databinding as it's covered in the databinding.group.xml -->
+ <!--
+ <component name="databinding.stax">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.StAXDataBinding" />
+ </component>
+ -->
+ <component name="databinding.javabeans">
+ <system:implementation.system class="org.apache.tuscany.databinding.javabeans.JavaBeansDataBinding" />
+ </component>
+
+ <!-- Transformers -->
+
+ <component name="transformer.Input2InputTransformer">
+ <system:implementation.system class="org.apache.tuscany.core.databinding.transformers.Input2InputTransformer" />
+ </component>
+
+ <component name="transformer.Exception2ExceptionTransformer">
+ <system:implementation.system class="org.apache.tuscany.core.databinding.transformers.Exception2ExceptionTransformer" />
+ </component>
+
+ <component name="transformer.Output2OutputTransformer">
+ <system:implementation.system class="org.apache.tuscany.core.databinding.transformers.Output2OutputTransformer" />
+ </component>
+
+ <component name="transformer.Group2GroupTransformer">
+ <system:implementation.system class="org.apache.tuscany.databinding.impl.Group2GroupTransformer" />
+ </component>
+
+ <component name="transformer.InputSource2Node">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.InputSource2Node" />
+ </component>
+
+ <component name="transformer.InputSource2SAX">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.InputSource2SAX" />
+ </component>
+
+ <component name="transformer.InputStream2Node">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.InputStream2Node" />
+ </component>
+
+ <component name="transformer.InputStream2SAX">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.InputStream2SAX" />
+ </component>
+
+ <component name="transformer.DOMNode2JavaBean">
+ <system:implementation.system class="org.apache.tuscany.databinding.javabeans.DOMNode2JavaBeanTransformer" />
+ </component>
+
+ <component name="transformer.Node2OutputStream">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.Node2OutputStream" />
+ </component>
+
+ <component name="transformer.Node2String">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.Node2String" />
+ </component>
+
+ <component name="transformer.Node2Writer">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.Node2Writer" />
+ </component>
+
+ <component name="transformer.Node2XMLStreamReader">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.Node2XMLStreamReader" />
+ </component>
+
+ <component name="transformer.JavaBean2DOMNode">
+ <system:implementation.system class="org.apache.tuscany.databinding.javabeans.JavaBean2DOMNodeTransformer" />
+ </component>
+
+ <component name="transformer.Reader2Node">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.Reader2Node" />
+ </component>
+
+ <component name="transformer.Reader2SAX">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.Reader2SAX" />
+ </component>
+
+ <component name="transformer.SAX2DOMPipe">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.SAX2DOMPipe" />
+ </component>
+
+ <component name="transformer.Source2ResultTransformer">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.Source2ResultTransformer" />
+ </component>
+
+ <component name="transformer.StreamDataPipe">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.StreamDataPipe" />
+ </component>
+
+ <component name="transformer.String2Node">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.String2Node" />
+ </component>
+
+ <component name="transformer.String2SAX">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.String2SAX" />
+ </component>
+
+ <component name="transformer.String2XMLStreamReader">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.String2XMLStreamReader" />
+ </component>
+
+ <component name="transformer.Writer2ReaderDataPipe">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.Writer2ReaderDataPipe" />
+ </component>
+
+ <component name="transformer.XMLStreamReader2Node">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.XMLStreamReader2Node" />
+ </component>
+
+ <component name="transformer.XMLStreamReader2SAX">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.XMLStreamReader2SAX" />
+ </component>
+
+ <component name="transformer.XMLStreamReader2String">
+ <system:implementation.system class="org.apache.tuscany.databinding.xml.XMLStreamReader2String" />
+ </component>
+</composite>
\ No newline at end of file
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImplTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImplTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImplTestCase.java Fri Mar 16 22:56:48 2007
@@ -16,15 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.databinding.impl;
+package org.apache.tuscany.databinding.impl;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
+import java.lang.annotation.Annotation;
+
import javax.xml.stream.XMLStreamReader;
-import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.tuscany.spi.databinding.DataBinding;
@@ -47,41 +48,51 @@
registry = new DataBindingRegistryImpl();
}
+ @SuppressWarnings("unchecked")
public void testRegistry() {
DataBinding db1 = createMock(DataBinding.class);
+ expect(db1.getAliases()).andReturn(new String[] {"db1"}).anyTimes();
expect(db1.getName()).andReturn(ContentHandler.class.getName()).anyTimes();
DataType<Class> dataType1 = new DataType<Class>(ContentHandler.class, ContentHandler.class);
- expect(db1.introspect(ContentHandler.class)).andReturn(dataType1);
- expect(db1.introspect((Class)EasyMock.anyObject())).andReturn(null).anyTimes();
+ expect(db1.introspect(dataType1, null)).andReturn(true);
+ expect(db1.introspect(EasyMock.not(EasyMock.same(dataType1)), (Annotation[])EasyMock.isNull()))
+ .andReturn(false).anyTimes();
replay(db1);
registry.register(db1);
DataBinding db2 = createMock(DataBinding.class);
+ expect(db2.getAliases()).andReturn(new String[] {"db2"}).anyTimes();
expect(db2.getName()).andReturn(XMLStreamReader.class.getName()).anyTimes();
DataType<Class> dataType2 = new DataType<Class>(XMLStreamReader.class, XMLStreamReader.class);
- expect(db2.introspect(XMLStreamReader.class)).andReturn(dataType2);
- expect(db2.introspect((Class)EasyMock.anyObject())).andReturn(null).anyTimes();
+ expect(db2.introspect(dataType2, null)).andReturn(true);
+ expect(db2.introspect(EasyMock.not(EasyMock.same(dataType2)), (Annotation[])EasyMock.isNull()))
+ .andReturn(false).anyTimes();
replay(db2);
registry.register(db2);
+ // Lookup by name
String name = db1.getName();
DataBinding db3 = registry.getDataBinding(name);
- Assert.assertTrue(db1 == db3);
+ assertSame(db1, db3);
- DataType<?> dt = registry.introspectType(ContentHandler.class);
- Assert.assertEquals(dataType1, dt);
- Assert.assertTrue(dt.getDataBinding().equalsIgnoreCase(name));
+ // Look up by alias
+ DataBinding db5 = registry.getDataBinding("db1");
+ assertSame(db1, db5);
+
+ DataType dt = new DataType(ContentHandler.class, null);
+ registry.introspectType(dt, null);
+ assertEquals(dataType1.getLogical(), ContentHandler.class);
+ assertTrue(dt.getDataBinding().equalsIgnoreCase("java.lang.Object"));
registry.unregister(name);
DataBinding db4 = registry.getDataBinding(name);
- Assert.assertNull(db4);
-
-
- dt = registry.introspectType(ContentHandler.class);
- Assert.assertNotNull(dt);
- Assert.assertEquals("java.lang.Object", dt.getDataBinding());
+ assertNull(db4);
+
+ dt = new DataType(null, String.class, null);
+ registry.introspectType(dt, null);
+ assertEquals("java.lang.Object", dt.getDataBinding());
}
}
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DataBindingTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DataBindingTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DataBindingTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DataBindingTestCase.java Fri Mar 16 22:56:48 2007
@@ -16,14 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.databinding.impl;
+package org.apache.tuscany.databinding.impl;
import java.lang.reflect.Method;
import junit.framework.Assert;
import junit.framework.TestCase;
-import org.apache.tuscany.api.annotation.DataContext;
import org.apache.tuscany.api.annotation.DataType;
public class DataBindingTestCase extends TestCase {
@@ -32,18 +31,15 @@
Class<Test> testClass = Test.class;
DataType d = testClass.getAnnotation(DataType.class);
Assert.assertEquals(d.name(), "sdo");
- Assert.assertEquals(d.context().length, 0);
Method method = testClass.getMethod("test", new Class[] {Object.class});
DataType d2 = method.getAnnotation(DataType.class);
Assert.assertEquals(d2.name(), "jaxb");
- Assert.assertEquals(d2.context()[0].key(), "contextPath");
- Assert.assertEquals(d2.context()[0].value(), "com.example.ipo.jaxb");
}
@DataType(name = "sdo")
private static interface Test {
- @DataType(name = "jaxb", context = {@DataContext(key = "contextPath", value = "com.example.ipo.jaxb")})
+ @DataType(name = "jaxb")
Object test(Object object);
}
}
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DirectedGraphTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DirectedGraphTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DirectedGraphTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/DirectedGraphTestCase.java Fri Mar 16 22:56:48 2007
@@ -16,15 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.databinding.impl;
+package org.apache.tuscany.databinding.impl;
import java.util.List;
import junit.framework.Assert;
import junit.framework.TestCase;
-import org.apache.tuscany.core.databinding.impl.DirectedGraph.Edge;
-import org.apache.tuscany.core.databinding.impl.DirectedGraph.Vertex;
+import org.apache.tuscany.databinding.impl.DirectedGraph;
+import org.apache.tuscany.databinding.impl.DirectedGraph.Edge;
+import org.apache.tuscany.databinding.impl.DirectedGraph.Vertex;
public class DirectedGraphTestCase extends TestCase {
private DirectedGraph<String, Object> graph;
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java Fri Mar 16 22:56:48 2007
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.databinding.impl;
+package org.apache.tuscany.databinding.impl;
import java.io.StringWriter;
import java.io.Writer;
@@ -24,10 +24,14 @@
import junit.framework.Assert;
import junit.framework.TestCase;
-import org.apache.tuscany.core.databinding.xml.Node2String;
-import org.apache.tuscany.core.databinding.xml.Node2Writer;
-import org.apache.tuscany.core.databinding.xml.SAX2DOMPipe;
-import org.apache.tuscany.core.databinding.xml.String2SAX;
+import org.apache.tuscany.databinding.impl.DataBindingRegistryImpl;
+import org.apache.tuscany.databinding.impl.MediatorImpl;
+import org.apache.tuscany.databinding.impl.TransformationContextImpl;
+import org.apache.tuscany.databinding.impl.TransformerRegistryImpl;
+import org.apache.tuscany.databinding.xml.Node2String;
+import org.apache.tuscany.databinding.xml.Node2Writer;
+import org.apache.tuscany.databinding.xml.SAX2DOMPipe;
+import org.apache.tuscany.databinding.xml.String2SAX;
import org.apache.tuscany.spi.databinding.DataBindingRegistry;
import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.databinding.TransformerRegistry;
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/TransformerRegistryImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/TransformerRegistryImplTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/TransformerRegistryImplTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/TransformerRegistryImplTestCase.java Fri Mar 16 22:56:48 2007
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.tuscany.core.databinding.impl;
+package org.apache.tuscany.databinding.impl;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
@@ -28,6 +28,7 @@
import junit.framework.Assert;
import junit.framework.TestCase;
+import org.apache.tuscany.databinding.impl.TransformerRegistryImpl;
import org.apache.tuscany.spi.databinding.Transformer;
import org.apache.tuscany.spi.databinding.TransformerRegistry;
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/javabeans/DOMNode2JavaBeanTransformerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/javabeans/DOMNode2JavaBeanTransformerTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/javabeans/DOMNode2JavaBeanTransformerTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/javabeans/DOMNode2JavaBeanTransformerTestCase.java Fri Mar 16 22:56:48 2007
@@ -17,27 +17,29 @@
* under the License.
*/
-package org.apache.tuscany.core.databinding.javabeans;
+package org.apache.tuscany.databinding.javabeans;
import java.io.StringReader;
import java.io.StringWriter;
+
import javax.xml.parsers.DocumentBuilder;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.xml.sax.InputSource;
+import junit.framework.TestCase;
+import org.apache.tuscany.databinding.javabeans.DOMNode2JavaBeanTransformer;
+import org.apache.tuscany.databinding.javabeans.JavaBean2DOMNodeTransformer;
import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.databinding.extension.DOMHelper;
-import org.apache.tuscany.spi.model.ElementInfo;
-import org.apache.tuscany.spi.model.TypeInfo;
import org.apache.tuscany.spi.model.DataType;
-
-import junit.framework.TestCase;
+import org.apache.tuscany.spi.model.TypeInfo;
+import org.apache.tuscany.spi.model.XMLType;
import org.easymock.EasyMock;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.xml.sax.InputSource;
/**
* Testcase to test the XMLTypeMapperExtension which is the back bone for all transformations supported by the JavaBeans
@@ -46,7 +48,15 @@
* @version $Rev$ $Date$
*/
public class DOMNode2JavaBeanTransformerTestCase extends TestCase {
- private DOMNode2JavaBeanTransformer dom2JavaTransformer = new DOMNode2JavaBeanTransformer();
+
+ private DOMNode2JavaBeanTransformer dom2JavaTransformer = new DOMNode2JavaBeanTransformer();
+
+ /**
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
public void testFieldSettings() throws Exception {
String samplePropertyXML =
@@ -65,12 +75,12 @@
TypeInfo typeInfo = new TypeInfo(null, false, null);
TransformationContext context = EasyMock.createMock(TransformationContext.class);
- DataType<Class> targetDataType = new DataType<Class>(null, SamplePropertyBean.class);
+ DataType<Class> targetDataType = new DataType<Class>(SamplePropertyBean.class, SamplePropertyBean.class);
EasyMock.expect(context.getTargetDataType()).andReturn(targetDataType).anyTimes();
- DataType<Class> sourceDataType = new DataType<Class>(null, null);
- ElementInfo eleInfo = new ElementInfo(null, typeInfo);
- sourceDataType.setMetadata(ElementInfo.class.getName(), eleInfo);
+ DataType<XMLType> sourceDataType = new DataType<XMLType>(null, new XMLType(typeInfo));
+ // ElementInfo eleInfo = new ElementInfo(null, typeInfo);
+ // sourceDataType.setMetadata(ElementInfo.class.getName(), eleInfo);
EasyMock.expect(context.getSourceDataType()).andReturn(sourceDataType).anyTimes();
EasyMock.replay(context);
@@ -113,14 +123,12 @@
}
- protected void setUp() throws Exception {
- super.setUp();
- }
- private static class SamplePropertyBean {
- public boolean[] boolArray;
+ public static class SamplePropertyBean {
+
private float floatNumber = 50;
private SamplePropertyBean innerProperty;
+ public boolean[] boolArray;
private double doubleNumber = 75;
private int integerNumber = 25;
private String[] stringArray;
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/javabeans/JavaBean2DOMNodeTransformerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/javabeans/JavaBean2DOMNodeTransformerTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/javabeans/JavaBean2DOMNodeTransformerTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/javabeans/JavaBean2DOMNodeTransformerTestCase.java Fri Mar 16 22:56:48 2007
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.tuscany.core.databinding.javabeans;
+package org.apache.tuscany.databinding.javabeans;
import java.io.StringWriter;
import javax.xml.transform.TransformerFactory;
@@ -26,6 +26,7 @@
import org.w3c.dom.Node;
+import org.apache.tuscany.databinding.javabeans.JavaBean2DOMNodeTransformer;
import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.model.DataType;
@@ -61,6 +62,7 @@
StringWriter sw = new StringWriter();
transformer.transform(new DOMSource(aNode), new StreamResult(sw));
+ System.out.println(sw.toString());
assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><int_collection><int>10</int><int>20</int>"
+ "<int>30</int><int>40</int></int_collection>",
sw.toString());
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/DOM2StAXTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/DOM2StAXTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/DOM2StAXTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/DOM2StAXTestCase.java Fri Mar 16 22:56:48 2007
@@ -16,13 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.databinding.xml;
+package org.apache.tuscany.databinding.xml;
import javax.xml.stream.XMLStreamReader;
-import junit.framework.Assert;
import junit.framework.TestCase;
+import org.apache.tuscany.databinding.xml.Node2XMLStreamReader;
+import org.apache.tuscany.databinding.xml.String2Node;
+import org.apache.tuscany.databinding.xml.XMLStreamReader2String;
import org.w3c.dom.Node;
public class DOM2StAXTestCase extends TestCase {
@@ -56,6 +58,10 @@
+ " </items>"
+ "</ipo:purchaseOrder>";
+ private static final String CRAZY_XML =
+ "<p:e1 xmlns=\"http://ns0\" xmlns:p=\"http://p1\">"
+ + "<p:e2 xmlns:p=\"http://p2\"/><e3/><e4 xmlns=\"\">E4</e4></p:e1>";
+
/**
* @see junit.framework.TestCase#setUp()
*/
@@ -70,7 +76,17 @@
XMLStreamReader reader = t2.transform(node, null);
XMLStreamReader2String t3 = new XMLStreamReader2String();
String xml = t3.transform(reader, null);
- Assert.assertTrue(xml != null && xml.indexOf("<shipDate>1999-12-05</shipDate>") != -1);
+ assertTrue(xml != null && xml.indexOf("<shipDate>1999-12-05</shipDate>") != -1);
}
+ public void testTransformation2() {
+ String2Node t1 = new String2Node();
+ Node node = t1.transform(CRAZY_XML, null);
+ Node2XMLStreamReader t2 = new Node2XMLStreamReader();
+ XMLStreamReader reader = t2.transform(node, null);
+ XMLStreamReader2String t3 = new XMLStreamReader2String();
+ String xml = t3.transform(reader, null);
+ System.out.println(xml);
+ assertTrue(xml.contains("<p:e2 xmlns:p=\"http://p2\""));
+ }
}
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/DataPipeTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/DataPipeTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/DataPipeTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/DataPipeTestCase.java Fri Mar 16 22:56:48 2007
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.tuscany.core.databinding.xml;
+package org.apache.tuscany.databinding.xml;
import java.io.IOException;
import java.io.InputStream;
@@ -28,7 +28,10 @@
import junit.framework.Assert;
import junit.framework.TestCase;
-import org.apache.tuscany.core.databinding.impl.PipedTransformer;
+import org.apache.tuscany.databinding.impl.PipedTransformer;
+import org.apache.tuscany.databinding.xml.Node2Writer;
+import org.apache.tuscany.databinding.xml.StreamDataPipe;
+import org.apache.tuscany.databinding.xml.Writer2ReaderDataPipe;
import org.apache.tuscany.spi.databinding.extension.DOMHelper;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
Added: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/JavaBean2XMLStreamReaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/JavaBean2XMLStreamReaderTestCase.java?view=auto&rev=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/JavaBean2XMLStreamReaderTestCase.java (added)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/JavaBean2XMLStreamReaderTestCase.java Fri Mar 16 22:56:48 2007
@@ -0,0 +1,134 @@
+/*
+ * 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.databinding.xml;
+
+import javax.xml.stream.XMLStreamReader;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.databinding.javabeans.JavaBean2XMLStreamReader;
+import org.apache.tuscany.databinding.xml.XMLStreamReader2String;
+
+public class JavaBean2XMLStreamReaderTestCase extends TestCase {
+ /**
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testTransformation() {
+ JavaBean2XMLStreamReader t2 = new JavaBean2XMLStreamReader();
+ MyBean bean = new MyBean();
+ bean.str = "ABC";
+ bean.i = 1;
+ bean.arr = new long[] {1, 2, 3};
+ bean.bean = new AnotherBean();
+ bean.bean.setName("Name");
+ XMLStreamReader reader = t2.transform(bean, null);
+ XMLStreamReader2String t3 = new XMLStreamReader2String();
+ String xml = t3.transform(reader, null);
+ assertTrue(xml.contains("<JavaBean2XMLStreamReaderTestCase$MyBean>"
+ + "<arr>1</arr><arr>2</arr><arr>3</arr><bean><name>Name</name></bean>"
+ + "<i>1</i><str>ABC</str></JavaBean2XMLStreamReaderTestCase$MyBean>"));
+ }
+
+ private static class MyBean {
+ private String str;
+ private int i;
+ private long arr[];
+ private AnotherBean bean;
+
+ /**
+ * @return the arr
+ */
+ public long[] getArr() {
+ return arr;
+ }
+
+ /**
+ * @param arr the arr to set
+ */
+ public void setArr(long[] arr) {
+ this.arr = arr;
+ }
+
+ /**
+ * @return the i
+ */
+ public int getI() {
+ return i;
+ }
+
+ /**
+ * @param i the i to set
+ */
+ public void setI(int i) {
+ this.i = i;
+ }
+
+ /**
+ * @return the str
+ */
+ public String getStr() {
+ return str;
+ }
+
+ /**
+ * @param str the str to set
+ */
+ public void setStr(String str) {
+ this.str = str;
+ }
+
+ /**
+ * @return the bean
+ */
+ public AnotherBean getBean() {
+ return bean;
+ }
+
+ /**
+ * @param bean the bean to set
+ */
+ public void setBean(AnotherBean bean) {
+ this.bean = bean;
+ }
+
+ }
+
+ private static class AnotherBean {
+ private String name;
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+ }
+
+}
Propchange: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/JavaBean2XMLStreamReaderTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/JavaBean2XMLStreamReaderTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/Node2StringTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/Node2StringTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/Node2StringTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/Node2StringTestCase.java Fri Mar 16 22:56:48 2007
@@ -16,10 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.databinding.xml;
+package org.apache.tuscany.databinding.xml;
import junit.framework.TestCase;
+import org.apache.tuscany.databinding.xml.Node2String;
import org.apache.tuscany.spi.databinding.extension.DOMHelper;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/PushTransformationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/PushTransformationTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/PushTransformationTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/PushTransformationTestCase.java Fri Mar 16 22:56:48 2007
@@ -16,14 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.tuscany.core.databinding.xml;
+package org.apache.tuscany.databinding.xml;
import javax.xml.stream.XMLStreamReader;
import junit.framework.Assert;
import junit.framework.TestCase;
-import org.apache.tuscany.core.databinding.impl.PipedTransformer;
+import org.apache.tuscany.databinding.impl.PipedTransformer;
+import org.apache.tuscany.databinding.xml.Node2String;
+import org.apache.tuscany.databinding.xml.SAX2DOMPipe;
+import org.apache.tuscany.databinding.xml.String2XMLStreamReader;
+import org.apache.tuscany.databinding.xml.XMLStreamReader2SAX;
import org.w3c.dom.Node;
import org.xml.sax.ContentHandler;
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/StAXHelperTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/StAXHelperTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/StAXHelperTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/StAXHelperTestCase.java Fri Mar 16 22:56:48 2007
@@ -17,9 +17,11 @@
* under the License.
*/
-package org.apache.tuscany.core.databinding.xml;
+package org.apache.tuscany.databinding.xml;
import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.databinding.xml.StAXHelper;
import junit.framework.TestCase;
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/TraxTransformerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/TraxTransformerTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/TraxTransformerTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/xml/TraxTransformerTestCase.java Fri Mar 16 22:56:48 2007
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.tuscany.core.databinding.xml;
+package org.apache.tuscany.databinding.xml;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -30,6 +30,13 @@
import junit.framework.TestCase;
+import org.apache.tuscany.databinding.xml.InputSource2Node;
+import org.apache.tuscany.databinding.xml.InputSource2SAX;
+import org.apache.tuscany.databinding.xml.InputStream2Node;
+import org.apache.tuscany.databinding.xml.InputStream2SAX;
+import org.apache.tuscany.databinding.xml.Node2OutputStream;
+import org.apache.tuscany.databinding.xml.Node2Writer;
+import org.apache.tuscany.databinding.xml.Reader2Node;
import org.w3c.dom.Node;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtensionTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtensionTestCase.java Fri Mar 16 22:56:48 2007
@@ -22,6 +22,7 @@
import junit.framework.TestCase;
import org.apache.tuscany.spi.databinding.DataBindingRegistry;
+import org.apache.tuscany.spi.model.DataType;
import org.easymock.EasyMock;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -38,11 +39,14 @@
super.setUp();
}
+ @SuppressWarnings("unchecked")
public void testExtension() {
DataBinding1 binding1 = new DataBinding1(Node.class);
assertEquals(Node.class.getName(), binding1.getName());
- assertNotNull(binding1.introspect(Element.class));
- assertNull(binding1.introspect(String.class));
+ DataType dt1 = new DataType(Element.class, null);
+ assertTrue(binding1.introspect(dt1, null));
+ DataType dt2 = new DataType(String.class, null);
+ assertFalse(binding1.introspect(dt2, null));
assertNull(binding1.getWrapperHandler());
DataBindingRegistry registry = EasyMock.createMock(DataBindingRegistry.class);
Modified: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java?view=diff&rev=519244&r1=519083&r2=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java Fri Mar 16 22:56:48 2007
@@ -28,7 +28,6 @@
import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.model.TypeInfo;
-
import org.easymock.EasyMock;
/**
@@ -49,18 +48,6 @@
SAMPLE_VALUES.put("duration", new String[] {"P8M3DT7H33M2S", "P5Y2M10DT15H"});
SAMPLE_VALUES.put("float", new String[] {"3.1415292", "INF", "NaN"});
SAMPLE_VALUES.put("gDay", "---11");
- /*
- * The value space of xsd:gMonth is the period of one calendar month recurring
- * each calendar year (such as the month of April). Its lexical space should
- * follow the ISO 8601 syntax for such periods (i.e., -- MM) with an optional
- * time zone.
- * Tip: There's a typo in the W3C XML Schema Recommendation, in which the format
- * is defined as -- MM -- --. Even though an erratum should be published to
- * bring the W3C XML Schema inline with ISO 8601, most current schema processors
- * expect the (bogus) -- MM -- -- format.
- *
- * The test might be broken in JDK 1.6
- */
SAMPLE_VALUES.put("gMonth", "--02--");
SAMPLE_VALUES.put("gMonthDay", "--02-14");
SAMPLE_VALUES.put("gYear", "1999");
@@ -109,15 +96,15 @@
Object value = SAMPLE_VALUES.get(name);
if (value instanceof String[]) {
for (String s : (String[])value) {
- Object obj = extension.toJavaObject(simpleType, s, context);
- String str = extension.toXMLLiteral(simpleType, obj, context);
+ Object obj = extension.toJavaObject(simpleType.getQName(), s, context);
+ String str = extension.toXMLLiteral(simpleType.getQName(), obj, context);
assertNotNull(str);
// assertTrue("[" + name + "] " + s + " " + str,
// str.contains((String) s));
}
} else if (value instanceof String) {
- Object obj = extension.toJavaObject(simpleType, (String)value, context);
- String str = extension.toXMLLiteral(simpleType, obj, context);
+ Object obj = extension.toJavaObject(simpleType.getQName(), (String)value, context);
+ String str = extension.toXMLLiteral(simpleType.getQName(), obj, context);
assertNotNull(str);
// assertTrue("[" + name + "] " + value + " " + str,
// str.contains((String) value));
Added: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/impl/ipo.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/impl/ipo.xsd?view=auto&rev=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/impl/ipo.xsd (added)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/impl/ipo.xsd Fri Mar 16 22:56:48 2007
@@ -0,0 +1,136 @@
+<!--
+ * 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.
+-->
+<schema targetNamespace="http://www.example.com/IPO"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:ipo="http://www.example.com/IPO">
+
+ <annotation>
+ <documentation xml:lang="en">
+ International Purchase order schema for Example.com
+ Copyright 2000 Example.com. All rights reserved.
+ </documentation>
+ </annotation>
+
+
+ <element name="purchaseOrder" type="ipo:PurchaseOrderType" />
+
+ <element name="comment" type="string" />
+
+ <complexType name="PurchaseOrderType">
+ <sequence>
+ <element name="shipTo" type="ipo:Address" />
+ <element name="billTo" type="ipo:Address" />
+ <element ref="ipo:comment" minOccurs="0" />
+ <element name="items" type="ipo:Items" />
+ </sequence>
+ <attribute name="orderDate" type="date" />
+ </complexType>
+
+ <complexType name="Items">
+ <sequence>
+ <element name="item" minOccurs="0" maxOccurs="unbounded">
+ <complexType>
+ <sequence>
+ <element name="productName" type="string" />
+ <element name="quantity">
+ <simpleType>
+ <restriction base="positiveInteger">
+ <maxExclusive value="100" />
+ </restriction>
+ </simpleType>
+ </element>
+ <element name="USPrice" type="decimal" />
+ <element ref="ipo:comment" minOccurs="0" />
+ <element name="shipDate" type="date"
+ minOccurs="0" />
+ </sequence>
+ <attribute name="partNum" type="ipo:SKU"
+ use="required" />
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+
+ <simpleType name="SKU">
+ <restriction base="string">
+ <pattern value="\d{3}-[A-Z]{2}" />
+ </restriction>
+ </simpleType>
+
+ <complexType name="Address">
+ <sequence>
+ <element name="name" type="string" />
+ <element name="street" type="string" />
+ <element name="city" type="string" />
+ </sequence>
+ </complexType>
+
+ <complexType name="USAddress">
+ <complexContent>
+ <extension base="ipo:Address">
+ <sequence>
+ <element name="state" type="ipo:USState" />
+ <element name="zip" type="positiveInteger" />
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name="UKAddress">
+ <complexContent>
+ <extension base="ipo:Address">
+ <sequence>
+ <element name="postcode" type="ipo:UKPostcode" />
+ </sequence>
+ <attribute name="exportCode" type="positiveInteger"
+ fixed="1" />
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <!-- other Address derivations for more countries -->
+
+ <simpleType name="USState">
+ <restriction base="string">
+ <enumeration value="AK" />
+ <enumeration value="AL" />
+ <enumeration value="AR" />
+ <enumeration value="CA" />
+ <enumeration value="PA" />
+ <!-- and so on ... -->
+ </restriction>
+ </simpleType>
+
+ <simpleType name="Postcode">
+ <restriction base="string">
+ <length value="7" fixed="true" />
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="UKPostcode">
+ <restriction base="ipo:Postcode">
+ <pattern value="[A-Z]{2}\d\s\d[A-Z]{2}" />
+ </restriction>
+ </simpleType>
+
+
+
+</schema>
+
Propchange: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/impl/ipo.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/impl/ipo.xsd
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/impl/order.wsdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/impl/order.wsdl?view=auto&rev=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/impl/order.wsdl (added)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/impl/order.wsdl Fri Mar 16 22:56:48 2007
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<!--
+ * 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.
+-->
+<definitions name="StockQuote" targetNamespace="http://example.com/order.wsdl" xmlns:tns="http://example.com/order.wsdl"
+ xmlns:xsd1="http://example.com/order.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema targetNamespace="http://example.com/order.xsd" xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:ipo="http://www.example.com/IPO">
+ <import namespace="http://www.example.com/IPO" schemaLocation="ipo.xsd"/>
+ <element name="checkOrderStatus">
+ <complexType>
+ <sequence>
+ <element name="customerId" type="string" />
+ <element name="order" type="ipo:PurchaseOrderType" />
+ <element name="flag" type="int" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="checkOrderStatusResponse">
+ <complexType>
+ <sequence>
+ <element name="status" type="string" />
+ </sequence>
+ </complexType>
+ </element>
+ <element name="note" type="string" />
+ </schema>
+ </types>
+
+ <message name="CheckOrderStatusInput1">
+ <part name="body" element="xsd1:checkOrderStatus" />
+ </message>
+
+ <message name="CheckOrderStatusOutput1">
+ <part name="body" element="xsd1:checkOrderStatusResponse" />
+ </message>
+
+ <message name="CheckOrderStatusInput2">
+ <part name="p1" element="xsd1:checkOrderStatus" />
+ <part name="p2" element="xsd1:note" />
+ </message>
+
+ <message name="CheckOrderStatusOutput2">
+ <part name="p1" element="xsd1:checkOrderStatusResponse" />
+ </message>
+
+ <portType name="OrderPortType">
+ <operation name="checkOrderStatus">
+ <input message="tns:CheckOrderStatusInput1" />
+ <output message="tns:CheckOrderStatusOutput1" />
+ </operation>
+ <operation name="checkOrderStatus2">
+ <input message="tns:CheckOrderStatusInput2" />
+ <output message="tns:CheckOrderStatusOutput2" />
+ </operation>
+ </portType>
+
+</definitions>
\ No newline at end of file
Added: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/xml/foo.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/xml/foo.xml?view=auto&rev=519244
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/xml/foo.xml (added)
+++ incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/xml/foo.xml Fri Mar 16 22:56:48 2007
@@ -0,0 +1,22 @@
+<?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.
+-->
+<f:foo xmlns:f="http://foo" name="foo">
+ <b:bar xmlns:b="http://bar">bar</b:bar>
+</f:foo>
\ No newline at end of file
Propchange: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/xml/foo.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/resources/org/apache/tuscany/databinding/xml/foo.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org