[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