You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2013/02/07 11:22:25 UTC

svn commit: r1443388 - in /tomcat/trunk/java/org/apache/catalina: WebResourceRoot.java storeconfig/WebResourceRootSF.java storeconfig/server-registry.xml webresources/StandardRoot.java

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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org