You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2018/07/25 13:15:42 UTC

svn commit: r1836628 - /felix/trunk/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java

Author: cziegeler
Date: Wed Jul 25 13:15:42 2018
New Revision: 1836628

URL: http://svn.apache.org/viewvc?rev=1836628&view=rev
Log:
FELIX-5891 : Keep order of properties and objects. Apply patch from Andrei Tuicu

Modified:
    felix/trunk/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java

Modified: felix/trunk/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java
URL: http://svn.apache.org/viewvc/felix/trunk/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java?rev=1836628&r1=1836627&r2=1836628&view=diff
==============================================================================
--- felix/trunk/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java (original)
+++ felix/trunk/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java Wed Jul 25 13:15:42 2018
@@ -27,15 +27,7 @@ import java.io.StringWriter;
 import java.io.Writer;
 import java.net.URL;
 import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Dictionary;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 import javax.json.Json;
 import javax.json.JsonArray;
@@ -201,7 +193,7 @@ public class JSONUtil {
                 int ranking = 0;
                 ConfigPolicy policy = ConfigPolicy.DEFAULT;
 
-                final Dictionary<String, Object> properties = new Hashtable<>();
+                final Dictionary<String, Object> properties = new OrderedDictionary<>();
                 boolean valid = true;
                 for(final String mapKey : mainMap.keySet()) {
                     final Object value = mainMap.get(mapKey);
@@ -375,7 +367,7 @@ public class JSONUtil {
                          }
                          return array;
              // type OBJECT -> return map
-             case OBJECT : final Map<String, Object> map = new HashMap<>();
+             case OBJECT : final Map<String, Object> map = new LinkedHashMap<>();
                            final JsonObject obj = (JsonObject)value;
                            for(final Map.Entry<String, JsonValue> entry : obj.entrySet()) {
                                map.put(entry.getKey(), getValue(entry.getValue()));