You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2005/04/24 08:59:58 UTC

svn commit: r164454 - in /cocoon/trunk/src/java/org/apache/cocoon/core: CoreUtil.java container/ComponentEnvironment.java container/ComponentFactory.java

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() );