<% /** * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ %> <%= ReleaseInfo.getReleaseInfo() %>
<% long uptimeDiff = System.currentTimeMillis() - PortalUtil.getUptime().getTime(); long days = uptimeDiff / Time.DAY; long hours = (uptimeDiff / Time.HOUR) % 24; long minutes = (uptimeDiff / Time.MINUTE) % 60; long seconds = (uptimeDiff / Time.SECOND) % 60; NumberFormat numberFormat = NumberFormat.getInstance(); numberFormat.setMaximumIntegerDigits(2); numberFormat.setMinimumIntegerDigits(2); %> : <%= days %> <%= LanguageUtil.get(pageContext, ((days > 1) ? "days" : "day")) %>, <%= numberFormat.format(hours) %>:<%= numberFormat.format(minutes) %>:<%= numberFormat.format(seconds) %>

»
" onClick="saveServer('addLogLevel');" />
<% List headerNames = new ArrayList(); headerNames.add("category"); headerNames.add("level"); SearchContainer searchContainer = new SearchContainer(renderRequest, null, null, SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.DEFAULT_DELTA, portletURL, headerNames, null); Map currentLoggerNames = new TreeMap(); Enumeration enu = LogManager.getCurrentLoggers(); while (enu.hasMoreElements()) { Logger logger = (Logger)enu.nextElement(); currentLoggerNames.put(logger.getName(), logger); } List results = ListUtil.fromCollection(currentLoggerNames.entrySet()); Iterator itr = results.iterator(); while (itr.hasNext()) { Map.Entry entry = (Map.Entry)itr.next(); String name = (String)entry.getKey(); Logger logger = (Logger)entry.getValue(); Level level = logger.getLevel(); if (level == null) { itr.remove(); } } searchContainer.setTotal(results.size()); results = ListUtil.subList(results, searchContainer.getStart(), searchContainer.getEnd()); searchContainer.setResults(results); List resultRows = searchContainer.getResultRows(); for (int i = 0; i < results.size(); i++) { Map.Entry entry = (Map.Entry)results.get(i); String name = (String)entry.getKey(); Logger logger = (Logger)entry.getValue(); Level level = logger.getLevel(); ResultRow row = new ResultRow(entry, name, i); // Name row.addText(name); // Logger StringBuilder sb = new StringBuilder(); sb.append(""); row.addText(sb.toString()); // Add result row resultRows.add(row); } %>
" onClick="saveServer('updateLogLevels');" />
<% List headerNames = new ArrayList(); headerNames.add("property"); headerNames.add("value"); SearchContainer searchContainer = new SearchContainer(renderRequest, null, null, SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.DEFAULT_DELTA, portletURL, headerNames, null); Map portalProps = new TreeMap(); portalProps.putAll(PropsUtil.getProperties()); List results = ListUtil.fromCollection(portalProps.entrySet()); searchContainer.setTotal(results.size()); results = ListUtil.subList(results, searchContainer.getStart(), searchContainer.getEnd()); searchContainer.setResults(results); List resultRows = searchContainer.getResultRows(); for (int i = 0; i < results.size(); i++) { Map.Entry entry = (Map.Entry)results.get(i); String property = (String)entry.getKey(); String value = (String)entry.getValue(); ResultRow row = new ResultRow(entry, property, i); // Property row.addText(StringUtil.shorten(property, 80)); // Value row.addText(StringUtil.shorten(value, 80)); // Add result row resultRows.add(row); } %> <% List headerNames = new ArrayList(); headerNames.add("property"); headerNames.add("value"); SearchContainer searchContainer = new SearchContainer(renderRequest, null, null, SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.DEFAULT_DELTA, portletURL, headerNames, null); Map portalProps = new TreeMap(); portalProps.putAll(System.getProperties()); List results = ListUtil.fromCollection(portalProps.entrySet()); searchContainer.setTotal(results.size()); results = ListUtil.subList(results, searchContainer.getStart(), searchContainer.getEnd()); searchContainer.setResults(results); List resultRows = searchContainer.getResultRows(); for (int i = 0; i < results.size(); i++) { Map.Entry entry = (Map.Entry)results.get(i); String property = (String)entry.getKey(); String value = (String)entry.getValue(); ResultRow row = new ResultRow(entry, property, i); // Property row.addText(StringUtil.shorten(property, 80)); // Value row.addText(StringUtil.shorten(value, 80)); // Add result row resultRows.add(row); } %> <% List convertProcesses = new ArrayList(); for (String convertProcessClassName : PropsValues.CONVERT_PROCESSES) { ConvertProcess convertProcess = (ConvertProcess)InstancePool.get(convertProcessClassName); if (convertProcess.isEnabled()) { convertProcesses.add(convertProcess); } } %>
<% for (ConvertProcess convertProcess : convertProcesses) { %> <% } %>
" onClick="saveServer('convertProcess.<%= convertProcess.getClass().getName() %>');" />






()
()
()



" onClick="saveServer('updateFileUploads');" />







" onClick="saveServer('updateMail');" />



" onClick="saveServer('updateOpenOffice');" />

" onClick="saveServer('shutdown');" /> " onClick="document.fm.minutes.value = 0; saveServer('shutdown');" />
<% Runtime runtime = Runtime.getRuntime(); numberFormat = NumberFormat.getInstance(locale); long usedMemory = runtime.totalMemory() - runtime.freeMemory(); %>
<% DefaultValueDataset dataset = new DefaultValueDataset(usedMemory * 100 / runtime.totalMemory()); MeterPlot plot = _getMeterPlot(dataset, pageContext); JFreeChart chart = _getChart(LanguageUtil.get(pageContext, "used-memory") + " / " + LanguageUtil.get(pageContext, "total-memory"), plot); %> <% dataset = new DefaultValueDataset(usedMemory * 100 / runtime.maxMemory()); plot = _getMeterPlot(dataset, pageContext); chart = _getChart(LanguageUtil.get(pageContext, "used-memory") + " / " + LanguageUtil.get(pageContext, "maximum-memory"), plot); %>

: <%= numberFormat.format(usedMemory) %>
: <%= numberFormat.format(runtime.totalMemory()) %>
: <%= numberFormat.format(runtime.maxMemory()) %>

" onClick="saveServer('gc');" />
" onClick="saveServer('cacheSingle');" />
" onClick="saveServer('cacheMulti');" />
" onClick="saveServer('cacheDb');" />
" onClick="saveServer('reIndex');" />
" onClick="saveServer('threadDump');" />
<%! private JFreeChart _getChart(String title, MeterPlot plot) { JFreeChart chart = new JFreeChart(title, new Font(null, Font.PLAIN, 13), plot, true); chart.setBackgroundPaint(Color.white); chart.removeLegend(); return chart; } private MeterPlot _getMeterPlot(DefaultValueDataset dataset, PageContext pageContext) { MeterPlot plot = new MeterPlot(dataset); plot.setDialBackgroundPaint(Color.white); plot.setDialShape(DialShape.PIE); plot.setDialOutlinePaint(Color.gray); plot.setTickLabelFont(new Font(null, Font.PLAIN, 10)); plot.setTickLabelPaint(Color.darkGray); plot.setTickLabelsVisible(true); plot.setTickPaint(Color.lightGray); plot.setTickSize(5D); plot.setMeterAngle(180); plot.setNeedlePaint(Color.darkGray); plot.setRange(new Range(0.0D, 100D)); plot.setValueFont(new Font(null, Font.PLAIN, 10)); plot.setValuePaint(Color.black); plot.setUnits("%"); plot.addInterval(new MeterInterval(LanguageUtil.get(pageContext, "normal"), new Range(0.0D, 75D), Color.lightGray, new BasicStroke(2.0F), new Color(0, 255, 0, 64))); plot.addInterval(new MeterInterval(LanguageUtil.get(pageContext, "warning"), new Range(75D, 90D), Color.lightGray, new BasicStroke(2.0F), new Color(255, 255, 0, 64))); plot.addInterval(new MeterInterval(LanguageUtil.get(pageContext, "critical"), new Range(90D, 100D), Color.lightGray, new BasicStroke(2.0F), new Color(255, 0, 0, 128))); return plot; } %>