pnever 02/05/17 08:47:52
Modified: src/share/org/apache/slide/common Domain.java
Log:
The domain can now have "global" parameters. Added two accessor
methods to retrieve such parameters. In Domain.xml, these parameters are
specified as child elements of the root element and are of the form:
<parameter name="foo">bar</parameter>
The attributes of the root element are treated as "global" parameters as well.
Revision Changes Path
1.34 +52 -6 jakarta-slide/src/share/org/apache/slide/common/Domain.java
Index: Domain.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/Domain.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- Domain.java 25 Apr 2002 21:12:27 -0000 1.33
+++ Domain.java 17 May 2002 15:47:52 -0000 1.34
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/Domain.java,v
1.33 2002/04/25 21:12:27 jericho Exp $
- * $Revision: 1.33 $
- * $Date: 2002/04/25 21:12:27 $
+ * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/Domain.java,v
1.34 2002/05/17 15:47:52 pnever Exp $
+ * $Revision: 1.34 $
+ * $Date: 2002/05/17 15:47:52 $
*
* ====================================================================
*
@@ -153,7 +153,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Remy Maucherat</a>
* @author Dirk Verbeeck
- * @version $Revision: 1.33 $
+ * @version $Revision: 1.34 $
*/
public final class Domain {
@@ -197,6 +197,11 @@
private static String defaultNamespace;
+ /**
+ * Domain parameters
+ */
+ private static Hashtable parameters;
+
// --------------------------------------------------------- Public Methods
@@ -230,6 +235,7 @@
namespaces = new Hashtable();
activeNamespaces = new Hashtable();
+ parameters = new Hashtable();
}
@@ -410,16 +416,22 @@
if (isInitialized())
return;
+ parameters = new Hashtable();
+
defaultNamespace = configuration.getAttribute("default", "slide");
+ parameters.put( "default", defaultNamespace );
String loggerClass = configuration.getAttribute
("logger", "org.apache.slide.util.logger.SimpleLogger");
+ parameters.put( "logger", loggerClass );
if (logger == null) {
try {
logger = (Logger) (Class.forName(loggerClass).newInstance());
- logger.setLoggerLevel(configuration.getAttributeAsInt
- ("logger-level", Logger.INFO));
+ int loggerLevel =
+ configuration.getAttributeAsInt("logger-level", Logger.INFO);
+ logger.setLoggerLevel(loggerLevel);
+ parameters.put( "logger-level", ""+loggerLevel );
} catch (Exception e) {
error(e);
throw new DomainInitializationFailedError
@@ -440,6 +452,16 @@
org.apache.slide.util.Configuration.getDefault();
info("Domain configuration : " + properties.toString());
+ // Loading domain parameters
+ Enumeration parametersEnum =
+ configuration.getConfigurations("parameter");
+ while( parametersEnum.hasMoreElements() ) {
+ Configuration p = (Configuration)parametersEnum.nextElement();
+ parameters.put( p.getAttribute("name"), p.getValue() );
+ }
+ info( "Domain parameters: "+String.valueOf(parameters) );
+
+ // Loading namespaces
Enumeration namespaceDefinitions =
configuration.getConfigurations("namespace");
@@ -654,6 +676,30 @@
*/
static Namespace getNamespace(String namespaceName) {
return (Namespace) namespaces.get(namespaceName);
+ }
+
+
+ /**
+ * Get a domain parameter.
+ * @param name the parameter name
+ * @return the parameter value
+ */
+ public static String getParameter( String name ) {
+ return (String)parameters.get( name );
+ }
+
+
+ /**
+ * Get a domain parameter.
+ * @param name the parameter name
+ * @param defaultValue the default value to be returned
+ * @return the parameter value
+ */
+ public static String getParameter( String name, String defaultValue ) {
+ String result = (String)parameters.get( name );
+ if( result == null )
+ result = defaultValue;
+ return result;
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>