Changeset 10158 in josm for trunk/src/org/openstreetmap
- Timestamp:
- 2016-04-26T19:16:46+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java
r10139 r10158 110 110 } 111 111 try { 112 final String envJavaHome = System.getenv("JAVA_HOME");113 final String envJavaHomeAlt = Main.isPlatformWindows() ? "%JAVA_HOME%" : "${JAVA_HOME}";114 final String propJavaHome = System.getProperty("java.home");115 final String propJavaHomeAlt = "<java.home>";116 final String prefDir = Main.pref.getPreferencesDirectory().toString();117 final String prefDirAlt = "<josm.pref>";118 final String userDataDir = Main.pref.getUserDataDirectory().toString();119 final String userDataDirAlt = "<josm.userdata>";120 final String userCacheDir = Main.pref.getCacheDirectory().toString();121 final String userCacheDirAlt = "<josm.cache>";122 final String userHomeDir = System.getProperty("user.home");123 final String userHomeDirAlt = Main.isPlatformWindows() ? "%UserProfile%" : "${HOME}";124 125 112 // Build a new list of VM parameters to modify it below if needed (default implementation returns an UnmodifiableList instance) 126 113 List<String> vmArguments = new ArrayList<>(ManagementFactory.getRuntimeMXBean().getInputArguments()); … … 134 121 } else { 135 122 // Replace some paths for readability and privacy concerns 136 String val = param[1]; 137 val = paramReplace(val, envJavaHome, envJavaHomeAlt); 138 val = paramReplace(val, envJavaHome, envJavaHomeAlt); 139 val = paramReplace(val, propJavaHome, propJavaHomeAlt); 140 val = paramReplace(val, prefDir, prefDirAlt); 141 val = paramReplace(val, userDataDir, userDataDirAlt); 142 val = paramReplace(val, userCacheDir, userCacheDirAlt); 143 val = paramReplace(val, userHomeDir, userHomeDirAlt); 123 String val = paramCleanup(param[1]); 144 124 if (!val.equals(param[1])) { 145 125 it.set(param[0] + '=' + val); … … 162 142 List<String> commandLineArgs = Main.getCommandLineArgs(); 163 143 if (!commandLineArgs.isEmpty()) { 164 text.append("Program arguments: ").append(Arrays.toString(commandLineArgs.toArray())).append('\n'); 144 text.append("Program arguments: ").append(Arrays.toString(paramCleanup(commandLineArgs).toArray())).append('\n'); 165 145 } 166 146 if (Main.main != null) { … … 196 176 } 197 177 178 private static List<String> paramCleanup(Collection<String> params) { 179 List<String> result = new ArrayList<>(params.size()); 180 for (String param : params) { 181 result.add(paramCleanup(param)); 182 } 183 return result; 184 } 185 186 /** 187 * Shortens and removes private informations from a parameter used for status report. 188 * @param param parameter to cleanup 189 * @return shortened/anonymized parameter 190 */ 191 private static String paramCleanup(String param) { 192 final String envJavaHome = System.getenv("JAVA_HOME"); 193 final String envJavaHomeAlt = Main.isPlatformWindows() ? "%JAVA_HOME%" : "${JAVA_HOME}"; 194 final String propJavaHome = System.getProperty("java.home"); 195 final String propJavaHomeAlt = "<java.home>"; 196 final String prefDir = Main.pref.getPreferencesDirectory().toString(); 197 final String prefDirAlt = "<josm.pref>"; 198 final String userDataDir = Main.pref.getUserDataDirectory().toString(); 199 final String userDataDirAlt = "<josm.userdata>"; 200 final String userCacheDir = Main.pref.getCacheDirectory().toString(); 201 final String userCacheDirAlt = "<josm.cache>"; 202 final String userHomeDir = System.getProperty("user.home"); 203 final String userHomeDirAlt = Main.isPlatformWindows() ? "%UserProfile%" : "${HOME}"; 204 205 String val = param; 206 val = paramReplace(val, envJavaHome, envJavaHomeAlt); 207 val = paramReplace(val, envJavaHome, envJavaHomeAlt); 208 val = paramReplace(val, propJavaHome, propJavaHomeAlt); 209 val = paramReplace(val, prefDir, prefDirAlt); 210 val = paramReplace(val, userDataDir, userDataDirAlt); 211 val = paramReplace(val, userCacheDir, userCacheDirAlt); 212 val = paramReplace(val, userHomeDir, userHomeDirAlt); 213 return val; 214 } 215 198 216 private static String paramReplace(String str, String target, String replacement) { 199 if (target == null) return str; 200 return str.replace(target, replacement); 217 return target == null ? str : str.replace(target, replacement); 201 218 } 202 219 … … 205 222 text.append(label+":\n"); 206 223 for (T o : col) { 207 text.append("- ").append(o.toString()).append('\n'); 224 text.append("- ").append(paramCleanup(o.toString())).append('\n'); 208 225 } 209 226 text.append('\n'); … … 226 243 } 227 244 for (Entry<String, Setting<?>> entry : settings.entrySet()) { 228 text.append(entry.getKey()).append('=').append(entry.getValue().getValue()).append('\n'); 245 text.append(paramCleanup(entry.getKey())) 246 .append('=') 247 .append(paramCleanup(entry.getValue().getValue().toString())).append('\n'); 229 248 } 230 249 } catch (Exception x) {
Note:
See TracChangeset
for help on using the changeset viewer.