private static void ExecGetResult(string ruleId, ResultCondition condition, KiiHttpClientFactory factory, KiiResultCallback callback)
        {
            string url = KiiAnalytics.BaseUrl + "/apps/" + KiiAnalytics.AppID + "/analytics/" + ruleId + "/data";

            if (condition != null)
            {
                url += "?" + condition.ToQueryString();
            }

            KiiHttpClient client = factory.Create(url, KiiAnalytics.AppID, KiiAnalytics.AppKey, KiiHttpMethod.GET);

            client.Accept = "application/vnd.kii.GroupedAnalyticResult+json";
            client.SendRequest((ApiResponse response, Exception e) => {
                if (e != null)
                {
                    invokeResultCallback(callback, ruleId, condition, null, e);
                    return;
                }
                try {
                    JsonObject obj       = new JsonObject(response.Body);
                    JsonArray snapshots  = obj.GetJsonArray("snapshots");
                    GroupedResult result = GroupedResult.Parse(snapshots);
                    invokeResultCallback(callback, ruleId, condition, result, null);
                } catch (JsonException) {
                    Exception ex = new IllegalKiiBaseObjectFormatException("Server response is broken.");
                    invokeResultCallback(callback, ruleId, condition, null, ex);
                }
            });
        }
Exemple #2
0
        public void Test_0001_Parse_noJsonObject()
        {
            JsonArray array = new JsonArray("[" +
                                            "1, 2" +
                                            "]");

            GroupedResult.Parse(array);
        }
Exemple #3
0
        public void Test_0013_Parse_noData()
        {
            JsonArray array = new JsonArray("[" +
                                            "{" +
                                            "\"name\":\"Male\"," +
                                            "\"pointInterval\":100," +
                                            "\"pointStart\":50," +
                                            "}" +
                                            "]");

            GroupedResult.Parse(array);
        }
Exemple #4
0
        public void Test_0012_Parse_noPointStart()
        {
            JsonArray array = new JsonArray("[" +
                                            "{" +
                                            "\"name\":\"Male\"," +
                                            "\"pointInterval\":100," +
                                            "\"data\":[2,3,4]" +
                                            "}" +
                                            "]");

            GroupedResult.Parse(array);
        }
Exemple #5
0
        public void Test_0010_Parse_noName()
        {
            JsonArray array = new JsonArray("[" +
                                            "{" +
                                            "\"pointInterval\":100," +
                                            "\"pointStart\":50," +
                                            "\"data\":[2,3,4]" +
                                            "}" +
                                            "]");

            GroupedResult.Parse(array);
        }
Exemple #6
0
        public void Test_0000_Parse()
        {
            JsonArray array = new JsonArray("[" +
                                            "{" +
                                            "\"name\":\"Male\"," +
                                            "\"pointInterval\":100," +
                                            "\"pointStart\":50," +
                                            "\"data\":[2,3,4]" +
                                            "}" +
                                            "]");
            GroupedResult result = GroupedResult.Parse(array);

            Assert.AreEqual(1, result.SnapShots.Count);

            GroupedSnapShot snapShot = result.SnapShots[0];

            Assert.AreEqual("Male", snapShot.Name);
            Assert.AreEqual(100, snapShot.PointInterval);
            Assert.AreEqual(50, snapShot.PointStart);
            JsonArray data = snapShot.Data;

            Assert.AreEqual(3, data.Length());
        }