284 lines
7.2 KiB
JavaScript
284 lines
7.2 KiB
JavaScript
/**
|
|
* macro rendering a skin
|
|
* @param name name of skin
|
|
*/
|
|
function skin_macro(par) {
|
|
if (par && par.name) {
|
|
this.renderSkin(par.name);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* macro-wrapper for href-function
|
|
* @param action name of action to call on this prototype, default main
|
|
*/
|
|
function href_macro(par) {
|
|
return this.href((par && par.action)?par.action:"main");
|
|
}
|
|
|
|
|
|
/**
|
|
* macro returning the total number of sessions on this server
|
|
* @see global.formatCount
|
|
*/
|
|
function countSessions_macro(par) {
|
|
var arr = this.getApplications();
|
|
var sum = 0;
|
|
for (var i = 0; i < arr.length; i++) {
|
|
if (arr[i].getName() != app.__app__.getName()) {
|
|
sum += arr[i].sessions.size();
|
|
}
|
|
}
|
|
return sum + formatCount(sum, par);
|
|
}
|
|
|
|
|
|
/**
|
|
* macro returning the number of requests during the last 5 minutes
|
|
* @see global.formatCount
|
|
*/
|
|
function requestCount_macro(par) {
|
|
if (app.data.stat == null) {
|
|
return;
|
|
}
|
|
var arr = this.getApplications();
|
|
var sum = 0;
|
|
for (var i = 0; i < arr.length; i++) {
|
|
if (arr[i].getName() != app.__app__.getName()) { // don't include manage app
|
|
var obj = app.data.stat[arr[i].name];
|
|
if (obj != null) {
|
|
sum += obj.requestCount;
|
|
}
|
|
}
|
|
}
|
|
return sum + formatCount(sum, par);
|
|
}
|
|
|
|
|
|
/**
|
|
* macro returning the number of errors during the last 5 minutes
|
|
* @see global.formatCount
|
|
*/
|
|
function errorCount_macro(par) {
|
|
if (app.data.stat == null) {
|
|
return;
|
|
}
|
|
var arr = this.getApplications();
|
|
var sum = 0;
|
|
for (var i = 0; i < arr.length; i++) {
|
|
if (arr[i].getName() != app.__app__.getName()) { // don't include manage app
|
|
var obj = app.data.stat[arr[i].name];
|
|
if (obj != null) {
|
|
sum += obj.errorCount;
|
|
}
|
|
}
|
|
}
|
|
return sum + formatCount(sum, par);
|
|
}
|
|
|
|
|
|
function extensions_macro(par) {
|
|
var vec = this.getExtensions();
|
|
var str = "";
|
|
for (var i = 0; i < vec.size(); i++) {
|
|
str += vec.elementAt(i).getClass().getName();
|
|
if (i != (vec.size() - 1)) {
|
|
str += (par && par.separator) ? par.separator : ", ";
|
|
}
|
|
}
|
|
return (str == "") ? null : str;
|
|
}
|
|
|
|
/**
|
|
* Macro returning hostname of this machine
|
|
*/
|
|
function hostname_macro(par) {
|
|
return java.net.InetAddress.getLocalHost().getHostName()
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro returning address of this machine
|
|
*/
|
|
function hostaddress_macro(par) {
|
|
return java.net.InetAddress.getLocalHost().getHostAddress()
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro returning the number of running applications,
|
|
* the manage application being excluded.
|
|
*/
|
|
function appCount_macro(par) {
|
|
if (par && par.filter == "active") {
|
|
var ct = root.getApplications().length - 1;
|
|
} else if (par && par.filter == "disabled") {
|
|
var ct = root.getAllApplications().length - root.getApplications().length;
|
|
} else {
|
|
var ct = root.getAllApplications().length - 1;
|
|
}
|
|
return ct + formatCount(ct, par);
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that lists all running applications,
|
|
* the manage application being excluded (-1).
|
|
* @param skin skin of application that will be used.
|
|
*/
|
|
function appList_macro(par) {
|
|
var skin = (par && par.skin) ? par.skin : "navig_active";
|
|
var apps = new Array();
|
|
if (par && par.filter == "active") {
|
|
var arr = root.getApplications();
|
|
for (var i = 0; i < arr.length; i++) {
|
|
apps[apps.length] = arr[i];
|
|
}
|
|
} else if (par && par.filter == "disabled") {
|
|
var arr = root.getAllApplications();
|
|
for (var i in arr) {
|
|
if (arr[i].isActive() == false) {
|
|
apps[apps.length] = arr[i];
|
|
}
|
|
}
|
|
} else {
|
|
var apps = root.getAllApplications();
|
|
}
|
|
apps = apps.sort(sortByName);
|
|
var html = "";
|
|
var param = new Object();
|
|
for (var n in apps) {
|
|
var a = apps[n];
|
|
if (apps[n].name == app.__app__.getName())
|
|
continue;
|
|
var item = a.renderSkinAsString(skin);
|
|
html += item;
|
|
}
|
|
return(html);
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns the server's uptime nicely formatted
|
|
*/
|
|
function uptime_macro() {
|
|
return formatAge((java.lang.System.currentTimeMillis() - this.starttime) / 1000);
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns the server's version string
|
|
*/
|
|
function version_macro() {
|
|
return this.version;
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns the home directory of the hop installation
|
|
*/
|
|
function home_macro() {
|
|
return this.getHopHome().toString();
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns the free memory in the java virtual machine
|
|
* @param format if "hr", value will be printed human readable
|
|
*/
|
|
function jvmFreeMemory_macro(param) {
|
|
var m = java.lang.Runtime.getRuntime().freeMemory();
|
|
return (param && param.hr) ? formatBytes(m) : m;
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns the total memory available to the java virtual machine
|
|
* @param format if "hr", value will be printed human readable
|
|
*/
|
|
function jvmTotalMemory_macro(param) {
|
|
var m = java.lang.Runtime.getRuntime().totalMemory();
|
|
return (param && param.hr) ? formatBytes(m) : m;
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns the used memory in the java virtual machine
|
|
* @param format if "hr", value will be printed human readable
|
|
*/
|
|
function jvmUsedMemory_macro(param) {
|
|
var m = java.lang.Runtime.getRuntime().totalMemory() - java.lang.Runtime.getRuntime().freeMemory();
|
|
return (param && param.hr) ? formatBytes(m) : m;
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns the version and type of the java virtual machine
|
|
*/
|
|
function jvm_macro() {
|
|
return java.lang.System.getProperty("java.version") + " " + java.lang.System.getProperty("java.vendor");
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns the home directory of the java virtual machine
|
|
*/
|
|
function jvmHome_macro() {
|
|
return java.lang.System.getProperty("java.home");
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that greps all jar-files from the class path variable and lists them.
|
|
* @param separator string that is printed between the items
|
|
*/
|
|
function jvmJars_macro(par) {
|
|
var separator = (par && par.separator ) ? par.separator : ", ";
|
|
var str = java.lang.System.getProperty("java.class.path");
|
|
var arr = str.split(".jar");
|
|
for (var i in arr) {
|
|
var str = arr[i];
|
|
var pos = ( str.lastIndexOf('\\') > str.lastIndexOf('/') ) ? str.lastIndexOf('\\') : str.lastIndexOf('/');
|
|
res.write(arr[i].substring(pos + 1) + ".jar");
|
|
if (i < arr.length - 1) res.write(separator);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns the name and version of the server's os
|
|
*/
|
|
function os_macro() {
|
|
return java.lang.System.getProperty("os.name") + " " + java.lang.System.getProperty("os.arch") + " " + java.lang.System.getProperty("os.version");
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns anything from server.properties
|
|
*/
|
|
function property_macro(par) {
|
|
if (par && par.key) {
|
|
return this.getProperty(key);
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro formatting server.properties
|
|
*/
|
|
function properties_macro(par) {
|
|
formatProperties(this.getProperties(), par);
|
|
}
|
|
|
|
|
|
/**
|
|
* Macro that returns the timezone of this server
|
|
*/
|
|
function timezone_macro(par) {
|
|
return java.util.TimeZone.getDefault().getDisplayName(false, java.util.TimeZone.LONG) + " (" + java.util.TimeZone.getDefault().getID() + ")";
|
|
}
|
|
|
|
|