diff options
Diffstat (limited to '')
-rw-r--r-- | sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc20Request.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc20Request.java b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc20Request.java index 1af087aa25..2ee18bcf5a 100644 --- a/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc20Request.java +++ b/sca-java-2.x/trunk/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/protocol/JsonRpc20Request.java @@ -19,6 +19,7 @@ package org.apache.tuscany.sca.binding.jsonrpc.protocol; +import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -49,6 +50,21 @@ public class JsonRpc20Request { this.mappedParams = mappedParams; } + public JSONObject toJSONObject() throws JSONException { + JSONObject req = new JSONObject(); + req.put("jsonrpc", "2.0"); + req.put("id", id); + req.put("method", method); + if (params != null) { + JSONArray args = new JSONArray(Arrays.asList(params)); + req.put("params", args); + } else { + JSONObject args = new JSONObject(mappedParams); + req.put("params", args); + } + return req; + } + public JsonRpc20Request(JSONObject req) throws JSONException { super(); if (req.has("jsonrpc") && "2.0".equals(req.getString("jsonrpc"))) { |