[jboss-cvs] JBossAS SVN: r66411 - in projects/metadata/trunk/src: main/java/org/jboss/metadata/ear/spec and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Oct 24 23:46:11 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-10-24 23:46:11 -0400 (Wed, 24 Oct 2007)
New Revision: 66411
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/JBossAppMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModulesMetaData.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ear/JBossApp5xEverythingUnitTestCase.java
projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ear/JBossApp5xEverything_testEverything.xml
projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ear/JBossApp5x_testVersion50.xml
Log:
Remove the override from the ear jboss view
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/JBossAppMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/JBossAppMetaData.java 2007-10-25 02:23:55 UTC (rev 66410)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/JBossAppMetaData.java 2007-10-25 03:46:11 UTC (rev 66411)
@@ -21,11 +21,6 @@
*/
package org.jboss.metadata.ear.jboss;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
@@ -34,17 +29,15 @@
import org.jboss.metadata.ear.spec.EarMetaData;
import org.jboss.metadata.ear.spec.ModuleMetaData;
import org.jboss.metadata.ear.spec.ModulesMetaData;
-import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithOverride;
-import org.jboss.metadata.javaee.support.JavaEEMetaDataUtil;
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptionGroup;
/**
* The jboss application metadata
* @author Scott.Stark at jboss.org
* @version $Revision$
*/
-public class JBossAppMetaData extends IdMetaDataImplWithOverride<EarMetaData>
+public class JBossAppMetaData extends IdMetaDataImplWithDescriptionGroup
{
private static final long serialVersionUID = 1;
private String dtdPublicId;
@@ -58,7 +51,6 @@
/** The unauthenticated principal */
private String unauthenticatedPrincipal;
private ModulesMetaData modules;
- private Map<String, ModuleMetaData> modulesMap;
/** The security roles */
private SecurityRolesMetaData securityRoles;
private String libraryDirectory;
@@ -150,20 +142,12 @@
public String getLibraryDirectory()
{
- String dir = libraryDirectory;
- EarMetaData emd = getOverridenMetaData();
- if (dir == null && emd != null && emd.isEE5())
- {
- Ear5xMetaData emd5x = (Ear5xMetaData) emd;
- dir = emd5x.getLibraryDirectory();
- }
- return dir;
+ return libraryDirectory;
}
public void setLibraryDirectory(String libraryDirectory)
{
this.libraryDirectory = libraryDirectory;
}
-
public String getJmxName()
{
@@ -174,16 +158,6 @@
this.jmxName = jmxName;
}
- @XmlTransient
- public DescriptionGroupMetaData getDescriptionGroup()
- {
- EarMetaData emd = getOverridenMetaData();
- DescriptionGroupMetaData dgmd = null;
- if (emd != null)
- dgmd = emd.getDescriptionGroup();
- return dgmd;
- }
-
/**
* Get the application module information
* @return the list of application modules
@@ -205,49 +179,60 @@
@XmlTransient
public synchronized ModuleMetaData getModule(String name)
{
- if (modulesMap == null)
- {
- modulesMap = new HashMap<String, ModuleMetaData>();
- ModulesMetaData merged = getMergedModules();
- for (ModuleMetaData module : merged)
- {
- String file = module.getValue().getFileName();
- modulesMap.put(file, module);
- }
- }
- return modulesMap.get(name);
+ return modules.get(name);
}
- @XmlTransient
- public ModulesMetaData getMergedModules()
+ public void merge(JBossAppMetaData override, EarMetaData original)
{
- EarMetaData emd = getOverridenMetaData();
- ModulesMetaData merged = new ModulesMetaData();
- if (emd != null && emd.getModules() != null)
- merged.addAll(emd.getModules());
- if (modules != null && modules.size() > 0)
+ super.merge(override, original);
+ Ear5xMetaData original5x = null;
+ if(original instanceof Ear5xMetaData)
+ original5x = (Ear5xMetaData) original;
+
+ if(override != null)
{
- merged.addAll(modules);
+ if(override.dtdPublicId != null)
+ this.dtdPublicId = override.dtdPublicId;
+ if(override.dtdSystemId != null)
+ this.dtdSystemId = override.dtdSystemId;
+ if(override.version != null)
+ this.version = override.version;
+ if(override.securityDomain != null)
+ setSecurityDomain(override.securityDomain);
+ if(override.loaderRepository != null)
+ setLoaderRepository(override.loaderRepository);
+ if(override.unauthenticatedPrincipal != null)
+ setUnauthenticatedPrincipal(override.unauthenticatedPrincipal);
+ if(override.unauthenticatedPrincipal != null)
+ setUnauthenticatedPrincipal(override.unauthenticatedPrincipal);
+ if(override.libraryDirectory != null)
+ setLibraryDirectory(override.libraryDirectory);
+ else if(original5x != null && original5x.getLibraryDirectory() != null)
+ setLibraryDirectory(original5x.getLibraryDirectory());
+ if(override.jmxName != null)
+ setJmxName(override.jmxName);
}
- return merged;
- }
+ else if(original5x != null && original5x.getLibraryDirectory() != null)
+ setLibraryDirectory(original5x.getLibraryDirectory());
- @XmlTransient
- public SecurityRolesMetaData getMergedSecurityRoles()
- {
- EarMetaData emd = getOverridenMetaData();
+ if(modules == null)
+ modules = new ModulesMetaData();
+ ModulesMetaData overrideModules = null;
+ ModulesMetaData originalModules = null;
+ if(override != null)
+ overrideModules = override.getModules();
+ if(original != null)
+ originalModules = original.getModules();
+ modules.merge(overrideModules, originalModules);
+
SecurityRolesMetaData securityRolesMetaData = null;
- if (emd != null)
- securityRolesMetaData = emd.getSecurityRoles();
- SecurityRolesMetaData jbossSecurityRolesMetaData = securityRoles;
- SecurityRolesMetaData mergedSecurityRolesMetaData = new SecurityRolesMetaData();
- if (jbossSecurityRolesMetaData != null && jbossSecurityRolesMetaData.isEmpty() == false)
- {
- mergedSecurityRolesMetaData = JavaEEMetaDataUtil.merge(
- mergedSecurityRolesMetaData,
- securityRolesMetaData, jbossSecurityRolesMetaData,
- "security-role", "application.xml", "jboss-app.xml", false);
- }
- return mergedSecurityRolesMetaData;
+ SecurityRolesMetaData overrideSecurityRolesMetaData = null;
+ if (original != null)
+ securityRolesMetaData = original.getSecurityRoles();
+ if(override != null)
+ overrideSecurityRolesMetaData = override.getSecurityRoles();
+ if(securityRoles == null)
+ securityRoles = new SecurityRolesMetaData();
+ securityRoles.merge(overrideSecurityRolesMetaData, securityRolesMetaData);
}
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModulesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModulesMetaData.java 2007-10-25 02:23:55 UTC (rev 66410)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModulesMetaData.java 2007-10-25 03:46:11 UTC (rev 66411)
@@ -54,4 +54,40 @@
module = iterator.next();
return module;
}
+
+ /**
+ * Merge original + override into this.
+ *
+ * @param original
+ * @param override
+ */
+ public void merge(ModulesMetaData override, ModulesMetaData original)
+ {
+ if(original == null)
+ {
+ if(override != null)
+ this.addAll(override);
+ }
+ else if(override == null)
+ {
+ this.addAll(original);
+ }
+ else
+ {
+ for(ModuleMetaData module : original)
+ {
+ // Only include modules not override in the override map
+ if(override.get(module.getFileName()) == null)
+ this.add(module);
+ else
+ this.add(override.get(module.getFileName()));
+ }
+ // Add any modules from override not already added
+ for(ModuleMetaData module : override)
+ {
+ if(this.get(module.getFileName()) == null)
+ this.add(module);
+ }
+ }
+ }
}
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ear/JBossApp5xEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ear/JBossApp5xEverythingUnitTestCase.java 2007-10-25 02:23:55 UTC (rev 66410)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ear/JBossApp5xEverythingUnitTestCase.java 2007-10-25 03:46:11 UTC (rev 66411)
@@ -102,7 +102,7 @@
{
Ear5xMetaData spec = unmarshal("Ear5xEverything_testEverything.xml", Ear5xMetaData.class, null);
JBossAppMetaData jbossAppMD = new JBossAppMetaData();
- jbossAppMD.setOverridenMetaData(spec);
+ jbossAppMD.merge(null, spec);
hasJBossAppOverride = false;
assertEveryting(jbossAppMD);
}
@@ -111,8 +111,9 @@
{
//enableTrace("org.jboss.xb");
Ear5xMetaData spec = unmarshal("Ear5xEverything_testEverything.xml", Ear5xMetaData.class, null);
- JBossAppMetaData jbossAppMD = unmarshal();
- jbossAppMD.setOverridenMetaData(spec);
+ JBossAppMetaData jbossAppXml = unmarshal();
+ JBossAppMetaData jbossAppMD = new JBossAppMetaData();
+ jbossAppMD.merge(jbossAppXml, spec);
hasJBossAppOverride = true;
assertEveryting(jbossAppMD);
assertEquals("jboss-app-id", jbossAppMD.getId());
@@ -130,7 +131,7 @@
protected void assertSecurityRoles(JBossAppMetaData ear)
{
- SecurityRolesMetaData roles = ear.getMergedSecurityRoles();
+ SecurityRolesMetaData roles = ear.getSecurityRoles();
assertEquals("There are 2 roles", 2, roles.size());
SecurityRoleMetaData role0 = roles.get("role0");
assertEquals("security-role0", role0.getId());
@@ -150,7 +151,7 @@
}
protected void assertModules(JBossAppMetaData ear)
{
- ModulesMetaData modules = ear.getMergedModules();
+ ModulesMetaData modules = ear.getModules();
if(hasJBossAppOverride)
assertEquals(9, modules.size());
else
Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ear/JBossApp5xEverything_testEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ear/JBossApp5xEverything_testEverything.xml 2007-10-25 02:23:55 UTC (rev 66410)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ear/JBossApp5xEverything_testEverything.xml 2007-10-25 03:46:11 UTC (rev 66411)
@@ -28,11 +28,11 @@
<har>har0.har</har>
</module>
<security-role id="security-role0">
- <jee:description>The 0 security role</jee:description>
+ <description>The 0 security role</description>
<role-name>role0</role-name>
</security-role>
<security-role id="security-role1">
- <jee:description>The 1 security role</jee:description>
+ <description>The 1 security role</description>
<role-name>role1</role-name>
</security-role>
<library-directory>jboss-app-lib0</library-directory>
Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ear/JBossApp5x_testVersion50.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ear/JBossApp5x_testVersion50.xml 2007-10-25 02:23:55 UTC (rev 66410)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ear/JBossApp5x_testVersion50.xml 2007-10-25 03:46:11 UTC (rev 66411)
@@ -16,11 +16,11 @@
</web>
</module>
<security-role id="security-role0">
- <jee:description>The 0 security role</jee:description>
+ <description>The 0 security role</description>
<role-name>role0</role-name>
</security-role>
<security-role id="security-role1">
- <jee:description>The 1 security role</jee:description>
+ <description>The 1 security role</description>
<role-name>role1</role-name>
</security-role>
<library-directory>jboss-app-lib0</library-directory>
More information about the jboss-cvs-commits
mailing list