Author: markt
Date: Mon Sep 16 13:10:18 2013
New Revision: 1523625
URL: http://svn.apache.org/r1523625
Log:
Extend the WebResourceRoot API to allow definition of a base, archive
and internal path for the creation of a ResourceSet
Modified:
tomcat/trunk/java/org/apache/catalina/WebResourceRoot.java
tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java
tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java
tomcat/trunk/test/javax/el/TestCompositeELResolver.java
tomcat/trunk/test/org/apache/catalina/core/TestStandardContextAliases.java
tomcat/trunk/test/org/apache/catalina/loader/TestVirtualContext.java
tomcat/trunk/test/org/apache/catalina/loader/TestVirtualWebappLoader.java
tomcat/trunk/test/org/apache/catalina/webresources/TesterWebResourceRoot.java
tomcat/trunk/test/org/apache/jasper/compiler/TestGenerator.java
tomcat/trunk/test/org/apache/jasper/tagplugins/jstl/core/AbstractTestTag.java
Modified: tomcat/trunk/java/org/apache/catalina/WebResourceRoot.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/WebResourceRoot.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/WebResourceRoot.java (original)
+++ tomcat/trunk/java/org/apache/catalina/WebResourceRoot.java Mon Sep 16
13:10:18 2013
@@ -179,15 +179,15 @@ public interface WebResourceRoot extends
* based on the provided parameters.
*
* @param type The type of {@link WebResourceSet} to create
- * @param url The URL of the resource (must locate a JAR, file or
- * directory)
* @param webAppMount The path within the web application that the
* resources should be published at. It must start
* with '/'.
+ * @param url The URL of the resource (must locate a JAR, file or
+ * directory)
* @param internalPath The path within the resource where the content is
to
* be found. It must start with '/'.
*/
- void createWebResourceSet(ResourceSetType type, URL url, String
webAppMount,
+ void createWebResourceSet(ResourceSetType type, String webAppMount, URL
url,
String internalPath);
/**
@@ -195,15 +195,19 @@ public interface WebResourceRoot extends
* based on the provided parameters.
*
* @param type The type of {@link WebResourceSet} to create
- * @param base The location of the resources
* @param webAppMount The path within the web application that the
* resources should be published at. It must start
* with '/'.
- * @param internalPath The path within the resource where the content is
to
- * be found. It must start with '/'.
+ * @param base The location of the resources
+ * @param archivePath The path within the resource to the archive where
+ * the content is to be found. If there is no
+ * archive then this should be <code>null</code>.
+ * @param internalPath The path within the archive (or the resource if the
+ * archivePath is <code>null</code> where the
+ * content is to be found. It must start with '/'.
*/
- void createWebResourceSet(ResourceSetType type, String base,
- String webAppMount, String internalPath);
+ void createWebResourceSet(ResourceSetType type, String webAppMount,
+ String base, String archivePath, String internalPath);
/**
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Mon Sep 16
13:10:18 2013
@@ -4947,8 +4947,8 @@ public class StandardContext extends Con
"/WEB-INF/classes/META-INF/resources");
if (webinfClassesResource.isDirectory()) {
getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.RESOURCE_JAR,
- webinfClassesResource.getURL(), "/", "/");
+ WebResourceRoot.ResourceSetType.RESOURCE_JAR, "/",
+ webinfClassesResource.getURL(), "/");
}
}
Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Mon Sep 16
13:10:18 2013
@@ -1667,7 +1667,7 @@ public class ContextConfig implements Li
if (entryName.startsWith("META-INF/resources/")) {
context.getResources().createWebResourceSet(
WebResourceRoot.ResourceSetType.RESOURCE_JAR,
- url, "/", "/META-INF/resources");
+ "/", url, "/META-INF/resources");
break;
}
jar.nextEntry();
@@ -1679,7 +1679,7 @@ public class ContextConfig implements Li
if (resources.isDirectory()) {
context.getResources().createWebResourceSet(
WebResourceRoot.ResourceSetType.RESOURCE_JAR,
- file.getAbsolutePath(), "/", "/");
+ "/", file.getAbsolutePath(), null, "/");
}
}
} catch (IOException ioe) {
Modified: tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java Mon
Sep 16 13:10:18 2013
@@ -71,8 +71,8 @@ public class DirResourceSet extends Abst
f = new File(f, "/WEB-INF/classes/META-INF/resources");
if (f.isDirectory()) {
- root.createWebResourceSet(ResourceSetType.RESOURCE_JAR,
- f.getAbsolutePath(), "/", "/");
+ root.createWebResourceSet(ResourceSetType.RESOURCE_JAR, "/",
+ f.getAbsolutePath(), null, "/");
}
}
Modified: tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java Mon
Sep 16 13:10:18 2013
@@ -44,8 +44,8 @@ import org.apache.tomcat.util.res.String
* </p><p>
* This implementation assumes that the base attribute supplied to {@link
* StandardRoot#createWebResourceSet(
- * org.apache.catalina.WebResourceRoot.ResourceSetType, String, String,
String)}
- * represents the absolute path to a file.
+ * org.apache.catalina.WebResourceRoot.ResourceSetType, String, String, String,
+ * String)} represents the absolute path to a file.
* </p>
*/
public class StandardRoot extends LifecycleMBeanBase
@@ -231,15 +231,14 @@ public class StandardRoot extends Lifecy
@Override
- public void createWebResourceSet(ResourceSetType type, URL url,
- String webAppMount, String internalPath) {
- createWebResourceSet(type, toBase(url), webAppMount, internalPath);
+ public void createWebResourceSet(ResourceSetType type, String webAppMount,
+ URL url, String internalPath) {
+ createWebResourceSet(type, webAppMount, toBase(url), null,
internalPath);
}
@Override
- public void createWebResourceSet(ResourceSetType type, String base,
- String webAppMount, String internalPath) {
-
+ public void createWebResourceSet(ResourceSetType type, String webAppMount,
+ String base, String archivePath, String internalPath) {
ArrayList<WebResourceSet> resourceList;
WebResourceSet resourceSet;
Modified: tomcat/trunk/test/javax/el/TestCompositeELResolver.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/javax/el/TestCompositeELResolver.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
--- tomcat/trunk/test/javax/el/TestCompositeELResolver.java (original)
+++ tomcat/trunk/test/javax/el/TestCompositeELResolver.java Mon Sep 16 13:10:18
2013
@@ -46,8 +46,8 @@ public class TestCompositeELResolver ext
File lib = new File("webapps/examples/WEB-INF/lib");
ctxt.setResources(new StandardRoot(ctxt));
ctxt.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, lib.getAbsolutePath(),
- "/WEB-INF/lib", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/lib",
+ lib.getAbsolutePath(), null, "/");
tomcat.start();
Modified:
tomcat/trunk/test/org/apache/catalina/core/TestStandardContextAliases.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestStandardContextAliases.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/core/TestStandardContextAliases.java
(original)
+++ tomcat/trunk/test/org/apache/catalina/core/TestStandardContextAliases.java
Mon Sep 16 13:10:18 2013
@@ -51,8 +51,8 @@ public class TestStandardContextAliases
File lib = new File("webapps/examples/WEB-INF/lib");
ctx.setResources(new StandardRoot(ctx));
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, lib.getAbsolutePath(),
- "/WEB-INF/lib", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/lib",
+ lib.getAbsolutePath(), null, "/");
Tomcat.addServlet(ctx, "test", new TestServlet());
Modified: tomcat/trunk/test/org/apache/catalina/loader/TestVirtualContext.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/loader/TestVirtualContext.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/loader/TestVirtualContext.java
(original)
+++ tomcat/trunk/test/org/apache/catalina/loader/TestVirtualContext.java Mon
Sep 16 13:10:18 2013
@@ -77,23 +77,23 @@ public class TestVirtualContext extends
File f5 = new File("test/webapp-virtual-webapp/src/main/misc");
File f6 = new File("test/webapp-virtual-webapp/src/main/webapp2");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f1.getAbsolutePath(),
- "/WEB-INF/classes", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/classes",
+ f1.getAbsolutePath(), null, "/");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f2.getAbsolutePath(),
- "/WEB-INF/classes", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/classes",
+ f2.getAbsolutePath(), null, "/");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f3.getAbsolutePath(),
- "/WEB-INF/classes", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/classes",
+ f3.getAbsolutePath(), null, "/");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f4.getAbsolutePath(),
- "/WEB-INF/classes", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/classes",
+ f4.getAbsolutePath(), null, "/");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f5.getAbsolutePath(),
- "/other", "/");
+ WebResourceRoot.ResourceSetType.POST, "/other",
+ f5.getAbsolutePath(), null, "/");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f6.getAbsolutePath(),
- "/", "/");
+ WebResourceRoot.ResourceSetType.POST, "/",
+ f6.getAbsolutePath(), null, "/");
StandardJarScanner jarScanner = new StandardJarScanner();
jarScanner.setScanAllDirectories(true);
@@ -280,11 +280,11 @@ public class TestVirtualContext extends
File f1 = new File("test/webapp-virtual-webapp/target/classes");
File f2 = new File("test/webapp-virtual-library/target/classes");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f1.getAbsolutePath(),
- "/WEB-INF/classes", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/classes",
+ f1.getAbsolutePath(), null, "/");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f2.getAbsolutePath(),
- "/WEB-INF/classes", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/classes",
+ f2.getAbsolutePath(), null, "/");
tomcat.start();
// first test that without the setting on StandardContext the annotated
@@ -297,15 +297,14 @@ public class TestVirtualContext extends
// path, the servlet is detected
ctx.setResources(new StandardRoot(ctx));
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f1.getAbsolutePath(),
- "/WEB-INF/classes", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/classes",
+ f1.getAbsolutePath(), null, "/");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f2.getAbsolutePath(),
- "/WEB-INF/classes", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/classes",
+ f2.getAbsolutePath(), null, "/");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST,
- additionWebInfClasses.getAbsolutePath(),
- "/WEB-INF/classes", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/classes",
+ additionWebInfClasses.getAbsolutePath(), null, "/");
tomcat.start();
assertPageContains("/test/annotatedServlet",
MyAnnotatedServlet.MESSAGE);
Modified:
tomcat/trunk/test/org/apache/catalina/loader/TestVirtualWebappLoader.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/loader/TestVirtualWebappLoader.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/loader/TestVirtualWebappLoader.java
(original)
+++ tomcat/trunk/test/org/apache/catalina/loader/TestVirtualWebappLoader.java
Mon Sep 16 13:10:18 2013
@@ -58,8 +58,8 @@ public class TestVirtualWebappLoader ext
File f1 = new File("test/webapp-fragments/WEB-INF/lib");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, f1.getAbsolutePath(),
- "/WEB-INF/lib", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/lib",
+ f1.getAbsolutePath(), null, "/");
loader.start();
String[] repos = loader.getLoaderRepositories();
Modified:
tomcat/trunk/test/org/apache/catalina/webresources/TesterWebResourceRoot.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/webresources/TesterWebResourceRoot.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
---
tomcat/trunk/test/org/apache/catalina/webresources/TesterWebResourceRoot.java
(original)
+++
tomcat/trunk/test/org/apache/catalina/webresources/TesterWebResourceRoot.java
Mon Sep 16 13:10:18 2013
@@ -91,14 +91,14 @@ public class TesterWebResourceRoot exten
}
@Override
- public void createWebResourceSet(ResourceSetType type, URL url,
- String webAppPath, String internalPath) {
+ public void createWebResourceSet(ResourceSetType type, String webAppPath,
+ URL url, String internalPath) {
// NO-OP
}
@Override
- public void createWebResourceSet(ResourceSetType type, String base,
- String webAppMount, String internalPath) {
+ public void createWebResourceSet(ResourceSetType type, String webAppPath,
+ String base, String archivePath, String internalPath) {
// NO-OP
}
Modified: tomcat/trunk/test/org/apache/jasper/compiler/TestGenerator.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/compiler/TestGenerator.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/jasper/compiler/TestGenerator.java (original)
+++ tomcat/trunk/test/org/apache/jasper/compiler/TestGenerator.java Mon Sep 16
13:10:18 2013
@@ -121,8 +121,8 @@ public class TestGenerator extends Tomca
File lib = new File("webapps/examples/WEB-INF/lib");
ctxt.setResources(new StandardRoot(ctxt));
ctxt.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, lib.getAbsolutePath(),
- "/WEB-INF/lib", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/lib",
+ lib.getAbsolutePath(), null, "/");
tomcat.start();
Modified:
tomcat/trunk/test/org/apache/jasper/tagplugins/jstl/core/AbstractTestTag.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/tagplugins/jstl/core/AbstractTestTag.java?rev=1523625&r1=1523624&r2=1523625&view=diff
==============================================================================
---
tomcat/trunk/test/org/apache/jasper/tagplugins/jstl/core/AbstractTestTag.java
(original)
+++
tomcat/trunk/test/org/apache/jasper/tagplugins/jstl/core/AbstractTestTag.java
Mon Sep 16 13:10:18 2013
@@ -43,16 +43,16 @@ public abstract class AbstractTestTag ex
// Add the JSTL (we need the TLD)
File lib = new File("webapps/examples/WEB-INF/lib");
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, lib.getAbsolutePath(),
- "/WEB-INF/lib", "/");
+ WebResourceRoot.ResourceSetType.POST, "/WEB-INF/lib",
+ lib.getAbsolutePath(), null, "/");
// Configure the use of the plug-in rather than the standard impl
File plugin = new File(
"java/org/apache/jasper/tagplugins/jstl/tagPlugins.xml");
Assert.assertTrue(plugin.isFile());
ctx.getResources().createWebResourceSet(
- WebResourceRoot.ResourceSetType.POST, plugin.getAbsolutePath(),
- "/WEB-INF/tagPlugins.xml", "/");
+ WebResourceRoot.ResourceSetType.POST,
"/WEB-INF/tagPlugins.xml",
+ plugin.getAbsolutePath(), null, "/");
tomcat.start();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]