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