changeset 24126:c80b6f33b3d9

changed return type of Services.getSavedProperties (JDK-8177845)
author Doug Simon <doug.simon@oracle.com>
date Sat, 15 Apr 2017 23:53:53 +0200
parents 0c5404418ec2
children 6d70d9c43369
files jvmci/jdk.vm.ci.services/src/jdk/vm/ci/services/Services.java
diffstat 1 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.services/src/jdk/vm/ci/services/Services.java	Tue Apr 11 08:59:43 2017 -0700
+++ b/jvmci/jdk.vm.ci.services/src/jdk/vm/ci/services/Services.java	Sat Apr 15 23:53:53 2017 +0200
@@ -25,6 +25,8 @@
 import java.lang.reflect.Field;
 import java.util.Collections;
 import java.util.Formatter;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Properties;
 import java.util.ServiceLoader;
 
@@ -45,7 +47,7 @@
      * Gets the system properties saved when {@link System} is initialized. The caller must not
      * modify the returned value.
      */
-    public static Properties getSavedProperties() {
+    public static Map<String, String> getSavedProperties() {
         SecurityManager sm = System.getSecurityManager();
         if (sm != null) {
             sm.checkPermission(new JVMCIPermission());
@@ -53,7 +55,12 @@
         try {
             Field savedPropsField = VM.class.getDeclaredField("savedProps");
             savedPropsField.setAccessible(true);
-            return (Properties) savedPropsField.get(null);
+            Properties props = (Properties) savedPropsField.get(null);
+            Map<String, String> res = new HashMap<>(props.size());
+            for (Map.Entry<Object, Object> e : props.entrySet()) {
+                res.put((String) e.getKey(), (String) e.getValue());
+            }
+            return res;
         } catch (Exception e) {
             throw new InternalError(e);
         }