Repository: incubator-griffin
Updated Branches:
  refs/heads/master 8e0afa45a -> 8d1707faa


fix rule details format and update ut

Author: ahutsunshine <[email protected]>

Closes #179 from ahutsunshine/master.


Project: http://git-wip-us.apache.org/repos/asf/incubator-griffin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-griffin/commit/8d1707fa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-griffin/tree/8d1707fa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-griffin/diff/8d1707fa

Branch: refs/heads/master
Commit: 8d1707faa2c3621fcd568fdcd7ec2f716a23df06
Parents: 8e0afa4
Author: ahutsunshine <[email protected]>
Authored: Wed Nov 22 17:12:22 2017 +0800
Committer: Lionel Liu <[email protected]>
Committed: Wed Nov 22 17:12:22 2017 +0800

----------------------------------------------------------------------
 .../griffin/core/measure/entity/Rule.java       | 27 +++++++++++++++++---
 .../core/measure/MeasureControllerTest.java     | 13 +++++-----
 .../griffin/core/measure/MeasureTestHelper.java |  4 ++-
 3 files changed, 33 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/8d1707fa/service/src/main/java/org/apache/griffin/core/measure/entity/Rule.java
----------------------------------------------------------------------
diff --git 
a/service/src/main/java/org/apache/griffin/core/measure/entity/Rule.java 
b/service/src/main/java/org/apache/griffin/core/measure/entity/Rule.java
index 48c65d2..99bd514 100644
--- a/service/src/main/java/org/apache/griffin/core/measure/entity/Rule.java
+++ b/service/src/main/java/org/apache/griffin/core/measure/entity/Rule.java
@@ -19,12 +19,16 @@ under the License.
 
 package org.apache.griffin.core.measure.entity;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import org.apache.griffin.core.util.JsonUtil;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.Transient;
+import java.io.IOException;
+import java.util.Map;
 
 
 @Entity
@@ -40,9 +44,13 @@ public class Rule extends AbstractAuditableEntity {
     @Column(length = 1024)
     private String rule;
 
-    @JsonInclude(JsonInclude.Include.NON_NULL)
+    @JsonIgnore
     private String details;
 
+    @Transient
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private Map<String, Object> detailsMap;
+
 
     @JsonProperty("dsl.type")
     public String getDslType() {
@@ -76,17 +84,28 @@ public class Rule extends AbstractAuditableEntity {
         return details;
     }
 
-    public void setDetails(Object details) {
+    public void setDetails(String details) {
+        this.details = details;
+    }
+
+    @JsonProperty("details")
+    public Map<String, Object> getDetailsMap() {
+        return detailsMap;
+    }
+
+    @JsonProperty("details")
+    public void setDetailsMap(Map<String, Object> details) throws IOException {
+        this.detailsMap = details;
         this.details = JsonUtil.toJson(details);
     }
 
     public Rule() {
     }
 
-    public Rule(String dslType, String dqType, String rule, String details) {
+    public Rule(String dslType, String dqType, String rule, Map<String, 
Object> details) throws IOException {
         this.dslType = dslType;
         this.dqType = dqType;
         this.rule = rule;
-        this.details = details;
+        setDetailsMap(details);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/8d1707fa/service/src/test/java/org/apache/griffin/core/measure/MeasureControllerTest.java
----------------------------------------------------------------------
diff --git 
a/service/src/test/java/org/apache/griffin/core/measure/MeasureControllerTest.java
 
b/service/src/test/java/org/apache/griffin/core/measure/MeasureControllerTest.java
index 2680298..510a65b 100644
--- 
a/service/src/test/java/org/apache/griffin/core/measure/MeasureControllerTest.java
+++ 
b/service/src/test/java/org/apache/griffin/core/measure/MeasureControllerTest.java
@@ -21,6 +21,7 @@ package org.apache.griffin.core.measure;
 
 import org.apache.griffin.core.measure.entity.Measure;
 import org.apache.griffin.core.util.GriffinOperationMessage;
+import org.apache.griffin.core.util.JsonUtil;
 import org.apache.griffin.core.util.URLHelper;
 import org.codehaus.jackson.map.ObjectMapper;
 import org.junit.Before;
@@ -112,7 +113,7 @@ public class MeasureControllerTest {
     @Test
     public void testUpdateMeasureForSuccess() throws Exception {
         Measure measure = createATestMeasure("view_item_hourly", "test");
-        String measureJson = new ObjectMapper().writeValueAsString(measure);
+        String measureJson = JsonUtil.toJson(measure);
         
given(service.updateMeasure(measure)).willReturn(GriffinOperationMessage.UPDATE_MEASURE_SUCCESS);
 
         mvc.perform(put(URLHelper.API_VERSION_PATH + 
"/measure").contentType(MediaType.APPLICATION_JSON).content(measureJson))
@@ -124,7 +125,7 @@ public class MeasureControllerTest {
     @Test
     public void testUpdateMeasureForNotFound() throws Exception {
         Measure measure = createATestMeasure("view_item_hourly", "test");
-        String measureJson = new ObjectMapper().writeValueAsString(measure);
+        String measureJson = JsonUtil.toJson(measure);
         
given(service.updateMeasure(measure)).willReturn(GriffinOperationMessage.RESOURCE_NOT_FOUND);
 
         mvc.perform(put(URLHelper.API_VERSION_PATH + 
"/measure").contentType(MediaType.APPLICATION_JSON).content(measureJson))
@@ -137,7 +138,7 @@ public class MeasureControllerTest {
     @Test
     public void testUpdateMeasureForFail() throws Exception {
         Measure measure = createATestMeasure("view_item_hourly", "test");
-        String measureJson = new ObjectMapper().writeValueAsString(measure);
+        String measureJson = JsonUtil.toJson(measure);
         
given(service.updateMeasure(measure)).willReturn(GriffinOperationMessage.UPDATE_MEASURE_FAIL);
 
         mvc.perform(put(URLHelper.API_VERSION_PATH + 
"/measure").contentType(MediaType.APPLICATION_JSON).content(measureJson))
@@ -163,7 +164,7 @@ public class MeasureControllerTest {
     @Test
     public void testCreateNewMeasureForSuccess() throws Exception {
         Measure measure = createATestMeasure("view_item_hourly", "test");
-        String measureJson = new ObjectMapper().writeValueAsString(measure);
+        String measureJson = JsonUtil.toJson(measure);
         
given(service.createMeasure(measure)).willReturn(GriffinOperationMessage.CREATE_MEASURE_SUCCESS);
 
         mvc.perform(post(URLHelper.API_VERSION_PATH + 
"/measure").contentType(MediaType.APPLICATION_JSON).content(measureJson))
@@ -175,7 +176,7 @@ public class MeasureControllerTest {
     @Test
     public void testCreateNewMeasureForFailWithDuplicate() throws Exception {
         Measure measure = createATestMeasure("view_item_hourly", "test");
-        String measureJson = new ObjectMapper().writeValueAsString(measure);
+        String measureJson = JsonUtil.toJson(measure);
         
given(service.createMeasure(measure)).willReturn(GriffinOperationMessage.CREATE_MEASURE_FAIL_DUPLICATE);
 
         mvc.perform(post(URLHelper.API_VERSION_PATH + 
"/measure").contentType(MediaType.APPLICATION_JSON).content(measureJson))
@@ -187,7 +188,7 @@ public class MeasureControllerTest {
     @Test
     public void testCreateNewMeasureForFailWithSaveException() throws 
Exception {
         Measure measure = createATestMeasure("view_item_hourly", "test");
-        String measureJson = new ObjectMapper().writeValueAsString(measure);
+        String measureJson = JsonUtil.toJson(measure);
         
given(service.createMeasure(measure)).willReturn(GriffinOperationMessage.CREATE_MEASURE_FAIL);
 
         mvc.perform(post(URLHelper.API_VERSION_PATH + 
"/measure").contentType(MediaType.APPLICATION_JSON).content(measureJson))

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/8d1707fa/service/src/test/java/org/apache/griffin/core/measure/MeasureTestHelper.java
----------------------------------------------------------------------
diff --git 
a/service/src/test/java/org/apache/griffin/core/measure/MeasureTestHelper.java 
b/service/src/test/java/org/apache/griffin/core/measure/MeasureTestHelper.java
index ad727f7..614a5d1 100644
--- 
a/service/src/test/java/org/apache/griffin/core/measure/MeasureTestHelper.java
+++ 
b/service/src/test/java/org/apache/griffin/core/measure/MeasureTestHelper.java
@@ -47,7 +47,9 @@ public class MeasureTestHelper {
         dataSources.add(dataSource);
         dataSources.add(targetSource);
         String rules = "source.id=target.id AND source.name=target.name AND 
source.age=target.age";
-        Rule rule = new Rule("griffin-dsl", "accuracy", rules,null);
+        Map<String, Object> map = new HashMap<>();
+        map.put("detail", "detail info");
+        Rule rule = new Rule("griffin-dsl", "accuracy", rules,map);
         EvaluateRule evaluateRule = new EvaluateRule(Arrays.asList(rule));
         return new Measure(name, "description", org, "batch", "test", 
dataSources, evaluateRule);
     }

Reply via email to