You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@edgent.apache.org by dl...@apache.org on 2017/04/21 20:55:58 UTC
[5/8] incubator-edgent git commit: extract the to-json methods
extract the to-json methods
Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/7b1967d4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/7b1967d4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/7b1967d4
Branch: refs/heads/master
Commit: 7b1967d470ddc9f54006723009203570a175d134
Parents: 34230cf
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Fri Apr 21 10:24:03 2017 -0400
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Fri Apr 21 10:24:03 2017 -0400
----------------------------------------------------------------------
.../edgent/analytics/math3/Aggregations.java | 32 --------------------
.../edgent/analytics/math3/MvResultMap.java | 31 +++++++++++++++++++
.../edgent/analytics/math3/ResultMap.java | 29 ++++++++++++++++++
.../test/analytics/math3/Statistics2Test.java | 4 +--
4 files changed, 62 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/7b1967d4/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/Aggregations.java
----------------------------------------------------------------------
diff --git a/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/Aggregations.java b/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/Aggregations.java
index c2eee98..0ac4600 100644
--- a/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/Aggregations.java
+++ b/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/Aggregations.java
@@ -23,13 +23,9 @@ import java.util.Collection;
import org.apache.edgent.analytics.math3.json.JsonAnalytics;
import org.apache.edgent.analytics.math3.stat.Regression2;
import org.apache.edgent.analytics.math3.stat.Statistic2;
-import org.apache.edgent.function.Function;
import org.apache.edgent.function.ToDoubleFunction;
import org.apache.edgent.topology.TWindow;
-import com.google.gson.Gson;
-import com.google.gson.JsonObject;
-
/**
* Apache Common Math analytics for Collections.
*
@@ -161,34 +157,6 @@ public class Aggregations {
}
/**
- * Create a {@link Function} whose {@code apply(ResultMap)} converts the value
- * to a {@code JsonObject}. The ResultMap's key's names are the JsonObject property
- * names and the property value is the key's value.
- *
- * <p>An example resulting JsonObject would be <pre>{ "MEAN":3.75, "MIN":2.0 }</pre>.
- * @return the JsonObject
- */
- public static Function<ResultMap,JsonObject> newResultsToJson() {
- Gson gson = new Gson();
- return (ResultMap resultMap) -> gson.toJsonTree(resultMap).getAsJsonObject();
- }
-
- /**
- * Create a {@link Function} whose {@code apply(MvResultMap)} converts the value
- * to a {@code JsonObject}. The MvResultMap's key's names are the JsonObject property
- * names and the property value is the JsonObject for the key's ResultMap value.
- *
- * <p>An example resulting JsonObject would be
- * <pre>{ "temperature":{"MEAN":123.75, "MAX":180.5}, "pressure":{"MAX":13.0} }</pre>.
- *
- * @return the JsonObject
- */
- public static Function<MvResultMap,JsonObject> newMvResultsToJson() {
- Gson gson = new Gson();
- return (MvResultMap mvResultMap) -> gson.toJsonTree(mvResultMap).getAsJsonObject();
- }
-
- /**
* Perform the specified {@link UnivariateAggregate} on a Collection of {@link Number}.
*
* <p>A null result is returned if the collection is empty.
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/7b1967d4/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/MvResultMap.java
----------------------------------------------------------------------
diff --git a/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/MvResultMap.java b/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/MvResultMap.java
index b1b9f8a..23796d1 100644
--- a/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/MvResultMap.java
+++ b/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/MvResultMap.java
@@ -2,6 +2,11 @@ package org.apache.edgent.analytics.math3;
import java.util.HashMap;
+import org.apache.edgent.function.Function;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+
/**
* Aggregation results for multiple aggregated variables.
*
@@ -9,4 +14,30 @@ import java.util.HashMap;
*/
public class MvResultMap extends HashMap<String,ResultMap> {
private static final long serialVersionUID = 1L;
+
+ /**
+ * Returns a {@link Function} whose {@code apply(MvResultMap)} converts the value
+ * to a {@code JsonObject}.
+ *
+ * <p>The JsonObject property names are the MvResultMap's keys and the property
+ * values are the key's associated ResultMap value as a JsonObject.
+ *
+ * <p>An example resulting JsonObject would be
+ * <pre>{ "temperature":{"MEAN":123.75, "MAX":180.5}, "pressure":{"MAX":13.0} }</pre>.
+ *
+ * @return the JsonObject
+ *
+ * @see ResultMap#toJsonObject()
+ */
+ public static Function<MvResultMap,JsonObject> toJsonObject() {
+ Gson gson = new Gson();
+ return (MvResultMap mvResultMap) -> gson.toJsonTree(mvResultMap).getAsJsonObject();
+ }
+
+ /**
+ * Create a new MvResultMap.
+ */
+ public MvResultMap() {
+ }
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/7b1967d4/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/ResultMap.java
----------------------------------------------------------------------
diff --git a/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/ResultMap.java b/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/ResultMap.java
index 3dd883a..370ff79 100644
--- a/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/ResultMap.java
+++ b/analytics/math3/src/main/java/org/apache/edgent/analytics/math3/ResultMap.java
@@ -2,9 +2,38 @@ package org.apache.edgent.analytics.math3;
import java.util.HashMap;
+import org.apache.edgent.function.Function;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+
/**
* Aggregation results for a single aggregated variable.
*/
public class ResultMap extends HashMap<UnivariateAggregate,Double> {
private static final long serialVersionUID = 1L;
+
+ /**
+ * <p>Returns a {@link Function} whose {@code apply(ResultMap)} converts the value
+ * to a {@code JsonObject}.
+ *
+ * <p>The JsonObject property names are the ResultMap's keys and the property
+ * values are the key's associated Double map value.
+ *
+ * <p>An example resulting JsonObject would be
+ * <pre>{ "MEAN":3.75, "MIN":2.0 }</pre>.
+ *
+ * @return the JsonObject
+ */
+ public static Function<ResultMap,JsonObject> toJsonObject() {
+ Gson gson = new Gson();
+ return (ResultMap resultMap) -> gson.toJsonTree(resultMap).getAsJsonObject();
+ }
+
+ /**
+ * Create a new ResultMap.
+ */
+ public ResultMap() {
+ }
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/7b1967d4/analytics/math3/src/test/java/org/apache/edgent/test/analytics/math3/Statistics2Test.java
----------------------------------------------------------------------
diff --git a/analytics/math3/src/test/java/org/apache/edgent/test/analytics/math3/Statistics2Test.java b/analytics/math3/src/test/java/org/apache/edgent/test/analytics/math3/Statistics2Test.java
index f794601..230a844 100644
--- a/analytics/math3/src/test/java/org/apache/edgent/test/analytics/math3/Statistics2Test.java
+++ b/analytics/math3/src/test/java/org/apache/edgent/test/analytics/math3/Statistics2Test.java
@@ -329,7 +329,7 @@ public class Statistics2Test extends TopologyAbstractTest implements DirectTest
result.put(Statistic2.MIN, 2.5);
result.put(Statistic2.MAX, 4.5);
- JsonObject jo = Aggregations.newResultsToJson().apply(result);
+ JsonObject jo = ResultMap.toJsonObject().apply(result);
assertTrue(jo.get(Statistic2.MIN.name()) != null);
assertEquals(jo.get(Statistic2.MIN.name()).getAsDouble(), 2.5, 0.01);
@@ -351,7 +351,7 @@ public class Statistics2Test extends TopologyAbstractTest implements DirectTest
result.put("var1", var1result);
result.put("var2", var2result);
- JsonObject jo = Aggregations.newMvResultsToJson().apply(result);
+ JsonObject jo = MvResultMap.toJsonObject().apply(result);
assertTrue(jo.get("var1") != null);
JsonObject joVar1 = jo.get("var1").getAsJsonObject();