[jboss-cvs] JBossAS SVN: r92744 - in projects/metadata/web/trunk/src: test/java/org/jboss/test/metadata/web and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Aug 24 10:49:27 EDT 2009


Author: remy.maucherat at jboss.com
Date: 2009-08-24 10:49:27 -0400 (Mon, 24 Aug 2009)
New Revision: 92744

Added:
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web22MetaData.java
   projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp22UnitTestCase.java
   projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp22_testEverything.xml
   projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp22_testVersion.xml
Modified:
   projects/metadata/web/trunk/src/test/resources/schema2class.properties
Log:
- Servlet 2.2 support (to go with JSP 1.1).

Added: 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	                        (rev 0)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web22MetaData.java	2009-08-24 14:49:27 UTC (rev 92744)
@@ -0,0 +1,69 @@
+package org.jboss.metadata.web.spec;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlNs;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.xb.annotations.JBossXmlConstants;
+import org.jboss.xb.annotations.JBossXmlSchema;
+import org.jboss.xb.annotations.JBossXmlType;
+
+/**
+ * Web application spec metadata.
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 84989 $
+ */
+ at XmlRootElement(name="web-app", namespace="")
+ at JBossXmlSchema(
+      xmlns={@XmlNs(namespaceURI = "", prefix="jee")},
+      ignoreUnresolvedFieldOrClass=false,
+      namespace="",
+      elementFormDefault=XmlNsForm.UNSET,
+      normalizeSpace=true)
+ at XmlType(name="web-appType",
+      propOrder={"descriptionGroup", "distributable", "contextParams", "servlets",
+      "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "taglibs", "securityContraints",
+      "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup"})
+ at JBossXmlType(modelGroup=JBossXmlConstants.MODEL_GROUP_UNORDERED_SEQUENCE)
+public class Web22MetaData extends WebMetaData
+{
+   private static final long serialVersionUID = 1;
+
+   public boolean isMetadataComplete()
+   {
+      return true;
+   }
+
+   @Override
+   public String getVersion()
+   {
+      return "2.2";
+   }
+
+   public List<TaglibMetaData> getTaglibs()
+   {
+      JspConfigMetaData jspConfig = super.getJspConfig();
+      List<TaglibMetaData> taglibs = null;
+      if (jspConfig != null)
+      {
+         taglibs = jspConfig.getTaglibs();
+      }
+      return taglibs;
+   }
+   /**
+    * Map the 2.2 taglibs onto jsp-config/taglibs
+    * @param taglibs
+    */
+   @XmlElement(name="taglib")
+   public void setTaglibs(List<TaglibMetaData> taglibs)
+   {
+      JspConfigMetaData jspConfig = new JspConfigMetaData();
+      jspConfig.setTaglibs(taglibs);
+      super.setJspConfig(jspConfig);
+   }
+}

Added: projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp22UnitTestCase.java
===================================================================
--- projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp22UnitTestCase.java	                        (rev 0)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp22UnitTestCase.java	2009-08-24 14:49:27 UTC (rev 92744)
@@ -0,0 +1,76 @@
+/*
+ * 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 org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+import org.jboss.metadata.web.spec.Web22MetaData;
+import org.jboss.metadata.web.spec.WebMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
+
+/**
+ * Test all entries of 2.2 web-app
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 88255 $
+ */
+public class WebApp22UnitTestCase extends AbstractJavaEEEverythingTest
+{
+
+   public WebApp22UnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   protected void assertEverything(WebMetaData webApp)
+   {
+      DescriptionGroupMetaData dg = webApp.getDescriptionGroup();
+      assertNotNull(dg);
+      assertEquals("web-app-desc", dg.getDescription());
+      assertEquals("web-app_2_2-display-name", dg.getDisplayName());
+      ServletMetaData servlet = webApp.getServlets().get("servlet0-name");
+      assertNotNull(servlet);
+      assertEquals("servlet0.class", servlet.getServletClass());
+   }
+   
+   public void testEverything() throws Exception
+   {
+      WebMetaData webApp = unmarshal();
+      assertEverything(webApp);
+   }
+   public void testVersion() throws Exception
+   {
+      Web22MetaData webApp = (Web22MetaData) unmarshal();
+      DescriptionGroupMetaData dg = webApp.getDescriptionGroup();
+      assertNotNull(dg);
+      assertEquals("A servlet 2.2 descriptor", dg.getDescription());
+      assertEquals("web-app_2_2", webApp.getId());
+      assertEquals("2.2", webApp.getVersion());
+      assertEquals("-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN", webApp.getDtdPublicId());
+      assertEquals("web-app_2_2-display-name", dg.getDisplayName());
+   }
+
+   protected WebMetaData unmarshal() throws Exception
+   {
+      return unmarshal(Web22MetaData.class);
+   }
+}

Added: projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp22_testEverything.xml
===================================================================
--- projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp22_testEverything.xml	                        (rev 0)
+++ projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp22_testEverything.xml	2009-08-24 14:49:27 UTC (rev 92744)
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC
+"-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
+"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
+
+<web-app id="web-app_2_2">
+   
+   <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>
+   <display-name>web-app_2_2-display-name</display-name>
+
+    <description>web-app-desc</description>
+    
+    <distributable/>
+
+    <context-param id="context-param0">
+      <param-name>context-param0-name</param-name>
+      <param-value>context-param0-value</param-value>
+      <description>context-param0-description</description>
+    </context-param>
+
+   <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>
+      <security-role-ref>
+         <role-name>role1</role-name>
+         <role-link>role-link1</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>
+       <security-role-ref>
+          <role-name>role1</role-name>
+         <role-link>role-link1</role-link>
+       </security-role-ref>
+    </servlet>
+    <servlet-mapping id="servlet0-mapping">
+      <servlet-name>servlet0-name</servlet-name>
+      <url-pattern>/servlet0/*</url-pattern>
+   </servlet-mapping>
+    <servlet-mapping id="servlet1-mapping">
+       <servlet-name>servlet1-name</servlet-name>
+       <url-pattern>/servlet1/*</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>
+
+   <taglib>
+      <taglib-uri>jsp-config0</taglib-uri>
+      <taglib-location>/WEB-INF/tlds/jsp-config0.tld</taglib-location>
+   </taglib>
+
+   <!-- resource ref -->
+   <resource-ref id="webAppResourceRef1-id">
+      <description>en-webAppResourceRef1-desc</description>
+      <res-ref-name>webAppResourceRef1Name</res-ref-name>
+      <res-type>webAppResourceRef1Type</res-type>
+      <res-auth>Application</res-auth>
+   </resource-ref>
+   <resource-ref id="webAppResourceRef2-id">
+      <description>en-webAppResourceRef2-desc</description>
+      <res-ref-name>webAppResourceRef2Name</res-ref-name>
+      <res-type>webAppResourceRef2Type</res-type>
+      <res-auth>Container</res-auth>
+   </resource-ref>
+   
+    <security-constraint id="security-constraint0">
+       <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">
+       <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">
+       <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>
+      <env-entry-name>webAppEnvEntry1Name</env-entry-name>
+      <env-entry-value>webAppEnvEntry1Value</env-entry-value>
+      <env-entry-type>java.lang.String</env-entry-type>
+   </env-entry>
+   <env-entry id="webAppEnvEntry2-id">
+      <description>en-webAppEnvEntry2-desc</description>
+      <env-entry-name>webAppEnvEntry2Name</env-entry-name>
+      <env-entry-value>webAppEnvEntry2Value</env-entry-value>
+      <env-entry-type>java.lang.String</env-entry-type>
+   </env-entry>
+
+   <!-- ejb ref -->
+   <ejb-ref id="webAppEjbRef1-id">
+      <description>en-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>
+   </ejb-ref>
+   <ejb-ref id="webAppEjbRef2-id">
+      <description>en-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>
+   </ejb-ref>
+
+</web-app>

Added: projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp22_testVersion.xml
===================================================================
--- projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp22_testVersion.xml	                        (rev 0)
+++ projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp22_testVersion.xml	2009-08-24 14:49:27 UTC (rev 92744)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC
+"-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
+"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
+
+<web-app id="web-app_2_2">
+    <display-name>web-app_2_2-display-name</display-name>    
+    <description>A servlet 2.2 descriptor</description>
+</web-app>

Modified: projects/metadata/web/trunk/src/test/resources/schema2class.properties
===================================================================
--- projects/metadata/web/trunk/src/test/resources/schema2class.properties	2009-08-24 14:24:14 UTC (rev 92743)
+++ projects/metadata/web/trunk/src/test/resources/schema2class.properties	2009-08-24 14:49:27 UTC (rev 92744)
@@ -1,4 +1,5 @@
 # WEB
+web-app_2_2.dtd org.jboss.metadata.web.spec.Web22MetaData
 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




More information about the jboss-cvs-commits mailing list