[jboss-cvs] JBossAS SVN: r102735 - in trunk/tomcat/src/main/java/org/jboss/web/tomcat: service/deployers and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 22 17:20:06 EDT 2010
Author: remy.maucherat at jboss.com
Date: 2010-03-22 17:20:06 -0400 (Mon, 22 Mar 2010)
New Revision: 102735
Modified:
trunk/tomcat/src/main/java/org/jboss/web/tomcat/metadata/ContextMetaData.java
trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/JBossContextConfig.java
Log:
- Use overlays to easily add "linking" to external static files. The downside is the potential for abuse ...
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/metadata/ContextMetaData.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/metadata/ContextMetaData.java 2010-03-22 20:24:44 UTC (rev 102734)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/metadata/ContextMetaData.java 2010-03-22 21:20:06 UTC (rev 102735)
@@ -48,6 +48,7 @@
private SessionCookieMetaData sessionCookie;
private List<String> wrapperLifecycles;
private List<String> wrapperListeners;
+ private List<String> overlays;
public String getName()
{
@@ -189,4 +190,14 @@
this.wrapperListeners = wrapperListeners;
}
+ public List<String> getOverlays()
+ {
+ return overlays;
+ }
+ @XmlElement(name = "Overlay")
+ public void setOverlays(List<String> overlays)
+ {
+ this.overlays = overlays;
+ }
+
}
Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/JBossContextConfig.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/JBossContextConfig.java 2010-03-22 20:24:44 UTC (rev 102734)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/JBossContextConfig.java 2010-03-22 21:20:06 UTC (rev 102735)
@@ -148,6 +148,8 @@
private static Logger log = Logger.getLogger(JBossContextConfig.class);
+ private Set<String> overlays = new HashSet<String>();
+
private boolean runDestroy = false;
/**
@@ -862,6 +864,12 @@
}
}
+ // Context/Overlay
+ if (contextMetaData.getOverlays() != null)
+ {
+ overlays.addAll(contextMetaData.getOverlays());
+ }
+
}
catch (Exception e)
{
@@ -1331,6 +1339,30 @@
}
}
}
+
+ // Add other overlays, if any
+ if (ok)
+ {
+ for (String overlay : overlays)
+ {
+ if (context.getResources() instanceof ProxyDirContext)
+ {
+ ProxyDirContext resources = (ProxyDirContext) context.getResources();
+ FileDirContext dirContext = new FileDirContext();
+ try
+ {
+ dirContext.setDocBase(overlay);
+ resources.addOverlay(dirContext);
+ }
+ catch (IOException e)
+ {
+ log.error(sm.getString("contextConfig.noOverlay", context.getName()), e);
+ ok = false;
+ break;
+ }
+ }
+ }
+ }
// Make our application unavailable if problems were encountered
if (!ok) {
More information about the jboss-cvs-commits
mailing list