You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@excalibur.apache.org by cr...@apache.org on 2004/12/04 18:19:53 UTC
svn commit: r109814 - /excalibur/trunk/fortress/container-impl/src/java/org/apache/avalon/fortress/impl/DefaultContainer.java
Author: crafterm
Date: Sat Dec 4 09:19:52 2004
New Revision: 109814
URL: http://svn.apache.org/viewcvs?view=rev&rev=109814
Log:
Applied patch from FORTRESS-13.
Patch allows you to specify a default activation policy for all components
inside of Fortress, by specifying the 'activation' attribute to the root
level element in the configuration file passed to Fortress during startup.
If no default is specified, 'background' (the previous default) is used.
Modified:
excalibur/trunk/fortress/container-impl/src/java/org/apache/avalon/fortress/impl/DefaultContainer.java
Modified: excalibur/trunk/fortress/container-impl/src/java/org/apache/avalon/fortress/impl/DefaultContainer.java
Url: http://svn.apache.org/viewcvs/excalibur/trunk/fortress/container-impl/src/java/org/apache/avalon/fortress/impl/DefaultContainer.java?view=diff&rev=109814&p1=excalibur/trunk/fortress/container-impl/src/java/org/apache/avalon/fortress/impl/DefaultContainer.java&r1=109813&p2=excalibur/trunk/fortress/container-impl/src/java/org/apache/avalon/fortress/impl/DefaultContainer.java&r2=109814
==============================================================================
--- excalibur/trunk/fortress/container-impl/src/java/org/apache/avalon/fortress/impl/DefaultContainer.java (original)
+++ excalibur/trunk/fortress/container-impl/src/java/org/apache/avalon/fortress/impl/DefaultContainer.java Sat Dec 4 09:19:52 2004
@@ -91,6 +91,7 @@
throws ConfigurationException
{
interpretProxy( config.getAttribute("proxy-type", "discover") );
+ m_defaultActivationPolicy = getDefaultActivationPolicy( config );
final Configuration[] elements = config.getChildren();
for ( int i = 0; i < elements.length; i++ )
@@ -121,6 +122,29 @@
}
}
}
+
+ /**
+ * Obtains the default activation policy from the component configuration header
+ *
+ * @param config {@link Configuration} to examine
+ * @return activation policy if specified, 'background' (the default) if not
+ */
+ private String getDefaultActivationPolicy( final Configuration config )
+ {
+ final String policy = config.getAttribute( "activation", null );
+
+ if ( policy == null )
+ {
+ return "background";
+ }
+
+ if ( getLogger().isDebugEnabled() )
+ {
+ getLogger().debug( "Default component activation policy changed to: " + policy );
+ }
+
+ return policy;
+ }
/**
* Interpret the ProxyManager type from the configuration element.
@@ -205,7 +229,8 @@
private int getActivation( final Configuration component )
throws ConfigurationException
{
- final String activation = component.getAttribute( "activation", "background" );
+ final String activation =
+ component.getAttribute( "activation", m_defaultActivationPolicy );
if ( "background".equalsIgnoreCase( activation )
|| "startup".equalsIgnoreCase( activation ) )
@@ -242,4 +267,9 @@
{
return super.getServiceManager();
}
+
+ /**
+ * Default activation policy for components, ie. inline, background, etc.
+ */
+ private String m_defaultActivationPolicy;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: scm-unsubscribe@excalibur.apache.org
For additional commands, e-mail: scm-help@excalibur.apache.org