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