Author: markt
Date: Sun May 24 17:35:07 2009
New Revision: 778196
URL: http://svn.apache.org/viewvc?rev=778196&view=rev
Log:
More ServerFactory removal
Modified:
tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java
Modified: tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java?rev=778196&r1=778195&r2=778196&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java (original)
+++ tomcat/trunk/java/org/apache/catalina/deploy/NamingResources.java Sun May
24 17:35:07 2009
@@ -25,7 +25,9 @@
import java.util.Hashtable;
import java.io.Serializable;
-import org.apache.catalina.ServerFactory;
+import org.apache.catalina.Context;
+import org.apache.catalina.Engine;
+import org.apache.catalina.Server;
/**
@@ -212,8 +214,7 @@
}
} else if (rl != null) {
// Link. Need to look at the global resources
- NamingResources global =
- ServerFactory.getServer().getGlobalNamingResources();
+ NamingResources global =
getServer().getGlobalNamingResources();
if (global.findEnvironment(rl.getGlobal()) != null) {
if (global.findEnvironment(rl.getGlobal()).getOverride()) {
removeResourceLink(environment.getName());
@@ -237,6 +238,20 @@
}
+ // Container should be an instance of Server or Context. If it is anything
+ // else, return null which will trigger a NPE.
+ private Server getServer() {
+ if (container instanceof Server) {
+ return (Server) container;
+ }
+ if (container instanceof Context) {
+ // Could do this in one go. Lots of casts so split out for clarity
+ Engine engine =
+ (Engine) ((Context) container).getParent().getParent();
+ return engine.getService().getServer();
+ }
+ return null;
+ }
/**
* Add a local EJB resource reference for this web application.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]