Author: alessio.soldano(a)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();
Show replies by thread