Author: cziegeler Date: Sun Feb 13 05:50:07 2005 New Revision: 153628 URL: http://svn.apache.org/viewcvs?view=rev&rev=153628 Log: Add all settings and system properties to status generator
Modified: cocoon/trunk/src/java/org/apache/cocoon/generation/StatusGenerator.java Modified: cocoon/trunk/src/java/org/apache/cocoon/generation/StatusGenerator.java URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/generation/StatusGenerator.java?view=diff&r1=153627&r2=153628 ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/generation/StatusGenerator.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/generation/StatusGenerator.java Sun Feb 13 05:50:07 2005 @@ -23,6 +23,8 @@ import java.util.Enumeration; import java.util.Iterator; import java.util.List; +import java.util.Map; +import java.util.Properties; import java.util.StringTokenizer; import org.apache.avalon.framework.context.Context; @@ -197,6 +199,8 @@ genSettings(); genVMStatus(); + genProperties(); + // End root element. this.xmlConsumer.endElement(namespace, "statusinfo", "statusinfo"); } @@ -327,11 +331,45 @@ private void genSettings() throws SAXException { final Settings s = Core.getSettings(this.context); - this.startGroup("settings"); + this.startGroup("Settings"); - // FIXME add all this.addValue(Settings.KEY_CONFIGURATION, s.getConfiguration()); - this.addValue(Settings.KEY_CONFIGURATION_RELOAD_DELAY, String.valueOf(s.getConfigurationReloadDelay())); + this.addValue(Settings.KEY_CONFIGURATION_RELOAD_DELAY, s.getConfigurationReloadDelay()); + this.addValue(Settings.KEY_ALLOW_RELOAD, s.isAllowReload()); + this.addValue(Settings.KEY_INIT_CLASSLOADER, s.isInitClassloader()); + this.addValue(Settings.KEY_EXTRA_CLASSPATHS, s.getExtraClasspaths()); + this.addValue(Settings.KEY_LOAD_CLASSES, s.getLoadClasses()); + this.addValue(Settings.KEY_FORCE_PROPERTIES, s.getForceProperties()); + this.addValue(Settings.KEY_LOGGING_CONFIGURATION, s.getLoggingConfiguration()); + this.addValue(Settings.KEY_LOGGING_ACCESS_LOGGER, s.getAccessLogger()); + this.addValue(Settings.KEY_LOGGING_BOOTSTRAP_LOGLEVEL, s.getBootstrapLogLevel()); + this.addValue(Settings.KEY_LOGGING_COCOON_LOGGER, s.getCocoonLogger()); + this.addValue(Settings.KEY_LOGGING_LOG4J_CONFIGURATION, s.getLog4jConfiguration()); + this.addValue(Settings.KEY_LOGGING_MANAGER_CLASS, s.getLoggerClassName()); + this.addValue(Settings.KEY_LOGGING_OVERRIDE_LOGLEVEL, s.getOverrideLogLevel()); + this.addValue(Settings.KEY_MANAGE_EXCEPTIONS, s.isManageExceptions()); + this.addValue(Settings.KEY_PARENT_SERVICE_MANAGER, s.getParentServiceManagerClassName()); + this.addValue(Settings.KEY_UPLOADS_DIRECTORY, s.getUploadDirectory()); + this.addValue(Settings.KEY_UPLOADS_AUTOSAVE, s.isAutosaveUploads()); + this.addValue(Settings.KEY_UPLOADS_ENABLE, s.isEnableUploads()); + this.addValue(Settings.KEY_UPLOADS_MAXSIZE, s.getMaxUploadSize()); + this.addValue(Settings.KEY_UPLOADS_OVERWRITE, s.isAllowOverwrite()); + this.addValue(Settings.KEY_CACHE_DIRECTORY, s.getCacheDirectory()); + this.addValue(Settings.KEY_WORK_DIRECTORY, s.getWorkDirectory()); + this.addValue(Settings.KEY_FORM_ENCODING, s.getFormEncoding()); + this.addValue(Settings.KEY_SHOWTIME, s.isShowTime()); + this.addValue(Settings.KEY_HIDE_SHOWTIME, s.isHideShowTime()); + } + + private void genProperties() throws SAXException { + this.startGroup("System-Properties"); + final Properties p = System.getProperties(); + final Enumeration e = p.keys(); + while ( e.hasMoreElements() ) { + final String key = (String)e.nextElement(); + final String value = p.getProperty(key); + this.addValue(key, value); + } this.endGroup(); } @@ -355,6 +393,58 @@ /** Utility function to begin and end a <code>value</code> tag pair. */ private void addValue(String name, String value) throws SAXException { addValue(name, value, null); + } + + /** Utility function to begin and end a <code>value</code> tag pair. */ + private void addValue(String name, boolean value) throws SAXException { + addValue(name, String.valueOf(value), null); + } + + /** Utility function to begin and end a <code>value</code> tag pair. */ + private void addValue(String name, int value) throws SAXException { + addValue(name, String.valueOf(value), null); + } + + /** Utility function to begin and end a <code>value</code> tag pair. */ + private void addValue(String name, long value) throws SAXException { + addValue(name, String.valueOf(value), null); + } + + /** Utility function to begin and end a <code>value</code> tag pair. */ + private void addValue(String name, List value) throws SAXException { + addValue(name, value.iterator()); + } + + /** Utility function to begin and end a <code>value</code> tag pair. */ + private void addValue(String name, Iterator value) throws SAXException { + final StringBuffer buffer = new StringBuffer(); + boolean first = true; + while ( value.hasNext() ) { + if ( !first ) { + buffer.append(','); + } else { + first = false; + } + buffer.append(value.next()); + } + addValue(name, buffer.toString(), null); + } + + /** Utility function to begin and end a <code>value</code> tag pair. */ + private void addValue(String name, Map value) throws SAXException { + final StringBuffer buffer = new StringBuffer(); + final Iterator i = value.entrySet().iterator(); + boolean first = true; + while ( i.hasNext() ) { + if ( !first ) { + buffer.append(','); + } else { + first = false; + } + Map.Entry current = (Map.Entry)i.next(); + buffer.append(current.getKey()).append('=').append(current.getValue()); + } + addValue(name, buffer.toString(), null); } /** Utility function to begin and end a <code>value</code> tag pair with added attributes. */