Author: remm Date: Thu Feb 7 10:22:25 2013 New Revision: 1443388 URL: http://svn.apache.org/viewvc?rev=1443388&view=rev Log: Improve support for resources.
Modified: tomcat/trunk/java/org/apache/catalina/WebResourceRoot.java tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml (contents, props changed) tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.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=1443388&r1=1443387&r2=1443388&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/WebResourceRoot.java (original) +++ tomcat/trunk/java/org/apache/catalina/WebResourceRoot.java Thu Feb 7 10:22:25 2013 @@ -213,18 +213,36 @@ public interface WebResourceRoot extends void addPreResources(WebResourceSet webResourceSet); /** + * Get the list of WebResourceSet configured to this web application + * as a 'Pre' resource. + */ + WebResourceSet[] getPreResources(); + + /** * Adds the provided WebResourceSet to this web application as a 'Jar' * resource. */ void addJarResources(WebResourceSet webResourceSet); /** + * Get the list of WebResourceSet configured to this web application + * as a 'Jar' resource. + */ + WebResourceSet[] getJarResources(); + + /** * Adds the provided WebResourceSet to this web application as a 'Post' * resource. */ void addPostResources(WebResourceSet webResourceSet); /** + * Get the list of WebResourceSet configured to this web application + * as a 'Post' resource. + */ + WebResourceSet[] getPostResources(); + + /** * Obtain the web application this WebResourceRoot is associated with. */ Context getContext(); Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java?rev=1443388&r1=1443387&r2=1443388&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java (original) +++ tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java Thu Feb 7 10:22:25 2013 @@ -20,6 +20,7 @@ package org.apache.catalina.storeconfig; import java.io.PrintWriter; import org.apache.catalina.WebResourceRoot; +import org.apache.catalina.WebResourceSet; /** * Generate Resources element @@ -42,7 +43,44 @@ public class WebResourceRootSF extends S public void storeChilds(PrintWriter aWriter, int indent, Object aResourceRoot, StoreDescription parentDesc) throws Exception { if (aResourceRoot instanceof WebResourceRoot) { - // FIXME: No getter to access PreResource, JarResources and PostResources + WebResourceRoot resourceRoot = (WebResourceRoot) aResourceRoot; + + // Store nested <PreResources> elements + WebResourceSet[] preResourcesArray = resourceRoot.getPreResources(); + StoreDescription preResourcesElementDesc = getRegistry().findDescription( + WebResourceSet.class.getName() + + ".[PreResources]"); + if (preResourcesElementDesc != null) { + for (WebResourceSet preResources : preResourcesArray) { + preResourcesElementDesc.getStoreFactory().store(aWriter, indent, + preResources); + } + } + + // Store nested <JarResources> elements + WebResourceSet[] jarResourcesArray = resourceRoot.getJarResources(); + StoreDescription jarResourcesElementDesc = getRegistry().findDescription( + WebResourceSet.class.getName() + + ".[JarResources]"); + if (jarResourcesElementDesc != null) { + for (WebResourceSet jarResources : jarResourcesArray) { + preResourcesElementDesc.getStoreFactory().store(aWriter, indent, + jarResources); + } + } + + // Store nested <PostResources> elements + WebResourceSet[] postResourcesArray = resourceRoot.getPostResources(); + StoreDescription postResourcesElementDesc = getRegistry().findDescription( + WebResourceSet.class.getName() + + ".[PostResources]"); + if (postResourcesElementDesc != null) { + for (WebResourceSet postResources : postResourcesArray) { + preResourcesElementDesc.getStoreFactory().store(aWriter, indent, + postResources); + } + } + } } } \ No newline at end of file Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml?rev=1443388&r1=1443387&r2=1443388&view=diff ============================================================================== Binary files - no diff available. Propchange: tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml ------------------------------------------------------------------------------ --- svn:mime-type (original) +++ svn:mime-type Thu Feb 7 10:22:25 2013 @@ -1 +1 @@ -application/xml +text/xml 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=1443388&r1=1443387&r2=1443388&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java (original) +++ tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java Thu Feb 7 10:22:25 2013 @@ -288,18 +288,33 @@ public class StandardRoot extends Lifecy } @Override + public WebResourceSet[] getPreResources() { + return preResources.toArray(new WebResourceSet[0]); + } + + @Override public void addJarResources(WebResourceSet webResourceSet) { webResourceSet.setRoot(this); jarResources.add(webResourceSet); } @Override + public WebResourceSet[] getJarResources() { + return jarResources.toArray(new WebResourceSet[0]); + } + + @Override public void addPostResources(WebResourceSet webResourceSet) { webResourceSet.setRoot(this); postResources.add(webResourceSet); } @Override + public WebResourceSet[] getPostResources() { + return postResources.toArray(new WebResourceSet[0]); + } + + @Override public void setAllowLinking(boolean allowLinking) { this.allowLinking = allowLinking; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org