From c70b1324673b80d389e11ebcda016cfb322e47da Mon Sep 17 00:00:00 2001 From: hanahmily Date: Fri, 2 Feb 2018 14:55:02 +0800 Subject: [PATCH 1/2] Add variables parse --- .../apm/collector/ui/jetty/handler/GraphQLHandler.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/jetty/handler/GraphQLHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/jetty/handler/GraphQLHandler.java index 82f7cdf44..18799e375 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/jetty/handler/GraphQLHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/jetty/handler/GraphQLHandler.java @@ -32,6 +32,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.skywalking.apm.collector.core.module.ModuleManager; import org.apache.skywalking.apm.collector.core.util.CollectionUtils; @@ -92,7 +93,7 @@ public class GraphQLHandler extends JettyHandler { } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { - return execute(req.getParameter(QUERY)); + return execute(req.getParameter(QUERY), null); } @Override protected JsonElement doPost(HttpServletRequest req) throws ArgumentsParseException, IOException { @@ -104,13 +105,14 @@ public class GraphQLHandler extends JettyHandler { } JsonObject requestJson = gson.fromJson(request, JsonObject.class); - return execute(requestJson.get(QUERY).getAsString()); + return execute(requestJson.get(QUERY).getAsString(), gson.fromJson(requestJson.get("variables"), Map.class)); } - private JsonObject execute(String request) { + private JsonObject execute(String request, Map variables) { try { - ExecutionInput executionInput = ExecutionInput.newExecutionInput().query(request).build(); + ExecutionInput executionInput = ExecutionInput.newExecutionInput().query(request).variables(variables).build(); ExecutionResult executionResult = graphQL.execute(executionInput); + logger.info("Execution result is {}", executionResult); Object data = executionResult.getData(); List errors = executionResult.getErrors(); From cff48719754ef7992e006b21729f5e1652eb4655 Mon Sep 17 00:00:00 2001 From: hanahmily Date: Fri, 2 Feb 2018 17:09:36 +0800 Subject: [PATCH 2/2] Convert the type of data node from String to JsonObject --- .../apm/collector/ui/jetty/handler/GraphQLHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/jetty/handler/GraphQLHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/jetty/handler/GraphQLHandler.java index 18799e375..c66a5052c 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/jetty/handler/GraphQLHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/jetty/handler/GraphQLHandler.java @@ -118,7 +118,7 @@ public class GraphQLHandler extends JettyHandler { JsonObject jsonObject = new JsonObject(); if (data != null) { - jsonObject.addProperty(DATA, data.toString()); + jsonObject.add(DATA, gson.fromJson(gson.toJson(data), JsonObject.class)); } if (CollectionUtils.isNotEmpty(errors)) {