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/02/23 17:45:13 UTC

svn commit: r511013 [1/2] - in /incubator/tuscany/branches/sca-java-integration/sca: extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/ kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/ kernel/core/src/ma...

Author: rfeng
Date: Fri Feb 23 08:45:08 2007
New Revision: 511013

URL: http://svn.apache.org/viewvc?view=rev&rev=511013
Log:
[sca-integration-branch] Use XMLType as the logical type for all XML-related databindings  

Added:
    incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/idl/XMLType.java   (with props)
Modified:
    incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java
    incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java
    incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Input2InputTransformer.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Output2OutputTransformer.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/IDLTransformerTestCase.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/WrapperInfo.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandler.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandlerTestCase.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDODataBindingTestCase.java
    incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandlerTestCase.java
    incubator/tuscany/branches/sca-java-integration/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImpl.java
    incubator/tuscany/branches/sca-java-integration/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLOperation.java
    incubator/tuscany/branches/sca-java-integration/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLServiceContract.java
    incubator/tuscany/branches/sca-java-integration/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImplTestCase.java
    incubator/tuscany/branches/sca-java-integration/sca/services/idl/wsdl/src/test/java/org/apache/tuscany/idl/wsdl/WSDLOperationTestCase.java

Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java Fri Feb 23 08:45:08 2007
@@ -20,13 +20,15 @@
 package org.apache.tuscany.databinding.axiom;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
+import javax.xml.namespace.QName;
+
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.WrapperHandler;
 import org.apache.tuscany.spi.idl.ElementInfo;
@@ -49,7 +51,12 @@
     }
 
     public void setChild(OMElement wrapper, int i, ElementInfo childElement, Object value) {
-        wrapper.addChild((OMElement) value);
+        OMElement element = (OMElement)value;
+        QName elementName = childElement.getQName();
+        OMNamespace namespace = factory.createOMNamespace(elementName.getNamespaceURI(), elementName.getPrefix());
+        element.setNamespace(namespace);
+        element.setLocalName(childElement.getQName().getLocalPart());
+        wrapper.addChild((OMElement)value);
     }
 
     public List getChildren(OMElement wrapper) {

Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java Fri Feb 23 08:45:08 2007
@@ -18,13 +18,14 @@
  */
 package org.apache.tuscany.databinding.axiom;
 
+import javax.xml.namespace.QName;
+
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.Transformer;
 import org.apache.tuscany.spi.databinding.extension.Java2SimpleTypeTransformer;
-import org.apache.tuscany.spi.idl.ElementInfo;
 import org.osoa.sca.annotations.Service;
 
 /**
@@ -40,8 +41,8 @@
         factory = OMAbstractFactory.getOMFactory();
     }
 
-    protected OMElement createElement(ElementInfo element, String text, TransformationContext context) {
-        OMElement omElement = factory.createOMElement(element.getQName(), null);
+    protected OMElement createElement(QName element, String text, TransformationContext context) {
+        OMElement omElement = factory.createOMElement(element, null);
         factory.createOMText(omElement, text);
         return omElement;
     }

Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java Fri Feb 23 08:45:08 2007
@@ -32,6 +32,7 @@
 import org.apache.tuscany.spi.databinding.TransformationException;
 import org.apache.tuscany.spi.databinding.Transformer;
 import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 import org.osoa.sca.annotations.Service;
 
@@ -58,14 +59,15 @@
     private void adjustElementName(TransformationContext context, OMElement element) {
         if (context != null) {
             DataType dataType = context.getTargetDataType();
-            Object targetQName = dataType == null ? null : dataType.getLogical();
-            if (!(targetQName instanceof QName)) {
+            Object logical = dataType == null ? null : dataType.getLogical();
+            if (!(logical instanceof XMLType)) {
                 return;
             }
-            if (!element.getQName().equals(targetQName)) {
+            XMLType xmlType = (XMLType) logical;
+            if(xmlType.isElement() && !xmlType.getElementName().equals(element.getQName())) {
                 // TODO: Throw expection or switch to the new Element
                 OMFactory factory = OMAbstractFactory.getOMFactory();
-                QName name = (QName)targetQName;
+                QName name = xmlType.getElementName();
                 OMNamespace namespace = factory.createOMNamespace(name.getNamespaceURI(), name.getPrefix());
                 element.setNamespace(namespace);
                 element.setLocalName(name.getLocalPart());

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Input2InputTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Input2InputTransformer.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Input2InputTransformer.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Input2InputTransformer.java Fri Feb 23 08:45:08 2007
@@ -33,6 +33,7 @@
 import org.apache.tuscany.spi.databinding.WrapperHandler;
 import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
 import org.apache.tuscany.spi.idl.ElementInfo;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.model.WrapperInfo;
@@ -104,7 +105,7 @@
             sourceWrapperHandler = getWapperHandler(sourceType.getOperation().getDataBinding(), true);
         }
 
-        DataType<List<DataType<QName>>> targetType = context.getTargetDataType();
+        DataType<List<DataType<XMLType>>> targetType = context.getTargetDataType();
         Operation<?> targetOp = (Operation<?>)targetType.getOperation();
         boolean targetWrapped = targetOp != null && targetOp.isWrapperStyle();
         WrapperHandler targetWrapperHandler = null;
@@ -129,11 +130,11 @@
             if (source == null) {
                 return new Object[] {targetWrapper};
             }
-            List<DataType<QName>> argTypes = wrapper.getUnwrappedInputType().getLogical();
+            List<DataType<XMLType>> argTypes = wrapper.getUnwrappedInputType().getLogical();
 
             for (int i = 0; i < source.length; i++) {
                 ElementInfo argElement = wrapper.getInputChildElements().get(i);
-                DataType<QName> argType = argTypes.get(i);
+                DataType<XMLType> argType = argTypes.get(i);
                 Object child = source[i];
                 child =
                     mediator.mediate(source[i], sourceType.getLogical().get(i), argType, context
@@ -152,9 +153,9 @@
                 ElementInfo wrapperElement = sourceOp.getWrapper().getInputWrapperElement();
                 // Object targetWrapper =
                 // targetWrapperHandler.create(wrapperElement, context);
-                DataType<QName> targetWrapperType =
-                    new DataType<QName>(targetType.getOperation().getDataBinding(), Object.class,
-                                        wrapperElement.getQName());
+                DataType<XMLType> targetWrapperType =
+                    new DataType<XMLType>(targetType.getOperation().getDataBinding(), Object.class,
+                                        new XMLType(wrapperElement));
                 Object targetWrapper =
                     mediator.mediate(sourceWrapper,
                                      sourceType.getLogical().get(0),
@@ -165,7 +166,7 @@
                 Object[] sourceChildren = sourceWrapperHandler.getChildren(sourceWrapper).toArray();
                 target = new Object[sourceChildren.length];
                 for (int i = 0; i < sourceChildren.length; i++) {
-                    DataType<QName> childType =
+                    DataType<XMLType> childType =
                         sourceOp.getWrapper().getUnwrappedInputType().getLogical().get(i);
                     target[i] =
                         mediator.mediate(sourceChildren[i], childType, targetType.getLogical().get(i), context

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Output2OutputTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Output2OutputTransformer.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Output2OutputTransformer.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Output2OutputTransformer.java Fri Feb 23 08:45:08 2007
@@ -21,8 +21,6 @@
 
 import java.util.List;
 
-import javax.xml.namespace.QName;
-
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.databinding.DataBinding;
 import org.apache.tuscany.spi.databinding.Mediator;
@@ -33,6 +31,7 @@
 import org.apache.tuscany.spi.databinding.WrapperHandler;
 import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
 import org.apache.tuscany.spi.idl.ElementInfo;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.model.WrapperInfo;
@@ -144,7 +143,7 @@
                     return targetWrapper;
                 }
                 ElementInfo argElement = childElements.get(0);
-                DataType<QName> argType = wrapper.getUnwrappedOutputType();
+                DataType<XMLType> argType = wrapper.getUnwrappedOutputType();
                 Object child = response;
                 child = mediator.mediate(response, sourceType.getLogical(), argType, context.getMetadata());
                 targetWrapperHandler.setChild(targetWrapper, 0, argElement, child);
@@ -162,9 +161,9 @@
                     ElementInfo wrapperElement = sourceOp.getWrapper().getInputWrapperElement();
                     // Object targetWrapper =
                     // targetWrapperHandler.create(wrapperElement, context);
-                    DataType<QName> targetWrapperType =
-                        new DataType<QName>(targetType.getLogical().getDataBinding(), Object.class,
-                                            wrapperElement.getQName());
+                    DataType<XMLType> targetWrapperType =
+                        new DataType<XMLType>(targetType.getLogical().getDataBinding(), Object.class,
+                                            new XMLType(wrapperElement));
                     Object targetWrapper =
                         mediator.mediate(sourceWrapper, sourceType.getLogical(), targetWrapperType, context
                             .getMetadata());

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java Fri Feb 23 08:45:08 2007
@@ -71,7 +71,7 @@
 
     public Object toJavaObject(TypeInfo xmlType, T xmlElement, TransformationContext context) {
         if (xmlType.isSimpleType()) {
-            return mapper.toJavaObject(xmlType, getText(xmlElement), context);
+            return mapper.toJavaObject(xmlType.getQName(), getText(xmlElement), context);
         } else {
             Class<?> javaType = (Class<?>) context.getTargetDataType().getLogical();
             return createJavaObject(xmlElement, javaType, context);
@@ -83,7 +83,7 @@
         throws XML2JavaMapperException {
         List<T> childElements = getChildElements(element);
         if (childElements.size() == 1 && isTextElement(childElements.get(0))) {
-            return (L) mapper.toJavaObject(mapper.getXMLType(javaType),
+            return (L) mapper.toJavaObject(mapper.getXMLType(javaType).getQName(),
                                                  getText(childElements.get(0)),
                                                  context);
         } else {

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java Fri Feb 23 08:45:08 2007
@@ -56,7 +56,7 @@
             if (xmlType == null) {
                 throw new IllegalArgumentException("Complex property is not supported.");
             }
-            instance = (P)typeMapper.toJavaObject(xmlType, text, null);
+            instance = (P)typeMapper.toJavaObject(xmlType.getQName(), text, null);
         }
         return instance;
     }

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/IDLTransformerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/IDLTransformerTestCase.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/IDLTransformerTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/IDLTransformerTestCase.java Fri Feb 23 08:45:08 2007
@@ -39,6 +39,7 @@
 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.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 import org.apache.tuscany.spi.model.WrapperInfo;
 import org.w3c.dom.Document;
@@ -85,33 +86,34 @@
     }
 
     public void testTransform() throws Exception {
-        List<DataType<QName>> types0 = new ArrayList<DataType<QName>>();
-        DataType<QName> wrapperType =
-            new DataType<QName>(null, Object.class, new QName(URI_ORDER_XSD, "checkOrderStatus"));
+        List<DataType<XMLType>> types0 = new ArrayList<DataType<XMLType>>();
+        DataType<XMLType> wrapperType =
+            new DataType<XMLType>(null, Object.class, new XMLType(new QName(URI_ORDER_XSD, "checkOrderStatus"), null));
         types0.add(wrapperType);
-        DataType<List<DataType<QName>>> inputType0 =
-            new DataType<List<DataType<QName>>>(IDL_INPUT, Object[].class, types0);
+        DataType<List<DataType<XMLType>>> inputType0 =
+            new DataType<List<DataType<XMLType>>>(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"));
+        List<DataType<XMLType>> types1 = new ArrayList<DataType<XMLType>>();
+        DataType<XMLType> customerIdType =
+            new DataType<XMLType>(null, Object.class, new XMLType(new QName(URI_ORDER_XSD, "customerId"), null));
+        DataType<XMLType> orderType =
+            new DataType<XMLType>(null, Object.class, new XMLType(new QName(URI_ORDER_XSD, "order"), null));
+        DataType<XMLType> flagType =
+            new DataType<XMLType>(null, Object.class, new XMLType(new QName(URI_ORDER_XSD, "flag"), null));
         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<List<DataType<XMLType>>> inputType =
+            new DataType<List<DataType<XMLType>>>(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);
+        DataType<XMLType> statusType =
+            new DataType<XMLType>(null, Object.class, new XMLType(new QName(URI_ORDER_XSD, "status"), null));
+        DataType<XMLType> responseType =
+            new DataType<XMLType>(null, Object.class, new XMLType(new QName(URI_ORDER_XSD, "checkOrderStatusResponse"),
+                                                                  null));
+
+        org.apache.tuscany.spi.model.Operation<XMLType> op =
+            new org.apache.tuscany.spi.model.Operation<XMLType>("checkOrderStatus", inputType0, responseType, null);
         op.setDataBinding(DOMDataBinding.NAME);
 
         inputType0.setOperation(op);
@@ -121,8 +123,7 @@
         wrapperType.setMetadata(ElementInfo.class.getName(), inputElement);
 
         ElementInfo customerId =
-            new ElementInfo(new QName("", "customerId"), SimpleTypeMapperExtension.XSD_SIMPLE_TYPES
-                .get("string"));
+            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 =
@@ -151,8 +152,7 @@
         outputElements.add(statusElement);
 
         ElementInfo outputElement =
-            new ElementInfo(new QName(URI_ORDER_XSD, "checkOrderStatusResponse"), new TypeInfo(null, false,
-                                                                                               null));
+            new ElementInfo(new QName(URI_ORDER_XSD, "checkOrderStatusResponse"), new TypeInfo(null, false, null));
 
         responseType.setMetadata(ElementInfo.class.getName(), inputElement);
         responseType.setOperation(op);
@@ -194,14 +194,13 @@
         assertEquals("checkOrderStatus", element.getLocalName());
 
         TransformationContext context1 = new TransformationContextImpl();
-        DataType<DataType> sourceType =
-            new DataType<DataType>(IDL_OUTPUT, Object.class, op.getOutputType());
+        DataType<DataType> sourceType = new DataType<DataType>(IDL_OUTPUT, Object.class, op.getOutputType());
         sourceType.setOperation(op.getOutputType().getOperation());
 
         context1.setSourceDataType(sourceType);
         DataType<DataType> targetType =
-            new DataType<DataType>(IDL_OUTPUT, Object.class,
-                                   new DataType<Class>("java.lang.Object", String.class, String.class));
+            new DataType<DataType>(IDL_OUTPUT, Object.class, new DataType<Class>("java.lang.Object", String.class,
+                                                                                 String.class));
         context1.setTargetDataType(targetType);
 
         Document factory = DOMHelper.newDocument();

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java Fri Feb 23 08:45:08 2007
@@ -19,7 +19,7 @@
 
 package org.apache.tuscany.spi.databinding;
 
-import org.apache.tuscany.spi.idl.TypeInfo;
+import javax.xml.namespace.QName;
 
 /**
  * Type Mapper between XML schema simple data types and java objects
@@ -32,7 +32,7 @@
      * @param context The context of the transformation
      * @return A java object for the XML value
      */
-    Object toJavaObject(TypeInfo simpleType, String value, TransformationContext context);
+    Object toJavaObject(QName simpleType, String value, TransformationContext context);
     /**
      * Create the XML lexical representation for a java object
      * @param simpleType The XSD simple type
@@ -40,5 +40,5 @@
      * @param context The context of the transformation
      * @return The XML lexical representation
      */
-    String toXMLLiteral(TypeInfo simpleType, Object obj, TransformationContext context);
+    String toXMLLiteral(QName simpleType, Object obj, TransformationContext context);
 }

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/Java2SimpleTypeTransformer.java Fri Feb 23 08:45:08 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.idl.ElementInfo;
-import org.apache.tuscany.spi.idl.TypeInfo;
+import org.apache.tuscany.spi.idl.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/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java Fri Feb 23 08:45:08 2007
@@ -21,9 +21,7 @@
 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.idl.ElementInfo;
-import org.apache.tuscany.spi.idl.TypeInfo;
-import org.w3c.dom.Node;
+import org.apache.tuscany.spi.idl.XMLType;
 
 /**
  * Transformer to convert data from a databinding's representation of simple
@@ -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 = (TypeInfo)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() {

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java Fri Feb 23 08:45:08 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);
@@ -402,14 +384,6 @@
     public static boolean isSimpleXSDType(QName typeName) {
         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;
     }
 
 }

Added: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/idl/XMLType.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/idl/XMLType.java?view=auto&rev=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/idl/XMLType.java (added)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/idl/XMLType.java Fri Feb 23 08:45:08 2007
@@ -0,0 +1,124 @@
+/*
+ * 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.spi.idl;
+
+import javax.xml.namespace.QName;
+
+/**
+ * The metadata for an XML element or type
+ */
+public class XMLType {
+    public static final XMLType UNKNOWN = new XMLType(null, null);
+    private QName element;
+    private QName type;
+
+    /**
+     * @param element
+     */
+    public XMLType(ElementInfo element) {
+        super();
+        this.element = element.getQName();
+        if (element.getType() != null) {
+            this.type = element.getType().getQName();
+        }
+    }
+
+    /**
+     * @param element
+     */
+    public XMLType(TypeInfo type) {
+        this.element = null;
+        this.type = type.getQName();
+    }
+
+    public XMLType(QName element, QName type) {
+        this.element = element;
+        this.type = type;
+    }
+
+    /**
+     * @return the type
+     */
+    public QName getTypeName() {
+        return type;
+    }
+
+    public boolean isElement() {
+        return element != null;
+    }
+
+    public QName getElementName() {
+        return element;
+    }
+
+    public static XMLType getType(QName type) {
+        return new XMLType(null, type);
+    }
+
+    /**
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public int hashCode() {
+        final int PRIME = 31;
+        int result = 1;
+        result = PRIME * result + ((element == null) ? 0 : element.hashCode());
+        result = PRIME * result + ((type == null) ? 0 : type.hashCode());
+        return result;
+    }
+
+    /**
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final XMLType other = (XMLType)obj;
+        if (element == null) {
+            if (other.element != null) {
+                return false;
+            }
+        } else if (!element.equals(other.element)) {
+            return false;
+        }
+        if (type == null) {
+            if (other.type != null) {
+                return false;
+            }
+        } else if (!type.equals(other.type)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "Element: " + element + " Type: " + type;
+    }
+    
+}

Propchange: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/idl/XMLType.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/idl/XMLType.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/WrapperInfo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/WrapperInfo.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/WrapperInfo.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/WrapperInfo.java Fri Feb 23 08:45:08 2007
@@ -20,9 +20,9 @@
 package org.apache.tuscany.spi.model;
 
 import java.util.List;
-import javax.xml.namespace.QName;
 
 import org.apache.tuscany.spi.idl.ElementInfo;
+import org.apache.tuscany.spi.idl.XMLType;
 
 /**
  * The "Wrapper Style" WSDL operation is defined by The Java API for XML-Based Web Services (JAX-WS) 2.0 specification,
@@ -48,16 +48,16 @@
 
     private List<ElementInfo> outputChildElements;
 
-    private DataType<List<DataType<QName>>> unwrappedInputType;
+    private DataType<List<DataType<XMLType>>> unwrappedInputType;
 
-    private DataType<QName> unwrappedOutputType;
+    private DataType<XMLType> unwrappedOutputType;
 
     public WrapperInfo(ElementInfo inputWrapperElement,
                        ElementInfo outputWrapperElement,
                        List<ElementInfo> inputElements,
                        List<ElementInfo> outputElements,
-                       DataType<List<DataType<QName>>> unwrappedInputType,
-                       DataType<QName> unwrappedOutputType) {
+                       DataType<List<DataType<XMLType>>> unwrappedInputType,
+                       DataType<XMLType> unwrappedOutputType) {
         super();
         this.inputWrapperElement = inputWrapperElement;
         this.outputWrapperElement = outputWrapperElement;
@@ -98,14 +98,14 @@
     /**
      * @return the unwrappedInputType
      */
-    public DataType<List<DataType<QName>>> getUnwrappedInputType() {
+    public DataType<List<DataType<XMLType>>> getUnwrappedInputType() {
         return unwrappedInputType;
     }
 
     /**
      * @return the unwrappedOutputType
      */
-    public DataType<QName> getUnwrappedOutputType() {
+    public DataType<XMLType> getUnwrappedOutputType() {
         return unwrappedOutputType;
     }
 }

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java Fri Feb 23 08:45:08 2007
@@ -96,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));

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java Fri Feb 23 08:45:08 2007
@@ -29,7 +29,7 @@
 
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.TransformationException;
-import org.apache.tuscany.spi.idl.ElementInfo;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 import org.apache.tuscany.spi.model.Operation;
 
@@ -84,15 +84,21 @@
             return (JAXBElement)value;
         } else {
             Class type = (Class)dataType.getPhysical();
-            ElementInfo elementInfo = (ElementInfo)dataType.getMetadata(ElementInfo.class.getName());
+            Object logical = dataType.getLogical();
             QName elementName = JAXBDataBinding.ROOT_ELEMENT;
-            if (elementInfo != null) {
-                elementName = elementInfo.getQName();
+            if (logical instanceof XMLType) {
+                XMLType xmlType = (XMLType)logical;
+                QName element = xmlType.getElementName();
+                if (element != null) {
+                    elementName = element;
+                } else {
+                    /**
+                     * Set the declared type to Object.class so that xsi:type
+                     * will be produced
+                     */
+                    type = Object.class;
+                }
             } else {
-                /**
-                 * Set the declared type to Object.class so that xsi:type will
-                 * be produced
-                 */
                 type = Object.class;
             }
             return new JAXBElement(elementName, type, value);

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java Fri Feb 23 08:45:08 2007
@@ -35,6 +35,7 @@
 import org.apache.tuscany.spi.databinding.ExceptionHandler;
 import org.apache.tuscany.spi.databinding.extension.DOMHelper;
 import org.apache.tuscany.spi.databinding.extension.DataBindingExtension;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 import org.w3c.dom.Document;
 
@@ -62,19 +63,19 @@
                 if (rawType == JAXBElement.class) {
                     Type actualType = parameterizedType.getActualTypeArguments()[0];
                     if (actualType instanceof Class) {
-                        QName xmlType = getXmlTypeName((Class)actualType);
+                        XMLType xmlType = getXmlTypeName((Class)actualType);
                         dataType.setLogical(xmlType);
                         dataType.setDataBinding(getName());
                         return true;
                     }
                 }
             }
-            dataType.setLogical(null);
+            dataType.setLogical(XMLType.UNKNOWN);
             dataType.setDataBinding(getName());
             return true;
         }
 
-        QName xmlType = getXmlTypeName(javaType);
+        XMLType xmlType = getXmlTypeName(javaType);
         if (xmlType == null) {
             return false;
         }
@@ -83,7 +84,7 @@
         return true;
     }
 
-    public static QName getXmlTypeName(Class<?> javaType) {
+    public static XMLType getXmlTypeName(Class<?> javaType) {
         String namespace = null;
         String name = null;
         Package pkg = javaType.getPackage();
@@ -127,8 +128,7 @@
         if (name == null) {
             return null;
         }
-        QName xmlType = new QName(namespace, name);
-        return xmlType;
+        return new XMLType(null, new QName(namespace, name));
     }
 
     public JAXBDataBinding() {

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandler.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandler.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandler.java Fri Feb 23 08:45:08 2007
@@ -26,7 +26,7 @@
 import javax.xml.ws.WebFault;
 
 import org.apache.tuscany.spi.databinding.ExceptionHandler;
-import org.apache.tuscany.spi.idl.ElementInfo;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 
 /**
@@ -51,10 +51,7 @@
      * protocol specific fault information
      * </ul>
      */
-    public Exception createException(DataType<DataType> exceptionType,
-                                     String message,
-                                     Object faultInfo,
-                                     Throwable cause) {
+    public Exception createException(DataType<DataType> exceptionType, String message, Object faultInfo, Throwable cause) {
         Class exceptionClass = (Class)exceptionType.getPhysical();
         DataType<?> faultBeanType = exceptionType.getLogical();
         Class faultBeanClass = (Class)faultBeanType.getPhysical();
@@ -97,8 +94,10 @@
             // The logical type of a fault is the QName of the element that the
             // only part in
             // the fault message references
-            DataType<QName> faultType = new DataType<QName>(JAXBDataBinding.NAME, faultBeanClass, element);
-            faultType.setMetadata(ElementInfo.class.getName(), new ElementInfo(element, null));
+            DataType<XMLType> faultType =
+                new DataType<XMLType>(JAXBDataBinding.NAME, faultBeanClass, new XMLType(element, null));
+            // faultType.setMetadata(ElementInfo.class.getName(), new
+            // ElementInfo(element, null));
             return faultType;
         }
     }

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java Fri Feb 23 08:45:08 2007
@@ -27,6 +27,7 @@
 import junit.framework.Assert;
 import junit.framework.TestCase;
 
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 
 import com.example.ipo.jaxb.ObjectFactory;
@@ -57,23 +58,25 @@
         boolean yes = binding.introspect(dataType, null);
         assertTrue(yes);
         assertTrue(dataType.getDataBinding().equals(binding.getName()));
-        assertTrue(dataType.getPhysical() == JAXBElement.class && dataType.getLogical() == null);
+        assertTrue(dataType.getPhysical() == JAXBElement.class && dataType.getLogical() == XMLType.UNKNOWN);
         dataType = new DataType(MockJAXBElement.class, null);
         yes = binding.introspect(dataType, null);
         assertTrue(yes);
         assertEquals(MockJAXBElement.class, dataType.getPhysical());
-        assertEquals(new QName("http://www.example.com/IPO", "PurchaseOrderType"), dataType.getLogical());
+        assertEquals(new QName("http://www.example.com/IPO", "PurchaseOrderType"), ((XMLType)dataType.getLogical())
+            .getTypeName());
         dataType = new DataType(USAddress.class, null);
         yes = binding.introspect(dataType, null);
         assertTrue(yes);
         assertEquals(USAddress.class, dataType.getPhysical());
-        assertEquals(new QName("http://www.example.com/IPO", "USAddress"), dataType.getLogical());
+        assertEquals(new QName("http://www.example.com/IPO", "USAddress"), ((XMLType)dataType.getLogical())
+            .getTypeName());
         dataType = new DataType(USState.class, null);
         yes = binding.introspect(dataType, null);
         assertTrue(yes);
         assertTrue(dataType.getDataBinding().equals(binding.getName()));
         assertEquals(USState.class, dataType.getPhysical());
-        assertEquals(new QName("http://www.example.com/IPO", "USState"), dataType.getLogical());
+        assertEquals(new QName("http://www.example.com/IPO", "USState"), ((XMLType)dataType.getLogical()).getTypeName());
 
     }
 

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandlerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandlerTestCase.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandlerTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandlerTestCase.java Fri Feb 23 08:45:08 2007
@@ -23,6 +23,7 @@
 
 import org.apache.tuscany.databinding.jaxb.fault.InvalidSymbolFault;
 import org.apache.tuscany.databinding.jaxb.fault.InvalidSymbolFault_Exception;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 
 import junit.framework.TestCase;
@@ -45,7 +46,7 @@
     public void testGetFaultType() {
         DataType<?> dataType = handler.getFaultType(InvalidSymbolFault_Exception.class);
         assertEquals(InvalidSymbolFault.class, dataType.getPhysical());
-        assertEquals(ELEMENT, dataType.getLogical());
+        assertEquals(ELEMENT, ((XMLType) dataType.getLogical()).getElementName());
         assertEquals(JAXBDataBinding.NAME, dataType.getDataBinding());
     }
 

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java Fri Feb 23 08:45:08 2007
@@ -27,6 +27,7 @@
 import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
 import org.apache.tuscany.spi.databinding.WrapperHandler;
 import org.apache.tuscany.spi.databinding.extension.DataBindingExtension;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 
 import commonj.sdo.DataObject;
@@ -64,7 +65,7 @@
         // FIXME: Need a better to test dynamic SDO
         if (DataObject.class.isAssignableFrom(javaType)) {
             // Dynamic SDO
-            dataType.setLogical(DataObject.class);
+            dataType.setLogical(XMLType.UNKNOWN);
             return true;
         }
         // FIXME: We need to access HelperContext
@@ -79,7 +80,7 @@
         String namespace = type.getURI();
         String name = context.getXSDHelper().getLocalName(type);
         QName xmlType = new QName(namespace, name);
-        dataType.setLogical(xmlType);
+        dataType.setLogical(new XMLType(null, xmlType));
         return true;
     }
 

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java Fri Feb 23 08:45:08 2007
@@ -26,7 +26,7 @@
 import org.apache.tuscany.spi.component.CompositeComponent;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.idl.ElementInfo;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 
 import commonj.sdo.helper.HelperContext;
@@ -83,11 +83,15 @@
     }
 
     public static QName getElement(DataType<?> dataType) {
-        ElementInfo info = (ElementInfo)dataType.getMetadata().get(ElementInfo.class.getName());
-        if (info == null) {
-            return SDODataBinding.ROOT_ELEMENT;
-        } else {
-            return info.getQName();
+        Object logical = dataType.getLogical();
+        QName elementName = SDODataBinding.ROOT_ELEMENT;
+        if (logical instanceof XMLType) {
+            XMLType xmlType = (XMLType)logical;
+            QName element = xmlType.getElementName();
+            if (element != null) {
+                elementName = element;
+            }
         }
+        return elementName;
     }
 }

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java Fri Feb 23 08:45:08 2007
@@ -26,6 +26,7 @@
 import javax.xml.namespace.QName;
 
 import org.apache.tuscany.spi.databinding.ExceptionHandler;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 
 import commonj.sdo.Type;
@@ -57,10 +58,7 @@
      * protocol specific fault information
      * </ul>
      */
-    public Exception createException(DataType<DataType> exceptionType, 
-                                     String message, 
-                                     Object faultInfo, 
-                                     Throwable cause) {
+    public Exception createException(DataType<DataType> exceptionType, String message, Object faultInfo, Throwable cause) {
         Class exceptionClass = (Class)exceptionType.getPhysical();
         DataType<?> faultBeanType = exceptionType.getLogical();
         Class faultBeanClass = (Class)faultBeanType.getPhysical();
@@ -97,25 +95,26 @@
             return null;
         }
 
-        QName typeInfo = null;
+        QName faultElement = null;
         try {
             Field field = exceptionType.getField("FAULT_ELEMENT");
-            typeInfo = (QName)field.get(null);
+            faultElement = (QName)field.get(null);
         } catch (NoSuchFieldException e) {
             // Fall back to type inspection
             Type type = helperContext.getTypeHelper().getType(faultBeanClass);
             if (type != null) {
                 String ns = type.getURI();
                 String name = helperContext.getXSDHelper().getLocalName(type);
-                typeInfo = new QName(ns, name);
+                faultElement = new QName(ns, name);
             }
         } catch (Throwable e) {
             // Ignore
         }
-        if (typeInfo == null) {
+        if (faultElement == null) {
             return null;
         }
-        DataType<QName> faultType = new DataType<QName>(SDODataBinding.NAME, faultBeanClass, typeInfo);
+        DataType<XMLType> faultType =
+            new DataType<XMLType>(SDODataBinding.NAME, faultBeanClass, new XMLType(faultElement, null));
         return faultType;
 
     }

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java Fri Feb 23 08:45:08 2007
@@ -40,8 +40,7 @@
         super();
     }
 
-    public Object toJavaObject(TypeInfo simpleType, String value, TransformationContext context) {
-        QName typeName = simpleType.getQName();
+    public Object toJavaObject(QName typeName, String value, TransformationContext context) {
         Type type = null;
         if (URI_2001_SCHEMA_XSD.equals(typeName.getNamespaceURI())) {
             type = SDOUtil.getXSDSDOType(typeName.getLocalPart());
@@ -53,8 +52,7 @@
         return SDOUtil.createFromString(type, value);
     }
 
-    public String toXMLLiteral(TypeInfo simpleType, Object obj, TransformationContext context) {
-        QName typeName = simpleType.getQName();
+    public String toXMLLiteral(QName typeName, Object obj, TransformationContext context) {
         Type type = null;
         if (URI_2001_SCHEMA_XSD.equals(typeName.getNamespaceURI())) {
             type = SDOUtil.getXSDSDOType(typeName.getLocalPart());

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDODataBindingTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDODataBindingTestCase.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDODataBindingTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDODataBindingTestCase.java Fri Feb 23 08:45:08 2007
@@ -24,6 +24,7 @@
 import junit.framework.Assert;
 import junit.framework.TestCase;
 
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 
 import com.example.ipo.sdo.PurchaseOrderType;
@@ -57,17 +58,19 @@
         boolean yes = binding.introspect(dataType, null);
         assertTrue(yes);
         assertTrue(dataType.getDataBinding().equals(binding.getName()));
-        assertTrue(dataType.getPhysical() == DataObject.class && dataType.getLogical() == DataObject.class);
+        assertTrue(dataType.getPhysical() == DataObject.class && dataType.getLogical() == XMLType.UNKNOWN);
         dataType = new DataType(PurchaseOrderType.class, null);
         yes = binding.introspect(dataType, null);
         assertTrue(yes);
         assertEquals(PurchaseOrderType.class, dataType.getPhysical());
-        assertEquals(new QName("http://www.example.com/IPO", "PurchaseOrderType"), dataType.getLogical());
+        assertEquals(new QName("http://www.example.com/IPO", "PurchaseOrderType"), ((XMLType)dataType.getLogical())
+            .getTypeName());
         dataType = new DataType(USAddress.class, null);
         yes = binding.introspect(dataType, null);
         assertTrue(yes);
         assertEquals(USAddress.class, dataType.getPhysical());
-        assertEquals(new QName("http://www.example.com/IPO", "USAddress"), dataType.getLogical());
+        assertEquals(new QName("http://www.example.com/IPO", "USAddress"), ((XMLType)dataType.getLogical())
+            .getTypeName());
     }
 
     public final void testCopyRoot() {

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandlerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandlerTestCase.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandlerTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandlerTestCase.java Fri Feb 23 08:45:08 2007
@@ -21,6 +21,7 @@
 
 import junit.framework.TestCase;
 
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
 
 import com.example.stock.sdo.InvalidSymbolFault;
@@ -49,7 +50,7 @@
     public void testGetFaultType() {
         DataType<?> dataType = handler.getFaultType(InvalidSymbolFault_Exception.class);
         assertEquals(InvalidSymbolFault.class, dataType.getPhysical());
-        assertEquals(InvalidSymbolFault_Exception.FAULT_ELEMENT, dataType.getLogical());
+        assertEquals(InvalidSymbolFault_Exception.FAULT_ELEMENT, ((XMLType) dataType.getLogical()).getElementName());
         assertEquals(SDODataBinding.NAME, dataType.getDataBinding());
     }
 

Modified: incubator/tuscany/branches/sca-java-integration/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImpl.java?view=diff&rev=511013&r1=511012&r2=511013
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImpl.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/InterfaceWSDLIntrospectorImpl.java Fri Feb 23 08:45:08 2007
@@ -28,6 +28,7 @@
 
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.idl.InvalidServiceContractException;
+import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.InteractionScope;
 import org.osoa.sca.annotations.Constructor;
 
@@ -47,10 +48,10 @@
     }
 
     // FIXME: Do we want to deal with document-literal wrapped style based on the JAX-WS spec?
-    protected Map<String, org.apache.tuscany.spi.model.Operation<QName>> introspectOperations(PortType portType)
+    protected Map<String, org.apache.tuscany.spi.model.Operation<XMLType>> introspectOperations(PortType portType)
         throws InvalidServiceContractException {
-        Map<String, org.apache.tuscany.spi.model.Operation<QName>> operations =
-                new HashMap<String, org.apache.tuscany.spi.model.Operation<QName>>();
+        Map<String, org.apache.tuscany.spi.model.Operation<XMLType>> operations =
+                new HashMap<String, org.apache.tuscany.spi.model.Operation<XMLType>>();
         for (Object op : portType.getOperations()) {
             Operation wsdlOp = (Operation) op;
             operations.put(wsdlOp.getName(), introspectOperation(wsdlOp));
@@ -58,7 +59,7 @@
         return operations;
     }
 
-    protected org.apache.tuscany.spi.model.Operation<QName> introspectOperation(Operation wsdlOp)
+    protected org.apache.tuscany.spi.model.Operation<XMLType> introspectOperation(Operation wsdlOp)
         throws InvalidServiceContractException {
 
         WSDLOperation op = new WSDLOperation(wsdlOp, null, wsdlDefinitionRegistry.getSchemaRegistry());



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