You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2008/01/08 02:05:27 UTC
svn commit: r609826 -
/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
Author: nadiramra
Date: Mon Jan 7 17:05:23 2008
New Revision: 609826
URL: http://svn.apache.org/viewvc?rev=609826&view=rev
Log:
Simplify restrictor function and fix a bug where first entry was not consumed.
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java?rev=609826&r1=609825&r2=609826&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java Mon Jan 7 17:05:23 2008
@@ -1293,62 +1293,42 @@
protected void writeRestrictionCheckerFunction() throws WrapperFault
{
+ //TODO write code to check the restrictions.
try
{
CUtils.printMethodComment(writer, "Function used to check whether object has allowed values. Not implemented yet.");
- writer.write("int Check_Restrictions_" + classname + "(" + classname + " value)\n");
-
- //TODO write code to check the restrictions.
+ boolean isPtrType = CUtils.isPointerType( CUtils.getclass4qname( type.getBaseType()));
+ writer.write("int Check_Restrictions_" + classname + "(" + classname + " value)\n");
writer.write("{\n");
-
- if( CUtils.isPointerType( CUtils.getclass4qname( type.getBaseType())))
+
+ Iterator i = type.getEnumerationdata().iterator();
+ if (i.hasNext())
{
- writer.write( "// String type\n");
- writer.write( "// Number of " + classname + " elements = " + (type.getEnumerationdata().size() - 1) + "\n");
-
- Iterator i = type.getEnumerationdata().iterator();
- int iIndex = 0;
+ // The first entry is the base type...consume it.
+ i.next();
+ int iIndex=0;
while( i.hasNext())
{
if( iIndex == 0)
- writer.write( "//\tif( ");
+ {
+ writer.write( "//\tif (");
+ iIndex++;
+ }
else
writer.write( " ||\n//\t ");
QName qnElement = (QName) i.next();
- writer.write( "!strcmp( value, " + classname+ "_" + qnElement.getNamespaceURI() + ")");
- iIndex++;
- }
-
- writer.write( "//)\n//\t{\n");
- writer.write( "//\t\treturn 1;\n");
- writer.write( "//\t}\n");
- }
- else
- {
- writer.write( "// Non-string type\n");
- writer.write( "// Number of " + classname + " enums = " + (type.getEnumerationdata().size() - 1) + "\n");
-
- Iterator i = type.getEnumerationdata().iterator();
- int iIndex = 0;
-
- while( i.hasNext())
- {
- if( iIndex == 0)
- writer.write( "//\tif( ");
- else
- writer.write( " ||\n//\t ");
- QName qnElement = (QName) i.next();
- writer.write( "value == ENUM" + classname.toUpperCase()+ "_"
- + qnElement.getNamespaceURI());
- iIndex++;
+ if (isPtrType)
+ writer.write( "!strcmp( value, " + classname+ "_" + qnElement.getNamespaceURI() + ")");
+ else
+ writer.write( "value == ENUM" + classname.toUpperCase()+ "_" + qnElement.getNamespaceURI());
}
- writer.write( "//)\n//\t{\n");
+ writer.write( ")\n//\t{\n");
writer.write( "//\t\treturn 1;\n");
writer.write( "//\t}\n");
}
@@ -1359,7 +1339,7 @@
catch (IOException e)
{
throw new WrapperFault(e);
- }
+ }
}
protected File getFilePath(boolean useServiceName) throws WrapperFault
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org