VIVO-581 Add a diagnostic page
This commit is contained in:
parent
566119f510
commit
03750cd669
4 changed files with 89 additions and 0 deletions
|
@ -0,0 +1,50 @@
|
||||||
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||||
|
|
||||||
|
package edu.cornell.mannlib.vitro.webapp.controller.admin;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.SortedMap;
|
||||||
|
import java.util.TreeMap;
|
||||||
|
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.ResponseValues;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.responsevalues.TemplateResponseValues;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the current ConfigurationProperties and the Java system properties.
|
||||||
|
*/
|
||||||
|
public class ShowConfiguration extends FreemarkerHttpServlet {
|
||||||
|
@Override
|
||||||
|
protected Actions requiredActions(VitroRequest vreq) {
|
||||||
|
return Actions.AUTHORIZED;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ResponseValues processRequest(VitroRequest vreq) {
|
||||||
|
Map<String, Object> body = new HashMap<String, Object>();
|
||||||
|
body.put("configurationProperties", getConfigurationProperties(vreq));
|
||||||
|
body.put("javaSystemProperties", getSystemProperties());
|
||||||
|
return new TemplateResponseValues("admin-showConfiguration.ftl", body);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SortedMap<String, String> getConfigurationProperties(
|
||||||
|
VitroRequest vreq) {
|
||||||
|
return new TreeMap<>(ConfigurationProperties.getBean(vreq)
|
||||||
|
.getPropertyMap());
|
||||||
|
}
|
||||||
|
|
||||||
|
private SortedMap<String, String> getSystemProperties() {
|
||||||
|
Properties props = System.getProperties();
|
||||||
|
SortedMap<String, String> map = new TreeMap<>();
|
||||||
|
for (String key : props.stringPropertyNames()) {
|
||||||
|
map.put(key, props.getProperty(key));
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -660,6 +660,15 @@
|
||||||
<url-pattern>/admin/showAuth</url-pattern>
|
<url-pattern>/admin/showAuth</url-pattern>
|
||||||
</servlet-mapping>
|
</servlet-mapping>
|
||||||
|
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>ShowConfiguration</servlet-name>
|
||||||
|
<servlet-class>edu.cornell.mannlib.vitro.webapp.controller.admin.ShowConfiguration</servlet-class>
|
||||||
|
</servlet>
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>ShowConfiguration</servlet-name>
|
||||||
|
<url-pattern>/admin/showConfiguration</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
<servlet>
|
<servlet>
|
||||||
<servlet-name>StartupStatus</servlet-name>
|
<servlet-name>StartupStatus</servlet-name>
|
||||||
<servlet-class>edu.cornell.mannlib.vitro.webapp.controller.admin.StartupStatusController</servlet-class>
|
<servlet-class>edu.cornell.mannlib.vitro.webapp.controller.admin.StartupStatusController</servlet-class>
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
|
<#-- Template viewing the authorization mechanisms: current identifiers, factories, policies, etc. -->
|
||||||
|
|
||||||
|
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/css/showAuth.css" />')}
|
||||||
|
|
||||||
|
<h2>Configuration settings</h2>
|
||||||
|
|
||||||
|
<section id="show-auth" role="region">
|
||||||
|
<h4>Build and runtime properties:</h4>
|
||||||
|
<table summary="Build and Runtime Properties">
|
||||||
|
<#list configurationProperties?keys as key>
|
||||||
|
<tr>
|
||||||
|
<td>${key}</td>
|
||||||
|
<td>${configurationProperties[key]}</td>
|
||||||
|
</tr>
|
||||||
|
</#list>
|
||||||
|
</table>
|
||||||
|
<h4>Java system properties:</h4>
|
||||||
|
<table summary="Java System Properties">
|
||||||
|
<#list javaSystemProperties?keys as key>
|
||||||
|
<tr>
|
||||||
|
<td>${key}</td>
|
||||||
|
<td>${javaSystemProperties[key]}</td>
|
||||||
|
</tr>
|
||||||
|
</#list>
|
||||||
|
</table>
|
||||||
|
</section>
|
|
@ -56,6 +56,8 @@
|
||||||
Links
|
Links
|
||||||
<br/>
|
<br/>
|
||||||
<a href="${urls.base}/admin/log4j.jsp">Set log levels</a>
|
<a href="${urls.base}/admin/log4j.jsp">Set log levels</a>
|
||||||
|
<a href="${urls.base}/admin/showConfiguration">Show Configuration</a>
|
||||||
|
<br/>
|
||||||
<a href="${urls.base}/admin/showAuth">Show authorization info</a>
|
<a href="${urls.base}/admin/showAuth">Show authorization info</a>
|
||||||
<a href="${urls.base}/admin/showThreads">Show background threads</a>
|
<a href="${urls.base}/admin/showThreads">Show background threads</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Reference in a new issue