private List<List<String>> getDiagnosticItems() { List<List<String>> result = new ArrayList<List<String>>(); /* system information from JVM */ ArrayList<String> infos = getSystemInformation(); DiagnosticFactory.addDiagnosticItemToList(result, "Server", "", DiagnosticFactory.STATUS_TITLE); DiagnosticFactory.addDiagnosticItemToList( result, "Runtime Environment", infos.get(0), DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "Application Directory", infos.get(1), DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "JVM Memory Status", "Max: " + infos.get(2) + ", Reserved: " + infos.get(3) + ", Currently Used: " + infos.get(4), DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "JVM Locale", infos.get(11), DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "Operating System", infos.get(6), DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "Architecture", infos.get(5), DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "#CPUs available to JVM", infos.get(12), DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "OS Country / Timezone", infos.get(9) + " / " + infos.get(10), DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "Host Address / Name", infos.get(13) + " / " + infos.get(14), DiagnosticFactory.STATUS_INFO); IDiagnostic[] diagnosticServices = DiagnosticFactory.getDiagnosticProviders(); for (IDiagnostic diagnosticService : diagnosticServices) { diagnosticService.addDiagnosticItemToList(result); } // system properties List<String> properties = new ArrayList<String>(); for (Object property : System.getProperties().keySet()) { properties.add(property + ""); } Collections.sort(properties); String sysprops = ""; sysprops += "<a href=\"#\" onClick=\"javascript:toggle_visibility('sysprops'); return false;\">(show / hide)</a>"; sysprops += "<div id=\"sysprops\" style=\"width:600px; margin: 0px; padding: 0px; display: none; word-wrap: break-word;\">"; sysprops += "<dl>"; for (String property : properties) { sysprops += "<dt>" + property + ":</b></dt><dd>" + System.getProperty(property) + "</dd>"; } sysprops += "</dl>"; sysprops += "</div>"; DiagnosticFactory.addDiagnosticItemToList( result, "System properties", sysprops, DiagnosticFactory.STATUS_INFO); // environment List<String> envKeys = new ArrayList<String>(); for (String envKey : System.getenv().keySet()) { envKeys.add(envKey); } Collections.sort(envKeys); String envList = ""; envList += "<a href=\"#\" onClick=\"javascript:toggle_visibility('env'); return false;\">(show / hide)</a>"; envList += "<div id=\"env\" style=\"width:600px; margin: 0px; padding: 0px; display: none; word-wrap: break-word;\">"; envList += "<dl>"; for (String envKey : envKeys) { envList += "<dt>" + envKey + ":</b></dt><dd>" + System.getenv(envKey) + "</dd>"; } envList += "</dl>"; envList += "</div>"; DiagnosticFactory.addDiagnosticItemToList( result, "Environment variables", envList, DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "Version", "", DiagnosticFactory.STATUS_TITLE); Version v = Version.emptyVersion; IProduct product = Platform.getProduct(); String productId = "n/a"; String productName = "n/a"; String application = "n/a"; String definingBundle = "n/a"; if (product != null) { productId = product.getId(); productName = product.getName(); application = product.getApplication(); definingBundle = product.getDefiningBundle().getSymbolicName(); v = Version.parseVersion("" + product.getDefiningBundle().getHeaders().get("Bundle-Version")); } DiagnosticFactory.addDiagnosticItemToList( result, "Product ID", productId, DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "Product Name", productName, DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "Application", application, DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "Defining Bundle", definingBundle, DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "Defining Bundle Version", v.toString(), DiagnosticFactory.STATUS_INFO); DiagnosticFactory.addDiagnosticItemToList( result, "Change values", "", DiagnosticFactory.STATUS_TITLE); return result; }