Author: rfeng
Date: Mon Sep 25 16:28:21 2006
New Revision: 449857
URL: http://svn.apache.org/viewvc?view=rev&rev=449857
Log:
Change the test cases to remove test dependencies on idl/wsdl
Modified:
incubator/tuscany/java/sca/services/databinding/databinding-axiom/pom.xml
incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/test/java/org/apache/tuscany/databinding/axiom/OMElementWrapperTransformerTestCase.java
incubator/tuscany/java/sca/services/databinding/databinding-framework/pom.xml
incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/core/databinding/impl/IDLTransformerTestCase.java
Modified:
incubator/tuscany/java/sca/services/databinding/databinding-axiom/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-axiom/pom.xml?view=diff&rev=449857&r1=449856&r2=449857
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-axiom/pom.xml
(original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-axiom/pom.xml
Mon Sep 25 16:28:21 2006
@@ -48,12 +48,6 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>wsdl</artifactId>
- <version>${pom.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-api</artifactId>
</dependency>
Modified:
incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/test/java/org/apache/tuscany/databinding/axiom/OMElementWrapperTransformerTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/test/java/org/apache/tuscany/databinding/axiom/OMElementWrapperTransformerTestCase.java?view=diff&rev=449857&r1=449856&r2=449857
==============================================================================
---
incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/test/java/org/apache/tuscany/databinding/axiom/OMElementWrapperTransformerTestCase.java
(original)
+++
incubator/tuscany/java/sca/services/databinding/databinding-axiom/src/test/java/org/apache/tuscany/databinding/axiom/OMElementWrapperTransformerTestCase.java
Mon Sep 25 16:28:21 2006
@@ -18,16 +18,11 @@
*/
package org.apache.tuscany.databinding.axiom;
-import java.net.URL;
import java.util.ArrayList;
import java.util.List;
-import javax.wsdl.Definition;
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
import javax.xml.namespace.QName;
-import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.axiom.om.OMAbstractFactory;
@@ -39,14 +34,17 @@
import org.apache.tuscany.core.databinding.impl.Output2OutputTransformer;
import org.apache.tuscany.core.databinding.impl.TransformationContextImpl;
import org.apache.tuscany.core.databinding.impl.TransformerRegistryImpl;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl;
-import org.apache.tuscany.idl.wsdl.WSDLOperation;
-import org.apache.tuscany.idl.wsdl.XMLSchemaRegistryImpl;
import org.apache.tuscany.spi.databinding.DataBindingRegistry;
import org.apache.tuscany.spi.databinding.TransformationContext;
+import org.apache.tuscany.spi.databinding.extension.SimpleTypeMapperExtension;
+import org.apache.tuscany.spi.idl.ElementInfo;
+import org.apache.tuscany.spi.idl.TypeInfo;
+import org.apache.tuscany.spi.idl.WrapperInfo;
import org.apache.tuscany.spi.model.DataType;
public class OMElementWrapperTransformerTestCase extends TestCase {
+ private static final String OPERATION_KEY =
org.apache.tuscany.spi.model.Operation.class.getName();
+
private static final String IPO_XML =
"<?xml version=\"1.0\"?>" + "<order1" + "
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
+ " xmlns:ipo=\"http://www.example.com/IPO\""
@@ -61,27 +59,88 @@
+ " <ipo:comment>Want this for the
holidays</ipo:comment>"
+ " <shipDate>1999-12-05</shipDate>" + " </item>"
+ " </items>" + "</order1>";
- private static final QName PORTTYPE_NAME = new
QName("http://example.com/order.wsdl", "OrderPortType");
-
- private WSDLDefinitionRegistryImpl registry;
+ private final static String URI_ORDER_XSD = "http://example.com/order.xsd";
/**
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
- registry = new WSDLDefinitionRegistryImpl();
- registry.setSchemaRegistry(new XMLSchemaRegistryImpl());
}
public void testTransform() throws Exception {
- URL url = getClass().getClassLoader().getResource("order.wsdl");
- Definition definition = registry.loadDefinition(null, url);
- PortType portType = definition.getPortType(PORTTYPE_NAME);
- Operation operation = portType.getOperation("checkOrderStatus", null,
null);
- WSDLOperation wsdlOp = new WSDLOperation(operation,
AxiomDataBinding.NAME, registry.getSchemaRegistry());
- org.apache.tuscany.spi.model.Operation<?> op = wsdlOp.getOperation();
- Assert.assertTrue(op.isWrapperStyle());
+ List<DataType<QName>> types0 = new ArrayList<DataType<QName>>();
+ DataType<QName> wrapperType =
+ new DataType<QName>(null, Object.class, new
QName(URI_ORDER_XSD, "checkOrderStatus"));
+ types0.add(wrapperType);
+ DataType<List<DataType<QName>>> inputType0 =
+ new DataType<List<DataType<QName>>>("idl:input",
Object[].class, types0);
+
+ List<DataType<QName>> types1 = new ArrayList<DataType<QName>>();
+ DataType<QName> customerIdType =
+ new DataType<QName>(null, Object.class, new
QName(URI_ORDER_XSD, "customerId"));
+ DataType<QName> orderType = new DataType<QName>(null, Object.class,
new QName(URI_ORDER_XSD, "order"));
+ DataType<QName> flagType = new DataType<QName>(null, Object.class, new
QName(URI_ORDER_XSD, "flag"));
+ types1.add(customerIdType);
+ types1.add(orderType);
+ types1.add(flagType);
+ DataType<List<DataType<QName>>> inputType =
+ new DataType<List<DataType<QName>>>("idl:input",
Object[].class, types1);
+
+ DataType<QName> statusType = new DataType<QName>(null, Object.class,
new QName(URI_ORDER_XSD, "status"));
+ DataType<QName> responseType =
+ new DataType<QName>(null, Object.class, new
QName(URI_ORDER_XSD, "checkOrderStatusResponse"));
+
+ org.apache.tuscany.spi.model.Operation<QName> op =
+ new
org.apache.tuscany.spi.model.Operation<QName>("checkOrderStatus", inputType0,
responseType, null);
+ op.setDataBinding(AxiomDataBinding.NAME);
+
+ inputType0.setMetadata(OPERATION_KEY, op);
+ op.setWrapperStyle(true);
+ ElementInfo inputElement =
+ new ElementInfo(new QName(URI_ORDER_XSD, "checkOrderStatus"),
new TypeInfo(null, false, null));
+ wrapperType.setMetadata(ElementInfo.class.getName(), inputElement);
+
+ ElementInfo customerId =
+ new ElementInfo(new QName("", "customerId"),
SimpleTypeMapperExtension.XSD_SIMPLE_TYPES
+ .get("string"));
+ ElementInfo order =
+ new ElementInfo(new QName("", "order"), new TypeInfo(new
QName(URI_ORDER_XSD), false, null));
+ ElementInfo flag =
+ new ElementInfo(new QName("", "flag"),
SimpleTypeMapperExtension.XSD_SIMPLE_TYPES.get("int"));
+
+ customerIdType.setMetadata(ElementInfo.class.getName(), customerId);
+ orderType.setMetadata(ElementInfo.class.getName(), order);
+ flagType.setMetadata(ElementInfo.class.getName(), flag);
+
+ customerIdType.setMetadata(OPERATION_KEY, op);
+ orderType.setMetadata(OPERATION_KEY, op);
+ flagType.setMetadata(OPERATION_KEY, op);
+
+ List<ElementInfo> inputElements = new ArrayList<ElementInfo>();
+ inputElements.add(customerId);
+ inputElements.add(order);
+ inputElements.add(flag);
+
+ ElementInfo statusElement =
+ new ElementInfo(new QName("", "status"),
SimpleTypeMapperExtension.XSD_SIMPLE_TYPES
+ .get("string"));
+
+ statusType.setMetadata(ElementInfo.class.getName(), statusElement);
+ statusType.setMetadata(OPERATION_KEY, op);
+
+ List<ElementInfo> outputElements = new ArrayList<ElementInfo>();
+ outputElements.add(statusElement);
+
+ ElementInfo outputElement =
+ new ElementInfo(new QName(URI_ORDER_XSD,
"checkOrderStatusResponse"), new TypeInfo(null, false, null));
+
+ responseType.setMetadata(ElementInfo.class.getName(), inputElement);
+ responseType.setMetadata(OPERATION_KEY, op);
+
+ WrapperInfo wrapperInfo = new WrapperInfo(inputElement, outputElement,
inputElements, outputElements, inputType, statusType);
+ op.setWrapper(wrapperInfo);
+ op.setDataBinding(AxiomDataBinding.NAME);
MediatorImpl m = new MediatorImpl();
TransformerRegistryImpl tr = new TransformerRegistryImpl();
@@ -109,16 +168,17 @@
context.setSourceDataType(inputType1);
context.setTargetDataType(op.getInputType());
Object[] results = t.transform(source, context);
- Assert.assertEquals(1, results.length);
- Assert.assertTrue(results[0] instanceof OMElement);
+ assertEquals(1, results.length);
+ assertTrue(results[0] instanceof OMElement);
OMElement element = (OMElement) results[0];
- Assert.assertEquals(new QName("http://example.com/order.xsd",
"checkOrderStatus"), element.getQName());
+ assertEquals("http://example.com/order.xsd",
element.getNamespace().getNamespaceURI());
+ assertEquals("checkOrderStatus", element.getLocalName());
TransformationContext context1 = new TransformationContextImpl();
DataType<DataType> sourceType = new DataType<DataType>("idl:output",
Object.class, op.getOutputType());
-
sourceType.setMetadata(org.apache.tuscany.spi.model.Operation.class.getName(),
op.getOutputType().getMetadata(
- org.apache.tuscany.spi.model.Operation.class.getName()));
-
+ sourceType.setMetadata(OPERATION_KEY, op.getOutputType().getMetadata(
+ OPERATION_KEY));
+
context1.setSourceDataType(sourceType);
DataType<DataType> targetType =
new DataType<DataType>("idl:output", Object.class, new
DataType<Class>("java.lang.Object",
@@ -130,11 +190,14 @@
factory.createOMElement(new
QName("http://example.com/order.wsdl", "checkOrderStatusResponse"), null);
OMElement status = factory.createOMElement(new QName(null, "status"),
responseElement);
factory.createOMText(status, "shipped");
+
Output2OutputTransformer t2 = new Output2OutputTransformer();
t2.setMediator(m);
t2.setDataBindingRegistry(dataBindingRegistry);
Object st = t2.transform(responseElement, context1);
- Assert.assertEquals("shipped", st);
+ assertEquals("shipped", st);
+
+ }
+
- }
}
Modified:
incubator/tuscany/java/sca/services/databinding/databinding-framework/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/pom.xml?view=diff&rev=449857&r1=449856&r2=449857
==============================================================================
---
incubator/tuscany/java/sca/services/databinding/databinding-framework/pom.xml
(original)
+++
incubator/tuscany/java/sca/services/databinding/databinding-framework/pom.xml
Mon Sep 25 16:28:21 2006
@@ -36,12 +36,6 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>org.apache.tuscany.sca.services.idl</groupId>
- <artifactId>wsdl</artifactId>
- <version>${pom.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>woodstox</groupId>
<artifactId>wstx-asl</artifactId>
<scope>test</scope>
Modified:
incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/core/databinding/impl/IDLTransformerTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/core/databinding/impl/IDLTransformerTestCase.java?view=diff&rev=449857&r1=449856&r2=449857
==============================================================================
---
incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/core/databinding/impl/IDLTransformerTestCase.java
(original)
+++
incubator/tuscany/java/sca/services/databinding/databinding-framework/src/test/java/org/apache/tuscany/core/databinding/impl/IDLTransformerTestCase.java
Mon Sep 25 16:28:21 2006
@@ -18,40 +18,32 @@
*/
package org.apache.tuscany.core.databinding.impl;
-import java.net.URL;
import java.util.ArrayList;
import java.util.List;
-import javax.wsdl.Definition;
-import javax.wsdl.Operation;
-import javax.wsdl.PortType;
import javax.xml.namespace.QName;
import junit.framework.TestCase;
-import org.apache.tuscany.core.databinding.impl.DataBindingRegistryImpl;
-import org.apache.tuscany.core.databinding.impl.Input2InputTransformer;
-import org.apache.tuscany.core.databinding.impl.MediatorImpl;
-import org.apache.tuscany.core.databinding.impl.Output2OutputTransformer;
-import org.apache.tuscany.core.databinding.impl.TransformationContextImpl;
-import org.apache.tuscany.core.databinding.impl.TransformerRegistryImpl;
import org.apache.tuscany.core.databinding.xml.DOMDataBinding;
import org.apache.tuscany.core.databinding.xml.Node2Object;
import org.apache.tuscany.core.databinding.xml.Node2String;
import org.apache.tuscany.core.databinding.xml.Object2Node;
import org.apache.tuscany.core.databinding.xml.String2Node;
-import org.apache.tuscany.idl.wsdl.WSDLDefinitionRegistryImpl;
-import org.apache.tuscany.idl.wsdl.WSDLOperation;
-import org.apache.tuscany.idl.wsdl.XMLSchemaRegistryImpl;
import org.apache.tuscany.spi.databinding.DataBindingRegistry;
import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.databinding.extension.DOMHelper;
+import org.apache.tuscany.spi.databinding.extension.SimpleTypeMapperExtension;
+import org.apache.tuscany.spi.idl.ElementInfo;
+import org.apache.tuscany.spi.idl.TypeInfo;
+import org.apache.tuscany.spi.idl.WrapperInfo;
import org.apache.tuscany.spi.model.DataType;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import org.w3c.dom.Node;
public class IDLTransformerTestCase extends TestCase {
+ private static final String OPERATION_KEY =
org.apache.tuscany.spi.model.Operation.class.getName();
+
private static final String IPO_XML =
"<?xml version=\"1.0\"?>" + "<order1" + "
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
+ " xmlns:ipo=\"http://www.example.com/IPO\""
@@ -66,27 +58,88 @@
+ " <ipo:comment>Want this for the
holidays</ipo:comment>"
+ " <shipDate>1999-12-05</shipDate>" + " </item>"
+ " </items>" + "</order1>";
- private static final QName PORTTYPE_NAME = new
QName("http://example.com/order.wsdl", "OrderPortType");
-
- private WSDLDefinitionRegistryImpl registry;
+ private final static String URI_ORDER_XSD = "http://example.com/order.xsd";
/**
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
- registry = new WSDLDefinitionRegistryImpl();
- registry.setSchemaRegistry(new XMLSchemaRegistryImpl());
}
public void testTransform() throws Exception {
- URL url = getClass().getResource("order.wsdl");
- Definition definition = registry.loadDefinition(null, url);
- PortType portType = definition.getPortType(PORTTYPE_NAME);
- Operation operation = portType.getOperation("checkOrderStatus", null,
null);
- WSDLOperation wsdlOp = new WSDLOperation(operation,
Node.class.getName(), registry.getSchemaRegistry());
- org.apache.tuscany.spi.model.Operation<?> op = wsdlOp.getOperation();
- assertTrue(op.isWrapperStyle());
+ List<DataType<QName>> types0 = new ArrayList<DataType<QName>>();
+ DataType<QName> wrapperType =
+ new DataType<QName>(null, Object.class, new
QName(URI_ORDER_XSD, "checkOrderStatus"));
+ types0.add(wrapperType);
+ DataType<List<DataType<QName>>> inputType0 =
+ new DataType<List<DataType<QName>>>("idl:input",
Object[].class, types0);
+
+ List<DataType<QName>> types1 = new ArrayList<DataType<QName>>();
+ DataType<QName> customerIdType =
+ new DataType<QName>(null, Object.class, new
QName(URI_ORDER_XSD, "customerId"));
+ DataType<QName> orderType = new DataType<QName>(null, Object.class,
new QName(URI_ORDER_XSD, "order"));
+ DataType<QName> flagType = new DataType<QName>(null, Object.class, new
QName(URI_ORDER_XSD, "flag"));
+ types1.add(customerIdType);
+ types1.add(orderType);
+ types1.add(flagType);
+ DataType<List<DataType<QName>>> inputType =
+ new DataType<List<DataType<QName>>>("idl:input",
Object[].class, types1);
+
+ DataType<QName> statusType = new DataType<QName>(null, Object.class,
new QName(URI_ORDER_XSD, "status"));
+ DataType<QName> responseType =
+ new DataType<QName>(null, Object.class, new
QName(URI_ORDER_XSD, "checkOrderStatusResponse"));
+
+ org.apache.tuscany.spi.model.Operation<QName> op =
+ new
org.apache.tuscany.spi.model.Operation<QName>("checkOrderStatus", inputType0,
responseType, null);
+ op.setDataBinding(DOMDataBinding.NAME);
+
+ inputType0.setMetadata(OPERATION_KEY, op);
+ op.setWrapperStyle(true);
+ ElementInfo inputElement =
+ new ElementInfo(new QName(URI_ORDER_XSD, "checkOrderStatus"),
new TypeInfo(null, false, null));
+ wrapperType.setMetadata(ElementInfo.class.getName(), inputElement);
+
+ ElementInfo customerId =
+ new ElementInfo(new QName("", "customerId"),
SimpleTypeMapperExtension.XSD_SIMPLE_TYPES
+ .get("string"));
+ ElementInfo order =
+ new ElementInfo(new QName("", "order"), new TypeInfo(new
QName(URI_ORDER_XSD), false, null));
+ ElementInfo flag =
+ new ElementInfo(new QName("", "flag"),
SimpleTypeMapperExtension.XSD_SIMPLE_TYPES.get("int"));
+
+ customerIdType.setMetadata(ElementInfo.class.getName(), customerId);
+ orderType.setMetadata(ElementInfo.class.getName(), order);
+ flagType.setMetadata(ElementInfo.class.getName(), flag);
+
+ customerIdType.setMetadata(OPERATION_KEY, op);
+ orderType.setMetadata(OPERATION_KEY, op);
+ flagType.setMetadata(OPERATION_KEY, op);
+
+ List<ElementInfo> inputElements = new ArrayList<ElementInfo>();
+ inputElements.add(customerId);
+ inputElements.add(order);
+ inputElements.add(flag);
+
+ ElementInfo statusElement =
+ new ElementInfo(new QName("", "status"),
SimpleTypeMapperExtension.XSD_SIMPLE_TYPES
+ .get("string"));
+
+ statusType.setMetadata(ElementInfo.class.getName(), statusElement);
+ statusType.setMetadata(OPERATION_KEY, op);
+
+ List<ElementInfo> outputElements = new ArrayList<ElementInfo>();
+ outputElements.add(statusElement);
+
+ ElementInfo outputElement =
+ new ElementInfo(new QName(URI_ORDER_XSD,
"checkOrderStatusResponse"), new TypeInfo(null, false, null));
+
+ responseType.setMetadata(ElementInfo.class.getName(), inputElement);
+ responseType.setMetadata(OPERATION_KEY, op);
+
+ WrapperInfo wrapperInfo = new WrapperInfo(inputElement, outputElement,
inputElements, outputElements, inputType, statusType);
+ op.setWrapper(wrapperInfo);
+ op.setDataBinding(DOMDataBinding.NAME);
MediatorImpl m = new MediatorImpl();
TransformerRegistryImpl tr = new TransformerRegistryImpl();
@@ -122,9 +175,9 @@
TransformationContext context1 = new TransformationContextImpl();
DataType<DataType> sourceType = new DataType<DataType>("idl:output",
Object.class, op.getOutputType());
-
sourceType.setMetadata(org.apache.tuscany.spi.model.Operation.class.getName(),
op.getOutputType().getMetadata(
- org.apache.tuscany.spi.model.Operation.class.getName()));
-
+ sourceType.setMetadata(OPERATION_KEY, op.getOutputType().getMetadata(
+ OPERATION_KEY));
+
context1.setSourceDataType(sourceType);
DataType<DataType> targetType =
new DataType<DataType>("idl:output", Object.class, new
DataType<Class>("java.lang.Object",
@@ -144,5 +197,5 @@
assertEquals("shipped", st);
}
-
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]