[jboss-cvs] JBossAS SVN: r102787 - projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 23 10:23:00 EDT 2010


Author: remy.maucherat at jboss.com
Date: 2010-03-23 10:22:59 -0400 (Tue, 23 Mar 2010)
New Revision: 102787

Modified:
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebCommonMetaData.java
Log:
- Treat filter mappings the same way as servlet mappings.

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebCommonMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebCommonMetaData.java	2010-03-23 14:13:06 UTC (rev 102786)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebCommonMetaData.java	2010-03-23 14:22:59 UTC (rev 102787)
@@ -590,17 +590,6 @@
                (webMetaData != null) ? webMetaData.getSessionConfig() : null, resolveConflicts);
       }
       
-      // Filters
-      if (getFilters() == null)
-      {
-         setFilters(webFragmentMetaData.getFilters());
-      }
-      else if (webFragmentMetaData.getFilters() != null)
-      {
-         getFilters().augment(webFragmentMetaData.getFilters(), 
-               (webMetaData != null) ? webMetaData.getFilters() : null, resolveConflicts);
-      }
-      
       // Filter mappings
       if (getFilterMappings() == null)
       {
@@ -621,7 +610,13 @@
                if (check.getFilterName().equals(filterMapping.getFilterName()))
                {
                   found = true;
-                  check.augment(filterMapping, null, resolveConflicts);
+                  String filterName = check.getFilterName();
+                  // Augment unless the Filter has been redefined in the descriptor we are merging into
+                  if (!(resolveConflicts
+                        && getFilters() != null
+                        && getFilters().get(filterName) != null)) {
+                     check.augment(filterMapping, null, resolveConflicts);
+                  }
                }
             }
             if (!found)
@@ -630,6 +625,17 @@
          setFilterMappings(mergedFilterMappings);
       }
       
+      // Filters
+      if (getFilters() == null)
+      {
+         setFilters(webFragmentMetaData.getFilters());
+      }
+      else if (webFragmentMetaData.getFilters() != null)
+      {
+         getFilters().augment(webFragmentMetaData.getFilters(), 
+               (webMetaData != null) ? webMetaData.getFilters() : null, resolveConflicts);
+      }
+      
       // Error page
       if (getErrorPages() == null)
       {




More information about the jboss-cvs-commits mailing list