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]>

Reply via email to