You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2008/09/09 23:39:27 UTC
svn commit: r693628 - in
/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws:
CUtils.java ParamWriter.java cpp/ParmHeaderFileWriter.java
info/ParameterInfo.java info/Type.java info/WSDLInfo.java
Author: nadiramra
Date: Tue Sep 9 14:39:27 2008
New Revision: 693628
URL: http://svn.apache.org/viewvc?rev=693628&view=rev
Log:
Changes in preparation for xsd:anyType support.
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/CUtils.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/ParamWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ParmHeaderFileWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/ParameterInfo.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/Type.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/CUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/CUtils.java?rev=693628&r1=693627&r2=693628&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/CUtils.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/CUtils.java Tue Sep 9 14:39:27 2008
@@ -50,7 +50,8 @@
{
public static final String WRAPPER_NAME_APPENDER = "Wrapper";
public static final String CLASS_LOADER_APPENDER = "Service";
- public static final QName anyTypeQname = new QName("http://ws.apache.org/axisc/types","AnyType");
+ public static final QName xsdAnyElementQName = new QName("http://ws.apache.org/axisc/types","AnyType");
+ public static final QName xsdAnyTypeQName = new QName(WrapperConstants.SCHEMA_NAMESPACE,"anyType");
// File suffix for C++ Class files
private static final String CPP_CLASS_SUFFIX = ".cpp";
@@ -117,7 +118,9 @@
static{
String[] primitiveTypes = {
+ // ====================
// C++ primitive types
+ // ====================
"xsd__duration", "xsd__dateTime", "xsd__time",
"xsd__date", "xsd__gYearMonth", "xsd__gYear",
"xsd__gMonthDay", "xsd__gDay", "xsd__gMonth",
@@ -133,7 +136,10 @@
"xsd__unsignedInt", "xsd__unsignedShort", "xsd__unsignedByte",
"xsd__positiveInteger", "xsd__double", "xsd__anyURI",
"xsd__QName", "xsd__NOTATION",
+
+ // ====================
// C primitive types
+ // ====================
"xsdc__duration", "xsdc__dateTime", "xsdc__time",
"xsdc__date", "xsdc__gYearMonth", "xsdc__gYear",
"xsdc__gMonthDay", "xsdc__gDay", "xsdc__gMonth",
@@ -795,14 +801,25 @@
}
/**
- * Method to determine if QName represents an AnyType.
+ * Method to determine if QName represents an xsd:any element.
+ *
+ * @param name
+ * @return
+ */
+ public static boolean isAnyElement(QName name)
+ {
+ return name.equals(xsdAnyElementQName);
+ }
+
+ /**
+ * Method to determine if QName represents an xsd:anyType.
*
* @param name
* @return
*/
public static boolean isAnyType(QName name)
{
- return name.equals(anyTypeQname);
+ return name.equals(xsdAnyTypeQName);
}
/**
@@ -1190,7 +1207,7 @@
WebServiceContext wscontext)
throws WrapperFault
{
- if (param.getType().getName().equals(CUtils.anyTypeQname))
+ if (CUtils.isAnyElement(param.getType().getName()))
return "AnyType*";
Type type = wscontext.getTypemap().getType(param.getSchemaName());
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/ParamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/ParamWriter.java?rev=693628&r1=693627&r2=693628&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/ParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/ParamWriter.java Tue Sep 9 14:39:27 2008
@@ -151,8 +151,7 @@
this.attribs[i].setParamName((String) elementfields.get(i - attributeParamCount), wscontext.getTypemap());
CElementDecl elem = type.getElementForElementName(this.attribs[i].getParamName());
Type elementType = elem.getType();
- if (CUtils.isAnyType(elementType.getName()))
- this.attribs[i].setAnyType(true);
+ this.attribs[i].setAnyType(elementType.isAnyType());
if (CUtils.isSimpleType(elementType.getName()))
this.attribs[i].setTypeName(CUtils.getSimpleType(elementType.getName()));
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ParmHeaderFileWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ParmHeaderFileWriter.java?rev=693628&r1=693627&r2=693628&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ParmHeaderFileWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ParmHeaderFileWriter.java Tue Sep 9 14:39:27 2008
@@ -473,7 +473,7 @@
{
try
{
- if (type.isSimpleType() || type.isArray() || type.getName().equals(CUtils.anyTypeQname)
+ if (type.isSimpleType() || type.isArray() || type.isAnyType()
|| (type.isAnonymous() && !type.isExternalized()))
return;
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/ParameterInfo.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/ParameterInfo.java?rev=693628&r1=693627&r2=693628&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/ParameterInfo.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/ParameterInfo.java Tue Sep 9 14:39:27 2008
@@ -259,11 +259,6 @@
{
return methodName;
}
-
- public void setMethodName(String methodName)
- {
- this.methodName = methodName;
- }
/**
* @return String
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/Type.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/Type.java?rev=693628&r1=693627&r2=693628&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/Type.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/Type.java Tue Sep 9 14:39:27 2008
@@ -111,6 +111,25 @@
// is type the input type for unwrapped doc/lit operation?
private boolean isUnwrappedInputType = false;
+ // is any type?
+ private boolean c_isAnyType = false;
+
+
+ /**
+ * Constructor.
+ * This is solely for the creating of types associated with xsd:any elements!
+ */
+ public Type()
+ {
+ this(CUtils.xsdAnyElementQName, CUtils.xsdAnyElementQName.getLocalPart());
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param name
+ * @param languageSpecificName
+ */
public Type(QName name, String languageSpecificName)
{
this.languageSpecificName = languageSpecificName;
@@ -136,6 +155,9 @@
isAnonymous = true;
externalize = false;
}
+
+ // See if this type represents an xsd:any element or an xsd:anyType type.
+ c_isAnyType = CUtils.isAnyType(name) || CUtils.isAnyElement(name);
if (name.getNamespaceURI().equals(WrapperConstants.APACHE_XMLSOAP_NAMESPACE) &&
(name.getLocalPart().equals("DataHandler") ||
@@ -514,4 +536,12 @@
{
return isUnwrappedInputType;
}
+
+ /**
+ * @return the c_isAnyType
+ */
+ public boolean isAnyType()
+ {
+ return c_isAnyType;
+ }
}
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java?rev=693628&r1=693627&r2=693628&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java Tue Sep 9 14:39:27 2008
@@ -787,7 +787,7 @@
if (elem.getAnyElement())
{
- newSecondaryType = new Type(CUtils.anyTypeQname, CUtils.anyTypeQname.getLocalPart());
+ newSecondaryType = new Type();
}
else
{
@@ -1274,8 +1274,7 @@
pinfo.setType(type);
pinfo.setParamName(elementName, c_typeMap);
pinfo.setElementName(element.getQName());
- if (type.getName().equals(CUtils.anyTypeQname))
- pinfo.setAnyType(true);
+ pinfo.setAnyType(type.isAnyType());
minfo.addOutputParameter(pinfo);
minfo.setConsumeBodyOnMessageValidation(false);
}
@@ -1291,21 +1290,11 @@
ParameterInfo pinfo = new ParameterInfo();
pinfo.setType(innerType);
pinfo.setParamName(elementname, c_typeMap);
-
- if (eleinfo.getMaxOccurs() > 1)
- pinfo.setArray(true);
-
+ pinfo.setArray(eleinfo.getMaxOccurs() > 1);
pinfo.setNillable(eleinfo.isNillable());
-
- if (eleinfo.getMinOccurs() == 0)
- pinfo.setOptional(true);
- else
- pinfo.setOptional(false);
-
+ pinfo.setOptional(eleinfo.getMinOccurs() == 0);
pinfo.setElementName(type.getElementForElementName(elementname).getName());
-
- if (innerType.getName().equals(CUtils.anyTypeQname))
- pinfo.setAnyType(true);
+ pinfo.setAnyType(innerType.isAnyType());
minfo.addOutputParameter(pinfo);
}
@@ -1314,6 +1303,7 @@
else
{
String elementName = (String) element.getQName().getLocalPart();
+
ParameterInfo pinfo = new ParameterInfo();
pinfo.setType(type);
type.setIsUnwrappedOutputType(true);
@@ -1324,8 +1314,7 @@
else
pinfo.setElementName(type.getName());
- if (type.getName().equals(CUtils.anyTypeQname))
- pinfo.setAnyType(true);
+ pinfo.setAnyType(type.isAnyType());
// Let us be nice and uppercase the first character in type name,
// in addition to resolving method name/type conflicts.
@@ -1433,22 +1422,12 @@
ParameterInfo pinfo = new ParameterInfo();
pinfo.setType(innerType);
- pinfo.setParamName(elementname, c_typeMap);
-
- if (eleinfo.getMaxOccurs() > 1)
- pinfo.setArray(true);
-
+ pinfo.setParamName(elementname, c_typeMap);
+ pinfo.setArray(eleinfo.getMaxOccurs() > 1);
pinfo.setElementName(type.getElementForElementName(elementname).getName());
-
- if (innerType.getName().equals(CUtils.anyTypeQname))
- pinfo.setAnyType(true);
-
+ pinfo.setAnyType(innerType.isAnyType());
pinfo.setNillable(eleinfo.isNillable());
-
- if (eleinfo.getMinOccurs() == 0)
- pinfo.setOptional(true);
- else
- pinfo.setOptional(false);
+ pinfo.setOptional(eleinfo.getMinOccurs() == 0);
minfo.addInputParameter(pinfo);
}
@@ -1490,8 +1469,7 @@
type.setIsUnwrappedInputType(true);
pinfo.setParamName(elementName, c_typeMap);
pinfo.setElementName(type.getName());
- if (type.getName().equals(CUtils.anyTypeQname))
- pinfo.setAnyType(true);
+ pinfo.setAnyType(type.isAnyType());
// Let us be nice and uppercase the first character in type name,
// in addition to resolving method name/type conflicts.