Author: markt
Date: Wed Oct 28 11:48:50 2009
New Revision: 830506
URL: http://svn.apache.org/viewvc?rev=830506&view=rev
Log:
Re-factoring to make testing easier
Modified:
tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
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=830506&r1=830505&r2=830506&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Wed Oct 28
11:48:50 2009
@@ -1241,7 +1241,12 @@
Map<String,WebXml> fragments = processJarsForWebFragments();
// Merge the fragments into the main web.xml
- mergeWebFragments(webXml, fragments);
+ Set<WebXml> orderedFragments = orderWebFragments(webXml,
fragments);
+
+ // Merge fragment into application
+ if (ok) {
+ ok = webXml.merge(orderedFragments);
+ }
// Process JARs for annotations
processAnnotationsInJars(fragments);
@@ -1562,13 +1567,15 @@
}
/**
- * Merges the web-fragment.xml and web.xml files as per the rules in the
+ * Generates the sub-set of the web-fragment.xml files to be processed in
+ * the order that the fragments must be processed as per the rules in the
* Servlet spec.
*
* @param application The application web.xml file
* @param fragments The map of fragment names to web fragments
+ * @return Ordered list of web-fragment.xml files to process
*/
- protected void mergeWebFragments(WebXml application,
+ protected static Set<WebXml> orderWebFragments(WebXml application,
Map<String,WebXml> fragments) {
Set<WebXml> orderedFragments = new LinkedHashSet<WebXml>();
@@ -1602,10 +1609,7 @@
// TODO SERVLET3 Relative ordering
}
- // Merge fragment into application
- if (ok) {
- ok = application.merge(orderedFragments);
- }
+ return orderedFragments;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]