[jboss-cvs] JBossAS SVN: r91640 - in projects/metadata/web/trunk/src: main/java/org/jboss/metadata/web/spec and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jul 24 12:05:18 EDT 2009
Author: remy.maucherat at jboss.com
Date: 2009-07-24 12:05:17 -0400 (Fri, 24 Jul 2009)
New Revision: 91640
Added:
projects/metadata/web/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/Web25MetaDataCreator.java
projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/OrderingMetaData.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
projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp6Everything_testEverything.xml
projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp6Fragment_testEverything.xml
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/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/test/resources/schema2class.properties
Log:
- Add some Servlet 3.0 test cases.
- Some fixes.
- Predictably, the ordering don't work, I don't know how to do it right now.
Added: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/Web25MetaDataCreator.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/Web25MetaDataCreator.java (rev 0)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/Web25MetaDataCreator.java 2009-07-24 16:05:17 UTC (rev 91640)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.annotation.creator.web;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.ejb.MessageDriven;
+import javax.ejb.Stateful;
+import javax.ejb.Stateless;
+
+import org.jboss.ejb3.annotation.Consumer;
+import org.jboss.ejb3.annotation.Service;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.annotation.creator.AbstractCreator;
+import org.jboss.metadata.annotation.creator.Creator;
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.web.spec.Web25MetaData;
+import org.jboss.metadata.web.spec.WebMetaData;
+
+/**
+ * Create a Web30MetaData instance from the class annotations
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 77012 $
+ */
+public class Web25MetaDataCreator extends AbstractCreator<WebMetaData>
+ implements Creator<Collection<Class<?>>, Web25MetaData>
+{
+
+ /** The ignore type annotations */
+ private static final Set<Class<? extends Annotation>> ignoreTypeAnnotations;
+
+ /** The Logger. */
+ private static final Logger log = Logger.getLogger(Web25MetaDataCreator.class);
+
+ static
+ {
+ // Ignoring classes with the the following type annotations
+ ignoreTypeAnnotations = new HashSet<Class<? extends Annotation>>();
+ ignoreTypeAnnotations.add(Stateful.class);
+ ignoreTypeAnnotations.add(Stateless.class);
+ ignoreTypeAnnotations.add(MessageDriven.class);
+ ignoreTypeAnnotations.add(Service.class);
+ ignoreTypeAnnotations.add(Consumer.class);
+ }
+
+ public Web25MetaDataCreator(AnnotationFinder<AnnotatedElement> finder)
+ {
+ super(finder);
+ addProcessor(new WebComponentProcessor(finder));
+ }
+
+ public Web25MetaData create(Collection<Class<?>> classes)
+ {
+ // Don't create meta data for a empty collection
+ if(classes == null || classes.isEmpty())
+ return null;
+
+ // Create meta data
+ Web25MetaData metaData = create();
+
+ processMetaData(classes, metaData);
+
+ return metaData;
+ }
+
+ protected Web25MetaData create()
+ {
+ Web25MetaData metaData = new Web25MetaData();
+ metaData.setVersion("2.5");
+ return metaData;
+ }
+
+ protected boolean validateClass(Class<?> clazz)
+ {
+ boolean trace = log.isTraceEnabled();
+ for(Class<? extends Annotation> annotation : ignoreTypeAnnotations)
+ {
+ if(finder.getAnnotation(clazz, annotation) != null)
+ {
+ if(trace)
+ log.trace("won't process class: " + clazz + ", because of the type annotation: "+ annotation);
+ return false;
+ }
+ }
+ return true;
+ }
+
+}
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-07-24 16:01:32 UTC (rev 91639)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/CookieConfigMetaData.java 2009-07-24 16:05:17 UTC (rev 91640)
@@ -50,7 +50,6 @@
public String getName() {
return name;
}
- @XmlElement(name = "cookie-name")
public void setName(String name) {
this.name = name;
}
@@ -58,7 +57,6 @@
{
return domain;
}
- @XmlElement(name = "cookie-domain")
public void setDomain(String domain)
{
this.domain = domain;
@@ -68,7 +66,6 @@
{
return path;
}
- @XmlElement(name = "cookie-path")
public void setPath(String path)
{
this.path = path;
@@ -78,7 +75,6 @@
{
return comment;
}
- @XmlElement(name = "cookie-comment")
public void setComment(String comment)
{
this.comment = comment;
Added: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/OrderingMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/OrderingMetaData.java (rev 0)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/OrderingMetaData.java 2009-07-24 16:05:17 UTC (rev 91640)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.web.spec;
+
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
+import org.jboss.metadata.javaee.support.IdMetaDataImpl;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 83549 $
+ */
+ at XmlType(name="orderingType",
+ namespace=JavaEEMetaDataConstants.JAVAEE_NS,
+ propOrder={"after", "before"})
+public class OrderingMetaData extends IdMetaDataImpl
+{
+ private static final long serialVersionUID = 1;
+
+ private RelativeOrderingMetaData after;
+ private RelativeOrderingMetaData before;
+
+ public RelativeOrderingMetaData getAfter()
+ {
+ return after;
+ }
+ public void setAfter(RelativeOrderingMetaData after)
+ {
+ this.after = after;
+ }
+ public RelativeOrderingMetaData getBefore()
+ {
+ return before;
+ }
+ public void setBefore(RelativeOrderingMetaData before)
+ {
+ this.before = before;
+ }
+
+}
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-07-24 16:01:32 UTC (rev 91639)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web30MetaData.java 2009-07-24 16:05:17 UTC (rev 91640)
@@ -1,6 +1,7 @@
package org.jboss.metadata.web.spec;
import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlNs;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlRootElement;
@@ -24,9 +25,9 @@
normalizeSpace=true)
@XmlType(name="web-appType",
namespace=JavaEEMetaDataConstants.JAVAEE_NS,
- propOrder={"descriptionGroup", "distributable", "contextParams", "filters", "filterMappings", "listeners", "servlets",
+ propOrder={"descriptionGroup", "name", "distributable", "contextParams", "filters", "filterMappings", "listeners", "servlets",
"servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityContraints",
- "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup", "messageDestinations", "localEncodings"})
+ "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup", "messageDestinations", "localEncodings", "absoluteOrdering"})
public class Web30MetaData extends WebMetaData
{
private static final long serialVersionUID = 1;
@@ -48,6 +49,7 @@
{
return absoluteOrdering;
}
+ @XmlElement(name="absolute-ordering")
public void setAbsoluteOrdering(AbsoluteOrderingMetaData absoluteOrdering)
{
this.absoluteOrdering = absoluteOrdering;
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-07-24 16:01:32 UTC (rev 91639)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebCommonMetaData.java 2009-07-24 16:05:17 UTC (rev 91640)
@@ -484,6 +484,7 @@
{
return name;
}
+ @XmlElement(name="name")
public void setName(String name)
{
this.name = name;
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-07-24 16:01:32 UTC (rev 91639)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragment30MetaData.java 2009-07-24 16:05:17 UTC (rev 91640)
@@ -24,9 +24,9 @@
normalizeSpace=true)
@XmlType(name="web-fragmentType",
namespace=JavaEEMetaDataConstants.JAVAEE_NS,
- propOrder={"descriptionGroup", "distributable", "contextParams", "filters", "filterMappings", "listeners", "servlets",
+ propOrder={"descriptionGroup", "name", "distributable", "contextParams", "filters", "filterMappings", "listeners", "servlets",
"servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityContraints",
- "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup", "messageDestinations", "localEncodings"})
+ "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup", "messageDestinations", "localEncodings", "ordering"})
public class WebFragment30MetaData extends WebFragmentMetaData
{
private static final long serialVersionUID = 1;
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-07-24 16:01:32 UTC (rev 91639)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/WebFragmentMetaData.java 2009-07-24 16:05:17 UTC (rev 91640)
@@ -21,38 +21,25 @@
*/
package org.jboss.metadata.web.spec;
-import javax.xml.bind.annotation.XmlElement;
-
/**
* The web-app spec metadata
* @author Scott.Stark at jboss.org
* @version $Revision: 70996 $
*/
-public class WebFragmentMetaData extends WebCommonMetaData
+public class WebFragmentMetaData extends WebCommonMetaData
{
private static final long serialVersionUID = 1;
- private RelativeOrderingMetaData afterOrdering;
- private RelativeOrderingMetaData beforeOrdering;
+
+ private OrderingMetaData ordering;
- public RelativeOrderingMetaData getAfterOrdering()
+ public OrderingMetaData getOrdering()
{
- return afterOrdering;
+ return ordering;
}
- @XmlElement(name="after")
- public void setAfterOrdering(RelativeOrderingMetaData afterOrdering)
+ public void setOrdering(OrderingMetaData ordering)
{
- this.afterOrdering = afterOrdering;
+ this.ordering = ordering;
}
- public RelativeOrderingMetaData getBeforeOrdering()
- {
- return beforeOrdering;
- }
- @XmlElement(name="before")
- public void setBeforeOrdering(RelativeOrderingMetaData beforeOrdering)
- {
- this.beforeOrdering = beforeOrdering;
- }
-
}
Added: 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 (rev 0)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6EverythingUnitTestCase.java 2009-07-24 16:05:17 UTC (rev 91640)
@@ -0,0 +1,250 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.metadata.web;
+
+import java.util.List;
+
+import org.jboss.annotation.javaee.Icon;
+import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationsMetaData;
+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.AuthConstraintMetaData;
+import org.jboss.metadata.web.spec.DispatcherType;
+import org.jboss.metadata.web.spec.FilterMappingMetaData;
+import org.jboss.metadata.web.spec.FilterMetaData;
+import org.jboss.metadata.web.spec.FiltersMetaData;
+import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
+import org.jboss.metadata.web.spec.ServletMappingMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+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.WebMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
+
+/**
+ * Test all entries of javaee 6 web-app
+ * TODO: still need to add assertions for all elements
+ *
+ * @author Scott.Stark at jboss.org
+ * @author Anil.Saldhana at jboss.com
+ * @version $Revision $
+ */
+public class WebApp6EverythingUnitTestCase extends AbstractJavaEEEverythingTest
+{
+
+ public WebApp6EverythingUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testEverything() throws Exception
+ {
+ WebMetaData webApp = unmarshal();
+ assertEverything(webApp, Mode.SPEC);
+ }
+
+ protected WebMetaData unmarshal() throws Exception
+ {
+ return unmarshal(WebMetaData.class);
+ }
+
+ protected void assertEverything(WebMetaData webApp, Mode mode)
+ throws Exception
+ {
+ assertDescriptionGroup("web-app", webApp.getDescriptionGroup());
+ assertRemoteEnvironment("webApp", webApp, true, mode);
+ assertMessageDestinations5("webAppMessageDestination", 2, webApp.getMessageDestinations(), true);
+ assertServlets(webApp);
+ assertServletMappings(webApp);
+ assertFilters(webApp);
+ assertFilterMappings(webApp);
+ assertSecurityConstraints(webApp);
+ }
+
+ private void assertMessageDestinations5(String prefix, int size, MessageDestinationsMetaData messageDestinations, boolean full)
+ {
+ assertNotNull("no message destinations are set", messageDestinations);
+ assertEquals(size, messageDestinations.size());
+ int count = 1;
+ for(MessageDestinationMetaData messageDestinationMetaData : messageDestinations)
+ {
+ assertMessageDestination50(prefix + count, messageDestinationMetaData, Mode.SPEC);
+ count++;
+ }
+ }
+ private void assertServlets(WebMetaData webApp)
+ throws Exception
+ {
+ ServletsMetaData servlets = webApp.getServlets();
+ int count = 0;
+ for(ServletMetaData servlet : servlets)
+ {
+ assertEquals("servlet"+count, servlet.getId());
+ assertEquals("servlet"+count+"-name", servlet.getServletName());
+ assertEquals("servlet"+count+".class", servlet.getServletClass());
+ assertEquals(1, servlet.getLoadOnStartup());
+ assertEquals("run-as-role"+count, servlet.getRunAs().getRoleName());
+ List<ParamValueMetaData> params = servlet.getInitParam();
+ assertEquals(2, params.size());
+ int pcount = 0;
+ for(ParamValueMetaData param : params)
+ {
+ assertEquals("servlet"+count+"-init-param"+pcount, param.getId());
+ assertEquals("init-param"+pcount+"-name", param.getParamName());
+ assertEquals("init-param"+pcount+"-value", param.getParamValue());
+ pcount ++;
+ }
+ SecurityRoleRefsMetaData refs = servlet.getSecurityRoleRefs();
+ assertEquals(1, refs.size());
+ for(SecurityRoleRefMetaData ref : refs)
+ {
+ assertEquals("servlet"+count+"-role-ref", ref.getRoleName());
+ assertEquals("role"+count, ref.getRoleLink());
+ }
+ count ++;
+ }
+ }
+ private void assertServletMappings(WebMetaData webApp)
+ throws Exception
+ {
+ List<ServletMappingMetaData> mappings = webApp.getServletMappings();
+ assertEquals(4, mappings.size());
+ int count = 0;
+ for(ServletMappingMetaData mapping : mappings)
+ {
+ int servletCount = count / 2;
+ assertEquals(mapping.getId(), "servlet"+servletCount+"-mapping"+count, mapping.getId());
+ assertEquals("servlet"+servletCount+"-name", mapping.getServletName());
+ if((count % 2) == 0)
+ assertEquals("/servlet"+servletCount+"/*", mapping.getUrlPatterns().get(0));
+ else
+ {
+ assertEquals(2, mapping.getUrlPatterns().size());
+ assertEquals("/servlet"+servletCount+"/*.s", mapping.getUrlPatterns().get(0));
+ assertEquals("/servlet"+servletCount+"/*.sx", mapping.getUrlPatterns().get(1));
+ }
+ count ++;
+ }
+ }
+
+ private void assertFilters(WebMetaData webApp)
+ throws Exception
+ {
+ FiltersMetaData filters = webApp.getFilters();
+ assertEquals(2, filters.size());
+ FilterMetaData f0 = filters.get("filter0Name");
+ assertEquals("filter0Class", f0.getFilterClass());
+ int count = 0;
+ for(FilterMetaData f : filters)
+ {
+ assertEquals("filter"+count, f.getId());
+ assertEquals("filter"+count+"Class", f.getFilterClass());
+ DescriptionGroupMetaData dg = f.getDescriptionGroup();
+ Icon[] icons = dg.getIcons().value();
+ assertEquals("filter"+count+"-description", dg.getDescription());
+ assertEquals("filter"+count+"-display-name", dg.getDisplayName());
+ assertEquals("filter"+count+"-large-icon", icons[0].largeIcon());
+ assertEquals("filter"+count+"-small-icon", icons[0].smallIcon());
+ count ++;
+ }
+ }
+
+ private void assertFilterMappings(WebMetaData webApp)
+ throws Exception
+ {
+ List<FilterMappingMetaData> mappings = webApp.getFilterMappings();
+ assertEquals(2, mappings.size());
+ FilterMappingMetaData m0 = mappings.get(0);
+ assertEquals("filter0-mapping", m0.getId());
+ assertEquals("filter0Name", m0.getFilterName());
+ assertEquals(null, m0.getServletNames());
+ assertEquals(2, m0.getUrlPatterns().size());
+ assertEquals("/filter0/*", m0.getUrlPatterns().get(0));
+ assertEquals("/*", m0.getUrlPatterns().get(1));
+ List<DispatcherType> dispatchers = m0.getDispatchers();
+ assertEquals(2, dispatchers.size());
+ assertEquals(DispatcherType.FORWARD, dispatchers.get(0));
+ assertEquals(DispatcherType.REQUEST, dispatchers.get(1));
+ }
+
+ // Security Constraints
+ private void assertSecurityConstraints(WebMetaData webApp)
+ {
+ List<SecurityConstraintMetaData> scmdList = webApp.getSecurityContraints();
+ assertEquals(3, scmdList.size());
+ for(SecurityConstraintMetaData scmd:scmdList)
+ {
+ String id = scmd.getId();
+ if(id.equals("security-constraint0"))
+ assertNormalSecurityConstraint(scmd);
+ else
+ if(id.equals("security-constraint-excluded"))
+ assertExcludedSecurityConstraint(scmd);
+ else
+ if(id.equals("security-constraint-unchecked"))
+ assertUncheckedSecurityConstraint(scmd);
+ }
+ }
+
+ private void assertNormalSecurityConstraint(SecurityConstraintMetaData scmd)
+ {
+ assertFalse(scmd.isExcluded());
+ assertFalse(scmd.isUnchecked());
+ assertEquals("security-constraint0-display-name",scmd.getDisplayName());
+ WebResourceCollectionsMetaData wrcmd = scmd.getResourceCollections();
+ assertEquals(2, wrcmd.size());
+ int count = 0;
+ for(WebResourceCollectionMetaData wrmd: wrcmd)
+ {
+ assertEquals(wrmd.getId(), "web-resource-collection" + count, wrmd.getId());
+ assertEquals(wrmd.getWebResourceName(),
+ "web-resource" + count + "-name", wrmd.getWebResourceName());
+ assertEquals("/resource" + count + "/*",
+ "/resource" + count + "/*", wrmd.getUrlPatterns().get(0));
+ count++;
+ }
+ AuthConstraintMetaData amd = scmd.getAuthConstraint();
+ assertEquals("auth-constraint0", amd.getId());
+ assertEquals("role0", amd.getRoleNames().get(0));
+
+ UserDataConstraintMetaData udcmd = scmd.getUserDataConstraint();
+ assertEquals(TransportGuaranteeType.NONE,udcmd.getTransportGuarantee());
+ }
+
+ private void assertExcludedSecurityConstraint(SecurityConstraintMetaData scmd)
+ {
+ assertTrue("Excluded Sec Constraint?", scmd.isExcluded());
+ }
+
+ private void assertUncheckedSecurityConstraint(SecurityConstraintMetaData scmd)
+ {
+ assertTrue("Unchecked Sec Constraint?", scmd.isUnchecked());
+ assertNull(scmd.getAuthConstraint());
+ }
+}
\ No newline at end of file
Added: 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 (rev 0)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6FragmentUnitTestCase.java 2009-07-24 16:05:17 UTC (rev 91640)
@@ -0,0 +1,250 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.metadata.web;
+
+import java.util.List;
+
+import org.jboss.annotation.javaee.Icon;
+import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationsMetaData;
+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.AuthConstraintMetaData;
+import org.jboss.metadata.web.spec.DispatcherType;
+import org.jboss.metadata.web.spec.FilterMappingMetaData;
+import org.jboss.metadata.web.spec.FilterMetaData;
+import org.jboss.metadata.web.spec.FiltersMetaData;
+import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
+import org.jboss.metadata.web.spec.ServletMappingMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+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.WebCommonMetaData;
+import org.jboss.metadata.web.spec.WebFragmentMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
+
+/**
+ * Test all entries of javaee 6 web-fragment
+ * TODO: still need to add assertions for all elements
+ *
+ * @author Scott.Stark at jboss.org
+ * @author Anil.Saldhana at jboss.com
+ * @version $Revision $
+ */
+public class WebApp6FragmentUnitTestCase extends AbstractJavaEEEverythingTest
+{
+
+ public WebApp6FragmentUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testEverything() throws Exception
+ {
+ WebFragmentMetaData webApp = unmarshal();
+ assertEverything(webApp, Mode.SPEC);
+ }
+
+ protected WebFragmentMetaData unmarshal() throws Exception
+ {
+ return unmarshal(WebFragmentMetaData.class);
+ }
+
+ protected void assertEverything(WebCommonMetaData webApp, Mode mode)
+ throws Exception
+ {
+ assertDescriptionGroup("web-app", webApp.getDescriptionGroup());
+ assertRemoteEnvironment("webApp", webApp, true, mode);
+ assertMessageDestinations5("webAppMessageDestination", 2, webApp.getMessageDestinations(), true);
+ assertServlets(webApp);
+ assertServletMappings(webApp);
+ assertFilters(webApp);
+ assertFilterMappings(webApp);
+ assertSecurityConstraints(webApp);
+ }
+
+ private void assertMessageDestinations5(String prefix, int size, MessageDestinationsMetaData messageDestinations, boolean full)
+ {
+ assertNotNull("no message destinations are set", messageDestinations);
+ assertEquals(size, messageDestinations.size());
+ int count = 1;
+ for(MessageDestinationMetaData messageDestinationMetaData : messageDestinations)
+ {
+ assertMessageDestination50(prefix + count, messageDestinationMetaData, Mode.SPEC);
+ count++;
+ }
+ }
+ private void assertServlets(WebCommonMetaData webApp)
+ throws Exception
+ {
+ ServletsMetaData servlets = webApp.getServlets();
+ int count = 0;
+ for(ServletMetaData servlet : servlets)
+ {
+ assertEquals("servlet"+count, servlet.getId());
+ assertEquals("servlet"+count+"-name", servlet.getServletName());
+ assertEquals("servlet"+count+".class", servlet.getServletClass());
+ assertEquals(1, servlet.getLoadOnStartup());
+ assertEquals("run-as-role"+count, servlet.getRunAs().getRoleName());
+ List<ParamValueMetaData> params = servlet.getInitParam();
+ assertEquals(2, params.size());
+ int pcount = 0;
+ for(ParamValueMetaData param : params)
+ {
+ assertEquals("servlet"+count+"-init-param"+pcount, param.getId());
+ assertEquals("init-param"+pcount+"-name", param.getParamName());
+ assertEquals("init-param"+pcount+"-value", param.getParamValue());
+ pcount ++;
+ }
+ SecurityRoleRefsMetaData refs = servlet.getSecurityRoleRefs();
+ assertEquals(1, refs.size());
+ for(SecurityRoleRefMetaData ref : refs)
+ {
+ assertEquals("servlet"+count+"-role-ref", ref.getRoleName());
+ assertEquals("role"+count, ref.getRoleLink());
+ }
+ count ++;
+ }
+ }
+ private void assertServletMappings(WebCommonMetaData webApp)
+ throws Exception
+ {
+ List<ServletMappingMetaData> mappings = webApp.getServletMappings();
+ assertEquals(4, mappings.size());
+ int count = 0;
+ for(ServletMappingMetaData mapping : mappings)
+ {
+ int servletCount = count / 2;
+ assertEquals(mapping.getId(), "servlet"+servletCount+"-mapping"+count, mapping.getId());
+ assertEquals("servlet"+servletCount+"-name", mapping.getServletName());
+ if((count % 2) == 0)
+ assertEquals("/servlet"+servletCount+"/*", mapping.getUrlPatterns().get(0));
+ else
+ {
+ assertEquals(2, mapping.getUrlPatterns().size());
+ assertEquals("/servlet"+servletCount+"/*.s", mapping.getUrlPatterns().get(0));
+ assertEquals("/servlet"+servletCount+"/*.sx", mapping.getUrlPatterns().get(1));
+ }
+ count ++;
+ }
+ }
+
+ private void assertFilters(WebCommonMetaData webApp)
+ throws Exception
+ {
+ FiltersMetaData filters = webApp.getFilters();
+ assertEquals(2, filters.size());
+ FilterMetaData f0 = filters.get("filter0Name");
+ assertEquals("filter0Class", f0.getFilterClass());
+ int count = 0;
+ for(FilterMetaData f : filters)
+ {
+ assertEquals("filter"+count, f.getId());
+ assertEquals("filter"+count+"Class", f.getFilterClass());
+ DescriptionGroupMetaData dg = f.getDescriptionGroup();
+ Icon[] icons = dg.getIcons().value();
+ assertEquals("filter"+count+"-description", dg.getDescription());
+ assertEquals("filter"+count+"-display-name", dg.getDisplayName());
+ assertEquals("filter"+count+"-large-icon", icons[0].largeIcon());
+ assertEquals("filter"+count+"-small-icon", icons[0].smallIcon());
+ count ++;
+ }
+ }
+
+ private void assertFilterMappings(WebCommonMetaData webApp)
+ throws Exception
+ {
+ List<FilterMappingMetaData> mappings = webApp.getFilterMappings();
+ assertEquals(2, mappings.size());
+ FilterMappingMetaData m0 = mappings.get(0);
+ assertEquals("filter0-mapping", m0.getId());
+ assertEquals("filter0Name", m0.getFilterName());
+ assertEquals(null, m0.getServletNames());
+ assertEquals(2, m0.getUrlPatterns().size());
+ assertEquals("/filter0/*", m0.getUrlPatterns().get(0));
+ assertEquals("/*", m0.getUrlPatterns().get(1));
+ List<DispatcherType> dispatchers = m0.getDispatchers();
+ assertEquals(2, dispatchers.size());
+ assertEquals(DispatcherType.FORWARD, dispatchers.get(0));
+ assertEquals(DispatcherType.REQUEST, dispatchers.get(1));
+ }
+
+ // Security Constraints
+ private void assertSecurityConstraints(WebCommonMetaData webApp)
+ {
+ List<SecurityConstraintMetaData> scmdList = webApp.getSecurityContraints();
+ assertEquals(3, scmdList.size());
+ for(SecurityConstraintMetaData scmd:scmdList)
+ {
+ String id = scmd.getId();
+ if(id.equals("security-constraint0"))
+ assertNormalSecurityConstraint(scmd);
+ else
+ if(id.equals("security-constraint-excluded"))
+ assertExcludedSecurityConstraint(scmd);
+ else
+ if(id.equals("security-constraint-unchecked"))
+ assertUncheckedSecurityConstraint(scmd);
+ }
+ }
+
+ private void assertNormalSecurityConstraint(SecurityConstraintMetaData scmd)
+ {
+ assertFalse(scmd.isExcluded());
+ assertFalse(scmd.isUnchecked());
+ assertEquals("security-constraint0-display-name",scmd.getDisplayName());
+ WebResourceCollectionsMetaData wrcmd = scmd.getResourceCollections();
+ assertEquals(2, wrcmd.size());
+ int count = 0;
+ for(WebResourceCollectionMetaData wrmd: wrcmd)
+ {
+ assertEquals(wrmd.getId(), "web-resource-collection" + count, wrmd.getId());
+ assertEquals(wrmd.getWebResourceName(),
+ "web-resource" + count + "-name", wrmd.getWebResourceName());
+ assertEquals("/resource" + count + "/*",
+ "/resource" + count + "/*", wrmd.getUrlPatterns().get(0));
+ count++;
+ }
+ AuthConstraintMetaData amd = scmd.getAuthConstraint();
+ assertEquals("auth-constraint0", amd.getId());
+ assertEquals("role0", amd.getRoleNames().get(0));
+
+ UserDataConstraintMetaData udcmd = scmd.getUserDataConstraint();
+ assertEquals(TransportGuaranteeType.NONE,udcmd.getTransportGuarantee());
+ }
+
+ private void assertExcludedSecurityConstraint(SecurityConstraintMetaData scmd)
+ {
+ assertTrue("Excluded Sec Constraint?", scmd.isExcluded());
+ }
+
+ private void assertUncheckedSecurityConstraint(SecurityConstraintMetaData scmd)
+ {
+ assertTrue("Unchecked Sec Constraint?", scmd.isUnchecked());
+ assertNull(scmd.getAuthConstraint());
+ }
+}
\ No newline at end of file
Added: projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp6Everything_testEverything.xml
===================================================================
--- projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp6Everything_testEverything.xml (rev 0)
+++ projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp6Everything_testEverything.xml 2009-07-24 16:05:17 UTC (rev 91640)
@@ -0,0 +1,593 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <web-app xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ version="3.0" id="web-app-everything" metadata-complete="true">
+
+ <name>foo</name>
+
+ <absolute-ordering>
+ <name>foo1</name>
+ <name>foo2</name>
+ <others/>
+ <name>foo3</name>
+ </absolute-ordering>
+
+ <icon>
+ <small-icon>en-web-app-small-icon</small-icon>
+ <large-icon>en-web-app-large-icon</large-icon>
+ </icon>
+ <!-- description group -->
+ <description>en-web-app-desc</description>
+ <description xml:lang="fr">fr-web-app-desc</description>
+ <description xml:lang="de">de-web-app-desc</description>
+ <display-name>en-web-app-disp</display-name>
+ <display-name xml:lang="fr">fr-web-app-disp</display-name>
+ <display-name xml:lang="de">de-web-app-disp</display-name>
+ <icon id="en-web-app-icon-id">
+ <small-icon>en-web-app-small-icon</small-icon>
+ <large-icon>en-web-app-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="fr" id="fr-web-app-icon-id">
+ <small-icon>fr-web-app-small-icon</small-icon>
+ <large-icon>fr-web-app-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="de" id="de-web-app-icon-id">
+ <small-icon>de-web-app-small-icon</small-icon>
+ <large-icon>de-web-app-large-icon</large-icon>
+ </icon>
+
+ <distributable/>
+
+ <context-param id="context-param0">
+ <description>context-param0-description</description>
+ <param-name>context-param0-name</param-name>
+ <param-value>context-param0-value</param-value>
+ </context-param>
+
+ <filter id="filter0">
+ <description>filter0-description</description>
+ <display-name>filter0-display-name</display-name>
+ <icon>
+ <small-icon>filter0-small-icon</small-icon>
+ <large-icon>filter0-large-icon</large-icon>
+ </icon>
+ <filter-name>filter0Name</filter-name>
+ <filter-class>filter0Class</filter-class>
+ </filter>
+ <filter id="filter1">
+ <description>filter1-description</description>
+ <display-name>filter1-display-name</display-name>
+ <icon>
+ <small-icon>filter1-small-icon</small-icon>
+ <large-icon>filter1-large-icon</large-icon>
+ </icon>
+ <filter-name>filter1Name</filter-name>
+ <filter-class>filter1Class</filter-class>
+ <async-supported>true</async-supported>
+ </filter>
+ <filter-mapping id="filter0-mapping">
+ <filter-name>filter0Name</filter-name>
+ <url-pattern>/filter0/*</url-pattern>
+ <url-pattern>/*</url-pattern>
+ <dispatcher>FORWARD</dispatcher>
+ <dispatcher>REQUEST</dispatcher>
+ </filter-mapping>
+ <filter-mapping id="filter1-mapping">
+ <filter-name>filter1Name</filter-name>
+ <servlet-name>servlet0</servlet-name>
+ <servlet-name>servlet1</servlet-name>
+ <dispatcher>FORWARD</dispatcher>
+ <dispatcher>REQUEST</dispatcher>
+ </filter-mapping>
+
+ <listener id="listener0">
+ <description>listener0-description</description>
+ <display-name>listener0-dipslay-name</display-name>
+ <icon id="listener0-icon">
+ <small-icon>listener0-small-icon</small-icon>
+ <large-icon>listener0-icon</large-icon>
+ </icon>
+ <listener-class>
+ listener0.class
+ </listener-class>
+ </listener>
+
+ <servlet id="servlet0">
+ <servlet-name>servlet0-name</servlet-name>
+ <servlet-class>
+ servlet0.class
+ </servlet-class>
+ <init-param id="servlet0-init-param0">
+ <param-name>init-param0-name</param-name>
+ <param-value>init-param0-value</param-value>
+ </init-param>
+ <init-param id="servlet0-init-param1">
+ <param-name>init-param1-name</param-name>
+ <param-value>init-param1-value</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ <run-as>
+ <role-name>run-as-role0</role-name>
+ </run-as>
+ <security-role-ref>
+ <role-name>servlet0-role-ref</role-name>
+ <role-link>role0</role-link>
+ </security-role-ref>
+ </servlet>
+ <servlet id="servlet1">
+ <servlet-name>servlet1-name</servlet-name>
+ <servlet-class>servlet1.class</servlet-class>
+ <init-param id="servlet1-init-param0">
+ <param-name>init-param0-name</param-name>
+ <param-value>init-param0-value</param-value>
+ </init-param>
+ <init-param id="servlet1-init-param1">
+ <param-name>init-param1-name</param-name>
+ <param-value>init-param1-value</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ <enabled>false</enabled>
+ <async-supported>true</async-supported>
+ <run-as>
+ <role-name>run-as-role1</role-name>
+ </run-as>
+ <security-role-ref>
+ <role-name>servlet1-role-ref</role-name>
+ <role-link>role1</role-link>
+ </security-role-ref>
+ </servlet>
+ <servlet-mapping id="servlet0-mapping0">
+ <servlet-name>servlet0-name</servlet-name>
+ <url-pattern>/servlet0/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping id="servlet0-mapping1">
+ <servlet-name>servlet0-name</servlet-name>
+ <url-pattern>/servlet0/*.s</url-pattern>
+ <url-pattern>/servlet0/*.sx</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping id="servlet1-mapping2">
+ <servlet-name>servlet1-name</servlet-name>
+ <url-pattern>/servlet1/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping id="servlet1-mapping3">
+ <servlet-name>servlet1-name</servlet-name>
+ <url-pattern>/servlet1/*.s</url-pattern>
+ <url-pattern>/servlet1/*.sx</url-pattern>
+ </servlet-mapping>
+
+ <session-config id="session-config0">
+ <session-timeout>30</session-timeout>
+ <cookie-config>
+ <name>session</name>
+ <domain>.jboss.org</domain>
+ <path>/</path>
+ <comment>Test</comment>
+ <http-only>true</http-only>
+ <secure>true</secure>
+ <max-age>10</max-age>
+ </cookie-config>
+ <tracking-mode>COOKIE</tracking-mode>
+ </session-config>
+
+ <mime-mapping id="mime-mapping0">
+ <extension>ext0</extension>
+ <mime-type>x/type0</mime-type>
+ </mime-mapping>
+ <mime-mapping id="mime-mapping1">
+ <extension>ext1</extension>
+ <mime-type>x/type1</mime-type>
+ </mime-mapping>
+
+ <welcome-file-list id="welcome-file-list0">
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>*.welcome</welcome-file>
+ </welcome-file-list>
+
+ <error-page id="error-page0">
+ <error-code>404</error-code>
+ <location>/error-page0</location>
+ </error-page>
+ <error-page id="error-page1">
+ <exception-type>java.lang.Throwable</exception-type>
+ <location>/error-page1</location>
+ </error-page>
+
+ <jsp-config id="jsp-config0">
+ <taglib>
+ <taglib-uri>jsp-config0</taglib-uri>
+ <taglib-location>/WEB-INF/tlds/jsp-config0.tld</taglib-location>
+ </taglib>
+ <jsp-property-group>
+ <description>Property group for common configuration for all the JSP's</description>
+ <url-pattern>*.jsp</url-pattern>
+ <url-pattern>*.jspx</url-pattern>
+ <el-ignored>false</el-ignored>
+ <page-encoding>ISO-8859-1</page-encoding>
+ <scripting-invalid>false</scripting-invalid>
+ <is-xml>false</is-xml>
+ <include-prelude>/common-jsps/prelude.jsp</include-prelude>
+ <include-coda>/common-jsps/coda.jsp</include-coda>
+ <deferred-syntax-allowed-as-literal>true</deferred-syntax-allowed-as-literal>
+ <trim-directive-whitespaces>true</trim-directive-whitespaces>
+ <default-content-type>text/plain</default-content-type>
+ <buffer>1024</buffer>
+ <error-on-undeclared-namespace>true</error-on-undeclared-namespace>
+ </jsp-property-group>
+ </jsp-config>
+
+ <security-constraint id="security-constraint0">
+ <display-name>security-constraint0-display-name</display-name>
+ <web-resource-collection id="web-resource-collection0">
+ <web-resource-name>web-resource0-name</web-resource-name>
+ <url-pattern>/resource0/*</url-pattern>
+ </web-resource-collection>
+ <web-resource-collection id="web-resource-collection1">
+ <web-resource-name>web-resource1-name</web-resource-name>
+ <url-pattern>/resource1/*</url-pattern>
+ </web-resource-collection>
+ <auth-constraint id="auth-constraint0">
+ <description></description>
+ <role-name>role0</role-name>
+ </auth-constraint>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+ <security-constraint id="security-constraint-excluded">
+ <display-name>security-constraint-excluded-name</display-name>
+ <web-resource-collection id="web-resource-excluded">
+ <web-resource-name>web-resource-excluded-name</web-resource-name>
+ <url-pattern>/resource-excluded/*</url-pattern>
+ </web-resource-collection>
+ <auth-constraint />
+ </security-constraint>
+ <security-constraint id="security-constraint-unchecked">
+ <display-name>security-constraint-unchecked-name</display-name>
+ <web-resource-collection id="web-resource-collection-unchecked">
+ <web-resource-name>web-resource-unchecked-name</web-resource-name>
+ <url-pattern>/resource-unchecked/*</url-pattern>
+ </web-resource-collection>
+ </security-constraint>
+
+ <login-config id="login-config-FORM">
+ <auth-method>FORM</auth-method>
+ <form-login-config>
+ <form-login-page>/login.jsp</form-login-page>
+ <form-error-page>/login-error.jsp</form-error-page>
+ </form-login-config>
+ </login-config>
+
+ <security-role id="security-role0">
+ <role-name>role0</role-name>
+ </security-role>
+ <security-role id="security-role1">
+ <role-name>role1</role-name>
+ </security-role>
+
+ <!-- env entry -->
+ <env-entry id="webAppEnvEntry1-id">
+ <description>en-webAppEnvEntry1-desc</description>
+ <description xml:lang="fr">fr-webAppEnvEntry1-desc</description>
+ <description xml:lang="de">de-webAppEnvEntry1-desc</description>
+ <env-entry-name>webAppEnvEntry1Name</env-entry-name>
+ <env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>webAppEnvEntry1Value</env-entry-value>
+ <mapped-name>webAppEnvEntry1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppEnvEntry1Injection1Class</injection-target-class>
+ <injection-target-name>webAppEnvEntry1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppEnvEntry1Injection2Class</injection-target-class>
+ <injection-target-name>webAppEnvEntry1Injection2Name</injection-target-name>
+ </injection-target>
+ </env-entry>
+ <env-entry id="webAppEnvEntry2-id">
+ <description>en-webAppEnvEntry2-desc</description>
+ <description xml:lang="fr">fr-webAppEnvEntry2-desc</description>
+ <description xml:lang="de">de-webAppEnvEntry2-desc</description>
+ <env-entry-name>webAppEnvEntry2Name</env-entry-name>
+ <env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>webAppEnvEntry2Value</env-entry-value>
+ <mapped-name>webAppEnvEntry2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppEnvEntry2Injection1Class</injection-target-class>
+ <injection-target-name>webAppEnvEntry2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppEnvEntry2Injection2Class</injection-target-class>
+ <injection-target-name>webAppEnvEntry2Injection2Name</injection-target-name>
+ </injection-target>
+ </env-entry>
+
+ <!-- ejb ref -->
+ <ejb-ref id="webAppEjbRef1-id">
+ <description>en-webAppEjbRef1-desc</description>
+ <description xml:lang="fr">fr-webAppEjbRef1-desc</description>
+ <description xml:lang="de">de-webAppEjbRef1-desc</description>
+ <ejb-ref-name>webAppEjbRef1Name</ejb-ref-name>
+ <ejb-ref-type>Session</ejb-ref-type>
+ <home>webAppEjbRef1Home</home>
+ <remote>webAppEjbRef1Remote</remote>
+ <ejb-link>webAppEjbRef1EjbLink</ejb-link>
+ <mapped-name>webAppEjbRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppEjbRef1Injection1Class</injection-target-class>
+ <injection-target-name>webAppEjbRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppEjbRef1Injection2Class</injection-target-class>
+ <injection-target-name>webAppEjbRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </ejb-ref>
+ <ejb-ref id="webAppEjbRef2-id">
+ <description>en-webAppEjbRef2-desc</description>
+ <description xml:lang="fr">fr-webAppEjbRef2-desc</description>
+ <description xml:lang="de">de-webAppEjbRef2-desc</description>
+ <ejb-ref-name>webAppEjbRef2Name</ejb-ref-name>
+ <ejb-ref-type>Entity</ejb-ref-type>
+ <home>webAppEjbRef2Home</home>
+ <remote>webAppEjbRef2Remote</remote>
+ <ejb-link>webAppEjbRef2EjbLink</ejb-link>
+ <mapped-name>webAppEjbRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppEjbRef2Injection1Class</injection-target-class>
+ <injection-target-name>webAppEjbRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppEjbRef2Injection2Class</injection-target-class>
+ <injection-target-name>webAppEjbRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </ejb-ref>
+
+ <service-ref id="webAppServiceRef1-id">
+ <description>en-webAppServiceRef1-desc</description>
+ <description xml:lang="fr">fr-webAppServiceRef1-desc</description>
+ <description xml:lang="de">de-webAppServiceRef1-desc</description>
+ <service-ref-name>webAppServiceRef1Name</service-ref-name>
+ <service-interface>webAppServiceRef1Iface</service-interface>
+ </service-ref>
+ <service-ref id="webAppServiceRef2-id">
+ <description>en-webAppServiceRef2-desc</description>
+ <description xml:lang="fr">fr-webAppServiceRef2-desc</description>
+ <description xml:lang="de">de-webAppServiceRef2-desc</description>
+ <service-ref-name>webAppServiceRef2Name</service-ref-name>
+ <service-interface>webAppServiceRef2Iface</service-interface>
+ </service-ref>
+
+ <!-- resource ref -->
+ <resource-ref id="webAppResourceRef1-id">
+ <description>en-webAppResourceRef1-desc</description>
+ <description xml:lang="fr">fr-webAppResourceRef1-desc</description>
+ <description xml:lang="de">de-webAppResourceRef1-desc</description>
+ <res-ref-name>webAppResourceRef1Name</res-ref-name>
+ <res-type>webAppResourceRef1Type</res-type>
+ <res-auth>Application</res-auth>
+ <res-sharing-scope>Shareable</res-sharing-scope>
+ <mapped-name>webAppResourceRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppResourceRef1Injection1Class</injection-target-class>
+ <injection-target-name>webAppResourceRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppResourceRef1Injection2Class</injection-target-class>
+ <injection-target-name>webAppResourceRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-ref>
+ <resource-ref id="webAppResourceRef2-id">
+ <description>en-webAppResourceRef2-desc</description>
+ <description xml:lang="fr">fr-webAppResourceRef2-desc</description>
+ <description xml:lang="de">de-webAppResourceRef2-desc</description>
+ <res-ref-name>webAppResourceRef2Name</res-ref-name>
+ <res-type>webAppResourceRef2Type</res-type>
+ <res-auth>Container</res-auth>
+ <res-sharing-scope>Unshareable</res-sharing-scope>
+ <mapped-name>webAppResourceRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppResourceRef2Injection1Class</injection-target-class>
+ <injection-target-name>webAppResourceRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppResourceRef2Injection2Class</injection-target-class>
+ <injection-target-name>webAppResourceRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-ref>
+
+ <!-- resource env ref -->
+ <resource-env-ref id="webAppResourceEnvRef1-id">
+ <description>en-webAppResourceEnvRef1-desc</description>
+ <description xml:lang="fr">fr-webAppResourceEnvRef1-desc</description>
+ <description xml:lang="de">de-webAppResourceEnvRef1-desc</description>
+ <resource-env-ref-name>webAppResourceEnvRef1Name</resource-env-ref-name>
+ <resource-env-ref-type>webAppResourceEnvRef1Type</resource-env-ref-type>
+ <mapped-name>webAppResourceEnvRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppResourceEnvRef1Injection1Class</injection-target-class>
+ <injection-target-name>webAppResourceEnvRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppResourceEnvRef1Injection2Class</injection-target-class>
+ <injection-target-name>webAppResourceEnvRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-env-ref>
+ <resource-env-ref id="webAppResourceEnvRef2-id">
+ <description>en-webAppResourceEnvRef2-desc</description>
+ <description xml:lang="fr">fr-webAppResourceEnvRef2-desc</description>
+ <description xml:lang="de">de-webAppResourceEnvRef2-desc</description>
+ <resource-env-ref-name>webAppResourceEnvRef2Name</resource-env-ref-name>
+ <resource-env-ref-type>webAppResourceEnvRef2Type</resource-env-ref-type>
+ <mapped-name>webAppResourceEnvRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppResourceEnvRef2Injection1Class</injection-target-class>
+ <injection-target-name>webAppResourceEnvRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppResourceEnvRef2Injection2Class</injection-target-class>
+ <injection-target-name>webAppResourceEnvRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-env-ref>
+
+ <!-- message destination ref -->
+ <message-destination-ref id="webAppMessageDestinationRef1-id">
+ <description>en-webAppMessageDestinationRef1-desc</description>
+ <description xml:lang="fr">fr-webAppMessageDestinationRef1-desc</description>
+ <description xml:lang="de">de-webAppMessageDestinationRef1-desc</description>
+ <message-destination-ref-name>webAppMessageDestinationRef1Name</message-destination-ref-name>
+ <message-destination-type>webAppMessageDestinationRef1Type</message-destination-type>
+ <message-destination-usage>Consumes</message-destination-usage>
+ <message-destination-link>webAppMessageDestinationRef1Link</message-destination-link>
+ <mapped-name>webAppMessageDestinationRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef1Injection1Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef1Injection2Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </message-destination-ref>
+ <message-destination-ref id="webAppMessageDestinationRef2-id">
+ <description>en-webAppMessageDestinationRef2-desc</description>
+ <description xml:lang="fr">fr-webAppMessageDestinationRef2-desc</description>
+ <description xml:lang="de">de-webAppMessageDestinationRef2-desc</description>
+ <message-destination-ref-name>webAppMessageDestinationRef2Name</message-destination-ref-name>
+ <message-destination-type>webAppMessageDestinationRef2Type</message-destination-type>
+ <message-destination-usage>Produces</message-destination-usage>
+ <message-destination-link>webAppMessageDestinationRef2Link</message-destination-link>
+ <mapped-name>webAppMessageDestinationRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef2Injection1Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef2Injection2Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </message-destination-ref>
+ <message-destination-ref id="webAppMessageDestinationRef3-id">
+ <description>en-webAppMessageDestinationRef3-desc</description>
+ <description xml:lang="fr">fr-webAppMessageDestinationRef3-desc</description>
+ <description xml:lang="de">de-webAppMessageDestinationRef3-desc</description>
+ <message-destination-ref-name>webAppMessageDestinationRef3Name</message-destination-ref-name>
+ <message-destination-type>webAppMessageDestinationRef3Type</message-destination-type>
+ <message-destination-usage>ConsumesProduces</message-destination-usage>
+ <message-destination-link>webAppMessageDestinationRef3Link</message-destination-link>
+ <mapped-name>webAppMessageDestinationRef3MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef3Injection1Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef3Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef3Injection2Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef3Injection2Name</injection-target-name>
+ </injection-target>
+ </message-destination-ref>
+
+ <!-- persistence unit ref -->
+ <persistence-unit-ref id="webAppPersistenceUnitRef1-id">
+ <description>en-webAppPersistenceUnitRef1-desc</description>
+ <description xml:lang="fr">fr-webAppPersistenceUnitRef1-desc</description>
+ <description xml:lang="de">de-webAppPersistenceUnitRef1-desc</description>
+ <persistence-unit-ref-name>webAppPersistenceUnitRef1Name</persistence-unit-ref-name>
+ <persistence-unit-name>webAppPersistenceUnitRef1Unit</persistence-unit-name>
+ <mapped-name>webAppPersistenceUnitRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppPersistenceUnitRef1Injection1Class</injection-target-class>
+ <injection-target-name>webAppPersistenceUnitRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppPersistenceUnitRef1Injection2Class</injection-target-class>
+ <injection-target-name>webAppPersistenceUnitRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </persistence-unit-ref>
+ <persistence-unit-ref id="webAppPersistenceUnitRef2-id">
+ <description>en-webAppPersistenceUnitRef2-desc</description>
+ <description xml:lang="fr">fr-webAppPersistenceUnitRef2-desc</description>
+ <description xml:lang="de">de-webAppPersistenceUnitRef2-desc</description>
+ <persistence-unit-ref-name>webAppPersistenceUnitRef2Name</persistence-unit-ref-name>
+ <persistence-unit-name>webAppPersistenceUnitRef2Unit</persistence-unit-name>
+ <mapped-name>webAppPersistenceUnitRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppPersistenceUnitRef2Injection1Class</injection-target-class>
+ <injection-target-name>webAppPersistenceUnitRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppPersistenceUnitRef2Injection2Class</injection-target-class>
+ <injection-target-name>webAppPersistenceUnitRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </persistence-unit-ref>
+
+ <!-- post-construct -->
+ <post-construct>
+ <lifecycle-callback-class>webAppPostConstruct1Class</lifecycle-callback-class>
+ <lifecycle-callback-method>webAppPostConstruct1Method</lifecycle-callback-method>
+ </post-construct>
+ <post-construct>
+ <lifecycle-callback-class>webAppPostConstruct2Class</lifecycle-callback-class>
+ <lifecycle-callback-method>webAppPostConstruct2Method</lifecycle-callback-method>
+ </post-construct>
+
+ <!-- pre-destroy -->
+ <pre-destroy>
+ <lifecycle-callback-class>webAppPreDestroy1Class</lifecycle-callback-class>
+ <lifecycle-callback-method>webAppPreDestroy1Method</lifecycle-callback-method>
+ </pre-destroy>
+ <pre-destroy>
+ <lifecycle-callback-class>webAppPreDestroy2Class</lifecycle-callback-class>
+ <lifecycle-callback-method>webAppPreDestroy2Method</lifecycle-callback-method>
+ </pre-destroy>
+
+ <!-- message destination -->
+ <message-destination id="webAppMessageDestination1-id">
+ <description>en-webAppMessageDestination1-desc</description>
+ <description xml:lang="fr">fr-webAppMessageDestination1-desc</description>
+ <description xml:lang="de">de-webAppMessageDestination1-desc</description>
+ <display-name>en-webAppMessageDestination1-disp</display-name>
+ <display-name xml:lang="fr">fr-webAppMessageDestination1-disp</display-name>
+ <display-name xml:lang="de">de-webAppMessageDestination1-disp</display-name>
+ <icon id="en-webAppMessageDestination1-icon-id">
+ <small-icon>en-webAppMessageDestination1-small-icon</small-icon>
+ <large-icon>en-webAppMessageDestination1-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="fr" id="fr-webAppMessageDestination1-icon-id">
+ <small-icon>fr-webAppMessageDestination1-small-icon</small-icon>
+ <large-icon>fr-webAppMessageDestination1-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="de" id="de-webAppMessageDestination1-icon-id">
+ <small-icon>de-webAppMessageDestination1-small-icon</small-icon>
+ <large-icon>de-webAppMessageDestination1-large-icon</large-icon>
+ </icon>
+ <message-destination-name>webAppMessageDestination1Name</message-destination-name>
+ <mapped-name>webAppMessageDestination1MappedName</mapped-name>
+ </message-destination>
+ <message-destination id="webAppMessageDestination2-id">
+ <description>en-webAppMessageDestination2-desc</description>
+ <description xml:lang="fr">fr-webAppMessageDestination2-desc</description>
+ <description xml:lang="de">de-webAppMessageDestination2-desc</description>
+ <display-name>en-webAppMessageDestination2-disp</display-name>
+ <display-name xml:lang="fr">fr-webAppMessageDestination2-disp</display-name>
+ <display-name xml:lang="de">de-webAppMessageDestination2-disp</display-name>
+ <icon id="en-webAppMessageDestination2-icon-id">
+ <small-icon>en-webAppMessageDestination2-small-icon</small-icon>
+ <large-icon>en-webAppMessageDestination2-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="fr" id="fr-webAppMessageDestination2-icon-id">
+ <small-icon>fr-webAppMessageDestination2-small-icon</small-icon>
+ <large-icon>fr-webAppMessageDestination2-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="de" id="de-webAppMessageDestination2-icon-id">
+ <small-icon>de-webAppMessageDestination2-small-icon</small-icon>
+ <large-icon>de-webAppMessageDestination2-large-icon</large-icon>
+ </icon>
+ <message-destination-name>webAppMessageDestination2Name</message-destination-name>
+ <mapped-name>webAppMessageDestination2MappedName</mapped-name>
+ </message-destination>
+
+ <locale-encoding-mapping-list id="locale-encoding-mapping-list0">
+ <locale-encoding-mapping>
+ <locale>en</locale>
+ <encoding>en</encoding>
+ </locale-encoding-mapping>
+ </locale-encoding-mapping-list>
+ </web-app>
Added: projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp6Fragment_testEverything.xml
===================================================================
--- projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp6Fragment_testEverything.xml (rev 0)
+++ projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp6Fragment_testEverything.xml 2009-07-24 16:05:17 UTC (rev 91640)
@@ -0,0 +1,580 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"
+ version="3.0" id="web-fragment-everything">
+
+ <ordering>
+ <before>
+ <name>foo1</name>
+ <name>foo2</name>
+ <others/>
+ <name>foo3</name>
+ </before>
+ <after>
+ <name>foo4</name>
+ </after>
+ </ordering>
+
+ <icon>
+ <small-icon>en-web-app-small-icon</small-icon>
+ <large-icon>en-web-app-large-icon</large-icon>
+ </icon>
+ <!-- description group -->
+ <description>en-web-app-desc</description>
+ <description xml:lang="fr">fr-web-app-desc</description>
+ <description xml:lang="de">de-web-app-desc</description>
+ <display-name>en-web-app-disp</display-name>
+ <display-name xml:lang="fr">fr-web-app-disp</display-name>
+ <display-name xml:lang="de">de-web-app-disp</display-name>
+ <icon id="en-web-app-icon-id">
+ <small-icon>en-web-app-small-icon</small-icon>
+ <large-icon>en-web-app-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="fr" id="fr-web-app-icon-id">
+ <small-icon>fr-web-app-small-icon</small-icon>
+ <large-icon>fr-web-app-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="de" id="de-web-app-icon-id">
+ <small-icon>de-web-app-small-icon</small-icon>
+ <large-icon>de-web-app-large-icon</large-icon>
+ </icon>
+
+ <distributable/>
+
+ <context-param id="context-param0">
+ <description>context-param0-description</description>
+ <param-name>context-param0-name</param-name>
+ <param-value>context-param0-value</param-value>
+ </context-param>
+
+ <filter id="filter0">
+ <description>filter0-description</description>
+ <display-name>filter0-display-name</display-name>
+ <icon>
+ <small-icon>filter0-small-icon</small-icon>
+ <large-icon>filter0-large-icon</large-icon>
+ </icon>
+ <filter-name>filter0Name</filter-name>
+ <filter-class>filter0Class</filter-class>
+ </filter>
+ <filter id="filter1">
+ <description>filter1-description</description>
+ <display-name>filter1-display-name</display-name>
+ <icon>
+ <small-icon>filter1-small-icon</small-icon>
+ <large-icon>filter1-large-icon</large-icon>
+ </icon>
+ <filter-name>filter1Name</filter-name>
+ <filter-class>filter1Class</filter-class>
+ </filter>
+ <filter-mapping id="filter0-mapping">
+ <filter-name>filter0Name</filter-name>
+ <url-pattern>/filter0/*</url-pattern>
+ <url-pattern>/*</url-pattern>
+ <dispatcher>FORWARD</dispatcher>
+ <dispatcher>REQUEST</dispatcher>
+ </filter-mapping>
+ <filter-mapping id="filter1-mapping">
+ <filter-name>filter1Name</filter-name>
+ <servlet-name>servlet0</servlet-name>
+ <servlet-name>servlet1</servlet-name>
+ <dispatcher>FORWARD</dispatcher>
+ <dispatcher>REQUEST</dispatcher>
+ </filter-mapping>
+
+ <listener id="listener0">
+ <description>listener0-description</description>
+ <display-name>listener0-dipslay-name</display-name>
+ <icon id="listener0-icon">
+ <small-icon>listener0-small-icon</small-icon>
+ <large-icon>listener0-icon</large-icon>
+ </icon>
+ <listener-class>
+ listener0.class
+ </listener-class>
+ </listener>
+
+ <servlet id="servlet0">
+ <servlet-name>servlet0-name</servlet-name>
+ <servlet-class>
+ servlet0.class
+ </servlet-class>
+ <init-param id="servlet0-init-param0">
+ <param-name>init-param0-name</param-name>
+ <param-value>init-param0-value</param-value>
+ </init-param>
+ <init-param id="servlet0-init-param1">
+ <param-name>init-param1-name</param-name>
+ <param-value>init-param1-value</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ <run-as>
+ <role-name>run-as-role0</role-name>
+ </run-as>
+ <security-role-ref>
+ <role-name>servlet0-role-ref</role-name>
+ <role-link>role0</role-link>
+ </security-role-ref>
+ </servlet>
+ <servlet id="servlet1">
+ <servlet-name>servlet1-name</servlet-name>
+ <servlet-class>servlet1.class</servlet-class>
+ <init-param id="servlet1-init-param0">
+ <param-name>init-param0-name</param-name>
+ <param-value>init-param0-value</param-value>
+ </init-param>
+ <init-param id="servlet1-init-param1">
+ <param-name>init-param1-name</param-name>
+ <param-value>init-param1-value</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ <run-as>
+ <role-name>run-as-role1</role-name>
+ </run-as>
+ <security-role-ref>
+ <role-name>servlet1-role-ref</role-name>
+ <role-link>role1</role-link>
+ </security-role-ref>
+ </servlet>
+ <servlet-mapping id="servlet0-mapping0">
+ <servlet-name>servlet0-name</servlet-name>
+ <url-pattern>/servlet0/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping id="servlet0-mapping1">
+ <servlet-name>servlet0-name</servlet-name>
+ <url-pattern>/servlet0/*.s</url-pattern>
+ <url-pattern>/servlet0/*.sx</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping id="servlet1-mapping2">
+ <servlet-name>servlet1-name</servlet-name>
+ <url-pattern>/servlet1/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping id="servlet1-mapping3">
+ <servlet-name>servlet1-name</servlet-name>
+ <url-pattern>/servlet1/*.s</url-pattern>
+ <url-pattern>/servlet1/*.sx</url-pattern>
+ </servlet-mapping>
+
+ <session-config id="session-config0">
+ <session-timeout>30</session-timeout>
+ </session-config>
+
+ <mime-mapping id="mime-mapping0">
+ <extension>ext0</extension>
+ <mime-type>x/type0</mime-type>
+ </mime-mapping>
+ <mime-mapping id="mime-mapping1">
+ <extension>ext1</extension>
+ <mime-type>x/type1</mime-type>
+ </mime-mapping>
+
+ <welcome-file-list id="welcome-file-list0">
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>*.welcome</welcome-file>
+ </welcome-file-list>
+
+ <error-page id="error-page0">
+ <error-code>404</error-code>
+ <location>/error-page0</location>
+ </error-page>
+ <error-page id="error-page1">
+ <exception-type>java.lang.Throwable</exception-type>
+ <location>/error-page1</location>
+ </error-page>
+
+ <jsp-config id="jsp-config0">
+ <taglib>
+ <taglib-uri>jsp-config0</taglib-uri>
+ <taglib-location>/WEB-INF/tlds/jsp-config0.tld</taglib-location>
+ </taglib>
+ <jsp-property-group>
+ <description>Property group for common configuration for all the JSP's</description>
+ <url-pattern>*.jsp</url-pattern>
+ <url-pattern>*.jspx</url-pattern>
+ <el-ignored>false</el-ignored>
+ <page-encoding>ISO-8859-1</page-encoding>
+ <scripting-invalid>false</scripting-invalid>
+ <is-xml>false</is-xml>
+ <include-prelude>/common-jsps/prelude.jsp</include-prelude>
+ <include-coda>/common-jsps/coda.jsp</include-coda>
+ <deferred-syntax-allowed-as-literal>true</deferred-syntax-allowed-as-literal>
+ <trim-directive-whitespaces>true</trim-directive-whitespaces>
+ </jsp-property-group>
+ </jsp-config>
+
+ <security-constraint id="security-constraint0">
+ <display-name>security-constraint0-display-name</display-name>
+ <web-resource-collection id="web-resource-collection0">
+ <web-resource-name>web-resource0-name</web-resource-name>
+ <url-pattern>/resource0/*</url-pattern>
+ </web-resource-collection>
+ <web-resource-collection id="web-resource-collection1">
+ <web-resource-name>web-resource1-name</web-resource-name>
+ <url-pattern>/resource1/*</url-pattern>
+ </web-resource-collection>
+ <auth-constraint id="auth-constraint0">
+ <description></description>
+ <role-name>role0</role-name>
+ </auth-constraint>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+ <security-constraint id="security-constraint-excluded">
+ <display-name>security-constraint-excluded-name</display-name>
+ <web-resource-collection id="web-resource-excluded">
+ <web-resource-name>web-resource-excluded-name</web-resource-name>
+ <url-pattern>/resource-excluded/*</url-pattern>
+ </web-resource-collection>
+ <auth-constraint />
+ </security-constraint>
+ <security-constraint id="security-constraint-unchecked">
+ <display-name>security-constraint-unchecked-name</display-name>
+ <web-resource-collection id="web-resource-collection-unchecked">
+ <web-resource-name>web-resource-unchecked-name</web-resource-name>
+ <url-pattern>/resource-unchecked/*</url-pattern>
+ </web-resource-collection>
+ </security-constraint>
+
+ <login-config id="login-config-FORM">
+ <auth-method>FORM</auth-method>
+ <form-login-config>
+ <form-login-page>/login.jsp</form-login-page>
+ <form-error-page>/login-error.jsp</form-error-page>
+ </form-login-config>
+ </login-config>
+
+ <security-role id="security-role0">
+ <role-name>role0</role-name>
+ </security-role>
+ <security-role id="security-role1">
+ <role-name>role1</role-name>
+ </security-role>
+
+ <!-- env entry -->
+ <env-entry id="webAppEnvEntry1-id">
+ <description>en-webAppEnvEntry1-desc</description>
+ <description xml:lang="fr">fr-webAppEnvEntry1-desc</description>
+ <description xml:lang="de">de-webAppEnvEntry1-desc</description>
+ <env-entry-name>webAppEnvEntry1Name</env-entry-name>
+ <env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>webAppEnvEntry1Value</env-entry-value>
+ <mapped-name>webAppEnvEntry1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppEnvEntry1Injection1Class</injection-target-class>
+ <injection-target-name>webAppEnvEntry1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppEnvEntry1Injection2Class</injection-target-class>
+ <injection-target-name>webAppEnvEntry1Injection2Name</injection-target-name>
+ </injection-target>
+ </env-entry>
+ <env-entry id="webAppEnvEntry2-id">
+ <description>en-webAppEnvEntry2-desc</description>
+ <description xml:lang="fr">fr-webAppEnvEntry2-desc</description>
+ <description xml:lang="de">de-webAppEnvEntry2-desc</description>
+ <env-entry-name>webAppEnvEntry2Name</env-entry-name>
+ <env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>webAppEnvEntry2Value</env-entry-value>
+ <mapped-name>webAppEnvEntry2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppEnvEntry2Injection1Class</injection-target-class>
+ <injection-target-name>webAppEnvEntry2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppEnvEntry2Injection2Class</injection-target-class>
+ <injection-target-name>webAppEnvEntry2Injection2Name</injection-target-name>
+ </injection-target>
+ </env-entry>
+
+ <!-- ejb ref -->
+ <ejb-ref id="webAppEjbRef1-id">
+ <description>en-webAppEjbRef1-desc</description>
+ <description xml:lang="fr">fr-webAppEjbRef1-desc</description>
+ <description xml:lang="de">de-webAppEjbRef1-desc</description>
+ <ejb-ref-name>webAppEjbRef1Name</ejb-ref-name>
+ <ejb-ref-type>Session</ejb-ref-type>
+ <home>webAppEjbRef1Home</home>
+ <remote>webAppEjbRef1Remote</remote>
+ <ejb-link>webAppEjbRef1EjbLink</ejb-link>
+ <mapped-name>webAppEjbRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppEjbRef1Injection1Class</injection-target-class>
+ <injection-target-name>webAppEjbRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppEjbRef1Injection2Class</injection-target-class>
+ <injection-target-name>webAppEjbRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </ejb-ref>
+ <ejb-ref id="webAppEjbRef2-id">
+ <description>en-webAppEjbRef2-desc</description>
+ <description xml:lang="fr">fr-webAppEjbRef2-desc</description>
+ <description xml:lang="de">de-webAppEjbRef2-desc</description>
+ <ejb-ref-name>webAppEjbRef2Name</ejb-ref-name>
+ <ejb-ref-type>Entity</ejb-ref-type>
+ <home>webAppEjbRef2Home</home>
+ <remote>webAppEjbRef2Remote</remote>
+ <ejb-link>webAppEjbRef2EjbLink</ejb-link>
+ <mapped-name>webAppEjbRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppEjbRef2Injection1Class</injection-target-class>
+ <injection-target-name>webAppEjbRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppEjbRef2Injection2Class</injection-target-class>
+ <injection-target-name>webAppEjbRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </ejb-ref>
+
+ <service-ref id="webAppServiceRef1-id">
+ <description>en-webAppServiceRef1-desc</description>
+ <description xml:lang="fr">fr-webAppServiceRef1-desc</description>
+ <description xml:lang="de">de-webAppServiceRef1-desc</description>
+ <service-ref-name>webAppServiceRef1Name</service-ref-name>
+ <service-interface>webAppServiceRef1Iface</service-interface>
+ </service-ref>
+ <service-ref id="webAppServiceRef2-id">
+ <description>en-webAppServiceRef2-desc</description>
+ <description xml:lang="fr">fr-webAppServiceRef2-desc</description>
+ <description xml:lang="de">de-webAppServiceRef2-desc</description>
+ <service-ref-name>webAppServiceRef2Name</service-ref-name>
+ <service-interface>webAppServiceRef2Iface</service-interface>
+ </service-ref>
+
+ <!-- resource ref -->
+ <resource-ref id="webAppResourceRef1-id">
+ <description>en-webAppResourceRef1-desc</description>
+ <description xml:lang="fr">fr-webAppResourceRef1-desc</description>
+ <description xml:lang="de">de-webAppResourceRef1-desc</description>
+ <res-ref-name>webAppResourceRef1Name</res-ref-name>
+ <res-type>webAppResourceRef1Type</res-type>
+ <res-auth>Application</res-auth>
+ <res-sharing-scope>Shareable</res-sharing-scope>
+ <mapped-name>webAppResourceRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppResourceRef1Injection1Class</injection-target-class>
+ <injection-target-name>webAppResourceRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppResourceRef1Injection2Class</injection-target-class>
+ <injection-target-name>webAppResourceRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-ref>
+ <resource-ref id="webAppResourceRef2-id">
+ <description>en-webAppResourceRef2-desc</description>
+ <description xml:lang="fr">fr-webAppResourceRef2-desc</description>
+ <description xml:lang="de">de-webAppResourceRef2-desc</description>
+ <res-ref-name>webAppResourceRef2Name</res-ref-name>
+ <res-type>webAppResourceRef2Type</res-type>
+ <res-auth>Container</res-auth>
+ <res-sharing-scope>Unshareable</res-sharing-scope>
+ <mapped-name>webAppResourceRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppResourceRef2Injection1Class</injection-target-class>
+ <injection-target-name>webAppResourceRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppResourceRef2Injection2Class</injection-target-class>
+ <injection-target-name>webAppResourceRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-ref>
+
+ <!-- resource env ref -->
+ <resource-env-ref id="webAppResourceEnvRef1-id">
+ <description>en-webAppResourceEnvRef1-desc</description>
+ <description xml:lang="fr">fr-webAppResourceEnvRef1-desc</description>
+ <description xml:lang="de">de-webAppResourceEnvRef1-desc</description>
+ <resource-env-ref-name>webAppResourceEnvRef1Name</resource-env-ref-name>
+ <resource-env-ref-type>webAppResourceEnvRef1Type</resource-env-ref-type>
+ <mapped-name>webAppResourceEnvRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppResourceEnvRef1Injection1Class</injection-target-class>
+ <injection-target-name>webAppResourceEnvRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppResourceEnvRef1Injection2Class</injection-target-class>
+ <injection-target-name>webAppResourceEnvRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-env-ref>
+ <resource-env-ref id="webAppResourceEnvRef2-id">
+ <description>en-webAppResourceEnvRef2-desc</description>
+ <description xml:lang="fr">fr-webAppResourceEnvRef2-desc</description>
+ <description xml:lang="de">de-webAppResourceEnvRef2-desc</description>
+ <resource-env-ref-name>webAppResourceEnvRef2Name</resource-env-ref-name>
+ <resource-env-ref-type>webAppResourceEnvRef2Type</resource-env-ref-type>
+ <mapped-name>webAppResourceEnvRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppResourceEnvRef2Injection1Class</injection-target-class>
+ <injection-target-name>webAppResourceEnvRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppResourceEnvRef2Injection2Class</injection-target-class>
+ <injection-target-name>webAppResourceEnvRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </resource-env-ref>
+
+ <!-- message destination ref -->
+ <message-destination-ref id="webAppMessageDestinationRef1-id">
+ <description>en-webAppMessageDestinationRef1-desc</description>
+ <description xml:lang="fr">fr-webAppMessageDestinationRef1-desc</description>
+ <description xml:lang="de">de-webAppMessageDestinationRef1-desc</description>
+ <message-destination-ref-name>webAppMessageDestinationRef1Name</message-destination-ref-name>
+ <message-destination-type>webAppMessageDestinationRef1Type</message-destination-type>
+ <message-destination-usage>Consumes</message-destination-usage>
+ <message-destination-link>webAppMessageDestinationRef1Link</message-destination-link>
+ <mapped-name>webAppMessageDestinationRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef1Injection1Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef1Injection2Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </message-destination-ref>
+ <message-destination-ref id="webAppMessageDestinationRef2-id">
+ <description>en-webAppMessageDestinationRef2-desc</description>
+ <description xml:lang="fr">fr-webAppMessageDestinationRef2-desc</description>
+ <description xml:lang="de">de-webAppMessageDestinationRef2-desc</description>
+ <message-destination-ref-name>webAppMessageDestinationRef2Name</message-destination-ref-name>
+ <message-destination-type>webAppMessageDestinationRef2Type</message-destination-type>
+ <message-destination-usage>Produces</message-destination-usage>
+ <message-destination-link>webAppMessageDestinationRef2Link</message-destination-link>
+ <mapped-name>webAppMessageDestinationRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef2Injection1Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef2Injection2Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </message-destination-ref>
+ <message-destination-ref id="webAppMessageDestinationRef3-id">
+ <description>en-webAppMessageDestinationRef3-desc</description>
+ <description xml:lang="fr">fr-webAppMessageDestinationRef3-desc</description>
+ <description xml:lang="de">de-webAppMessageDestinationRef3-desc</description>
+ <message-destination-ref-name>webAppMessageDestinationRef3Name</message-destination-ref-name>
+ <message-destination-type>webAppMessageDestinationRef3Type</message-destination-type>
+ <message-destination-usage>ConsumesProduces</message-destination-usage>
+ <message-destination-link>webAppMessageDestinationRef3Link</message-destination-link>
+ <mapped-name>webAppMessageDestinationRef3MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef3Injection1Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef3Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppMessageDestinationRef3Injection2Class</injection-target-class>
+ <injection-target-name>webAppMessageDestinationRef3Injection2Name</injection-target-name>
+ </injection-target>
+ </message-destination-ref>
+
+ <!-- persistence unit ref -->
+ <persistence-unit-ref id="webAppPersistenceUnitRef1-id">
+ <description>en-webAppPersistenceUnitRef1-desc</description>
+ <description xml:lang="fr">fr-webAppPersistenceUnitRef1-desc</description>
+ <description xml:lang="de">de-webAppPersistenceUnitRef1-desc</description>
+ <persistence-unit-ref-name>webAppPersistenceUnitRef1Name</persistence-unit-ref-name>
+ <persistence-unit-name>webAppPersistenceUnitRef1Unit</persistence-unit-name>
+ <mapped-name>webAppPersistenceUnitRef1MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppPersistenceUnitRef1Injection1Class</injection-target-class>
+ <injection-target-name>webAppPersistenceUnitRef1Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppPersistenceUnitRef1Injection2Class</injection-target-class>
+ <injection-target-name>webAppPersistenceUnitRef1Injection2Name</injection-target-name>
+ </injection-target>
+ </persistence-unit-ref>
+ <persistence-unit-ref id="webAppPersistenceUnitRef2-id">
+ <description>en-webAppPersistenceUnitRef2-desc</description>
+ <description xml:lang="fr">fr-webAppPersistenceUnitRef2-desc</description>
+ <description xml:lang="de">de-webAppPersistenceUnitRef2-desc</description>
+ <persistence-unit-ref-name>webAppPersistenceUnitRef2Name</persistence-unit-ref-name>
+ <persistence-unit-name>webAppPersistenceUnitRef2Unit</persistence-unit-name>
+ <mapped-name>webAppPersistenceUnitRef2MappedName</mapped-name>
+ <injection-target>
+ <injection-target-class>webAppPersistenceUnitRef2Injection1Class</injection-target-class>
+ <injection-target-name>webAppPersistenceUnitRef2Injection1Name</injection-target-name>
+ </injection-target>
+ <injection-target>
+ <injection-target-class>webAppPersistenceUnitRef2Injection2Class</injection-target-class>
+ <injection-target-name>webAppPersistenceUnitRef2Injection2Name</injection-target-name>
+ </injection-target>
+ </persistence-unit-ref>
+
+ <!-- post-construct -->
+ <post-construct>
+ <lifecycle-callback-class>webAppPostConstruct1Class</lifecycle-callback-class>
+ <lifecycle-callback-method>webAppPostConstruct1Method</lifecycle-callback-method>
+ </post-construct>
+ <post-construct>
+ <lifecycle-callback-class>webAppPostConstruct2Class</lifecycle-callback-class>
+ <lifecycle-callback-method>webAppPostConstruct2Method</lifecycle-callback-method>
+ </post-construct>
+
+ <!-- pre-destroy -->
+ <pre-destroy>
+ <lifecycle-callback-class>webAppPreDestroy1Class</lifecycle-callback-class>
+ <lifecycle-callback-method>webAppPreDestroy1Method</lifecycle-callback-method>
+ </pre-destroy>
+ <pre-destroy>
+ <lifecycle-callback-class>webAppPreDestroy2Class</lifecycle-callback-class>
+ <lifecycle-callback-method>webAppPreDestroy2Method</lifecycle-callback-method>
+ </pre-destroy>
+
+ <!-- message destination -->
+ <message-destination id="webAppMessageDestination1-id">
+ <description>en-webAppMessageDestination1-desc</description>
+ <description xml:lang="fr">fr-webAppMessageDestination1-desc</description>
+ <description xml:lang="de">de-webAppMessageDestination1-desc</description>
+ <display-name>en-webAppMessageDestination1-disp</display-name>
+ <display-name xml:lang="fr">fr-webAppMessageDestination1-disp</display-name>
+ <display-name xml:lang="de">de-webAppMessageDestination1-disp</display-name>
+ <icon id="en-webAppMessageDestination1-icon-id">
+ <small-icon>en-webAppMessageDestination1-small-icon</small-icon>
+ <large-icon>en-webAppMessageDestination1-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="fr" id="fr-webAppMessageDestination1-icon-id">
+ <small-icon>fr-webAppMessageDestination1-small-icon</small-icon>
+ <large-icon>fr-webAppMessageDestination1-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="de" id="de-webAppMessageDestination1-icon-id">
+ <small-icon>de-webAppMessageDestination1-small-icon</small-icon>
+ <large-icon>de-webAppMessageDestination1-large-icon</large-icon>
+ </icon>
+ <message-destination-name>webAppMessageDestination1Name</message-destination-name>
+ <mapped-name>webAppMessageDestination1MappedName</mapped-name>
+ </message-destination>
+ <message-destination id="webAppMessageDestination2-id">
+ <description>en-webAppMessageDestination2-desc</description>
+ <description xml:lang="fr">fr-webAppMessageDestination2-desc</description>
+ <description xml:lang="de">de-webAppMessageDestination2-desc</description>
+ <display-name>en-webAppMessageDestination2-disp</display-name>
+ <display-name xml:lang="fr">fr-webAppMessageDestination2-disp</display-name>
+ <display-name xml:lang="de">de-webAppMessageDestination2-disp</display-name>
+ <icon id="en-webAppMessageDestination2-icon-id">
+ <small-icon>en-webAppMessageDestination2-small-icon</small-icon>
+ <large-icon>en-webAppMessageDestination2-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="fr" id="fr-webAppMessageDestination2-icon-id">
+ <small-icon>fr-webAppMessageDestination2-small-icon</small-icon>
+ <large-icon>fr-webAppMessageDestination2-large-icon</large-icon>
+ </icon>
+ <icon xml:lang="de" id="de-webAppMessageDestination2-icon-id">
+ <small-icon>de-webAppMessageDestination2-small-icon</small-icon>
+ <large-icon>de-webAppMessageDestination2-large-icon</large-icon>
+ </icon>
+ <message-destination-name>webAppMessageDestination2Name</message-destination-name>
+ <mapped-name>webAppMessageDestination2MappedName</mapped-name>
+ </message-destination>
+
+ <locale-encoding-mapping-list id="locale-encoding-mapping-list0">
+ <locale-encoding-mapping>
+ <locale>en</locale>
+ <encoding>en</encoding>
+ </locale-encoding-mapping>
+ </locale-encoding-mapping-list>
+ </web-fragment>
Modified: projects/metadata/web/trunk/src/test/resources/schema2class.properties
===================================================================
--- projects/metadata/web/trunk/src/test/resources/schema2class.properties 2009-07-24 16:01:32 UTC (rev 91639)
+++ projects/metadata/web/trunk/src/test/resources/schema2class.properties 2009-07-24 16:05:17 UTC (rev 91640)
@@ -2,6 +2,8 @@
web-app_2_3.dtd org.jboss.metadata.web.spec.Web23MetaData
web-app_2_4.xsd org.jboss.metadata.web.spec.Web24MetaData
web-app_2_5.xsd org.jboss.metadata.web.spec.Web25MetaData
+web-app_3_0.xsd org.jboss.metadata.web.spec.Web30MetaData
+web-fragment_3_0.xsd org.jboss.metadata.web.spec.WebFragment30MetaData
jboss-web org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData
jboss-web_4_0.dtd org.jboss.metadata.web.jboss.JBoss4xDTDWebMetaData
jboss-web_4_2.dtd org.jboss.metadata.web.jboss.JBoss4xDTDWebMetaData
More information about the jboss-cvs-commits
mailing list