[wise-commits] wise SVN: r526 - webgui/trunk/src/main/java/org/jboss/wise/gui.

wise-commits at lists.jboss.org wise-commits at lists.jboss.org
Tue Feb 19 10:52:17 EST 2013


Author: alessio.soldano at jboss.com
Date: 2013-02-19 10:52:17 -0500 (Tue, 19 Feb 2013)
New Revision: 526

Modified:
   webgui/trunk/src/main/java/org/jboss/wise/gui/ClientConversationBean.java
   webgui/trunk/src/main/java/org/jboss/wise/gui/ClientHelper.java
Log:
[WISE-184] Do not show input elements for Mode.OUT webmethod params


Modified: webgui/trunk/src/main/java/org/jboss/wise/gui/ClientConversationBean.java
===================================================================
--- webgui/trunk/src/main/java/org/jboss/wise/gui/ClientConversationBean.java	2013-02-19 15:10:22 UTC (rev 525)
+++ webgui/trunk/src/main/java/org/jboss/wise/gui/ClientConversationBean.java	2013-02-19 15:52:17 UTC (rev 526)
@@ -20,6 +20,7 @@
 import java.io.PrintStream;
 import java.io.Serializable;
 import java.util.List;
+import java.util.Map;
 
 import javax.annotation.PostConstruct;
 import javax.enterprise.context.Conversation;
@@ -126,7 +127,9 @@
 	    WSMethod wsMethod = ClientHelper.getWSMethod(currentOperation, client);
 	    InvocationResult result = null;
 	    try {
-		result = wsMethod.invoke(ClientHelper.processGUIParameters(inputTree));
+		Map<String, Object> params = ClientHelper.processGUIParameters(inputTree);
+		ClientHelper.addOUTParameters(params, wsMethod, client);
+		result = wsMethod.invoke(params);
 	    } catch (InvocationException e) {
 		logException(e);
 		error = "Unexpected fault / error received from target endpoint";

Modified: webgui/trunk/src/main/java/org/jboss/wise/gui/ClientHelper.java
===================================================================
--- webgui/trunk/src/main/java/org/jboss/wise/gui/ClientHelper.java	2013-02-19 15:10:22 UTC (rev 525)
+++ webgui/trunk/src/main/java/org/jboss/wise/gui/ClientHelper.java	2013-02-19 15:52:17 UTC (rev 526)
@@ -27,6 +27,7 @@
 import java.util.StringTokenizer;
 import java.util.Map.Entry;
 
+import javax.jws.WebParam;
 import javax.jws.soap.SOAPBinding;
 
 import org.jboss.wise.core.client.InvocationResult;
@@ -64,13 +65,15 @@
 	    rpcLit = style != null && SOAPBinding.Style.RPC.equals(style);
 	}
 	for (WebParameter parameter : parameters) {
-	    WiseTreeElement wte = builder.buildTreeFromType(parameter.getType(), parameter.getName(), null, !rpcLit);
-	    rootElement.addChild(wte.getId(), wte);
+	    if (parameter.getMode() != WebParam.Mode.OUT) {
+		WiseTreeElement wte = builder.buildTreeFromType(parameter.getType(), parameter.getName(), null, !rpcLit);
+		rootElement.addChild(wte.getId(), wte);
+	    }
 	}
 	return rootElement;
     }
     
-    public static TreeNodeImpl convertOperationResultToGui(InvocationResult result,  WSDynamicClient client) {
+    public static TreeNodeImpl convertOperationResultToGui(InvocationResult result, WSDynamicClient client) {
 	WiseTreeElementBuilder builder = new WiseTreeElementBuilder(client, false);
 	TreeNodeImpl rootElement = new TreeNodeImpl();
 	Map<String, Type> resTypes = new HashMap<String, Type>();
@@ -141,6 +144,20 @@
 	}
 	return params;
     }
+    
+    public static void addOUTParameters(Map<String, Object> params, WSMethod wsMethod, WSDynamicClient client) {
+	WiseTreeElementBuilder builder = null;
+	final Collection<? extends WebParameter> parameters = wsMethod.getWebParams().values();
+	for (WebParameter parameter : parameters) {
+	    if (parameter.getMode() == WebParam.Mode.OUT) {
+		if (builder == null) {
+		    builder = new WiseTreeElementBuilder(client, true);
+		}
+		WiseTreeElement wte = builder.buildTreeFromType(parameter.getType(), parameter.getName(), null, true);
+		params.put(wte.getName(), wte.isNil() ? null : wte.toObject());
+	    }
+	}
+    }
 
     public static String toErrorMessage(Exception e) {
 	StringBuilder sb = new StringBuilder();



More information about the wise-commits mailing list