[jbosstools-commits] JBoss Tools SVN: r23705 - trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Fri Jul 23 12:28:22 EDT 2010
Author: bfitzpat
Date: 2010-07-23 12:28:21 -0400 (Fri, 23 Jul 2010)
New Revision: 23705
Modified:
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/TesterWSDLUtils.java
Log:
[JBIDE-6694] Fixes issue with simple types not being caught correctly
Modified: trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/TesterWSDLUtils.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/TesterWSDLUtils.java 2010-07-23 14:19:15 UTC (rev 23704)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/TesterWSDLUtils.java 2010-07-23 16:28:21 UTC (rev 23705)
@@ -63,8 +63,26 @@
private static final String ENUMERATION_NAME = "enumeration"; //$NON-NLS-1$
private static final String RESTRICTION_NAME = "restriction"; //$NON-NLS-1$
private static final String SIMPLE_TYPE_NAME = "simpleType"; //$NON-NLS-1$
+ private static final String DOUBLE_TYPE_NAME = "double"; //$NON-NLS-1$
private static final String INT_TYPE_NAME = "int"; //$NON-NLS-1$
private static final String STRING_TYPE_NAME = "string"; //$NON-NLS-1$
+ private static final String BOOLEAN_TYPE_NAME = "boolean"; //$NON-NLS-1$
+ private static final String DECIMAL_TYPE_NAME = "decimal"; //$NON-NLS-1$
+ private static final String PRECISION_DECIMAL_TYPE_NAME = "precisionDecimal"; //$NON-NLS-1$
+ private static final String FLOAT_TYPE_NAME = "float"; //$NON-NLS-1$
+ private static final String DURATION_TYPE_NAME = "duration"; //$NON-NLS-1$
+ private static final String DATETIME_TYPE_NAME = "dateTime"; //$NON-NLS-1$
+ private static final String DATE_TYPE_NAME = "date"; //$NON-NLS-1$
+ private static final String TIME_TYPE_NAME = "time"; //$NON-NLS-1$
+ private static final String GYEARMONTH_TYPE_NAME = "gYearMonth"; //$NON-NLS-1$
+ private static final String GYEAR_TYPE_NAME = "gYear"; //$NON-NLS-1$
+ private static final String GMONTHDAY_TYPE_NAME = "gMonthDay"; //$NON-NLS-1$
+ private static final String GDAY_TYPE_NAME = "gDay"; //$NON-NLS-1$
+ private static final String GMONTH_TYPE_NAME = "gMonth"; //$NON-NLS-1$
+ private static final String HEXBINARY_TYPE_NAME = "hexBinary"; //$NON-NLS-1$
+ private static final String BASE64BINARY_TYPE_NAME = "base64Binary"; //$NON-NLS-1$
+ private static final String ANYURI_TYPE_NAME = "anyURI"; //$NON-NLS-1$
+ private static final String NOTATION_TYPE_NAME = "NOTATION"; //$NON-NLS-1$
private static final String MIN_OCCURS_ATTR = "minOccurs"; //$NON-NLS-1$
private static final String TYPE_ATTR = "type"; //$NON-NLS-1$
private static final String NAME_ATTR = "name"; //$NON-NLS-1$
@@ -543,15 +561,43 @@
}
return buf.toString();
}
+
+ private static boolean isTypeBaseXSDOrSimple ( String type ) {
+ // typically the type starts with a namespace prefix, so
+ // we want to compare the end of the string with the actual
+ // type name
+ if (type.endsWith(STRING_TYPE_NAME) ||
+ type.endsWith(BOOLEAN_TYPE_NAME) ||
+ type.endsWith(DECIMAL_TYPE_NAME) ||
+ type.endsWith(INT_TYPE_NAME) ||
+ type.endsWith(DOUBLE_TYPE_NAME) ||
+ type.endsWith(FLOAT_TYPE_NAME) ||
+ type.endsWith(DURATION_TYPE_NAME) ||
+ type.endsWith(DATE_TYPE_NAME) ||
+ type.endsWith(TIME_TYPE_NAME) ||
+ type.endsWith(DATETIME_TYPE_NAME) ||
+ type.endsWith(ANYURI_TYPE_NAME) ||
+ type.endsWith(BASE64BINARY_TYPE_NAME) ||
+ type.endsWith(GDAY_TYPE_NAME) ||
+ type.endsWith(GMONTH_TYPE_NAME) ||
+ type.endsWith(GMONTHDAY_TYPE_NAME) ||
+ type.endsWith(GYEAR_TYPE_NAME) ||
+ type.endsWith(GYEARMONTH_TYPE_NAME) ||
+ type.endsWith(HEXBINARY_TYPE_NAME) ||
+ type.endsWith(NOTATION_TYPE_NAME) ||
+ type.endsWith(PRECISION_DECIMAL_TYPE_NAME)
+ ) {
+ return true;
+ } else if (type.contains(SIMPLE_TYPE_NAME)) {
+ return true;
+ }
+ return false;
+ }
private static String processType (Definition wsdlDefinition, org.jdom.Element childEl, String type, boolean isOptional) {
StringBuffer buf = new StringBuffer();
- if (type.contains(STRING_TYPE_NAME)) {
+ if (isTypeBaseXSDOrSimple(type)) {
buf.append("?"); //$NON-NLS-1$
- } else if (type.contains(INT_TYPE_NAME)) {
- buf.append("?"); //$NON-NLS-1$
- } else if (type.contains(SIMPLE_TYPE_NAME)) {
- buf.append("?"); //$NON-NLS-1$
} else if (type.contains(RESTRICTION_NAME)) {
for (int j = 0; j < childEl.getChildren().size(); j++) {
org.jdom.Element tempEl = (org.jdom.Element) childEl.getChildren().get(j);
More information about the jbosstools-commits
mailing list