JENA-797 : Create JSON object members in insertion order.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c61071b9 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c61071b9 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c61071b9 Branch: refs/heads/master Commit: c61071b97e173e1f2fa401fe7f5d330954491987 Parents: 0ac95f4 Author: Andy Seaborne <[email protected]> Authored: Wed Oct 8 17:58:16 2014 +0100 Committer: Andy Seaborne <[email protected]> Committed: Wed Oct 8 18:09:12 2014 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/jena/atlas/json/JsonObject.java | 9 +++------ .../main/java/org/apache/jena/atlas/json/io/JsonWriter.java | 8 ++------ 2 files changed, 5 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/c61071b9/jena-arq/src/main/java/org/apache/jena/atlas/json/JsonObject.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/atlas/json/JsonObject.java b/jena-arq/src/main/java/org/apache/jena/atlas/json/JsonObject.java index 286e530..6c6d235 100644 --- a/jena-arq/src/main/java/org/apache/jena/atlas/json/JsonObject.java +++ b/jena-arq/src/main/java/org/apache/jena/atlas/json/JsonObject.java @@ -18,15 +18,12 @@ package org.apache.jena.atlas.json; -import java.util.Collection ; -import java.util.HashMap ; -import java.util.Map ; -import java.util.Set ; +import java.util.* ; import java.util.Map.Entry ; -public class JsonObject extends JsonValue //implements Map<String, JsonValue> +public class JsonObject extends JsonValue { - private final Map<String, JsonValue> map = new HashMap<>() ; + private final Map<String, JsonValue> map = new LinkedHashMap<>() ; @Override public boolean isObject() { return true ; } http://git-wip-us.apache.org/repos/asf/jena/blob/c61071b9/jena-arq/src/main/java/org/apache/jena/atlas/json/io/JsonWriter.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/atlas/json/io/JsonWriter.java b/jena-arq/src/main/java/org/apache/jena/atlas/json/io/JsonWriter.java index 7e5c717..788f930 100644 --- a/jena-arq/src/main/java/org/apache/jena/atlas/json/io/JsonWriter.java +++ b/jena-arq/src/main/java/org/apache/jena/atlas/json/io/JsonWriter.java @@ -19,8 +19,6 @@ package org.apache.jena.atlas.json.io; import java.util.Set ; -import java.util.SortedSet ; -import java.util.TreeSet ; import org.apache.jena.atlas.io.IndentedWriter ; import org.apache.jena.atlas.json.* ; @@ -87,9 +85,8 @@ public class JsonWriter implements JsonVisitor return true ; } private void writeObjectCompact(JsonObject jsonObject, Set<String> x) { - SortedSet<String> y = new TreeSet<>(x) ; boolean first = true ; - for ( String k : y ) { + for ( String k : x ) { if ( ! first ) out.print(ObjectSep) ; first = false ; @@ -105,10 +102,9 @@ public class JsonWriter implements JsonVisitor private void writeObjectLong(JsonObject jsonObject, Set<String> x) { // Just after the opening { - SortedSet<String> y = new TreeSet<>(x) ; boolean first = true ; out.println() ; - for ( String k : y ) { + for ( String k : x ) { if ( ! first ) { out.print(ObjectSep) ; out.println() ;
