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 pr...@apache.org on 2005/10/07 14:44:15 UTC
svn commit: r307103 -
/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/CUtils.java
Author: prestonf
Date: Fri Oct 7 05:44:12 2005
New Revision: 307103
URL: http://svn.apache.org/viewcvs?rev=307103&view=rev
Log:
Part of the fix for AXISCPP-849 and AXIS-850
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/CUtils.java
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/CUtils.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/CUtils.java?rev=307103&r1=307102&r2=307103&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 Fri Oct 7 05:44:12 2005
@@ -50,6 +50,8 @@
public static final String C_FILE_SUFFIX = ".c";
// File suffix fr C Header files
public static final String C_HEADER_SUFFIX = ".h";
+ // Valid XML but invalid or reserved C/C++ characters
+ public static final String VALID_XML_INVALID_C = ".;-&*+/^%";
/* This type mapping only maps simple types the mapping for
complex types are done with in the type class */
@@ -1011,5 +1013,32 @@
return null;
}
-
+ public static String sanitiseClassName( String name)
+ {
+ String sanitisedName = name;
+
+ for( int iRSLCount = 0; iRSLCount < VALID_XML_INVALID_C.length(); iRSLCount++)
+ {
+ sanitisedName.replaceAll( VALID_XML_INVALID_C.substring( iRSLCount, iRSLCount), "_");
+ }
+
+ return sanitisedName;
+ }
+
+ public static String sanitiseAttributeName( String classname, String name)
+ {
+ String sanitisedName = name;
+
+ for( int iRSLCount = 0; iRSLCount < VALID_XML_INVALID_C.length(); iRSLCount++)
+ {
+ sanitisedName.replaceAll( VALID_XML_INVALID_C.substring( iRSLCount, iRSLCount), "_");
+ }
+
+ if( classname.equals( sanitisedName))
+ {
+ sanitisedName += "_";
+ }
+
+ return sanitisedName;
+ }
}