Repository: kylin
Updated Branches:
  refs/heads/yang21 020686034 -> 076c77ae2


org.apache.kylin.metadata.model.FunctionDesc#configuration should use default 
linkedhashmap to keep order


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/076c77ae
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/076c77ae
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/076c77ae

Branch: refs/heads/yang21
Commit: 076c77ae217ceb320e06e534b7149f1fc60075ee
Parents: 0206860
Author: Hongbin Ma <mahong...@apache.org>
Authored: Thu Dec 1 11:20:53 2016 +0800
Committer: Hongbin Ma <mahong...@apache.org>
Committed: Thu Dec 1 11:20:53 2016 +0800

----------------------------------------------------------------------
 .../org/apache/kylin/common/util/BasicTest.java | 24 ++++++++++------
 .../apache/kylin/common/util/JacksonBean.java   | 16 +++++++++++
 .../apache/kylin/common/util/JacksonTest.java   | 19 ++++++++++---
 .../kylin/metadata/model/FunctionDesc.java      | 29 ++++++++++----------
 4 files changed, 61 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/076c77ae/core-common/src/test/java/org/apache/kylin/common/util/BasicTest.java
----------------------------------------------------------------------
diff --git 
a/core-common/src/test/java/org/apache/kylin/common/util/BasicTest.java 
b/core-common/src/test/java/org/apache/kylin/common/util/BasicTest.java
index ee15832..ffdbd25 100644
--- a/core-common/src/test/java/org/apache/kylin/common/util/BasicTest.java
+++ b/core-common/src/test/java/org/apache/kylin/common/util/BasicTest.java
@@ -18,6 +18,12 @@
 
 package org.apache.kylin.common.util;
 
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.slf4j.LoggerFactory;
+
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.text.DateFormat;
@@ -26,6 +32,7 @@ import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -33,13 +40,6 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
-import org.junit.Ignore;
-import org.junit.Test;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
 /**
  * <p/>
  * Keep this test case to test basic java functionality
@@ -79,7 +79,15 @@ public class BasicTest {
 
     @Test
     public void testxx() throws InterruptedException {
-        System.out.println( 0x8fL);
+        Map<String, String> a = Maps.newLinkedHashMap();
+        a.put("1", "1");
+        a.put("3", "3");
+        a.put("2", "2");
+        for (Map.Entry<String, String> e : a.entrySet()) {
+            System.out.println(e.getKey());
+        }
+
+        System.out.println(0x8fL);
         byte[] space = new byte[100];
         ByteBuffer buffer = ByteBuffer.wrap(space, 10, 20);
         buffer.put((byte) 1);

http://git-wip-us.apache.org/repos/asf/kylin/blob/076c77ae/core-common/src/test/java/org/apache/kylin/common/util/JacksonBean.java
----------------------------------------------------------------------
diff --git 
a/core-common/src/test/java/org/apache/kylin/common/util/JacksonBean.java 
b/core-common/src/test/java/org/apache/kylin/common/util/JacksonBean.java
index 42357f2..ffff6d1 100644
--- a/core-common/src/test/java/org/apache/kylin/common/util/JacksonBean.java
+++ b/core-common/src/test/java/org/apache/kylin/common/util/JacksonBean.java
@@ -23,6 +23,10 @@ import 
com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
 @JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = 
Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = 
Visibility.NONE)
 public class JacksonBean {
 
@@ -32,6 +36,10 @@ public class JacksonBean {
     @JsonInclude(JsonInclude.Include.NON_NULL)
     private int b;
 
+    @JsonProperty("configuration")
+    @JsonInclude(JsonInclude.Include.NON_EMPTY)
+    private Map<String, String> configuration = new HashMap<String, String>();
+
     public String getA() {
         return a;
     }
@@ -48,6 +56,14 @@ public class JacksonBean {
         this.b = b;
     }
 
+    public Map<String, String> getConfiguration() {
+        return configuration;
+    }
+
+    public void setConfiguration(Map<String, String> configuration) {
+        this.configuration = configuration;
+    }
+
     @Override
     public String toString() {
         return "JacksonBean{" + "a='" + a + '\'' + ", b=" + b + '}';

http://git-wip-us.apache.org/repos/asf/kylin/blob/076c77ae/core-common/src/test/java/org/apache/kylin/common/util/JacksonTest.java
----------------------------------------------------------------------
diff --git 
a/core-common/src/test/java/org/apache/kylin/common/util/JacksonTest.java 
b/core-common/src/test/java/org/apache/kylin/common/util/JacksonTest.java
index 81be7eb..0d7097a 100644
--- a/core-common/src/test/java/org/apache/kylin/common/util/JacksonTest.java
+++ b/core-common/src/test/java/org/apache/kylin/common/util/JacksonTest.java
@@ -18,22 +18,33 @@
 
 package org.apache.kylin.common.util;
 
-import java.io.IOException;
-
 import org.junit.Test;
 
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
 public class JacksonTest {
     @Test
     public void foo() throws IOException {
+        HashMap a = new HashMap<String, String>();
+        a.put("1", "1");
+        a.put("3", "3");
+        a.put("2", "2");
+
+
         JacksonBean bean = new JacksonBean();
         bean.setA("valuea");
+        bean.setConfiguration(a);
 
         String s = JsonUtil.writeValueAsString(bean);
         System.out.println(s);
 
-        JacksonBean desBean = (JacksonBean) 
JsonUtil.readValue("{\"a\":\"valuea\"}", JacksonBean.class);
+        JacksonBean desBean = (JacksonBean) 
JsonUtil.readValue("{\"a\":\"valuea\",\"b\":0,\"configuration\":{\"2\":\"2\",\"3\":\"3\",\"1\":\"1\"}}",
 JacksonBean.class);
+        
         String x2 = JsonUtil.writeValueAsString(desBean);
-        System.out.println(desBean);
         System.out.println(x2);
+        
+        System.out.println(desBean);
     }
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/076c77ae/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
----------------------------------------------------------------------
diff --git 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
index 36fff5c..0946703 100644
--- 
a/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
+++ 
b/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
@@ -18,24 +18,23 @@
 
 package org.apache.kylin.metadata.model;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.kylin.measure.MeasureType;
-import org.apache.kylin.measure.MeasureTypeFactory;
-import org.apache.kylin.measure.basic.BasicMeasureType;
-import org.apache.kylin.metadata.datatype.DataType;
-
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
+import org.apache.kylin.measure.MeasureType;
+import org.apache.kylin.measure.MeasureTypeFactory;
+import org.apache.kylin.measure.basic.BasicMeasureType;
+import org.apache.kylin.metadata.datatype.DataType;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  */
@@ -69,7 +68,7 @@ public class FunctionDesc {
 
     @JsonProperty("configuration")
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
-    private HashMap<String, String> configuration = new LinkedHashMap<String, 
String>();
+    private Map<String, String> configuration = new LinkedHashMap<String, 
String>();
 
     private DataType returnDataType;
     private MeasureType<?> measureType;
@@ -272,11 +271,11 @@ public class FunctionDesc {
         return null;
     }
 
-    public HashMap<String, String> getConfiguration() {
+    public Map<String, String> getConfiguration() {
         return configuration;
     }
 
-    public void setConfiguration(HashMap<String, String> configurations) {
+    public void setConfiguration(Map<String, String> configurations) {
         this.configuration = configurations;
     }
 

Reply via email to