Ignore:
Timestamp:
2013-06-06T20:10:29+02:00 (11 years ago)
Author:
Don-vip
Message:

Nicer VM arguments in status report

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java

    r5955 r5992  
    3030import org.openstreetmap.josm.tools.BugReportExceptionHandler;
    3131import org.openstreetmap.josm.tools.OpenBrowser;
     32import org.openstreetmap.josm.tools.PlatformHookWindows;
    3233import org.openstreetmap.josm.tools.Shortcut;
    3334import org.openstreetmap.josm.tools.Utils;
     
    5758    }
    5859
     60    private static void shortenParam(ListIterator<String> it, String[] param, String source, String target) {
     61        if (source != null && target.length() < source.length() && param[1].startsWith(source)) {
     62            it.set(param[0] + "=" + param[1].replace(source, target));
     63        }
     64    }
     65   
    5966    /**
    6067     * Replies the report header (software and system info)
     
    7986        text.append("\n");
    8087        try {
     88            final String env_java_home = System.getenv("JAVA_HOME");
     89            final String env_java_home_alt = Main.platform instanceof PlatformHookWindows ? "%JAVA_HOME%" : "${JAVA_HOME}";
     90            final String prop_java_home = System.getProperty("java.home");
     91            final String prop_java_home_alt = "<java.home>";
    8192            // Build a new list of VM parameters to modify it below if needed (default implementation returns an UnmodifiableList instance)
    8293            List<String> vmArguments = new ArrayList<String>(ManagementFactory.getRuntimeMXBean().getInputArguments());
    83             // Hide some parameters for privacy concerns
    8494            for (ListIterator<String> it = vmArguments.listIterator(); it.hasNext(); ) {
    8595                String value = it.next();
    86                 if (value.contains("=") && value.toLowerCase().startsWith("-dproxy")) {
    87                     it.set(value.split("=")[0]+"=xxx");
     96                if (value.contains("=")) {
     97                    String[] param = value.split("=");
     98                    // Hide some parameters for privacy concerns
     99                    if (param[0].toLowerCase().startsWith("-dproxy")) {
     100                        it.set(param[0]+"=xxx");
     101                    // Shorten some parameters for readability concerns
     102                    } else {
     103                        shortenParam(it, param, env_java_home, env_java_home_alt);
     104                        shortenParam(it, param, prop_java_home, prop_java_home_alt);
     105                    }
    88106                }
    89107            }
Note: See TracChangeset for help on using the changeset viewer.