Author: markt
Date: Fri Jul 13 22:53:12 2012
New Revision: 1361435

URL: http://svn.apache.org/viewvc?rev=1361435&view=rev
Log:
FindBugs. Fix some possible NPEs.

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java

Modified: tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties?rev=1361435&r1=1361434&r2=1361435&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties Fri 
Jul 13 22:53:12 2012
@@ -48,6 +48,7 @@ webappLoader.deploy=Deploying class repo
 webappLoader.jarDeploy=Deploy JAR {0} to {1}
 webappLoader.classDeploy=Deploy class files {0} to {1}
 webappLoader.reloadable=Cannot set reloadable property to {0}
+webappLoader.setContext.ise=Setting the Context is not permitted while the 
loader is started.
 webappLoader.starting=Starting this Loader
 webappLoader.stopping=Stopping this Loader
 webappLoader.copyFailure=Failed to copy resources

Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java?rev=1361435&r1=1361434&r2=1361435&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java Fri Jul 13 
22:53:12 2012
@@ -215,6 +215,15 @@ public class WebappLoader extends Lifecy
     @Override
     public void setContext(Context context) {
 
+        if (this.context == context) {
+            return;
+        }
+
+        if (getState().isAvailable()) {
+            throw new IllegalStateException(
+                    sm.getString("webappLoader.setContext.ise"));
+        }
+
         // Deregister from the old Context (if any)
         if (this.context != null) {
             this.context.removePropertyChangeListener(this);
@@ -391,7 +400,7 @@ public class WebappLoader extends Lifecy
                     context.reload();
                 }
             } finally {
-                if (context.getLoader() != null) {
+                if (context != null && context.getLoader() != null) {
                     Thread.currentThread().setContextClassLoader
                         (context.getLoader().getClassLoader());
                 }
@@ -602,10 +611,8 @@ public class WebappLoader extends Lifecy
         setState(LifecycleState.STOPPING);
 
         // Remove context attributes as appropriate
-        if (context != null) {
-            ServletContext servletContext = context.getServletContext();
-            servletContext.removeAttribute(Globals.CLASS_PATH_ATTR);
-        }
+        ServletContext servletContext = context.getServletContext();
+        servletContext.removeAttribute(Globals.CLASS_PATH_ATTR);
 
         // Throw away our current class loader
         ((Lifecycle) classLoader).stop();



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to