You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ja...@apache.org on 2014/06/16 23:31:19 UTC

[10/32] git commit: DRILL-981: Display content of map object in the same order of original JSON object.

DRILL-981: Display content of map object in the same order of original JSON object.


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

Branch: refs/heads/master
Commit: bc0bb4d5012a9d51cdcfa0002a7b8b8753f01775
Parents: c789f1c
Author: Jinfeng Ni <jn...@maprtech.com>
Authored: Fri Jun 13 09:01:27 2014 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Mon Jun 16 07:58:16 2014 -0700

----------------------------------------------------------------------
 .../main/java/org/apache/drill/exec/util/JsonStringHashMap.java  | 4 +++-
 .../java/org/apache/drill/exec/vector/complex/MapVector.java     | 2 +-
 .../org/apache/drill/exec/vector/complex/RepeatedMapVector.java  | 4 ++--
 3 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/bc0bb4d5/exec/java-exec/src/main/java/org/apache/drill/exec/util/JsonStringHashMap.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/util/JsonStringHashMap.java b/exec/java-exec/src/main/java/org/apache/drill/exec/util/JsonStringHashMap.java
index 4b264bf..507cb28 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/util/JsonStringHashMap.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/util/JsonStringHashMap.java
@@ -20,15 +20,17 @@ package org.apache.drill.exec.util;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.module.SimpleModule;
+
 import org.apache.hadoop.io.Text;
 
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 
 /*
  * Simple class that extends the regular java.util.HashMap but overrides the
  * toString() method of the HashMap class to produce a JSON string instead
  */
-public class JsonStringHashMap<K, V> extends HashMap<K, V> {
+public class JsonStringHashMap<K, V> extends LinkedHashMap<K, V> {
 
   private static ObjectMapper mapper;
 

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/bc0bb4d5/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/MapVector.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/MapVector.java b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/MapVector.java
index 8ea2796..ed2ad8a 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/MapVector.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/MapVector.java
@@ -53,7 +53,7 @@ public class MapVector extends AbstractContainerVector {
 
   public final static MajorType TYPE = MajorType.newBuilder().setMinorType(MinorType.MAP).setMode(DataMode.REQUIRED).build();
 
-  final HashMap<String, ValueVector> vectors = Maps.newHashMap();
+  final HashMap<String, ValueVector> vectors = Maps.newLinkedHashMap();
   private final Map<String, VectorWithOrdinal> vectorIds = Maps.newHashMap();
   private final IntObjectOpenHashMap<ValueVector> vectorsById = new IntObjectOpenHashMap<>();
   private final SingleMapReaderImpl reader = new SingleMapReaderImpl(MapVector.this);

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/bc0bb4d5/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedMapVector.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedMapVector.java b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedMapVector.java
index f41cfda..f05ab1b 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedMapVector.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/RepeatedMapVector.java
@@ -55,7 +55,7 @@ public class RepeatedMapVector extends AbstractContainerVector implements Repeat
   public final static MajorType TYPE = MajorType.newBuilder().setMinorType(MinorType.MAP).setMode(DataMode.REPEATED).build();
 
   private final UInt4Vector offsets;   // offsets to start of each record
-  private final Map<String, ValueVector> vectors = Maps.newHashMap();
+  private final Map<String, ValueVector> vectors = Maps.newLinkedHashMap();
   private final Map<String, VectorWithOrdinal> vectorIds = Maps.newHashMap();
   private final RepeatedMapReaderImpl reader = new RepeatedMapReaderImpl(RepeatedMapVector.this);
   private final IntObjectOpenHashMap<ValueVector> vectorsById = new IntObjectOpenHashMap<>();
@@ -356,7 +356,7 @@ public class RepeatedMapVector extends AbstractContainerVector implements Repeat
       List<Object> l = new JsonStringArrayList();
       int end = offsets.getAccessor().get(index+1);
       for(int i =  offsets.getAccessor().get(index); i < end; i++){
-        Map<String, Object> vv = Maps.newHashMap();
+        Map<String, Object> vv = Maps.newLinkedHashMap();
         for(Map.Entry<String, ValueVector> e : vectors.entrySet()){
           ValueVector v = e.getValue();
           String k = e.getKey();