2002-03-11 13:49:50 +00:00
|
|
|
/**
|
|
|
|
* 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 URL of an application.
|
|
|
|
* using absoluteURI if set in app.properties, otherwise we go for the href calculated by
|
|
|
|
* the application (which is using baseURI if set)
|
|
|
|
*/
|
|
|
|
function url_macro() {
|
|
|
|
var str = this.getProperty("absoluteuri");
|
|
|
|
if ( str!=null && str!="" ) {
|
|
|
|
return str;
|
|
|
|
} else {
|
|
|
|
return this.getRootHref();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro returning the title of an application
|
|
|
|
*/
|
|
|
|
function title_macro() {
|
|
|
|
var title = this.name;
|
|
|
|
return(title);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro rendering a description of an application from a
|
|
|
|
* file called description.txt or doc.html located in the
|
|
|
|
* app's root. Limits description to 200 chars.
|
|
|
|
* @param Object Macro parameter object
|
|
|
|
*/
|
|
|
|
function description_macro(param) {
|
|
|
|
var str = "";
|
|
|
|
var appHome = this.getAppDir();
|
|
|
|
var f = new File(this.getAppDir().toString(), "description.txt");
|
|
|
|
if (!f.exists())
|
|
|
|
f = new File(this.getAppDir().toString(), "doc.html");
|
|
|
|
if (f.exists()) {
|
|
|
|
str = f.readAll();
|
|
|
|
if (str.length > 200)
|
|
|
|
str = str.substring(0, 200) + "...";
|
|
|
|
}
|
|
|
|
return(str);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro returning the server's uptime nicely formatted
|
|
|
|
*/
|
|
|
|
function uptime_macro() {
|
|
|
|
return formatAge( (java.lang.System.currentTimeMillis()-this.starttime) / 1000 );
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro returning the number of active sessions.
|
|
|
|
* parameter used by global.formatCount
|
|
|
|
* @see global.formatCount
|
|
|
|
*/
|
|
|
|
function countSessions_macro(par) {
|
|
|
|
if ( this.isActive()==true )
|
|
|
|
return this.sessions.size() + formatCount(this.sessions.size(),par);
|
|
|
|
else
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro returning the number of logged-in users or the list
|
|
|
|
* of logged-in users if http-parameter showusers is set to true.
|
|
|
|
* Makes use of this.countUsers_macro and this.listUsers_macro
|
|
|
|
* @see application.countUsers_macro
|
|
|
|
* @see application.listUsers_macro
|
|
|
|
*/
|
|
|
|
function users_macro(par) {
|
|
|
|
if ( req.data.showusers=="true" ) {
|
|
|
|
this.listUsers_macro(par);
|
|
|
|
} else {
|
|
|
|
this.countUsers_macro(par);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro returning the number of logged-in users if application
|
|
|
|
* is active
|
|
|
|
* parameter used by global.formatCount
|
|
|
|
* @see global.formatCount
|
|
|
|
*/
|
|
|
|
function countUsers_macro(par) {
|
|
|
|
if ( this.isActive()==true )
|
|
|
|
return this.activeUsers.size() + formatCount(this.activeUsers.size(),par);
|
|
|
|
else
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro rendering the list of logged-in users if application is active
|
|
|
|
* @param separator html-code written between elements
|
|
|
|
*/
|
|
|
|
function listUsers_macro(par) {
|
|
|
|
var separator = (par && par.separator) ? par.separator : ", ";
|
|
|
|
if ( this.activeUsers.size()==0 )
|
|
|
|
return "";
|
|
|
|
var e = this.activeUsers.keys();
|
|
|
|
while ( e.hasMoreElements() ) {
|
|
|
|
res.write ( e.nextElement() );
|
|
|
|
if ( e.hasMoreElements() ) {
|
|
|
|
res.write ( separator );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro returning the number of active evaluators (=threads)
|
|
|
|
*/
|
|
|
|
function countActiveEvaluators_macro() {
|
|
|
|
return this.countActiveEvaluators();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro returning the number of free evaluators (=threads)
|
|
|
|
*/
|
|
|
|
function countFreeEvaluators_macro() {
|
|
|
|
return this.countFreeEvaluators();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2002-11-21 18:36:03 +00:00
|
|
|
* Macro returning the current number of objects in the cache
|
2002-03-11 13:49:50 +00:00
|
|
|
*/
|
2002-11-21 18:36:03 +00:00
|
|
|
function cacheusage_macro (param) {
|
|
|
|
return this.getCacheUsage ();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro returning the number of objects allowed in the cache
|
|
|
|
*/
|
|
|
|
function cachesize_macro (param) {
|
|
|
|
return this.getProperty ("cachesize", "1000");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Macro formatting the number of requests in the last 5 minutes
|
|
|
|
*/
|
|
|
|
function requestCount_macro(par) {
|
|
|
|
if (app.data.stat==null || app.data.stat.get (this.name)==null)
|
|
|
|
return "not available";
|
|
|
|
if (this.isActive()) {
|
|
|
|
var obj = app.data.stat.get (this.name);
|
|
|
|
return obj.requestCount + formatCount (obj.requestCount, par);
|
2002-03-11 13:49:50 +00:00
|
|
|
} else {
|
2002-11-21 18:36:03 +00:00
|
|
|
return 0 + formatCount (0,par);
|
2002-03-11 13:49:50 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2002-11-21 18:36:03 +00:00
|
|
|
/**
|
|
|
|
* Macro formatting the number of errors in the last 5 minutes
|
|
|
|
*/
|
|
|
|
function errorCount_macro(par) {
|
|
|
|
if (app.data.stat==null || app.data.stat.get (this.name)==null)
|
|
|
|
return "not available";
|
|
|
|
if (this.isActive()) {
|
|
|
|
var obj = app.data.stat.get (this.name);
|
|
|
|
return obj.errorCount + formatCount (obj.errorCount, par);
|
|
|
|
} else {
|
|
|
|
return 0 + formatCount (0,par);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-03-11 13:49:50 +00:00
|
|
|
/**
|
|
|
|
* Macro formatting app.properties
|
|
|
|
*/
|
|
|
|
function properties_macro(par) {
|
|
|
|
formatProperties( this.getProperties(), par );
|
|
|
|
}
|
|
|
|
|
2002-11-21 18:36:03 +00:00
|
|
|
|
|
|
|
function appdir_macro (param) {
|
|
|
|
return this.getAppDir ().toString ();
|
|
|
|
}
|
|
|
|
|