[jbosstools-commits] JBoss Tools SVN: r24278 - in trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui: views and 1 other directory.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Aug 18 18:08:08 EDT 2010


Author: bfitzpat
Date: 2010-08-18 18:08:08 -0400 (Wed, 18 Aug 2010)
New Revision: 24278

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/views/WSDLBrowseDialog.java
Log:
OPEN - issue JBIDE-6865: WS Tester fails to parse some WSDL operations 
https://jira.jboss.org/browse/JBIDE-6865

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-08-18 21:07:32 UTC (rev 24277)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/utils/TesterWSDLUtils.java	2010-08-18 22:08:08 UTC (rev 24278)
@@ -260,6 +260,14 @@
 										String partName = part.getName();
 										if (parts.size() == 1) partName = null;
 										String out = createMessageForSchemaElement(wsdlDefinition, partName, schemaName, ns);
+										if (out == null) {
+											StringBuffer tempBuffer = new StringBuffer();
+											tempBuffer.append('<' + part.getName());
+	//										tempBuffer.append(" xmlns = \"" + ns + "\""); //$NON-NLS-1$ //$NON-NLS-2$
+											tempBuffer.append(">?"); //$NON-NLS-1$
+											tempBuffer.append("</" + part.getName() + ">\n");//$NON-NLS-1$//$NON-NLS-2$
+											out = tempBuffer.toString();
+										}
 										return out;
 									}
 								}
@@ -477,35 +485,37 @@
 						Iterator<?> vectorIter = schemaImportVector.iterator();
 						while (vectorIter.hasNext()) {
 							SchemaImport schemaImport = (SchemaImport) vectorIter.next();
-							org.jdom.Element jdomSchemaImportElement = domBuilder.build(schemaImport.getReferencedSchema().getElement());
-							List<?> innerList = jdomSchemaImportElement.getChildren();
-							
-							for (int i = 0; i < innerList.size(); i++){
-								org.jdom.Element temp = (org.jdom.Element) innerList.get(i);
-								String rootName = null;
-								if (temp.getAttribute(NAME_ATTR) != null) 
-									rootName = temp.getAttribute(NAME_ATTR).getValue();
+							if (schemaImport.getReferencedSchema() != null) {
+								org.jdom.Element jdomSchemaImportElement = domBuilder.build(schemaImport.getReferencedSchema().getElement());
+								List<?> innerList = jdomSchemaImportElement.getChildren();
 								
-								if (rootName != null && rootName.equalsIgnoreCase(messageName)) {
-									StringBuffer buf = new StringBuffer();
-									buf.append('<' + rootName);
-									buf.append(" xmlns = \"" + namespace + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-									buf.append(">\n"); //$NON-NLS-1$
-									if (!temp.getChildren().isEmpty()){
-										org.jdom.Element temp2 = (org.jdom.Element)temp.getChildren().get(0);
-										if (temp2.getName().contains(COMPLEX_TYPE_NAME)) {
-											String elementStr = processComplexType(wsdlDefinition, temp2);
-											buf.append(elementStr);
-										} else if (temp2.getName().contains(RESTRICTION_NAME)){
-											String elementStr = processType(wsdlDefinition, temp2, RESTRICTION_NAME, false);
-											buf.append(elementStr);
-										} else {
-											String elementStr = processChild(wsdlDefinition, temp2);
-											buf.append(elementStr);
+								for (int i = 0; i < innerList.size(); i++){
+									org.jdom.Element temp = (org.jdom.Element) innerList.get(i);
+									String rootName = null;
+									if (temp.getAttribute(NAME_ATTR) != null) 
+										rootName = temp.getAttribute(NAME_ATTR).getValue();
+									
+									if (rootName != null && rootName.equalsIgnoreCase(messageName)) {
+										StringBuffer buf = new StringBuffer();
+										buf.append('<' + rootName);
+										buf.append(" xmlns = \"" + namespace + "\""); //$NON-NLS-1$ //$NON-NLS-2$
+										buf.append(">\n"); //$NON-NLS-1$
+										if (!temp.getChildren().isEmpty()){
+											org.jdom.Element temp2 = (org.jdom.Element)temp.getChildren().get(0);
+											if (temp2.getName().contains(COMPLEX_TYPE_NAME)) {
+												String elementStr = processComplexType(wsdlDefinition, temp2);
+												buf.append(elementStr);
+											} else if (temp2.getName().contains(RESTRICTION_NAME)){
+												String elementStr = processType(wsdlDefinition, temp2, RESTRICTION_NAME, false);
+												buf.append(elementStr);
+											} else {
+												String elementStr = processChild(wsdlDefinition, temp2);
+												buf.append(elementStr);
+											}
 										}
+										buf.append("</" + rootName + ">\n");//$NON-NLS-1$//$NON-NLS-2$
+										return buf.toString();
 									}
-									buf.append("</" + rootName + ">\n");//$NON-NLS-1$//$NON-NLS-2$
-									return buf.toString();
 								}
 							}
 						}

Modified: trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/WSDLBrowseDialog.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/WSDLBrowseDialog.java	2010-08-18 21:07:32 UTC (rev 24277)
+++ trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/views/WSDLBrowseDialog.java	2010-08-18 22:08:08 UTC (rev 24278)
@@ -18,6 +18,7 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Comparator;
 import java.util.Iterator;
 
 import javax.wsdl.Binding;
@@ -491,10 +492,14 @@
 			PortType portType = wsdlBinding.getPortType();
 			@SuppressWarnings("rawtypes")
 			java.util.List operations = portType.getOperations();
+			
+			@SuppressWarnings("unchecked")
+			Operation[] operationsArray = 
+				(Operation[]) operations.toArray(new Operation[operations.size()]);
+			Arrays.sort(operationsArray, new WSDLOperationComparator());
 
-			Iterator<?> iter = operations.iterator();
-			while (iter.hasNext()) {
-				Operation operation = (Operation) iter.next();
+			for (int i = 0; i < operationsArray.length; i++) {
+				Operation operation = (Operation) operationsArray[i];//iter.next();
 				opList.add(operation.getName());
 				opList.setData(operation.getName(), operation);
 			}
@@ -517,6 +522,13 @@
 		}
 	}
 
+	class WSDLOperationComparator implements Comparator<Operation>{
+
+	    public int compare(Operation o1, Operation o2) {
+	        return o1.getName().compareToIgnoreCase(o2.getName());
+	    }
+	}	
+	
 	private void updatePortCombo(){
 		if (serviceCombo.getSelectionIndex() > -1) {
 			String text = serviceCombo.getItem(serviceCombo.getSelectionIndex());



More information about the jbosstools-commits mailing list