Author: cziegeler Date: Sat Apr 23 23:59:57 2005 New Revision: 164454 URL: http://svn.apache.org/viewcvs?rev=164454&view=rev Log: Fix NPEs
Modified: cocoon/trunk/src/java/org/apache/cocoon/core/CoreUtil.java cocoon/trunk/src/java/org/apache/cocoon/core/container/ComponentEnvironment.java cocoon/trunk/src/java/org/apache/cocoon/core/container/ComponentFactory.java Modified: cocoon/trunk/src/java/org/apache/cocoon/core/CoreUtil.java URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/core/CoreUtil.java?rev=164454&r1=164453&r2=164454&view=diff ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/core/CoreUtil.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/core/CoreUtil.java Sat Apr 23 23:59:57 2005 @@ -47,6 +47,7 @@ import org.apache.cocoon.Cocoon; import org.apache.cocoon.Constants; import org.apache.cocoon.components.ContextHelper; +import org.apache.cocoon.components.container.ComponentContext; import org.apache.cocoon.configuration.ConfigurationBuilder; import org.apache.cocoon.core.source.SimpleSourceResolver; import org.apache.cocoon.matching.helpers.WildcardHelper; @@ -76,7 +77,7 @@ protected final BootstrapEnvironment env; /** "legacy" support: create an avalon context. */ - protected final DefaultContext appContext = new DefaultContext(); + protected final DefaultContext appContext = new ComponentContext(); /** The settings. */ protected Settings settings; Modified: cocoon/trunk/src/java/org/apache/cocoon/core/container/ComponentEnvironment.java URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/core/container/ComponentEnvironment.java?rev=164454&r1=164453&r2=164454&view=diff ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/core/container/ComponentEnvironment.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/core/container/ComponentEnvironment.java Sat Apr 23 23:59:57 2005 @@ -62,10 +62,13 @@ this.loggerManager = loggerManager; this.context = context; this.serviceManager = serviceManager; - try { - this.core = (Core)this.context.get(Core.ROLE); - } catch (ContextException ignore) { - // this can never happen + // FIXME - we should ensure that the context is never null! + if ( this.context != null ) { + try { + this.core = (Core)this.context.get(Core.ROLE); + } catch (ContextException ignore) { + // this can never happen + } } } @@ -80,7 +83,7 @@ ComponentInfo ci = null; final InputStream is = this.classLoader.getResourceAsStream(bu.toString()); if ( is != null ) { - final Settings settings = this.core.getSettings(); + final Settings settings = (this.core == null ? null : this.core.getSettings()); final ConfigurationBuilder cb = new ConfigurationBuilder(settings); final Configuration conf = cb.build(is); ci = new ComponentInfo(); Modified: cocoon/trunk/src/java/org/apache/cocoon/core/container/ComponentFactory.java URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/core/container/ComponentFactory.java?rev=164454&r1=164453&r2=164454&view=diff ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/core/container/ComponentFactory.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/core/container/ComponentFactory.java Sat Apr 23 23:59:57 2005 @@ -66,10 +66,13 @@ public ComponentFactory( final ComponentEnvironment environment, final ComponentInfo info) throws Exception { - try { - this.core = (Core)environment.context.get(Core.ROLE); - } catch (ContextException ignore) { - // this can never happen + // FIXME - we should ensure that the context is never null! + if ( environment.context != null ) { + try { + this.core = (Core)environment.context.get(Core.ROLE); + } catch (ContextException ignore) { + // this can never happen + } } this.environment = environment; this.serviceInfo = info; @@ -152,7 +155,7 @@ ContainerUtil.enableLogging(component, this.componentLogger); ContainerUtil.contextualize( component, this.environment.context ); ContainerUtil.service( component, this.environment.serviceManager ); - if ( this.configureSettingsMethod != null ) { + if ( this.configureSettingsMethod != null && this.core != null) { this.configureSettingsMethod.invoke( component, new Object[] {this.core.getSettings()}); } ContainerUtil.configure( component, this.serviceInfo.getConfiguration() );