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 2008/05/29 19:24:19 UTC
svn commit: r661410 [2/2] - in /incubator/tuscany/java/sca/modules:
core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/
core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/
databinding-axiom...
Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/WrapperHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/WrapperHandler.java?rev=661410&r1=661409&r2=661410&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/WrapperHandler.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/WrapperHandler.java Thu May 29 10:24:18 2008
@@ -62,14 +62,13 @@
TransformationContext context);
/**
- * Set child element for the wrapper
- *
- * @param wrapper The wrapper
- * @param i The index
- * @param childElement The XSD element
- * @param value The value of the child
+ * Populate the wrapper element with the child objects
+ * @param wrapper
+ * @param childElements
+ * @param childObjects
+ * @param context
*/
- void setChild(T wrapper, int i, ElementInfo childElement, Object value);
+ public void setChildren(T wrapper, List<ElementInfo> childElements, Object[] childObjects, TransformationContext context);
/**
* Get a list of child elements from the wrapper
Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseDataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseDataBinding.java?rev=661410&r1=661409&r2=661410&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseDataBinding.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseDataBinding.java Thu May 29 10:24:18 2008
@@ -23,6 +23,7 @@
import org.apache.tuscany.sca.databinding.DataBinding;
import org.apache.tuscany.sca.databinding.SimpleTypeMapper;
import org.apache.tuscany.sca.databinding.WrapperHandler;
+import org.apache.tuscany.sca.databinding.XMLTypeHelper;
import org.apache.tuscany.sca.interfacedef.DataType;
import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl;
import org.apache.tuscany.sca.interfacedef.util.XMLType;
@@ -121,8 +122,8 @@
return new SimpleTypeMapperImpl();
}
- public Class getXMLTypeHelperClass() {
- return JAXBTypeHelper.class;
+ public XMLTypeHelper getXMLTypeHelper() {
+ return null;
}
public String[] getAliases() {
Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMWrapperHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMWrapperHandler.java?rev=661410&r1=661409&r2=661410&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMWrapperHandler.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMWrapperHandler.java Thu May 29 10:24:18 2008
@@ -55,6 +55,15 @@
}
}
+ public void setChildren(Node wrapper,
+ List<ElementInfo> childElements,
+ Object[] childObjects,
+ TransformationContext context) {
+ for (int i = 0; i < childElements.size(); i++) {
+ setChild(wrapper, i, childElements.get(i), childObjects[i]);
+ }
+
+ }
public void setChild(Node wrapper, int i, ElementInfo childElement, Object value) {
Node node = (Node)value;
if (node.getNodeType() == Node.DOCUMENT_NODE) {
Modified: incubator/tuscany/java/sca/modules/interface-wsdl-java2wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/interface2wsdl/Interface2WSDLGenerator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-wsdl-java2wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/interface2wsdl/Interface2WSDLGenerator.java?rev=661410&r1=661409&r2=661410&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/interface-wsdl-java2wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/interface2wsdl/Interface2WSDLGenerator.java (original)
+++ incubator/tuscany/java/sca/modules/interface-wsdl-java2wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/interface2wsdl/Interface2WSDLGenerator.java Thu May 29 10:24:18 2008
@@ -19,20 +19,18 @@
package org.apache.tuscany.sca.interfacedef.wsdl.interface2wsdl;
-import java.io.PrintWriter;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import javax.wsdl.Binding;
import javax.wsdl.BindingOperation;
import javax.wsdl.Definition;
-import javax.wsdl.Input;
import javax.wsdl.Fault;
+import javax.wsdl.Input;
import javax.wsdl.Message;
import javax.wsdl.OperationType;
import javax.wsdl.Output;
@@ -41,9 +39,7 @@
import javax.wsdl.Types;
import javax.wsdl.WSDLException;
import javax.wsdl.extensions.schema.Schema;
-import javax.wsdl.extensions.schema.SchemaImport;
import javax.wsdl.factory.WSDLFactory;
-import javax.xml.bind.JAXBContext;
import javax.xml.namespace.QName;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
@@ -52,7 +48,7 @@
import org.apache.tuscany.sca.databinding.DataBinding;
import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
import org.apache.tuscany.sca.databinding.XMLTypeHelper;
-import org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper;
+import org.apache.tuscany.sca.databinding.jaxb.JAXBTypeHelper;
import org.apache.tuscany.sca.interfacedef.DataType;
import org.apache.tuscany.sca.interfacedef.Interface;
import org.apache.tuscany.sca.interfacedef.Operation;
@@ -61,31 +57,18 @@
import org.apache.tuscany.sca.interfacedef.util.ElementInfo;
import org.apache.tuscany.sca.interfacedef.util.JavaXMLMapper;
import org.apache.tuscany.sca.interfacedef.util.TypeInfo;
-import org.apache.tuscany.sca.interfacedef.util.XMLType;
import org.apache.tuscany.sca.interfacedef.util.WrapperInfo;
+import org.apache.tuscany.sca.interfacedef.util.XMLType;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition;
import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface;
-import org.apache.tuscany.sca.xsd.XSDefinition;
import org.apache.tuscany.sca.xsd.XSDFactory;
-
+import org.apache.tuscany.sca.xsd.XSDefinition;
import org.apache.ws.commons.schema.XmlSchema;
import org.apache.ws.commons.schema.XmlSchemaCollection;
-import org.apache.ws.commons.schema.XmlSchemaComplexType;
-import org.apache.ws.commons.schema.XmlSchemaElement;
import org.apache.ws.commons.schema.XmlSchemaException;
-import org.apache.ws.commons.schema.XmlSchemaForm;
-import org.apache.ws.commons.schema.XmlSchemaSequence;
-import org.apache.ws.commons.schema.XmlSchemaSerializer;
-import org.apache.ws.commons.schema.XmlSchemaType;
import org.apache.ws.commons.schema.utils.NamespaceMap;
import org.w3c.dom.Document;
-import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.ls.DOMImplementationLS;
-import org.w3c.dom.ls.LSOutput;
-import org.w3c.dom.ls.LSSerializer;
/**
* @version $Rev$ $Date$
@@ -510,23 +493,9 @@
if (dataBinding == null) {
throw new RuntimeException("no data binding for " + db);
}
- XMLTypeHelper helper = helpers.get(db);
+ XMLTypeHelper helper = dataBinding.getXMLTypeHelper();
if (helper == null) {
- Class helperClass = dataBinding.getXMLTypeHelperClass();
- for (XMLTypeHelper xth : helpers.values()) {
- if (xth.getClass() == helperClass) {
- helper = xth;
- break;
- }
- }
- if (helper == null) {
- try {
- helper = (XMLTypeHelper)helperClass.newInstance();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- helpers.put(db, helper);
+ helper = new JAXBTypeHelper();
}
TypeInfo typeInfo = helper.getTypeInfo(javaType.isArray() ? javaType.getComponentType() : javaType,
dataType.getLogical());
Modified: incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java?rev=661410&r1=661409&r2=661410&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java (original)
+++ incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java Thu May 29 10:24:18 2008
@@ -20,6 +20,7 @@
import java.util.List;
import java.util.Map;
+
import javax.xml.namespace.QName;
import org.apache.tuscany.sca.interfacedef.util.WrapperInfo;
@@ -153,15 +154,19 @@
void setWrapperStyle(boolean wrapperStyle);
/**
+ * @deprecated This should be the WrapperInfo.getDataBinding()
* Get the databinding for the operation
* @return
*/
+ @Deprecated
String getDataBinding();
/**
+ * @deprecated This should be the WrapperInfo.setDataBinding()
* Set the databinding for the operation
* @param dataBinding
*/
+ @Deprecated
void setDataBinding(String dataBinding);
/**
Modified: incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java?rev=661410&r1=661409&r2=661410&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java (original)
+++ incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java Thu May 29 10:24:18 2008
@@ -22,6 +22,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+
import javax.xml.namespace.QName;
import org.apache.tuscany.sca.interfacedef.ConversationSequence;
@@ -51,7 +52,6 @@
private boolean nonBlocking;
private boolean wrapperStyle;
private WrapperInfo wrapper;
- private String dataBinding;
private boolean dynamic;
private Map<QName, List<DataType<XMLType>>> faultBeans;
@@ -264,11 +264,13 @@
}
public String getDataBinding() {
- return dataBinding;
+ return wrapper != null ? wrapper.getDataBinding() : null;
}
public void setDataBinding(String dataBinding) {
- this.dataBinding = dataBinding;
+ if (wrapper != null) {
+ wrapper.setDataBinding(dataBinding);
+ }
}
public boolean isDynamic() {
Modified: incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java?rev=661410&r1=661409&r2=661410&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java (original)
+++ incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java Thu May 29 10:24:18 2008
@@ -56,12 +56,20 @@
private List<ElementInfo> outputChildElements;
+ // The data type of the unwrapped input child elements
private DataType<List<DataType>> unwrappedInputType;
+ // The data type of the unwrapped output child element (we only supports one child)
private DataType<XMLType> unwrappedOutputType;
+ // The data for the input/output wrappers
private String dataBinding;
+ // The data type for the input (request) wrapper bean
+ private DataType<XMLType> inputWrapperType;
+ // The data type for the output (response) wrapper bean
+ private DataType<XMLType> outputWrapperType;
+
private Class<?> inputWrapperClass;
private Class<?> outputWrapperClass;
@@ -166,4 +174,28 @@
public void setOutputWrapperClass(Class<?> outputWrapperClass) {
this.outputWrapperClass = outputWrapperClass;
}
+
+ public String getDataBinding() {
+ return dataBinding;
+ }
+
+ public void setDataBinding(String dataBinding) {
+ this.dataBinding = dataBinding;
+ }
+
+ public DataType<XMLType> getInputWrapperType() {
+ return inputWrapperType;
+ }
+
+ public void setInputWrapperType(DataType<XMLType> inputWrapperType) {
+ this.inputWrapperType = inputWrapperType;
+ }
+
+ public DataType<XMLType> getOutputWrapperType() {
+ return outputWrapperType;
+ }
+
+ public void setOutputWrapperType(DataType<XMLType> outputWrapperType) {
+ this.outputWrapperType = outputWrapperType;
+ }
}