You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by sa...@apache.org on 2012/02/03 10:17:00 UTC
svn commit: r1240036 - in
/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl:
DefaultSchemaGenerator.java DocLitBareSchemaGenerator.java
Author: sagara
Date: Fri Feb 3 09:17:00 2012
New Revision: 1240036
URL: http://svn.apache.org/viewvc?rev=1240036&view=rev
Log:
Added bare schema generation for DOM Document.
Modified:
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java
Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?rev=1240036&r1=1240035&r2=1240036&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java (original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java Fri Feb 3 09:17:00 2012
@@ -2041,7 +2041,7 @@ public class DefaultSchemaGenerator impl
* @param parameterName
* the parameter name
*/
- protected void generateSchemaTypeForDocument(XmlSchemaSequence sequence,
+ protected QName generateSchemaTypeForDocument(XmlSchemaSequence sequence,
String parameterName) {
XmlSchema xmlSchema = getXmlSchema(targetNamespace);
@@ -2067,8 +2067,11 @@ public class DefaultSchemaGenerator impl
entryElement.setQName(schemaType.getQName());
entryElement.setMinOccurs(0);
entryElement.setNillable(true);
- sequence.getItems().add(entryElement);
-
+ if (sequence != null) {
+ sequence.getItems().add(entryElement);
+
+ }
+ return schemaType.getQName();
}
Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java?rev=1240036&r1=1240035&r2=1240036&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java (original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DocLitBareSchemaGenerator.java Fri Feb 3 09:17:00 2012
@@ -36,11 +36,13 @@ import org.apache.ws.commons.schema.XmlS
import org.apache.ws.commons.schema.XmlSchemaElement;
import org.apache.ws.commons.schema.XmlSchemaSequence;
import org.apache.ws.commons.schema.utils.NamespaceMap;
+import org.w3c.dom.Document;
import javax.xml.namespace.QName;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
+import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
@@ -187,6 +189,8 @@ public class DocLitBareSchemaGenerator e
methodName);
parameterName = methodName;
+ } if (methodParameter != null && Document.class.isAssignableFrom(methodParameter)){
+ generateBareSchemaTypeForDocument(null, parameterName);
} else {
generateSchemaForType(null, methodParameter, parameterName);
}
@@ -271,6 +275,9 @@ public class DocLitBareSchemaGenerator e
generateBareSchemaTypeForCollection(sequence, genericParameterType,
parameterName, jMethod.getName());
+ } else if (methodParameter != null && Document.class.isAssignableFrom(methodParameter)) {
+ generateBareSchemaTypeForDocument(sequence,
+ parameterName);
} else {
generateSchemaForType(sequence, methodParameter, parameterName);
}
@@ -448,5 +455,34 @@ public class DocLitBareSchemaGenerator e
QName schemaTypeName = generateSchemaForCollection(sequence,
genericType, partName);
}
+
+ /**
+ * Generate bare schema type for document.
+ *
+ * @param sequence
+ * the sequence
+ * @param parameterName
+ * the parameter name
+ */
+ private void generateBareSchemaTypeForDocument(XmlSchemaSequence sequence,
+ String parameterName) {
+ QName schemaTypeName = generateSchemaTypeForDocument(sequence,
+ parameterName);
+ if (sequence != null) {
+ return;
+ }
+ XmlSchemaElement elt1 = new XmlSchemaElement();
+ elt1.setSchemaTypeName(schemaTypeName);
+ elt1.setName(parameterName);
+ elt1.setNillable(true);
+ QName elementName = new QName(schemaTargetNameSpace, parameterName,
+ schema_namespace_prefix);
+ elt1.setQName(elementName);
+ XmlSchema xmlSchema = getXmlSchema(schemaTargetNameSpace);
+ xmlSchema.getElements().add(elementName, elt1);
+ xmlSchema.getItems().add(elt1);
+ typeTable.addComplexSchema(parameterName, elementName);
+
+ }
}