I have written a simple Avalon Component, consisting of an Interface: public interface FSOLEnvironment extends Component { String ROLE = "com.cooley.fsol.sys.FSOLEnvironment"; }
and a Component Class, whose only purpose is to retrieve the path to an xml config file and call loadConfiguration on a singleton CGConfig: public class FSOLEnvironmentBootstrap extends AbstractLogEnabled implements FSOLEnvironment, Configurable, Composable, Initializable, Disposable, Component, ThreadSafe { private boolean initialized = false; private boolean disposed = false; private ComponentManager manager = null; private String configurationPath = null; public FSOLEnvironmentBootstrap() {} public final void configure(Configuration conf) throws ConfigurationException { if (initialized || disposed) { throw new IllegalStateException ("Illegal call"); } if ( this.configurationPath == null ) { this.configurationPath = conf.getChild("configPath").getValue(); getLogger().debug( "Bootstrapping FSOL" ); getLogger().debug("Using Configuration Path: " + this.configurationPath); CGConfig.getInstance().loadConfiguration( (org.apache.log.Logger)getLogger(), this.configurationPath ); } } /** * Composition. Notice that I check to see if the Component has * already been initialized or disposed? This is done to enforce * the policy of proper lifecycle management. */ public final void compose(ComponentManager cmanager) throws ComponentException { if (initialized || disposed) { throw new IllegalStateException ("Illegal call"); } if (null == this.manager) { this.manager = cmanager; } } public final void initialize() throws Exception { if (null == this.manager) { throw new IllegalStateException("Not Composed"); } /* if (null == this.dbResource) { throw new IllegalStateException("Not Configured"); } */ if (disposed) { throw new IllegalStateException("Already disposed"); } this.initialized = true; } public final void dispose() { this.disposed = true; this.manager = null; } } These classes have been compiled into jar files and placed in WEB-INF/lib. I then added the following line to my cocoon.xconf <!-- ======================= FSOL =========================== --> <component class="com.cooley.fsol.sys.FSOLEnvironmentBootstrap" role="com.cooley.fsol.sys.FSOLEnvironment"/> hoping that when cocoon loads, it will compose my component, but that is not happening. Can anyone tell me what I am doing wrong/missing? Thanks --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>