Author: pier
Date: Wed Nov  3 09:20:23 2004
New Revision: 56492

Modified:
   
cocoon/whiteboard/kernel/sources/startup/org/apache/cocoon/kernel/startup/ServletLoader.java
Log:
Fix NPE in shutdown and better error messages on startup

Modified: 
cocoon/whiteboard/kernel/sources/startup/org/apache/cocoon/kernel/startup/ServletLoader.java
==============================================================================
--- 
cocoon/whiteboard/kernel/sources/startup/org/apache/cocoon/kernel/startup/ServletLoader.java
        (original)
+++ 
cocoon/whiteboard/kernel/sources/startup/org/apache/cocoon/kernel/startup/ServletLoader.java
        Wed Nov  3 09:20:23 2004
@@ -97,13 +97,29 @@
             
             if (configuration != null) {
                 URL configuration_url = context.getResource(configuration);
+
+                if (configuration_url == null) {
+                    throw new IllegalArgumentException("Configuration file \""
+                            + configuration + "\" not found");
+                }
+
                 Configuration conf = 
ConfigurationBuilder.parse(configuration_url);
                 descriptors = instances = conf;
             } else {
                 String desc_par = 
context.getInitParameter("kernel-descriptors");
                 String inst_par = context.getInitParameter("kernel-instances");
+
                 URL desc_url = context.getResource(desc_par);
                 URL inst_url = context.getResource(inst_par);
+
+                if (desc_url == null) {
+                    throw new IllegalArgumentException("Descriptors 
configuration "
+                            + "file \"" + desc_par + "\" not found");
+                } else if (inst_url == null) {
+                    throw new IllegalArgumentException("Instances 
configuration "
+                            + "file \"" + inst_par + "\" not found");
+                }
+
                 descriptors = ConfigurationBuilder.parse(desc_url);
                 instances =   ConfigurationBuilder.parse(inst_url);
             }
@@ -143,6 +159,7 @@
      * <p>Receive notification of destruction.</p>
      */
     public void contextDestroyed(ServletContextEvent event) {
+        if (this.kernel == null) return;
         ServletContext context = event.getServletContext();
         context.removeAttribute(ServletLoader.ATTRIBUTE);
         try {

Reply via email to