You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by do...@apache.org on 2003/04/25 03:16:40 UTC

cvs commit: avalon-phoenix/src/java/org/apache/avalon/phoenix/components/classloader DefaultClassLoaderManager.java

donaldp     2003/04/24 18:16:40

  Modified:    src/java/org/apache/avalon/phoenix/components/classloader
                        DefaultClassLoaderManager.java
  Log:
  Expand properties prior to handing configuration to Policy utils
  
  Revision  Changes    Path
  1.55      +21 -1     avalon-phoenix/src/java/org/apache/avalon/phoenix/components/classloader/DefaultClassLoaderManager.java
  
  Index: DefaultClassLoaderManager.java
  ===================================================================
  RCS file: /home/cvs/avalon-phoenix/src/java/org/apache/avalon/phoenix/components/classloader/DefaultClassLoaderManager.java,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- DefaultClassLoaderManager.java	11 Apr 2003 06:49:37 -0000	1.54
  +++ DefaultClassLoaderManager.java	25 Apr 2003 01:16:40 -0000	1.55
  @@ -72,6 +72,7 @@
   import org.apache.avalon.framework.service.Serviceable;
   import org.apache.avalon.phoenix.interfaces.ClassLoaderManager;
   import org.apache.avalon.phoenix.interfaces.ClassLoaderSet;
  +import org.apache.avalon.phoenix.BlockContext;
   import org.apache.excalibur.policy.builder.PolicyBuilder;
   import org.apache.excalibur.policy.metadata.PolicyMetaData;
   import org.apache.excalibur.policy.reader.PolicyReader;
  @@ -83,6 +84,7 @@
   import org.realityforge.classman.metadata.JoinMetaData;
   import org.realityforge.classman.reader.ClassLoaderSetReader;
   import org.realityforge.classman.verifier.ClassLoaderVerifier;
  +import org.realityforge.configkit.PropertyExpander;
   import org.w3c.dom.Element;
   
   /**
  @@ -146,6 +148,16 @@
       private Map m_predefinedLoaders;
   
       /**
  +     * The contextdata used in interpolation of the policy configuration file.
  +     */
  +    private final Map m_data = new HashMap();
  +
  +    /**
  +     * The property expander that will expand properties in the policy configuraiton file.
  +     */
  +    private final PropertyExpander m_expander = new PropertyExpander();
  +
  +    /**
        * Pass the Context to the Manager.
        * It is expected that the there will be an entry
        * <ul>
  @@ -160,6 +172,9 @@
           throws ContextException
       {
           m_commonClassLoader = (ClassLoader)context.get( "common.classloader" );
  +        m_data.put( BlockContext.APP_HOME_DIR, context.get( BlockContext.APP_HOME_DIR ) );
  +        m_data.put( BlockContext.APP_NAME, context.get( BlockContext.APP_NAME ) );
  +        //extractData( context, "phoenix.home" );
       }
   
       /**
  @@ -300,7 +315,7 @@
       private Policy configurePolicy( final Configuration configuration,
                                       final File baseDirectory,
                                       final File workDirectory )
  -        throws ConfigurationException
  +        throws Exception
       {
           final SarPolicyResolver resolver =
               new SarPolicyResolver( baseDirectory, workDirectory );
  @@ -311,6 +326,11 @@
           setupLogger( verifier );
   
           final Element element = ConfigurationUtil.toElement( configuration );
  +        final HashMap data = new HashMap();
  +        data.putAll( m_data );
  +        data.put( "/", File.separator );
  +        m_expander.expandValues( element, data );
  +
           element.setAttribute( "version", "1.0" );
           try
           {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org