[jboss-cvs] JBossAS SVN: r93522 - in projects/metadata/web/trunk/src: main/java/org/jboss/metadata/web/spec and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Sep 15 06:37:18 EDT 2009


Author: remy.maucherat at jboss.com
Date: 2009-09-15 06:37:17 -0400 (Tue, 15 Sep 2009)
New Revision: 93522

Modified:
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/AnnotationMergedView.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/CookieConfigMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMappingMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FiltersMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FormLoginConfigMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/JspConfigMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/LocaleEncodingsMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/LoginConfigMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/MultipartConfigMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMappingMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletsMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/SessionConfigMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web22MetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web23MetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web24MetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web25MetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web30MetaData.java
   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/WebFragment30MetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragmentMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WelcomeFileListMetaData.java
   projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/FragmentMergeUnitTestCase.java
   projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp24UnitTestCase.java
   projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp5EverythingUnitTestCase.java
   projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6EverythingUnitTestCase.java
   projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6FragmentUnitTestCase.java
Log:
- The final merge to the WebMetaData is actually similar (if there is a conflict, then the conflicting element is skipped
  rather than throwing an error), so use a flag rather than duplicate the code.
- Attempt to use the existing merge for the EE environment.
- Typo: contraints -> constraints.

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -104,7 +104,7 @@
    private LoginConfigMetaData loginConfig;
    private List<MimeMappingMetaData> mimeMappings;
    private List<ServletMappingMetaData> servletMappings;
-   private List<SecurityConstraintMetaData> securityContraints;
+   private List<SecurityConstraintMetaData> securityConstraints;
    private WelcomeFileListMetaData welcomeFileList;
    private LocaleEncodingsMetaData localEncodings;
 
@@ -396,14 +396,14 @@
       this.servletMappings = servletMappings;
    }
 
-   public List<SecurityConstraintMetaData> getSecurityContraints()
+   public List<SecurityConstraintMetaData> getSecurityConstraints()
    {
-      return securityContraints;
+      return securityConstraints;
    }
    @XmlElement(name="security-constraint")
-   public void setSecurityContraints(List<SecurityConstraintMetaData> securityContraints)
+   public void setSecurityConstraints(List<SecurityConstraintMetaData> securityConstraints)
    {
-      this.securityContraints = securityContraints;
+      this.securityConstraints = securityConstraints;
    }
 
    public SecurityRolesMetaData getSecurityRoles()
@@ -957,10 +957,10 @@
       else if(original != null && original.getServletMappings() != null)
          setServletMappings(original.getServletMappings());
       
-      if(override != null && override.securityContraints!= null)
-         setSecurityContraints(override.securityContraints);
-      else if(original != null && original.getSecurityContraints() != null)
-         setSecurityContraints(original.getSecurityContraints());
+      if(override != null && override.securityConstraints!= null)
+         setSecurityConstraints(override.securityConstraints);
+      else if(original != null && original.getSecurityConstraints() != null)
+         setSecurityConstraints(original.getSecurityConstraints());
       
       if(override != null && override.welcomeFileList!= null)
          setWelcomeFileList(override.welcomeFileList);

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/AnnotationMergedView.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/AnnotationMergedView.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/AnnotationMergedView.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -208,8 +208,8 @@
          merged.setServletMappings(xml.getServletMappings());
       
       //Security Constraints
-      if(xml.getSecurityContraints() != null)
-         merged.setSecurityContraints(xml.getSecurityContraints());
+      if(xml.getSecurityConstraints() != null)
+         merged.setSecurityConstraints(xml.getSecurityConstraints());
       
       //Welcome Files
       if(xml.getWelcomeFileList() != null)

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/CookieConfigMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/CookieConfigMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/CookieConfigMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -116,7 +116,7 @@
       maxAgeSet = true;
    }
 
-   public void augment(CookieConfigMetaData webFragmentMetaData, CookieConfigMetaData webMetaData)
+   public void augment(CookieConfigMetaData webFragmentMetaData, CookieConfigMetaData webMetaData, boolean resolveConflicts)
    {
       // Name
       if (getName() == null)
@@ -125,7 +125,7 @@
       }
       else if (webFragmentMetaData.getName() != null)
       {
-         if (!getName().equals(webFragmentMetaData.getName()) 
+         if (!resolveConflicts && !getName().equals(webFragmentMetaData.getName()) 
                && (webMetaData == null || webMetaData.getName() == null))
          {
             throw new IllegalStateException("Unresolved conflict on cookie name: " + getName());
@@ -138,7 +138,7 @@
       }
       else if (webFragmentMetaData.getDomain() != null)
       {
-         if (!getDomain().equals(webFragmentMetaData.getDomain()) 
+         if (!resolveConflicts && !getDomain().equals(webFragmentMetaData.getDomain()) 
                && (webMetaData == null || webMetaData.getDomain() == null))
          {
             throw new IllegalStateException("Unresolved conflict on cookie domain: " + getDomain());
@@ -151,7 +151,7 @@
       }
       else if (webFragmentMetaData.getPath() != null)
       {
-         if (!getPath().equals(webFragmentMetaData.getPath()) 
+         if (!resolveConflicts && !getPath().equals(webFragmentMetaData.getPath()) 
                && (webMetaData == null || webMetaData.getPath() == null))
          {
             throw new IllegalStateException("Unresolved conflict on cookie path: " + getPath());
@@ -164,7 +164,7 @@
       }
       else if (webFragmentMetaData.getComment() != null)
       {
-         if (!getComment().equals(webFragmentMetaData.getComment()) 
+         if (!resolveConflicts && !getComment().equals(webFragmentMetaData.getComment()) 
                && (webMetaData == null || webMetaData.getComment() == null))
          {
             throw new IllegalStateException("Unresolved conflict on cookie comment: " + getComment());
@@ -180,7 +180,7 @@
       }
       else
       {
-         if (webFragmentMetaData.httpOnlySet 
+         if (!resolveConflicts && webFragmentMetaData.httpOnlySet 
                && (getHttpOnly() != webFragmentMetaData.getHttpOnly())
                && (webMetaData == null || !webMetaData.httpOnlySet))
          {
@@ -197,7 +197,7 @@
       }
       else
       {
-         if (webFragmentMetaData.secureSet 
+         if (!resolveConflicts && webFragmentMetaData.secureSet 
                && (getSecure() != webFragmentMetaData.getSecure())
                && (webMetaData == null || !webMetaData.secureSet))
          {
@@ -214,7 +214,7 @@
       }
       else
       {
-         if (webFragmentMetaData.maxAgeSet 
+         if (!resolveConflicts && webFragmentMetaData.maxAgeSet 
                && (getMaxAge() != webFragmentMetaData.getMaxAge())
                && (webMetaData == null || !webMetaData.maxAgeSet))
          {

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMappingMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMappingMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMappingMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -82,7 +82,7 @@
       this.dispatchers = dispatchers;
    }
 
-   public void augment(FilterMappingMetaData webFragmentMetaData, FilterMappingMetaData webMetaData)
+   public void augment(FilterMappingMetaData webFragmentMetaData, FilterMappingMetaData webMetaData, boolean resolveConflicts)
    {
       // Note: as this is purely additive, webMetaData is useless
       // Url pattern

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -86,7 +86,7 @@
       asyncSupportedSet = true;
    }
 
-   public void augment(FilterMetaData webFragmentMetaData, FilterMetaData webMetaData)
+   public void augment(FilterMetaData webFragmentMetaData, FilterMetaData webMetaData, boolean resolveConflicts)
    {
       // Filter class
       if (getFilterClass() == null)
@@ -95,7 +95,7 @@
       }
       else if (webFragmentMetaData.getFilterClass() != null)
       {
-         if (!getFilterClass().equals(webFragmentMetaData.getFilterClass()) 
+         if (!resolveConflicts && !getFilterClass().equals(webFragmentMetaData.getFilterClass()) 
                && (webMetaData == null || webMetaData.getFilterClass() == null))
          {
             throw new IllegalStateException("Unresolved conflict on filter class for filter: " + getName());
@@ -118,7 +118,7 @@
                {
                   found = true;
                   // Check for a conflict
-                  if (!check.getParamValue().equals(initParam.getParamValue()))
+                  if (!resolveConflicts && !check.getParamValue().equals(initParam.getParamValue()))
                   {
                      // If the parameter name does not exist in the main web, it's an error
                      boolean found2 = false;
@@ -157,7 +157,7 @@
       }
       else
       {
-         if (webFragmentMetaData.asyncSupportedSet 
+         if (!resolveConflicts && webFragmentMetaData.asyncSupportedSet 
                && (isAsyncSupported() != webFragmentMetaData.isAsyncSupported())
                && (webMetaData == null || !webMetaData.asyncSupportedSet))
          {

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FiltersMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FiltersMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FiltersMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -35,14 +35,14 @@
       super("web app filters");
    }
    
-   public void augment(FiltersMetaData webFragmentMetaData, FiltersMetaData webMetaData)
+   public void augment(FiltersMetaData webFragmentMetaData, FiltersMetaData webMetaData, boolean resolveConflicts)
    {
       for (FilterMetaData filterMetaData : webFragmentMetaData)
       {
          if (containsKey(filterMetaData.getKey()))
          {
             get(filterMetaData.getKey()).augment(filterMetaData, 
-                  (webMetaData != null) ? webMetaData.get(filterMetaData.getKey()) : null);
+                  (webMetaData != null) ? webMetaData.get(filterMetaData.getKey()) : null, resolveConflicts);
          }
          else
          {

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FormLoginConfigMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FormLoginConfigMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FormLoginConfigMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -57,4 +57,32 @@
    {
       this.errorPage = errorPage;
    }
+   
+   public void augment(FormLoginConfigMetaData webFragmentMetaData, FormLoginConfigMetaData webMetaData, boolean resolveConflicts)
+   {
+      if (getLoginPage() == null)
+      {
+         setLoginPage(webFragmentMetaData.getLoginPage());
+      }
+      else if (webFragmentMetaData.getLoginPage() != null)
+      {
+         if (!resolveConflicts && !getLoginPage().equals(webFragmentMetaData.getLoginPage())
+               && (webMetaData == null || webMetaData.getLoginPage() == null))
+         {
+            throw new IllegalStateException("Unresolved conflict on login page: " + getLoginPage());
+         }
+      }
+      if (getErrorPage() == null)
+      {
+         setErrorPage(webFragmentMetaData.getErrorPage());
+      }
+      else if (webFragmentMetaData.getErrorPage() != null)
+      {
+         if (!resolveConflicts && !getErrorPage().equals(webFragmentMetaData.getErrorPage())
+               && (webMetaData == null || webMetaData.getErrorPage() == null))
+         {
+            throw new IllegalStateException("Unresolved conflict on error page: " + getErrorPage());
+         }
+      }
+   }
 }

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/JspConfigMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/JspConfigMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/JspConfigMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -61,7 +61,7 @@
       this.propertyGroups = propertyGroups;
    }
 
-   public void augment(JspConfigMetaData webFragmentMetaData, JspConfigMetaData webMetaData)
+   public void augment(JspConfigMetaData webFragmentMetaData, JspConfigMetaData webMetaData, boolean resolveConflicts)
    {
       // Taglib
       if (getTaglibs() == null)
@@ -80,7 +80,7 @@
                {
                   found = true;
                   // Check for a conflict
-                  if (!check.getTaglibLocation().equals(taglib.getTaglibLocation()))
+                  if (!resolveConflicts && !check.getTaglibLocation().equals(taglib.getTaglibLocation()))
                   {
                      // If the parameter name does not exist in the main web, it's an error
                      boolean found2 = false;

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/LocaleEncodingsMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/LocaleEncodingsMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/LocaleEncodingsMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -48,7 +48,7 @@
       this.mappings = mappings;
    }   
    
-   public void augment(LocaleEncodingsMetaData webFragmentMetaData, LocaleEncodingsMetaData webMetaData)
+   public void augment(LocaleEncodingsMetaData webFragmentMetaData, LocaleEncodingsMetaData webMetaData, boolean resolveConflicts)
    {
       if (getMappings() == null)
       {
@@ -66,7 +66,7 @@
                {
                   found = true;
                   // Check for a conflict
-                  if (!check.getEncoding().equals(mapping.getEncoding()))
+                  if (!resolveConflicts && !check.getEncoding().equals(mapping.getEncoding()))
                   {
                      // If the parameter name does not exist in the main web, it's an error
                      boolean found2 = false;

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/LoginConfigMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/LoginConfigMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/LoginConfigMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -68,7 +68,7 @@
       this.formLoginConfig = formLoginConfig;
    }
    
-   public void augment(LoginConfigMetaData webFragmentMetaData, LoginConfigMetaData webMetaData)
+   public void augment(LoginConfigMetaData webFragmentMetaData, LoginConfigMetaData webMetaData, boolean resolveConflicts)
    {
       if (getAuthMethod() == null)
       {
@@ -76,7 +76,7 @@
       }
       else if (webFragmentMetaData.getAuthMethod() != null)
       {
-         if (!getAuthMethod().equals(webFragmentMetaData.getAuthMethod())
+         if (!resolveConflicts && !getAuthMethod().equals(webFragmentMetaData.getAuthMethod())
                && (webMetaData == null || webMetaData.getAuthMethod() == null))
          {
             throw new IllegalStateException("Unresolved conflict on auth method: " + getAuthMethod());
@@ -88,7 +88,7 @@
       }
       else if (webFragmentMetaData.getRealmName() != null)
       {
-         if (!getRealmName().equals(webFragmentMetaData.getRealmName())
+         if (!resolveConflicts && !getRealmName().equals(webFragmentMetaData.getRealmName())
                && (webMetaData == null || webMetaData.getRealmName() == null))
          {
             throw new IllegalStateException("Unresolved conflict on realm name: " + getRealmName());
@@ -100,16 +100,8 @@
       }
       else if (webFragmentMetaData.getFormLoginConfig() != null)
       {
-         if ((getFormLoginConfig().getErrorPage() != null 
-                 && !getFormLoginConfig().getErrorPage().equals(webFragmentMetaData.getFormLoginConfig().getErrorPage()))
-              || (getFormLoginConfig().getLoginPage() != null
-                 && !getFormLoginConfig().getLoginPage().equals(webFragmentMetaData.getFormLoginConfig().getLoginPage())))
-         {
-            if (webMetaData == null || webMetaData.getFormLoginConfig() == null)
-            {
-               throw new IllegalStateException("Unresolved conflict on form login config");
-            }
-         }
+         getFormLoginConfig().augment(webFragmentMetaData.getFormLoginConfig(), 
+               (webMetaData != null) ? webMetaData.getFormLoginConfig() : null, resolveConflicts);
       }
    }
 }

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/MultipartConfigMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/MultipartConfigMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/MultipartConfigMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -82,7 +82,7 @@
       fileSizeThresholdSet = true;
    }
 
-   public void augment(MultipartConfigMetaData webFragmentMetaData, MultipartConfigMetaData webMetaData)
+   public void augment(MultipartConfigMetaData webFragmentMetaData, MultipartConfigMetaData webMetaData, boolean resolveConflicts)
    {
       // Location
       if (getLocation() == null)
@@ -91,7 +91,7 @@
       }
       else if (webFragmentMetaData.getLocation() != null)
       {
-         if (!getLocation().equals(webFragmentMetaData.getLocation()) 
+         if (!resolveConflicts && !getLocation().equals(webFragmentMetaData.getLocation()) 
                && (webMetaData == null || webMetaData.getLocation() == null))
          {
             throw new IllegalStateException("Unresolved conflict on location: " + getLocation());
@@ -107,7 +107,7 @@
       }
       else
       {
-         if (webFragmentMetaData.maxFileSizeSet 
+         if (!resolveConflicts && webFragmentMetaData.maxFileSizeSet 
                && (getMaxFileSize() != webFragmentMetaData.getMaxFileSize())
                && (webMetaData == null || !webMetaData.maxFileSizeSet))
          {
@@ -124,7 +124,7 @@
       }
       else
       {
-         if (webFragmentMetaData.maxRequestSizeSet 
+         if (!resolveConflicts && webFragmentMetaData.maxRequestSizeSet 
                && (getMaxRequestSize() != webFragmentMetaData.getMaxRequestSize())
                && (webMetaData == null || !webMetaData.maxRequestSizeSet))
          {
@@ -141,7 +141,7 @@
       }
       else
       {
-         if (webFragmentMetaData.fileSizeThresholdSet 
+         if (!resolveConflicts && webFragmentMetaData.fileSizeThresholdSet 
                && (getFileSizeThreshold() != webFragmentMetaData.getFileSizeThreshold())
                && (webMetaData == null || !webMetaData.fileSizeThresholdSet))
          {

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMappingMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMappingMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMappingMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -61,7 +61,7 @@
       this.urlPatterns = urlPatterns;
    }
 
-   public void augment(ServletMappingMetaData webFragmentMetaData, ServletMappingMetaData webMetaData)
+   public void augment(ServletMappingMetaData webFragmentMetaData, ServletMappingMetaData webMetaData, boolean resolveConflicts)
    {
       // Note: as this is purely additive, webMetaData is useless
       // Url pattern

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -201,7 +201,7 @@
          setMultipartConfig(original.multipartConfig);
    }
 
-   public void augment(ServletMetaData webFragmentMetaData, ServletMetaData webMetaData)
+   public void augment(ServletMetaData webFragmentMetaData, ServletMetaData webMetaData, boolean resolveConflicts)
    {
       // Servlet class
       if (getServletClass() == null)
@@ -210,7 +210,7 @@
       }
       else if (webFragmentMetaData.getServletClass() != null)
       {
-         if (!getServletClass().equals(webFragmentMetaData.getServletClass()) 
+         if (!resolveConflicts && !getServletClass().equals(webFragmentMetaData.getServletClass()) 
                && (webMetaData == null || webMetaData.getServletClass() == null))
          {
             throw new IllegalStateException("Unresolved conflict on servlet class: " + getServletClass());
@@ -223,7 +223,7 @@
       }
       else if (webFragmentMetaData.getJspFile() != null)
       {
-         if (!getJspFile().equals(webFragmentMetaData.getJspFile()) 
+         if (!resolveConflicts && !getJspFile().equals(webFragmentMetaData.getJspFile()) 
                && (webMetaData == null || webMetaData.getJspFile() == null))
          {
             throw new IllegalStateException("Unresolved conflict on jsp file: " + getJspFile());
@@ -246,7 +246,7 @@
                {
                   found = true;
                   // Check for a conflict
-                  if (!check.getParamValue().equals(initParam.getParamValue()))
+                  if (!resolveConflicts && !check.getParamValue().equals(initParam.getParamValue()))
                   {
                      // If the parameter name does not exist in the main web, it's an error
                      boolean found2 = false;
@@ -285,7 +285,7 @@
       }
       else
       {
-         if (webFragmentMetaData.loadOnStartupSet 
+         if (!resolveConflicts && webFragmentMetaData.loadOnStartupSet 
                && (getLoadOnStartup() != webFragmentMetaData.getLoadOnStartup())
                && (webMetaData == null || !webMetaData.loadOnStartupSet))
          {
@@ -299,7 +299,7 @@
       }
       else if (webFragmentMetaData.getRunAs() != null)
       {
-         if (getRunAs().getRoleName() != null 
+         if (!resolveConflicts && getRunAs().getRoleName() != null 
                && !getRunAs().getRoleName().equals(webFragmentMetaData.getRunAs().getRoleName()))
          {
             if (webMetaData == null || webMetaData.getRunAs() == null)
@@ -321,7 +321,7 @@
             if (getSecurityRoleRefs().containsKey(securityRoleRef.getKey()))
             {
                SecurityRoleRefMetaData check = getSecurityRoleRefs().get(securityRoleRef.getKey());
-               if (check.getRoleLink() != null
+               if (!resolveConflicts && check.getRoleLink() != null
                      && !check.getRoleLink().equals(securityRoleRef.getRoleLink()))
                {
                   if (webMetaData == null || webMetaData.getSecurityRoleRefs() == null
@@ -347,7 +347,7 @@
       }
       else
       {
-         if (webFragmentMetaData.asyncSupportedSet 
+         if (!resolveConflicts && webFragmentMetaData.asyncSupportedSet 
                && (isAsyncSupported() != webFragmentMetaData.isAsyncSupported())
                && (webMetaData == null || !webMetaData.asyncSupportedSet))
          {
@@ -364,7 +364,7 @@
       }
       else
       {
-         if (webFragmentMetaData.enabledSet 
+         if (!resolveConflicts && webFragmentMetaData.enabledSet 
                && (isEnabled() != webFragmentMetaData.isEnabled())
                && (webMetaData == null || !webMetaData.enabledSet))
          {
@@ -378,7 +378,7 @@
       }
       else if (webFragmentMetaData.getMultipartConfig() != null)
       {
-         getMultipartConfig().augment(webFragmentMetaData.getMultipartConfig(), webMetaData.getMultipartConfig());
+         getMultipartConfig().augment(webFragmentMetaData.getMultipartConfig(), webMetaData.getMultipartConfig(), resolveConflicts);
       }
    }
    

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletsMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletsMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ServletsMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -35,14 +35,14 @@
       super("web app servlets");
    }
 
-   public void augment(ServletsMetaData webFragmentMetaData, ServletsMetaData webMetaData)
+   public void augment(ServletsMetaData webFragmentMetaData, ServletsMetaData webMetaData, boolean resolveConflicts)
    {
       for (ServletMetaData servletMetaData : webFragmentMetaData)
       {
          if (containsKey(servletMetaData.getKey()))
          {
             get(servletMetaData.getKey()).augment(servletMetaData, 
-                  (webMetaData != null) ? webMetaData.get(servletMetaData.getKey()) : null);
+                  (webMetaData != null) ? webMetaData.get(servletMetaData.getKey()) : null, resolveConflicts);
          }
          else
          {

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/SessionConfigMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/SessionConfigMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/SessionConfigMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -73,17 +73,7 @@
       this.sessionTrackingModes = sessionTrackingModes;
    }
 
-   /**
-    * Merge web meta data, according to the merging rules specified by the Servlet 3.0
-    * specification. This is a special type of merging, where non conflicting meta data
-    * augment existing meta data, rather than overriding it.
-    * If there is a conflict when merging the fragment meta data, and the main
-    * webMetaData does not resolve the conflict, an error will be thrown. 
-    * 
-    * @param webFragmentMetaData The web meta data which will be merged into this one
-    * @param webMetaData The base web meta data, used for conflict error checking
-    */
-   public void augment(SessionConfigMetaData webFragmentMetaData, SessionConfigMetaData webMetaData)
+   public void augment(SessionConfigMetaData webFragmentMetaData, SessionConfigMetaData webMetaData, boolean resolveConflicts)
    {
       // Session timeout
       if (!sessionTimeoutSet)
@@ -95,7 +85,7 @@
       }
       else
       {
-         if (webFragmentMetaData.sessionTimeoutSet 
+         if (!resolveConflicts && webFragmentMetaData.sessionTimeoutSet 
                && (getSessionTimeout() != webFragmentMetaData.getSessionTimeout())
                && (webMetaData == null || !webMetaData.sessionTimeoutSet))
          {
@@ -110,7 +100,7 @@
       else if (webFragmentMetaData.getCookieConfig() != null)
       {
          getCookieConfig().augment(webFragmentMetaData.getCookieConfig(), 
-               (webMetaData != null) ? webMetaData.getCookieConfig() : null);
+               (webMetaData != null) ? webMetaData.getCookieConfig() : null, resolveConflicts);
       }
       // Tracking modes (multiple, so additive, no conflict)
       if (getSessionTrackingModes() == null)

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web22MetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web22MetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web22MetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -27,7 +27,7 @@
       normalizeSpace=true)
 @XmlType(name="web-appType",
       propOrder={"descriptionGroup", "distributable", "contextParams", "servlets",
-      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "taglibs", "securityContraints",
+      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "taglibs", "securityConstraints",
       "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup"})
 @JBossXmlType(modelGroup=JBossXmlConstants.MODEL_GROUP_UNORDERED_SEQUENCE)
 public class Web22MetaData extends WebMetaData

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web23MetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web23MetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web23MetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -27,7 +27,7 @@
       normalizeSpace=true)
 @XmlType(name="web-appType",
       propOrder={"descriptionGroup", "distributable", "contextParams", "filters", "filterMappings", "listeners", "servlets",
-      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "taglibs", "securityContraints",
+      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "taglibs", "securityConstraints",
       "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup"})
 @JBossXmlType(modelGroup=JBossXmlConstants.MODEL_GROUP_UNORDERED_SEQUENCE)
 public class Web23MetaData extends WebMetaData

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web24MetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web24MetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web24MetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -24,7 +24,7 @@
 @XmlType(name="web-appType",
       namespace=JavaEEMetaDataConstants.JAVAEE_NS,
       propOrder={"descriptionGroup", "distributable", "contextParams", "filters", "filterMappings", "listeners", "servlets",
-      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityContraints",
+      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityConstraints",
       "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup", "messageDestinations", "localEncodings"})
 public class Web24MetaData extends WebMetaData
 {

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web25MetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web25MetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web25MetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -25,7 +25,7 @@
 @XmlType(name="web-appType",
       namespace=JavaEEMetaDataConstants.JAVAEE_NS,
       propOrder={"descriptionGroup", "distributable", "contextParams", "filters", "filterMappings", "listeners", "servlets",
-      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityContraints",
+      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityConstraints",
       "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup", "messageDestinations", "localEncodings"})
 public class Web25MetaData extends WebMetaData
 {

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web30MetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web30MetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web30MetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -26,7 +26,7 @@
 @XmlType(name="web-appType",
       namespace=JavaEEMetaDataConstants.JAVAEE_NS,
       propOrder={"absoluteOrdering", "descriptionGroup", "name", "distributable", "contextParams", "filters", "filterMappings", "listeners", "servlets",
-      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityContraints",
+      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityConstraints",
       "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup", "messageDestinations", "localEncodings", "absoluteOrdering"})
 public class Web30MetaData extends WebMetaData
 {

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	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebCommonMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -21,6 +21,7 @@
  */
 package org.jboss.metadata.web.spec;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlAttribute;
@@ -289,7 +290,7 @@
       return securityConstraints;
    }
    @XmlElement(name="security-constraint")
-   public void setSecurityContraints(List<SecurityConstraintMetaData> securityConstraints)
+   public void setSecurityConstraints(List<SecurityConstraintMetaData> securityConstraints)
    {
       this.securityConstraints = securityConstraints;
    }
@@ -490,4 +491,418 @@
       this.name = name;
    }
 
+   /**
+    * Merge web meta data, according to the merging rules specified by the Servlet 3.0
+    * specification. This is a special type of merging, where non conflicting meta data
+    * augment existing meta data, rather than overriding it.
+    * If there is a conflict when merging the fragment meta data, and the main
+    * webMetaData does not resolve the conflict, an error will be thrown or the
+    * conflict will be resolved in favor of this object, depending on the value of the resolve flag.
+    * 
+    * @param webFragmentMetaData The web meta data which will be merged into this one
+    * @param webMetaData The base web meta data, used for conflict error checking
+    * @param resolveConflicts If true, any conflict will be skipped
+    *        without an error. Otherwise, an error will be thrown. If this is true,
+    *        then as all conflict will be resolved in favor of this object, webMetaData
+    *        will not be used and can be null
+    */
+   public void augment(WebFragmentMetaData webFragmentMetaData, WebMetaData webMetaData, boolean resolveConflicts)
+   {
+
+      // Distributable
+      if (getDistributable() == null || webFragmentMetaData.getDistributable() == null)
+      {
+         setDistributable(null);
+      }
+      
+      // Context params
+      if (getContextParams() == null)
+      {
+         setContextParams(webFragmentMetaData.getContextParams());
+      }
+      else if (webFragmentMetaData.getContextParams() != null)
+      {
+         List<ParamValueMetaData> mergedContextParams = new ArrayList<ParamValueMetaData>();
+         for (ParamValueMetaData contextParam : webFragmentMetaData.getContextParams())
+         {
+            boolean found = false;
+            for (ParamValueMetaData check : getContextParams())
+            {
+               if (check.getParamName().equals(contextParam.getParamName()))
+               {
+                  found = true;
+                  // Check for a conflict
+                  if (!resolveConflicts && !check.getParamValue().equals(contextParam.getParamValue()))
+                  {
+                     // If the parameter name does not exist in the main web, it's an error
+                     boolean found2 = false;
+                     if (webMetaData.getContextParams() != null)
+                     {
+                        for (ParamValueMetaData check1 : webMetaData.getContextParams())
+                        {
+                           if (check1.getParamName().equals(check.getParamName()))
+                           {
+                              found2 = true;
+                              break;
+                           }
+                        }
+                     }
+                     if (!found2)
+                        throw new IllegalStateException("Unresolved conflict on init parameter: " + check.getParamName());
+                  }
+               }
+            }
+            if (!found)
+               mergedContextParams.add(contextParam);
+         }
+         for (ParamValueMetaData contextParam : getContextParams())
+         {
+            mergedContextParams.add(contextParam);
+         }
+         setContextParams(mergedContextParams);
+      }
+      
+      // Session config
+      if (getSessionConfig() == null)
+      {
+         setSessionConfig(webFragmentMetaData.getSessionConfig());
+      }
+      else if (webFragmentMetaData.getSessionConfig() != null)
+      {
+         getSessionConfig().augment(webFragmentMetaData.getSessionConfig(), 
+               (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)
+      {
+         setFilterMappings(webFragmentMetaData.getFilterMappings());
+      }
+      else if (webFragmentMetaData.getFilterMappings() != null)
+      {
+         List<FilterMappingMetaData> mergedFilterMappings = new ArrayList<FilterMappingMetaData>();
+         for (FilterMappingMetaData filterMapping : webFragmentMetaData.getFilterMappings())
+         {
+            boolean found = false;
+            for (FilterMappingMetaData check : getFilterMappings())
+            {
+               if (check.getFilterName().equals(filterMapping.getFilterName()))
+               {
+                  found = true;
+                  check.augment(filterMapping, null, resolveConflicts);
+               }
+            }
+            if (!found)
+               mergedFilterMappings.add(filterMapping);
+         }
+         for (FilterMappingMetaData filterMapping : getFilterMappings())
+         {
+            mergedFilterMappings.add(filterMapping);
+         }
+         setFilterMappings(mergedFilterMappings);
+      }
+      
+      // Error page
+      if (getErrorPages() == null)
+      {
+         setErrorPages(webFragmentMetaData.getErrorPages());
+      }
+      else if (webFragmentMetaData.getErrorPages() != null)
+      {
+         List<ErrorPageMetaData> mergedErrorPages = new ArrayList<ErrorPageMetaData>();
+         for (ErrorPageMetaData errorPage : webFragmentMetaData.getErrorPages())
+         {
+            boolean found = false;
+            for (ErrorPageMetaData check : getErrorPages())
+            {
+               if (check.getErrorCode() != null 
+                     && check.getErrorCode().equals(errorPage.getErrorCode()))
+               {
+                  found = true;
+                  if (!resolveConflicts && check.getLocation() != null 
+                        && !check.getLocation().equals(errorPage.getLocation()))
+                  {
+                     boolean found2 = false;
+                     if (webMetaData.getErrorPages() != null)
+                     {
+                        for (ErrorPageMetaData check1 : webMetaData.getErrorPages())
+                        {
+                           if (check1.getErrorCode() != null
+                                 && check1.getErrorCode().equals(check.getErrorCode()))
+                           {
+                              found2 = true;
+                              break;
+                           }
+                        }
+                     }
+                     if (!found2)
+                        throw new IllegalStateException("Unresolved conflict on error page for code: " 
+                              + errorPage.getErrorCode());
+                  }
+               }
+               if (check.getExceptionType() != null 
+                     && check.getExceptionType().equals(errorPage.getExceptionType()))
+               {
+                  found = true;
+                  if (!resolveConflicts && check.getLocation() != null 
+                        && !check.getLocation().equals(errorPage.getLocation()))
+                  {
+                     boolean found2 = false;
+                     if (webMetaData.getErrorPages() != null)
+                     {
+                        for (ErrorPageMetaData check1 : webMetaData.getErrorPages())
+                        {
+                           if (check1.getExceptionType() != null
+                                 && check1.getExceptionType().equals(check.getExceptionType()))
+                           {
+                              found2 = true;
+                              break;
+                           }
+                        }
+                     }
+                     if (!found2)
+                        throw new IllegalStateException("Unresolved conflict on error page for exception type: " 
+                              + errorPage.getExceptionType());
+                  }
+               }
+            }
+            if (!found)
+               mergedErrorPages.add(errorPage);
+         }
+         for (ErrorPageMetaData errorPage : getErrorPages())
+         {
+            mergedErrorPages.add(errorPage);
+         }
+         setErrorPages(mergedErrorPages);
+      }
+      
+      // JSP config
+      if (getJspConfig() == null)
+      {
+         setJspConfig(webFragmentMetaData.getJspConfig());
+      }
+      else if (webFragmentMetaData.getJspConfig() != null)
+      {
+         getJspConfig().augment(webFragmentMetaData.getJspConfig(), 
+               (webMetaData != null) ? webMetaData.getJspConfig() : null, resolveConflicts);
+      }
+      
+      // Listeners
+      if (getListeners() == null)
+      {
+         setListeners(webFragmentMetaData.getListeners());
+      }
+      else if (webFragmentMetaData.getListeners() != null)
+      {
+         List<ListenerMetaData> mergedListeners = new ArrayList<ListenerMetaData>();
+         for (ListenerMetaData listener : webFragmentMetaData.getListeners())
+         {
+            boolean found = false;
+            for (ListenerMetaData check : getListeners())
+            {
+               if (check.getListenerClass().equals(listener.getListenerClass()))
+               {
+                  found = true;
+               }
+            }
+            if (!found)
+               mergedListeners.add(listener);
+         }
+         for (ListenerMetaData listener : getListeners())
+         {
+            mergedListeners.add(listener);
+         }
+         setListeners(mergedListeners);
+      }
+      
+      // Login config
+      if (getLoginConfig() == null)
+      {
+         setLoginConfig(webFragmentMetaData.getLoginConfig());
+      }
+      else if (webFragmentMetaData.getLoginConfig() != null)
+      {
+         getLoginConfig().augment(webFragmentMetaData.getLoginConfig(), 
+               (webMetaData != null) ? webMetaData.getLoginConfig() : null, resolveConflicts);
+      }
+      
+      // Mime mappings
+      if (getMimeMappings() == null)
+      {
+         setMimeMappings(webFragmentMetaData.getMimeMappings());
+      }
+      else if (webFragmentMetaData.getMimeMappings() != null)
+      {
+         List<MimeMappingMetaData> mergedMimeMappings = new ArrayList<MimeMappingMetaData>();
+         for (MimeMappingMetaData mimeMapping : webFragmentMetaData.getMimeMappings())
+         {
+            boolean found = false;
+            for (MimeMappingMetaData check : getMimeMappings())
+            {
+               if (check.getExtension().equals(mimeMapping.getExtension()))
+               {
+                  found = true;
+                  if (!resolveConflicts && check.getMimeType() != null 
+                        && !check.getMimeType().equals(mimeMapping.getMimeType()))
+                  {
+                     boolean found2 = false;
+                     if (webMetaData.getMimeMappings() != null)
+                     {
+                        for (MimeMappingMetaData check1 : webMetaData.getMimeMappings())
+                        {
+                           if (check1.getExtension() != null
+                                 && check1.getExtension().equals(check.getExtension()))
+                           {
+                              found2 = true;
+                              break;
+                           }
+                        }
+                     }
+                     if (!found2)
+                        throw new IllegalStateException("Unresolved conflict on mime mapping for extension: " 
+                              + mimeMapping.getExtension());
+                  }
+               }
+            }
+            if (!found)
+               mergedMimeMappings.add(mimeMapping);
+         }
+         for (MimeMappingMetaData mimeMapping : getMimeMappings())
+         {
+            mergedMimeMappings.add(mimeMapping);
+         }
+         setMimeMappings(mergedMimeMappings);
+      }
+
+      // Servlets
+      if (getServlets() == null)
+      {
+         setServlets(webFragmentMetaData.getServlets());
+      }
+      else if (webFragmentMetaData.getServlets() != null)
+      {
+         getServlets().augment(webFragmentMetaData.getServlets(), 
+               (webMetaData != null) ? webMetaData.getServlets() : null, resolveConflicts);
+      }
+
+      // Servlet mappings
+      if (getServletMappings() == null)
+      {
+         setServletMappings(webFragmentMetaData.getServletMappings());
+      }
+      else if (webFragmentMetaData.getServletMappings() != null)
+      {
+         List<ServletMappingMetaData> mergedServletMappings = new ArrayList<ServletMappingMetaData>();
+         for (ServletMappingMetaData servletMapping : webFragmentMetaData.getServletMappings())
+         {
+            boolean found = false;
+            for (ServletMappingMetaData check : getServletMappings())
+            {
+               if (check.getServletName().equals(servletMapping.getServletName()))
+               {
+                  found = true;
+                  check.augment(servletMapping, null, resolveConflicts);
+               }
+            }
+            if (!found)
+               mergedServletMappings.add(servletMapping);
+         }
+         for (ServletMappingMetaData servletMapping : getServletMappings())
+         {
+            mergedServletMappings.add(servletMapping);
+         }
+         setServletMappings(mergedServletMappings);
+      }
+
+      // Security constraints
+      if (getSecurityConstraints() == null)
+      {
+         setSecurityConstraints(webFragmentMetaData.getSecurityConstraints());
+      }
+      else if (webFragmentMetaData.getSecurityConstraints() != null)
+      {
+         List<SecurityConstraintMetaData> mergedSecurityConstraints = new ArrayList<SecurityConstraintMetaData>();
+         for (SecurityConstraintMetaData securityConstraint : webFragmentMetaData.getSecurityConstraints())
+         {
+            mergedSecurityConstraints.add(securityConstraint);
+         }
+         for (SecurityConstraintMetaData securityConstraint : getSecurityConstraints())
+         {
+            mergedSecurityConstraints.add(securityConstraint);
+         }
+         setSecurityConstraints(mergedSecurityConstraints);
+      }
+
+      // Security roles
+      if (getSecurityRoles() == null)
+      {
+         setSecurityRoles(webFragmentMetaData.getSecurityRoles());
+      }
+      else if (webFragmentMetaData.getSecurityRoles() != null)
+      {
+         // The merge seems to be doing what we want, and this is additive
+         getSecurityRoles().merge(webFragmentMetaData.getSecurityRoles(), null);
+      }
+      
+      // Welcome file list
+      if (getWelcomeFileList() == null)
+      {
+         setWelcomeFileList(webFragmentMetaData.getWelcomeFileList());
+      }
+      else if (webFragmentMetaData.getWelcomeFileList() != null)
+      {
+         getWelcomeFileList().augment(webFragmentMetaData.getWelcomeFileList(), null, resolveConflicts);
+      }
+
+      // Locale encoding
+      if (getLocalEncodings() == null)
+      {
+         setLocalEncodings(webFragmentMetaData.getLocalEncodings());
+      }
+      else if (webFragmentMetaData.getLocalEncodings() != null)
+      {
+         getLocalEncodings().augment(webFragmentMetaData.getLocalEncodings(), 
+               (webMetaData != null) ? webMetaData.getLocalEncodings() : null, resolveConflicts);
+      }
+      
+      // All ENC elements except message destinations
+      // FIXME: rely on the default override merge for now ... It might just work well enough
+      if (webFragmentMetaData.getJndiEnvironmentRefsGroup() != null)
+      {
+         if (getJndiEnvironmentRefsGroup() != null)
+         {
+            getJndiEnvironmentRefsGroup().merge((webMetaData != null) ? webMetaData.getJndiEnvironmentRefsGroup() : null, 
+                  webFragmentMetaData.getJndiEnvironmentRefsGroup(), "web.xml", "web-fragment.xml", !resolveConflicts);
+         }
+         else
+         {
+            setJndiEnvironmentRefsGroup(webFragmentMetaData.getJndiEnvironmentRefsGroup());
+         }
+      }
+      
+      // Message destinations
+      if (getMessageDestinations() == null)
+      {
+         setMessageDestinations(webFragmentMetaData.getMessageDestinations());
+      }
+      else if (webFragmentMetaData.getMessageDestinations() != null)
+      {
+         // FIXME: this is unlikely to do the right thing
+         getMessageDestinations().merge((webMetaData != null) ? webMetaData.getMessageDestinations() : null, 
+               webFragmentMetaData.getMessageDestinations());
+      }
+      
+   }
+   
 }

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragment30MetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragment30MetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragment30MetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -25,7 +25,7 @@
 @XmlType(name="web-fragmentType",
       namespace=JavaEEMetaDataConstants.JAVAEE_NS,
       propOrder={"ordering", "descriptionGroup", "name", "distributable", "contextParams", "filters", "filterMappings", "listeners", "servlets",
-      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityContraints",
+      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityConstraints",
       "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup", "messageDestinations", "localEncodings", "ordering"})
 public class WebFragment30MetaData extends WebFragmentMetaData
 {

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragmentMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragmentMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragmentMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -21,12 +21,8 @@
  */
 package org.jboss.metadata.web.spec;
 
-import java.util.ArrayList;
-import java.util.List;
 
-import org.jboss.metadata.javaee.spec.ParamValueMetaData;
 
-
 /**
  * The web-fragment spec metadata
  * @author Remy Maucherat
@@ -46,403 +42,4 @@
    {
       this.ordering = ordering;
    }
-   
-   /**
-    * Merge web meta data, according to the merging rules specified by the Servlet 3.0
-    * specification. This is a special type of merging, where non conflicting meta data
-    * augment existing meta data, rather than overriding it.
-    * If there is a conflict when merging the fragment meta data, and the main
-    * webMetaData does not resolve the conflict, an error will be thrown.
-    * 
-    * @param webFragmentMetaData The web meta data which will be merged into this one
-    * @param webMetaData The base web meta data, used for conflict error checking
-    */
-   public void augment(WebFragmentMetaData webFragmentMetaData, WebMetaData webMetaData)
-   {
-
-      // Distributable
-      if (getDistributable() == null || webFragmentMetaData.getDistributable() == null)
-      {
-         setDistributable(null);
-      }
-      
-      // Context params
-      if (getContextParams() == null)
-      {
-         setContextParams(webFragmentMetaData.getContextParams());
-      }
-      else if (webFragmentMetaData.getContextParams() != null)
-      {
-         List<ParamValueMetaData> mergedContextParams = new ArrayList<ParamValueMetaData>();
-         for (ParamValueMetaData contextParam : webFragmentMetaData.getContextParams())
-         {
-            boolean found = false;
-            for (ParamValueMetaData check : getContextParams())
-            {
-               if (check.getParamName().equals(contextParam.getParamName()))
-               {
-                  found = true;
-                  // Check for a conflict
-                  if (!check.getParamValue().equals(contextParam.getParamValue()))
-                  {
-                     // If the parameter name does not exist in the main web, it's an error
-                     boolean found2 = false;
-                     if (webMetaData.getContextParams() != null)
-                     {
-                        for (ParamValueMetaData check1 : webMetaData.getContextParams())
-                        {
-                           if (check1.getParamName().equals(check.getParamName()))
-                           {
-                              found2 = true;
-                              break;
-                           }
-                        }
-                     }
-                     if (!found2)
-                        throw new IllegalStateException("Unresolved conflict on init parameter: " + check.getParamName());
-                  }
-               }
-            }
-            if (!found)
-               mergedContextParams.add(contextParam);
-         }
-         for (ParamValueMetaData contextParam : getContextParams())
-         {
-            mergedContextParams.add(contextParam);
-         }
-         setContextParams(mergedContextParams);
-      }
-      
-      // Session config
-      if (getSessionConfig() == null)
-      {
-         setSessionConfig(webFragmentMetaData.getSessionConfig());
-      }
-      else if (webFragmentMetaData.getSessionConfig() != null)
-      {
-         getSessionConfig().augment(webFragmentMetaData.getSessionConfig(), webMetaData.getSessionConfig());
-      }
-      
-      // Filters
-      if (getFilters() == null)
-      {
-         setFilters(webFragmentMetaData.getFilters());
-      }
-      else if (webFragmentMetaData.getFilters() != null)
-      {
-         getFilters().augment(webFragmentMetaData.getFilters(), webMetaData.getFilters());
-      }
-      
-      // Filter mappings
-      if (getFilterMappings() == null)
-      {
-         setFilterMappings(webFragmentMetaData.getFilterMappings());
-      }
-      else if (webFragmentMetaData.getFilterMappings() != null)
-      {
-         List<FilterMappingMetaData> mergedFilterMappings = new ArrayList<FilterMappingMetaData>();
-         for (FilterMappingMetaData filterMapping : webFragmentMetaData.getFilterMappings())
-         {
-            boolean found = false;
-            for (FilterMappingMetaData check : getFilterMappings())
-            {
-               if (check.getFilterName().equals(filterMapping.getFilterName()))
-               {
-                  found = true;
-                  check.augment(filterMapping, null);
-               }
-            }
-            if (!found)
-               mergedFilterMappings.add(filterMapping);
-         }
-         for (FilterMappingMetaData filterMapping : getFilterMappings())
-         {
-            mergedFilterMappings.add(filterMapping);
-         }
-         setFilterMappings(mergedFilterMappings);
-      }
-      
-      // Error page
-      if (getErrorPages() == null)
-      {
-         setErrorPages(webFragmentMetaData.getErrorPages());
-      }
-      else if (webFragmentMetaData.getErrorPages() != null)
-      {
-         List<ErrorPageMetaData> mergedErrorPages = new ArrayList<ErrorPageMetaData>();
-         for (ErrorPageMetaData errorPage : webFragmentMetaData.getErrorPages())
-         {
-            boolean found = false;
-            for (ErrorPageMetaData check : getErrorPages())
-            {
-               if (check.getErrorCode() != null 
-                     && check.getErrorCode().equals(errorPage.getErrorCode()))
-               {
-                  found = true;
-                  if (check.getLocation() != null 
-                        && !check.getLocation().equals(errorPage.getLocation()))
-                  {
-                     boolean found2 = false;
-                     if (webMetaData.getErrorPages() != null)
-                     {
-                        for (ErrorPageMetaData check1 : webMetaData.getErrorPages())
-                        {
-                           if (check1.getErrorCode() != null
-                                 && check1.getErrorCode().equals(check.getErrorCode()))
-                           {
-                              found2 = true;
-                              break;
-                           }
-                        }
-                     }
-                     if (!found2)
-                        throw new IllegalStateException("Unresolved conflict on error page for code: " 
-                              + errorPage.getErrorCode());
-                  }
-               }
-               if (check.getExceptionType() != null 
-                     && check.getExceptionType().equals(errorPage.getExceptionType()))
-               {
-                  found = true;
-                  if (check.getLocation() != null 
-                        && !check.getLocation().equals(errorPage.getLocation()))
-                  {
-                     boolean found2 = false;
-                     if (webMetaData.getErrorPages() != null)
-                     {
-                        for (ErrorPageMetaData check1 : webMetaData.getErrorPages())
-                        {
-                           if (check1.getExceptionType() != null
-                                 && check1.getExceptionType().equals(check.getExceptionType()))
-                           {
-                              found2 = true;
-                              break;
-                           }
-                        }
-                     }
-                     if (!found2)
-                        throw new IllegalStateException("Unresolved conflict on error page for exception type: " 
-                              + errorPage.getExceptionType());
-                  }
-               }
-            }
-            if (!found)
-               mergedErrorPages.add(errorPage);
-         }
-         for (ErrorPageMetaData errorPage : getErrorPages())
-         {
-            mergedErrorPages.add(errorPage);
-         }
-         setErrorPages(mergedErrorPages);
-      }
-      
-      // JSP config
-      if (getJspConfig() == null)
-      {
-         setJspConfig(webFragmentMetaData.getJspConfig());
-      }
-      else if (webFragmentMetaData.getJspConfig() != null)
-      {
-         getJspConfig().augment(webFragmentMetaData.getJspConfig(), webMetaData.getJspConfig());
-      }
-      
-      // Listeners
-      if (getListeners() == null)
-      {
-         setListeners(webFragmentMetaData.getListeners());
-      }
-      else if (webFragmentMetaData.getListeners() != null)
-      {
-         List<ListenerMetaData> mergedListeners = new ArrayList<ListenerMetaData>();
-         for (ListenerMetaData listener : webFragmentMetaData.getListeners())
-         {
-            boolean found = false;
-            for (ListenerMetaData check : getListeners())
-            {
-               if (check.getListenerClass().equals(listener.getListenerClass()))
-               {
-                  found = true;
-               }
-            }
-            if (!found)
-               mergedListeners.add(listener);
-         }
-         for (ListenerMetaData listener : getListeners())
-         {
-            mergedListeners.add(listener);
-         }
-         setListeners(mergedListeners);
-      }
-      
-      // Login config
-      if (getLoginConfig() == null)
-      {
-         setLoginConfig(webFragmentMetaData.getLoginConfig());
-      }
-      else if (webFragmentMetaData.getLoginConfig() != null)
-      {
-         getLoginConfig().augment(webFragmentMetaData.getLoginConfig(), webMetaData.getLoginConfig());
-      }
-      
-      // Mime mappings
-      if (getMimeMappings() == null)
-      {
-         setMimeMappings(webFragmentMetaData.getMimeMappings());
-      }
-      else if (webFragmentMetaData.getMimeMappings() != null)
-      {
-         List<MimeMappingMetaData> mergedMimeMappings = new ArrayList<MimeMappingMetaData>();
-         for (MimeMappingMetaData mimeMapping : webFragmentMetaData.getMimeMappings())
-         {
-            boolean found = false;
-            for (MimeMappingMetaData check : getMimeMappings())
-            {
-               if (check.getExtension().equals(mimeMapping.getExtension()))
-               {
-                  found = true;
-                  if (check.getMimeType() != null 
-                        && !check.getMimeType().equals(mimeMapping.getMimeType()))
-                  {
-                     boolean found2 = false;
-                     if (webMetaData.getMimeMappings() != null)
-                     {
-                        for (MimeMappingMetaData check1 : webMetaData.getMimeMappings())
-                        {
-                           if (check1.getExtension() != null
-                                 && check1.getExtension().equals(check.getExtension()))
-                           {
-                              found2 = true;
-                              break;
-                           }
-                        }
-                     }
-                     if (!found2)
-                        throw new IllegalStateException("Unresolved conflict on mime mapping for extension: " 
-                              + mimeMapping.getExtension());
-                  }
-               }
-            }
-            if (!found)
-               mergedMimeMappings.add(mimeMapping);
-         }
-         for (MimeMappingMetaData mimeMapping : getMimeMappings())
-         {
-            mergedMimeMappings.add(mimeMapping);
-         }
-         setMimeMappings(mergedMimeMappings);
-      }
-
-      // Servlets
-      if (getServlets() == null)
-      {
-         setServlets(webFragmentMetaData.getServlets());
-      }
-      else if (webFragmentMetaData.getServlets() != null)
-      {
-         getServlets().augment(webFragmentMetaData.getServlets(), webMetaData.getServlets());
-      }
-
-      // Servlet mappings
-      if (getServletMappings() == null)
-      {
-         setServletMappings(webFragmentMetaData.getServletMappings());
-      }
-      else if (webFragmentMetaData.getServletMappings() != null)
-      {
-         List<ServletMappingMetaData> mergedServletMappings = new ArrayList<ServletMappingMetaData>();
-         for (ServletMappingMetaData servletMapping : webFragmentMetaData.getServletMappings())
-         {
-            boolean found = false;
-            for (ServletMappingMetaData check : getServletMappings())
-            {
-               if (check.getServletName().equals(servletMapping.getServletName()))
-               {
-                  found = true;
-                  check.augment(servletMapping, null);
-               }
-            }
-            if (!found)
-               mergedServletMappings.add(servletMapping);
-         }
-         for (ServletMappingMetaData servletMapping : getServletMappings())
-         {
-            mergedServletMappings.add(servletMapping);
-         }
-         setServletMappings(mergedServletMappings);
-      }
-
-      // Security constraints
-      if (getSecurityConstraints() == null)
-      {
-         setSecurityContraints(webFragmentMetaData.getSecurityConstraints());
-      }
-      else if (webFragmentMetaData.getSecurityConstraints() != null)
-      {
-         List<SecurityConstraintMetaData> mergedSecurityConstraints = new ArrayList<SecurityConstraintMetaData>();
-         for (SecurityConstraintMetaData securityConstraint : webFragmentMetaData.getSecurityConstraints())
-         {
-            mergedSecurityConstraints.add(securityConstraint);
-         }
-         for (SecurityConstraintMetaData securityConstraint : getSecurityConstraints())
-         {
-            mergedSecurityConstraints.add(securityConstraint);
-         }
-         setSecurityContraints(mergedSecurityConstraints);
-      }
-
-      // Security roles
-      if (getSecurityRoles() == null)
-      {
-         setSecurityRoles(webFragmentMetaData.getSecurityRoles());
-      }
-      else if (webFragmentMetaData.getSecurityRoles() != null)
-      {
-         // The merge seems to be doing what we want, and this is additive
-         getSecurityRoles().merge(webFragmentMetaData.getSecurityRoles(), null);
-      }
-      
-      // Welcome file list
-      if (getWelcomeFileList() == null)
-      {
-         setWelcomeFileList(webFragmentMetaData.getWelcomeFileList());
-      }
-      else if (webFragmentMetaData.getWelcomeFileList() != null)
-      {
-         getWelcomeFileList().augment(webFragmentMetaData.getWelcomeFileList(), null);
-      }
-
-      // Locale encoding
-      if (getLocalEncodings() == null)
-      {
-         setLocalEncodings(webFragmentMetaData.getLocalEncodings());
-      }
-      else if (webFragmentMetaData.getLocalEncodings() != null)
-      {
-         getLocalEncodings().augment(webFragmentMetaData.getLocalEncodings(), webMetaData.getLocalEncodings());
-      }
-      
-      // All ENC elements except message destinations
-      if (getJndiEnvironmentRefsGroup() == null)
-      {
-         setJndiEnvironmentRefsGroup(webFragmentMetaData.getJndiEnvironmentRefsGroup());
-      }
-      else if (webFragmentMetaData.getJndiEnvironmentRefsGroup() != null)
-      {
-         // FIXME
-         //getJndiEnvironmentRefsGroup().augment(webFragmentMetaData.getJndiEnvironmentRefsGroup(), webMetaData.getJndiEnvironmentRefsGroup());
-      }
-      
-      // Message destinations
-      if (getMessageDestinations() == null)
-      {
-         setMessageDestinations(webFragmentMetaData.getMessageDestinations());
-      }
-      else if (webFragmentMetaData.getMessageDestinations() != null)
-      {
-         // FIXME
-         //getMessageDestinations().augment(webFragmentMetaData.getMessageDestinations(), webMetaData.getMessageDestinations());
-      }
-      
-   }
-
 }

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -30,16 +30,4 @@
 public class WebMetaData extends WebCommonMetaData
 {
    private static final long serialVersionUID = 1;
-
-   /**
-    * Merge web meta data, according to the merging rules specified by the Servlet 3.0
-    * specification.
-    * 
-    * @param webFragmentMetaData The web meta data which will be merged into this one
-    */
-   public void merge(WebFragmentMetaData webFragmentMetaData)
-   {
-      // TODO: See JBossWebMetaData
-   }
-   
 }

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WelcomeFileListMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WelcomeFileListMetaData.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WelcomeFileListMetaData.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -49,7 +49,7 @@
       this.welcomeFiles = welcomeFiles;
    }
 
-   public void augment(WelcomeFileListMetaData webFragmentMetaData, WelcomeFileListMetaData webMetaData)
+   public void augment(WelcomeFileListMetaData webFragmentMetaData, WelcomeFileListMetaData webMetaData, boolean resolveConflicts)
    {
       // Note: as this is purely additive, webMetaData is useless
       if (getWelcomeFiles() == null)

Modified: projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/FragmentMergeUnitTestCase.java
===================================================================
--- projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/FragmentMergeUnitTestCase.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/FragmentMergeUnitTestCase.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -60,7 +60,7 @@
       boolean exception = false;
       try
       {
-         fragment1.augment(fragment2, main);
+         fragment1.augment(fragment2, main, false);
       }
       catch (IllegalStateException e)
       {
@@ -77,7 +77,7 @@
       exception = false;
       try
       {
-         fragment1.augment(fragment2, main);
+         fragment1.augment(fragment2, main, false);
       }
       catch (IllegalStateException e)
       {

Modified: projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp24UnitTestCase.java
===================================================================
--- projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp24UnitTestCase.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp24UnitTestCase.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -52,7 +52,7 @@
    public void testSecurityConstraint() throws Exception
    {
       WebMetaData webApp = unmarshal();
-      List<SecurityConstraintMetaData> scs = webApp.getSecurityContraints();
+      List<SecurityConstraintMetaData> scs = webApp.getSecurityConstraints();
       assertEquals(8, scs.size());
       // SC1
       SecurityConstraintMetaData sc1 = scs.get(0);

Modified: projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp5EverythingUnitTestCase.java
===================================================================
--- projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp5EverythingUnitTestCase.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp5EverythingUnitTestCase.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -197,7 +197,7 @@
    // Security Constraints
    private void assertSecurityConstraints(WebMetaData webApp)
    {
-      List<SecurityConstraintMetaData> scmdList = webApp.getSecurityContraints();
+      List<SecurityConstraintMetaData> scmdList = webApp.getSecurityConstraints();
       assertEquals(3, scmdList.size());
       for(SecurityConstraintMetaData scmd:scmdList)
       { 

Modified: projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6EverythingUnitTestCase.java
===================================================================
--- projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6EverythingUnitTestCase.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6EverythingUnitTestCase.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -220,7 +220,7 @@
    // Security Constraints
    private void assertSecurityConstraints(WebMetaData webApp)
    {
-      List<SecurityConstraintMetaData> scmdList = webApp.getSecurityContraints();
+      List<SecurityConstraintMetaData> scmdList = webApp.getSecurityConstraints();
       assertEquals(3, scmdList.size());
       for(SecurityConstraintMetaData scmd:scmdList)
       { 

Modified: projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6FragmentUnitTestCase.java
===================================================================
--- projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6FragmentUnitTestCase.java	2009-09-15 10:32:03 UTC (rev 93521)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6FragmentUnitTestCase.java	2009-09-15 10:37:17 UTC (rev 93522)
@@ -30,7 +30,6 @@
 import org.jboss.metadata.javaee.spec.ParamValueMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleRefMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
-import org.jboss.metadata.web.spec.AbsoluteOrderingMetaData;
 import org.jboss.metadata.web.spec.AuthConstraintMetaData;
 import org.jboss.metadata.web.spec.DispatcherType;
 import org.jboss.metadata.web.spec.FilterMappingMetaData;
@@ -47,11 +46,9 @@
 import org.jboss.metadata.web.spec.ServletsMetaData;
 import org.jboss.metadata.web.spec.TransportGuaranteeType;
 import org.jboss.metadata.web.spec.UserDataConstraintMetaData;
-import org.jboss.metadata.web.spec.Web30MetaData;
 import org.jboss.metadata.web.spec.WebCommonMetaData;
 import org.jboss.metadata.web.spec.WebFragment30MetaData;
 import org.jboss.metadata.web.spec.WebFragmentMetaData;
-import org.jboss.metadata.web.spec.WebMetaData;
 import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
 import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
 import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
@@ -229,7 +226,7 @@
    // Security Constraints
    private void assertSecurityConstraints(WebCommonMetaData webApp)
    {
-      List<SecurityConstraintMetaData> scmdList = webApp.getSecurityContraints();
+      List<SecurityConstraintMetaData> scmdList = webApp.getSecurityConstraints();
       assertEquals(3, scmdList.size());
       for(SecurityConstraintMetaData scmd:scmdList)
       { 




More information about the jboss-cvs-commits mailing list