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();