[jboss-cvs] JBossAS SVN: r102108 - in projects/metadata/ejb/trunk: src/main/java/org/jboss/metadata/ejb/jboss and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 8 23:54:54 EST 2010


Author: bstansberry at jboss.com
Date: 2010-03-08 23:54:54 -0500 (Mon, 08 Mar 2010)
New Revision: 102108

Added:
   projects/metadata/ejb/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar31UnitTestCase.java
   projects/metadata/ejb/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossModuleNameMergeUnitTestCase.java
   projects/metadata/ejb/trunk/src/test/resources/org/jboss/test/metadata/ejb/EjbJar31_testModuleName.xml
   projects/metadata/ejb/trunk/src/test/resources/org/jboss/test/metadata/ejb/EjbJar31_testVersion.xml
Modified:
   projects/metadata/ejb/trunk/pom.xml
   projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
   projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar31MetaData.java
   projects/metadata/ejb/trunk/src/test/resources/schema2class.properties
Log:
[JBMETA-267] EE 6 module name concept in ejb metadata

Modified: projects/metadata/ejb/trunk/pom.xml
===================================================================
--- projects/metadata/ejb/trunk/pom.xml	2010-03-09 04:51:10 UTC (rev 102107)
+++ projects/metadata/ejb/trunk/pom.xml	2010-03-09 04:54:54 UTC (rev 102108)
@@ -147,13 +147,13 @@
     <dependency>
       <groupId>org.jboss.metadata</groupId>
       <artifactId>jboss-metadata-common</artifactId>
-      <version>2.0.0-alpha-10</version>
+      <version>2.0.0.Alpha14</version>
     </dependency>
 
     <dependency>
       <groupId>org.jboss.metadata</groupId>
       <artifactId>jboss-metadata-common</artifactId>
-      <version>2.0.0-alpha-10</version>
+      <version>2.0.0.Alpha14</version>
       <type>test-jar</type>
       <scope>test</scope>
     </dependency>

Modified: projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
===================================================================
--- projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java	2010-03-09 04:51:10 UTC (rev 102107)
+++ projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java	2010-03-09 04:54:54 UTC (rev 102108)
@@ -27,8 +27,6 @@
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlElements;
 import javax.xml.bind.annotation.XmlTransient;
 
 import org.jboss.logging.Logger;
@@ -41,9 +39,10 @@
 import org.jboss.metadata.ejb.spec.InterceptorsMetaData;
 import org.jboss.metadata.ejb.spec.RelationsMetaData;
 import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
+import org.jboss.metadata.javaee.jboss.NamedModule;
 import org.jboss.metadata.javaee.jboss.RunAsIdentityMetaData;
 import org.jboss.metadata.javaee.spec.RunAsMetaData;
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptionGroup;
+import org.jboss.metadata.javaee.support.NamedModuleImpl;
 
 /**
  * JBossMetaData.
@@ -52,7 +51,7 @@
  * @author Scott.Stark at jboss.org
  * @version $Revision: 81163 $
  */
-public class JBossMetaData extends IdMetaDataImplWithDescriptionGroup
+public class JBossMetaData extends NamedModuleImpl
    implements IEjbJarMetaData<JBossAssemblyDescriptorMetaData, JBossEnterpriseBeansMetaData, JBossEnterpriseBeanMetaData, JBossMetaData>
 {
    /** The serialVersionUID */
@@ -693,6 +692,12 @@
    public void merge(JBossMetaData override, EjbJarMetaData original)
    {
       super.merge(override, original);
+      
+      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.getVersion() != null)
          version = override.getVersion();
       else if(original != null && original.getVersion() != null)

Modified: projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar31MetaData.java
===================================================================
--- projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar31MetaData.java	2010-03-09 04:51:10 UTC (rev 102107)
+++ projects/metadata/ejb/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar31MetaData.java	2010-03-09 04:54:54 UTC (rev 102108)
@@ -21,11 +21,13 @@
  */
 package org.jboss.metadata.ejb.spec;
 
+import javax.xml.bind.annotation.XmlAttribute;
 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.metadata.javaee.jboss.NamedModule;
 import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.xb.annotations.JBossXmlSchema;
 
@@ -42,8 +44,20 @@
       normalizeSpace=true)
 @XmlType(name="ejb-jarType",
       namespace=JavaEEMetaDataConstants.JAVAEE_NS,
-      propOrder={"descriptionGroup", "enterpriseBeans", "interceptors", "relationships", "assemblyDescriptor", "ejbClientJar"})
-public class EjbJar31MetaData extends EjbJar3xMetaData
+      propOrder={"moduleName", "descriptionGroup", "enterpriseBeans", "interceptors", "relationships", "assemblyDescriptor", "ejbClientJar"})
+public class EjbJar31MetaData extends EjbJar3xMetaData implements NamedModule
 {
    private static final long serialVersionUID = 1L;
+
+   private String moduleName;
+
+   public String getModuleName()
+   {
+      return moduleName;
+   }
+   @XmlAttribute(name="module-name")
+   public void setModuleName(String moduleName)
+   {
+      this.moduleName = moduleName;
+   }
 }

Added: projects/metadata/ejb/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar31UnitTestCase.java
===================================================================
--- projects/metadata/ejb/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar31UnitTestCase.java	                        (rev 0)
+++ projects/metadata/ejb/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar31UnitTestCase.java	2010-03-09 04:54:54 UTC (rev 102108)
@@ -0,0 +1,104 @@
+/*
+* 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.ejb;
+
+import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationsMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaDataWrapper;
+import org.jboss.metadata.ejb.spec.EjbJar31MetaData;
+import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
+
+/**
+ * Basic parsing test for EjbJar31MetaData.
+ * 
+ * @author Brian Stansberry
+ * @version $Revision$
+ */
+public class EjbJar31UnitTestCase extends AbstractJavaEEMetaDataTest
+{
+
+   /**
+    * @param name
+    */
+   public EjbJar31UnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   protected EjbJar31MetaData unmarshal() throws Exception
+   {
+      return unmarshal(EjbJar31MetaData.class);
+   }
+   
+   protected void assertModuleName(EjbJar31MetaData ejbJarMetaData)
+   {
+      assertEquals("ejb-jar-test-module-name", ejbJarMetaData.getModuleName());
+   }
+
+   public void testModuleName() throws Exception
+   {
+      EjbJar31MetaData result = unmarshal();
+      assertEquals("spec-ejb-jar", result.getModuleName());
+      
+      // Test merged view
+      JBossMetaData merged = new JBossMetaData();
+      merged.merge(null, result);
+      assertEquals("spec-ejb-jar", merged.getModuleName());
+   }
+   
+   public void testVersion() throws Exception
+   {
+      EjbJar31MetaData result = unmarshal();
+      assertEquals("3.1", result.getVersion());
+      assertFalse(result.isEJB1x());
+      assertFalse(result.isEJB2x());
+      assertFalse(result.isEJB21());
+      assertTrue(result.isEJB3x());
+
+      // Test merged view
+      JBossMetaData merged = new JBossMetaData();
+      merged.merge(null, result);
+      assertFalse(merged.isEJB1x());
+      assertFalse(merged.isEJB2x());
+      assertFalse(merged.isEJB21());
+      assertTrue(merged.isEJB3x());
+
+      // Test wrapped view
+      JBossMetaData defaults = new JBossMetaData();
+      defaults.setContainerConfigurations(new ContainerConfigurationsMetaData());
+      JBossMetaData wrapped = new JBossMetaDataWrapper(merged, defaults);
+      assertFalse(wrapped.isEJB1x());
+      assertFalse(wrapped.isEJB2x());
+      assertFalse(wrapped.isEJB21());
+      assertTrue(wrapped.isEJB3x());
+
+      // Test legacy view
+      ApplicationMetaData old = new ApplicationMetaData(result);
+      assertFalse(old.isEJB1x());
+      assertFalse(old.isEJB2x());
+      assertFalse(old.isEJB21());
+      assertTrue(old.isEJB3x());
+   }
+
+}

Added: projects/metadata/ejb/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossModuleNameMergeUnitTestCase.java
===================================================================
--- projects/metadata/ejb/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossModuleNameMergeUnitTestCase.java	                        (rev 0)
+++ projects/metadata/ejb/trunk/src/test/java/org/jboss/test/metadata/ejb/JBossModuleNameMergeUnitTestCase.java	2010-03-09 04:54:54 UTC (rev 102108)
@@ -0,0 +1,87 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.ejb;
+
+import junit.framework.TestCase;
+
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+
+
+/**
+ * A JBossModuleNameOverrideUnitTestCase.
+ * 
+ * @author Brian Stansberry
+ * @version $Revision: 1.1 $
+ */
+public class JBossModuleNameMergeUnitTestCase extends TestCase
+{
+   
+   public void testOverride()
+   {
+      JBossMetaData merged = new JBossMetaData();
+      JBossMetaData override = new JBossMetaData();
+      
+      merged.merge(override, (JBossMetaData) null);
+      assertNull(merged.getModuleName());
+      
+      merged = new JBossMetaData();
+      override.setModuleName("over");      
+      merged.merge(override, (JBossMetaData) null);
+      assertEquals("over", merged.getModuleName());
+      
+      merged = new JBossMetaData();
+      JBossMetaData orig = new JBossMetaData();
+      orig.setModuleName("orig");
+      merged.merge(override, orig);
+      assertEquals("over", merged.getModuleName());
+   }
+   
+   public void testOriginal()
+   {
+      JBossMetaData merged = new JBossMetaData();
+      JBossMetaData orig = new JBossMetaData();
+      
+      merged.merge((JBossMetaData) null, orig);
+      assertNull(merged.getModuleName());
+      
+      orig.setModuleName("orig");
+      
+      merged.merge((JBossMetaData) null, orig);
+      assertEquals("orig", merged.getModuleName());
+      
+      merged = new JBossMetaData();
+      JBossMetaData override = new JBossMetaData();
+      override.setModuleName("over");
+      orig.setModuleName(null);
+      merged.merge(override, orig);
+      assertEquals("over", merged.getModuleName());
+   }
+   
+   public void testNull()
+   {
+      JBossMetaData merged = new JBossMetaData();
+      
+      merged.merge((JBossMetaData) null, (JBossMetaData) null);
+      assertNull(merged.getModuleName());
+   }
+
+}

Added: projects/metadata/ejb/trunk/src/test/resources/org/jboss/test/metadata/ejb/EjbJar31_testModuleName.xml
===================================================================
--- projects/metadata/ejb/trunk/src/test/resources/org/jboss/test/metadata/ejb/EjbJar31_testModuleName.xml	                        (rev 0)
+++ projects/metadata/ejb/trunk/src/test/resources/org/jboss/test/metadata/ejb/EjbJar31_testModuleName.xml	2010-03-09 04:54:54 UTC (rev 102108)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<ejb-jar 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/ejb-jar_3_1.xsd"
+         version="3.1">
+         
+   <module-name>spec-ejb-jar</module-name>
+</ejb-jar>
\ No newline at end of file

Added: projects/metadata/ejb/trunk/src/test/resources/org/jboss/test/metadata/ejb/EjbJar31_testVersion.xml
===================================================================
--- projects/metadata/ejb/trunk/src/test/resources/org/jboss/test/metadata/ejb/EjbJar31_testVersion.xml	                        (rev 0)
+++ projects/metadata/ejb/trunk/src/test/resources/org/jboss/test/metadata/ejb/EjbJar31_testVersion.xml	2010-03-09 04:54:54 UTC (rev 102108)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<ejb-jar 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/ejb-jar_3_1.xsd"
+         version="3.1">
+</ejb-jar>
\ No newline at end of file

Modified: projects/metadata/ejb/trunk/src/test/resources/schema2class.properties
===================================================================
--- projects/metadata/ejb/trunk/src/test/resources/schema2class.properties	2010-03-09 04:51:10 UTC (rev 102107)
+++ projects/metadata/ejb/trunk/src/test/resources/schema2class.properties	2010-03-09 04:54:54 UTC (rev 102108)
@@ -3,6 +3,7 @@
 ejb-jar_2_0.dtd org.jboss.metadata.ejb.spec.EjbJar20MetaData
 ejb-jar_2_1.xsd org.jboss.metadata.ejb.spec.EjbJar21MetaData
 ejb-jar_3_0.xsd org.jboss.metadata.ejb.spec.EjbJar30MetaData
+ejb-jar_3_1.xsd org.jboss.metadata.ejb.spec.EjbJar31MetaData
 jboss org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData
 jboss_3_0.dtd org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData
 jboss_3_2.dtd org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData




More information about the jboss-cvs-commits mailing list