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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Mar 9 00:57:51 EST 2010


Author: bstansberry at jboss.com
Date: 2010-03-09 00:57:50 -0500 (Tue, 09 Mar 2010)
New Revision: 102109

Added:
   projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/JBossWebModuleNameUnitTestCase.java
Modified:
   projects/metadata/web/trunk/
   projects/metadata/web/trunk/.classpath
   projects/metadata/web/trunk/pom.xml
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web30MetaData.java
   projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6EverythingUnitTestCase.java
Log:
[JBMETA-268] EE 6 module name concept in war metadata


Property changes on: projects/metadata/web/trunk
___________________________________________________________________
Name: svn:ignore
   + .settings
target


Modified: projects/metadata/web/trunk/.classpath
===================================================================
--- projects/metadata/web/trunk/.classpath	2010-03-09 04:54:54 UTC (rev 102108)
+++ projects/metadata/web/trunk/.classpath	2010-03-09 05:57:50 UTC (rev 102109)
@@ -31,18 +31,14 @@
 	<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-vfs/2.0.0.CR1/jboss-vfs-2.0.0.CR1.jar"/>
 	<classpathentry kind="var" path="M2_REPO/org/jboss/security/jbosssx-client/2.0.3.SP1/jbosssx-client-2.0.3.SP1.jar" sourcepath="M2_REPO/org/jboss/security/jbosssx-client/2.0.3.SP1/jbosssx-client-2.0.3.SP1-sources.jar"/>
 	<classpathentry kind="var" path="M2_REPO/org/jboss/ws/jbossws-spi/1.0.6.GA/jbossws-spi-1.0.6.GA.jar"/>
-	<classpathentry kind="var" path="M2_REPO/jboss/web/servlet-api/3.0.0.alpha-6/servlet-api-3.0.0.alpha-6.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.2.Beta1/jbossxb-2.0.2.Beta1.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.2.Beta1/jbossxb-2.0.2.Beta1-sources.jar">
-		<attributes>
-			<attribute name="javadoc_location" value="jar:file:/C:/Users/avoka/.m2/repository/org/jboss/jbossxb/2.0.2.Beta1/jbossxb-2.0.2.Beta1-javadoc.jar!/"/>
-		</attributes>
-	</classpathentry>
+	<classpathentry kind="var" path="M2_REPO/jboss/web/servlet-api/3.0.0.alpha-13/servlet-api-3.0.0.alpha-13.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.2.Beta1/jbossxb-2.0.2.Beta1.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.2.Beta1/jbossxb-2.0.2.Beta1-sources.jar"/>
 	<classpathentry kind="var" path="M2_REPO/org/jboss/naming/jnp-client/5.0.1.GA/jnp-client-5.0.1.GA.jar"/>
 	<classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar"/>
 	<classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar"/>
 	<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/jboss/metadata/metadata-common/2.0.0-SNAPSHOT/metadata-common-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/metadata/metadata-common/2.0.0-SNAPSHOT/metadata-common-2.0.0-SNAPSHOT-sources.jar"/>
-	<classpathentry kind="var" path="M2_REPO/org/jboss/metadata/metadata-common/2.0.0-SNAPSHOT/metadata-common-2.0.0-SNAPSHOT-tests.jar" sourcepath="M2_REPO/org/jboss/metadata/metadata-common/2.0.0-SNAPSHOT/metadata-common-2.0.0-SNAPSHOT-test-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jboss/metadata/jboss-metadata-common/2.0.0.Alpha14/jboss-metadata-common-2.0.0.Alpha14.jar" sourcepath="M2_REPO/org/jboss/metadata/jboss-metadata-common/2.0.0.Alpha14/jboss-metadata-common-2.0.0.Alpha14-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jboss/metadata/jboss-metadata-common/2.0.0.Alpha14/jboss-metadata-common-2.0.0.Alpha14-tests.jar" sourcepath="M2_REPO/org/jboss/metadata/jboss-metadata-common/2.0.0.Alpha14/jboss-metadata-common-2.0.0.Alpha14-tests-sources.jar"/>
 	<classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
 	<classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.9.1/xml-apis-2.9.1.jar"/>
 	<classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar"/>

Modified: projects/metadata/web/trunk/pom.xml
===================================================================
--- projects/metadata/web/trunk/pom.xml	2010-03-09 04:54:54 UTC (rev 102108)
+++ projects/metadata/web/trunk/pom.xml	2010-03-09 05:57:50 UTC (rev 102109)
@@ -94,13 +94,13 @@
     <dependency>
       <groupId>org.jboss.metadata</groupId>
       <artifactId>jboss-metadata-common</artifactId>
-      <version>2.0.0.Alpha8</version>
+      <version>2.0.0.Alpha14</version>
     </dependency>
 
     <dependency>
       <groupId>org.jboss.metadata</groupId>
       <artifactId>jboss-metadata-common</artifactId>
-      <version>2.0.0.Alpha8</version>
+      <version>2.0.0.Alpha14</version>
       <type>test-jar</type>
       <scope>test</scope>
     </dependency>

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java	2010-03-09 04:54:54 UTC (rev 102108)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java	2010-03-09 05:57:50 UTC (rev 102109)
@@ -34,6 +34,7 @@
 
 import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnvironmentRefsGroupMetaData;
+import org.jboss.metadata.javaee.jboss.NamedModule;
 import org.jboss.metadata.javaee.jboss.RunAsIdentityMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
@@ -65,7 +66,7 @@
 import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
 import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
 import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptionGroup;
+import org.jboss.metadata.javaee.support.NamedModuleImpl;
 import org.jboss.metadata.web.spec.AnnotationMetaData;
 import org.jboss.metadata.web.spec.AnnotationsMetaData;
 import org.jboss.metadata.web.spec.ErrorPageMetaData;
@@ -93,7 +94,7 @@
  * @author Scott.Stark at jboss.org
  * @version $Revision: 84989 $
  */
-public class JBossWebMetaData extends IdMetaDataImplWithDescriptionGroup
+public class JBossWebMetaData extends NamedModuleImpl
 {
    private static final long serialVersionUID = 1;
 
@@ -927,6 +928,11 @@
          Web25MetaData web25MD = (Web25MetaData) original;
          setMetadataComplete(web25MD.isMetadataComplete());
       }
+      
+      if(override != null && override.getModuleName() != null)
+         setModuleName(override.getModuleName());
+      else if(original instanceof NamedModule && ((NamedModule) original).getModuleName() != null)
+         setModuleName(((NamedModule) original).getModuleName()); 
 
       if(override != null && override.contextParams!= null)
          setContextParams(override.contextParams);

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	2010-03-09 04:54:54 UTC (rev 102108)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Web30MetaData.java	2010-03-09 05:57:50 UTC (rev 102109)
@@ -7,6 +7,7 @@
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.jboss.NamedModule;
 import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.xb.annotations.JBossXmlSchema;
 
@@ -28,7 +29,7 @@
       propOrder={"moduleName", "absoluteOrdering", "descriptionGroup", "distributable", "contextParams", "filters", "filterMappings", "listeners", "servlets",
       "servletMappings", "sessionConfig", "mimeMappings", "welcomeFileList", "errorPages", "jspConfig", "securityConstraints",
       "loginConfig", "securityRoles", "jndiEnvironmentRefsGroup", "messageDestinations", "localEncodings", "absoluteOrdering"})
-public class Web30MetaData extends WebMetaData
+public class Web30MetaData extends WebMetaData implements NamedModule
 {
    private static final long serialVersionUID = 1;
    private boolean metadataComplete;
@@ -60,6 +61,7 @@
    {
       return moduleName;
    }
+   @XmlAttribute(name="module-name")
    public void setModuleName(String moduleName)
    {
       this.moduleName = moduleName;

Added: projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/JBossWebModuleNameUnitTestCase.java
===================================================================
--- projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/JBossWebModuleNameUnitTestCase.java	                        (rev 0)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/JBossWebModuleNameUnitTestCase.java	2010-03-09 05:57:50 UTC (rev 102109)
@@ -0,0 +1,136 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. 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 junit.framework.TestCase;
+
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.Web30MetaData;
+
+/**
+ * Tests of JBossWebMetaData's merge logic for module name.
+ * 
+ * @author Brian Stansberry
+ * @version $Revision$
+ */
+public class JBossWebModuleNameUnitTestCase extends TestCase
+{
+   
+   public void testOverride()
+   {
+      JBossWebMetaData merged = new JBossWebMetaData();
+      JBossWebMetaData override = new JBossWebMetaData();
+      
+      merged.merge(override, (JBossWebMetaData) null);
+      assertNull(merged.getModuleName());
+      
+      merged = new JBossWebMetaData();
+      override.setModuleName("over");      
+      merged.merge(override, (JBossWebMetaData) null);
+      assertEquals("over", merged.getModuleName());
+      
+      merged = new JBossWebMetaData();
+      JBossWebMetaData orig = new JBossWebMetaData();
+      orig.setModuleName("orig");
+      merged.merge(override, orig);
+      assertEquals("over", merged.getModuleName());
+   }
+   
+   public void testOriginal()
+   {
+      JBossWebMetaData merged = new JBossWebMetaData();
+      JBossWebMetaData orig = new JBossWebMetaData();
+      
+      merged.merge((JBossWebMetaData) null, orig);
+      assertNull(merged.getModuleName());
+      
+      orig.setModuleName("orig");
+      
+      merged.merge((JBossWebMetaData) null, orig);
+      assertEquals("orig", merged.getModuleName());
+      
+      merged = new JBossWebMetaData();
+      JBossWebMetaData override = new JBossWebMetaData();
+      override.setModuleName("over");
+      orig.setModuleName(null);
+      merged.merge(override, orig);
+      assertEquals("over", merged.getModuleName());
+   }
+   
+   public void testNull()
+   {
+      JBossWebMetaData merged = new JBossWebMetaData();
+      
+      merged.merge((JBossWebMetaData) null, (JBossWebMetaData) null);
+      assertNull(merged.getModuleName());
+   }
+   
+   public void testOverrideOfSpec()
+   {
+      JBossWebMetaData merged = new JBossWebMetaData();
+      JBossWebMetaData override = new JBossWebMetaData();
+      
+      merged.merge(override, (Web30MetaData) null);
+      assertNull(merged.getModuleName());
+      
+      merged = new JBossWebMetaData();
+      override.setModuleName("over");      
+      merged.merge(override, (Web30MetaData) null);
+      assertEquals("over", merged.getModuleName());
+      
+      merged = new JBossWebMetaData();
+      Web30MetaData spec = new Web30MetaData();
+      spec.setModuleName("spec");
+      merged.merge(override, spec);
+      assertEquals("over", merged.getModuleName());
+   }
+   
+   public void testSpec()
+   {
+      JBossWebMetaData merged = new JBossWebMetaData();
+      Web30MetaData spec = new Web30MetaData();
+      
+      merged.merge((JBossWebMetaData) null, spec);
+      assertNull(merged.getModuleName());
+      
+      spec.setModuleName("spec");
+      
+      merged.merge((JBossWebMetaData) null, spec);
+      assertEquals("spec", merged.getModuleName());
+      
+      merged = new JBossWebMetaData();
+      JBossWebMetaData override = new JBossWebMetaData();
+      override.setModuleName("over");
+      spec.setModuleName(null);
+      merged.merge(override, spec);
+      assertEquals("over", merged.getModuleName());
+   }
+   
+   public void testNullSpec()
+   {
+      JBossWebMetaData merged = new JBossWebMetaData();
+      
+      merged.merge((JBossWebMetaData) null, (Web30MetaData) null);
+      assertNull(merged.getModuleName());
+   }
+
+}

Modified: projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6EverythingUnitTestCase.java
===================================================================
--- projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6EverythingUnitTestCase.java	2010-03-09 04:54:54 UTC (rev 102108)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/WebApp6EverythingUnitTestCase.java	2010-03-09 05:57:50 UTC (rev 102109)
@@ -68,18 +68,19 @@
    
    public void testEverything() throws Exception
    {
-      WebMetaData webApp = unmarshal();
+      Web30MetaData webApp = unmarshal();
       assertEverything(webApp, Mode.SPEC);
    }
    
-   protected WebMetaData unmarshal() throws Exception
+   protected Web30MetaData unmarshal() throws Exception
    {
-      return unmarshal(WebMetaData.class);
+      return unmarshal(Web30MetaData.class);
    }
 
-   protected void assertEverything(WebMetaData webApp, Mode mode)
+   protected void assertEverything(Web30MetaData webApp, Mode mode)
       throws Exception
    {
+      assertModuleName(webApp);
       assertDescriptionGroup("web-app", webApp.getDescriptionGroup());
       assertRemoteEnvironment("webApp", webApp, true, mode);
       assertMessageDestinations5("webAppMessageDestination", 2, webApp.getMessageDestinations(), true);
@@ -270,4 +271,10 @@
       assertTrue("Unchecked Sec Constraint?", scmd.isUnchecked());
       assertNull(scmd.getAuthConstraint());
    }
+   
+   private void assertModuleName(WebMetaData webApp)
+   {
+      Web30MetaData webApp30 = (Web30MetaData) webApp;
+      assertEquals("foo", webApp30.getModuleName());
+   }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list