[jboss-cvs] JBossAS SVN: r65909 - 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
Mon Oct 8 08:20:20 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-10-08 08:20:20 -0400 (Mon, 08 Oct 2007)
New Revision: 65909

Added:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/JBoss50AppMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/ServiceModuleMetaData.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
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/EarMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModuleMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ear/Ear5xUnitTestCase.java
Log:
Add the jboss-app metadata

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/JBoss50AppMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/JBoss50AppMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/JBoss50AppMetaData.java	2007-10-08 12:20:20 UTC (rev 65909)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * 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.metadata.ear.jboss;
+
+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.spec.JavaEEMetaDataConstants;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+ at XmlRootElement(name="jboss-app", namespace=JavaEEMetaDataConstants.JBOSS_NS)
+ at JBossXmlSchema(
+      xmlns={@XmlNs(namespaceURI = JavaEEMetaDataConstants.JAVAEE_NS, prefix = "jee")},
+      ignoreUnresolvedFieldOrClass=false,
+      namespace=JavaEEMetaDataConstants.JBOSS_NS,
+      elementFormDefault=XmlNsForm.QUALIFIED)
+ at XmlType(name="jboss-appType",
+      namespace=JavaEEMetaDataConstants.JBOSS_NS)
+public class JBoss50AppMetaData extends JBossAppMetaData
+{
+   private static final long serialVersionUID = 1;
+
+}


Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/JBoss50AppMetaData.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

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-08 12:01:33 UTC (rev 65908)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/JBossAppMetaData.java	2007-10-08 12:20:20 UTC (rev 65909)
@@ -21,11 +21,160 @@
  */
 package org.jboss.metadata.ear.jboss;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+
+import org.jboss.metadata.ear.spec.Ear5xMetaData;
+import org.jboss.metadata.ear.spec.EarMetaData;
+import org.jboss.metadata.ear.spec.ModuleMetaData;
+import org.jboss.metadata.ejb.jboss.LoaderRepositoryMetaData;
+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;
+
 /**
+ * The jboss application metadata
  * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
-public class JBossAppMetaData
+public class JBossAppMetaData extends IdMetaDataImplWithOverride<EarMetaData>
 {
+   private static final long serialVersionUID = 1;
+   /** jboss application version */
+   private String version;
+   /** The default application security domain */
+   private String securityDomain;
+   /** The loader repository */
+   private LoaderRepositoryMetaData loaderRepository;
+   /** The unauthenticated principal */
+   private String unauthenticatedPrincipal;
+   private List<ModuleMetaData> modules;
+   /** The security roles */
+   private SecurityRolesMetaData securityRoles;
+   private String libraryDirectory;
+   
+   public LoaderRepositoryMetaData getLoaderRepository()
+   {
+      return loaderRepository;
+   }
+   public void setLoaderRepository(LoaderRepositoryMetaData loaderRepository)
+   {
+      this.loaderRepository = loaderRepository;
+   }
+   public String getSecurityDomain()
+   {
+      return securityDomain;
+   }
+   public void setSecurityDomain(String securityDomain)
+   {
+      this.securityDomain = securityDomain;
+   }
+   public SecurityRolesMetaData getSecurityRoles()
+   {
+      return securityRoles;
+   }
+   public void setSecurityRoles(SecurityRolesMetaData securityRoles)
+   {
+      this.securityRoles = securityRoles;
+   }
+   public String getUnauthenticatedPrincipal()
+   {
+      return unauthenticatedPrincipal;
+   }
+   public void setUnauthenticatedPrincipal(String unauthenticatedPrincipal)
+   {
+      this.unauthenticatedPrincipal = unauthenticatedPrincipal;
+   }
+   public String getVersion()
+   {
+      return version;
+   }
+   public void setVersion(String version)
+   {
+      this.version = version;
+   }
 
+   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;
+   }
+   public void getLibraryDirectory(String libraryDirectory)
+   {
+      this.libraryDirectory = libraryDirectory;
+   }
+
+   @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
+    */
+   public List<ModuleMetaData> getModules()
+   {
+      return modules;
+   }
+   /**
+    * Set the application module information
+    * @param module - the list of application modules
+    */
+   @XmlElement(name="module")
+   public void setModules(List<ModuleMetaData> modules)
+   {
+      this.modules = modules;
+   }
+
+   @XmlTransient
+   public List<ModuleMetaData> getMergedModules()
+   {
+      List<ModuleMetaData> merged = getOverridenMetaData().getModules();
+      if (modules != null && modules.size() > 0)
+      {
+         if (merged != null)
+            merged = new ArrayList<ModuleMetaData>(merged);
+         else
+            merged = new ArrayList<ModuleMetaData>();
+         merged.addAll(modules);
+      }
+      return merged;
+   }
+
+   @XmlTransient
+   public SecurityRolesMetaData getMergedSecurityRoles()
+   {
+      SecurityRolesMetaData securityRolesMetaData = getOverridenMetaData().getSecurityRoles();
+      SecurityRolesMetaData jbossSecurityRolesMetaData = securityRoles;
+      SecurityRolesMetaData mergedSecurityRolesMetaData = new SecurityRolesMetaData();
+      if (jbossSecurityRolesMetaData == null || jbossSecurityRolesMetaData.isEmpty())
+      {
+         if (securityRolesMetaData != null)
+            mergedSecurityRolesMetaData = securityRolesMetaData;
+      }
+      else
+      {
+         mergedSecurityRolesMetaData = JavaEEMetaDataUtil.merge(
+            mergedSecurityRolesMetaData,
+            securityRolesMetaData, jbossSecurityRolesMetaData,
+            "security-role", "application.xml", "jboss-app.xml", false);
+      }
+      return mergedSecurityRolesMetaData;
+   }
 }

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/ServiceModuleMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/ServiceModuleMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/ServiceModuleMetaData.java	2007-10-08 12:20:20 UTC (rev 65909)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * 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.metadata.ear.jboss;
+
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+import org.jboss.metadata.ear.spec.AbstractModule;
+
+/**
+ * A service mbean module
+ * 
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+ at XmlType(name="serviceType")
+public class ServiceModuleMetaData extends AbstractModule
+{
+   private static final long serialVersionUID = 1;
+   private String sar;
+
+   public String getSar()
+   {
+      return sar;
+   }
+   @XmlValue
+   public void setSar(String sar)
+   {
+      this.sar = sar;
+   }
+
+   
+}


Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/jboss/ServiceModuleMetaData.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/EarMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/EarMetaData.java	2007-10-08 12:01:33 UTC (rev 65908)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/EarMetaData.java	2007-10-08 12:20:20 UTC (rev 65909)
@@ -25,8 +25,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 org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptionGroup;
@@ -47,14 +45,18 @@
    private SecurityRolesMetaData securityRoles;
 
    /**
-    * 
-    * @return
+    * Is this a javaee 5 version application
+    * @return true if this is a javaee 5 version application
     */
    public boolean isEE5()
    {
       return false;
    }
-   public boolean isEE4()
+   /**
+    * Is this a javaee 1.4 version application
+    * @return true if this is a javaee 1.4 version application
+    */
+   public boolean isEE14()
    {
       return false;
    }
@@ -83,24 +85,39 @@
       this.version = version;
    }
 
-   
+
+   /**
+    * Get the application module information
+    * @return the list of application modules
+    */
    public List<ModuleMetaData> getModules()
    {
       return modules;
    }
+   /**
+    * Set the application module information
+    * @param module - the list of application modules
+    */
    @XmlElement(name="module")
    public void setModules(List<ModuleMetaData> modules)
    {
       this.modules = modules;
    }
+   /**
+    * Get the security roles
+    * @return securityRoles
+    */
    public SecurityRolesMetaData getSecurityRoles()
    {
       return securityRoles;
    }
+   /**
+    * Set the security roles
+    * @param securityRoles
+    */
    @XmlElement(name="security-role")
    public void setSecurityRoles(SecurityRolesMetaData securityRoles)
    {
       this.securityRoles = securityRoles;
    }
-
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModuleMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModuleMetaData.java	2007-10-08 12:01:33 UTC (rev 65908)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModuleMetaData.java	2007-10-08 12:20:20 UTC (rev 65909)
@@ -23,6 +23,7 @@
 
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.ear.jboss.ServiceModuleMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImpl;
 import org.jboss.xb.annotations.JBossXmlChild;
 import org.jboss.xb.annotations.JBossXmlChildren;
@@ -37,7 +38,9 @@
    @JBossXmlChild(name="connector", type=ConnectorModuleMetaData.class),
    @JBossXmlChild(name="ejb", type=EjbModuleMetaData.class),
    @JBossXmlChild(name="java", type=JavaModuleMetaData.class),
-   @JBossXmlChild(name="web", type=WebModuleMetaData.class)
+   @JBossXmlChild(name="web", type=WebModuleMetaData.class),
+   @JBossXmlChild(name="service", type=ServiceModuleMetaData.class),
+   @JBossXmlChild(name="har", type=ServiceModuleMetaData.class),   
 })
 public class ModuleMetaData extends IdMetaDataImpl
 {

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ear/Ear5xUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ear/Ear5xUnitTestCase.java	2007-10-08 12:01:33 UTC (rev 65908)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ear/Ear5xUnitTestCase.java	2007-10-08 12:20:20 UTC (rev 65909)
@@ -77,7 +77,7 @@
    {
       Ear5xMetaData result = unmarshal();
       assertEquals("5", result.getVersion());
-      assertFalse(result.isEE4());
+      assertFalse(result.isEE14());
       assertTrue(result.isEE5());
    }
 

Added: 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	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ear/JBossApp5xEverythingUnitTestCase.java	2007-10-08 12:20:20 UTC (rev 65909)
@@ -0,0 +1,226 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss 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.ear;
+
+
+import java.util.List;
+
+import junit.framework.Test;
+
+import org.jboss.annotation.javaee.Description;
+import org.jboss.annotation.javaee.Descriptions;
+import org.jboss.annotation.javaee.DisplayName;
+import org.jboss.annotation.javaee.DisplayNames;
+import org.jboss.annotation.javaee.Icon;
+import org.jboss.annotation.javaee.Icons;
+import org.jboss.metadata.ear.jboss.JBoss50AppMetaData;
+import org.jboss.metadata.ear.jboss.JBossAppMetaData;
+import org.jboss.metadata.ear.spec.ConnectorModuleMetaData;
+import org.jboss.metadata.ear.spec.Ear50MetaData;
+import org.jboss.metadata.ear.spec.Ear5xMetaData;
+import org.jboss.metadata.ear.spec.EjbModuleMetaData;
+import org.jboss.metadata.ear.spec.JavaModuleMetaData;
+import org.jboss.metadata.ear.spec.ModuleMetaData;
+import org.jboss.metadata.ear.spec.WebModuleMetaData;
+import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+import org.jboss.metadata.javaee.spec.DescriptionImpl;
+import org.jboss.metadata.javaee.spec.DisplayNameImpl;
+import org.jboss.metadata.javaee.spec.IconImpl;
+import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+
+/**
+ * Ear5x tests
+ * 
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class JBossApp5xEverythingUnitTestCase extends AbstractJavaEEMetaDataTest
+{
+   public static Test suite()
+   {
+      return suite(JBossApp5xEverythingUnitTestCase.class);
+   }
+   
+   public static SchemaBindingResolver initResolver()
+   {
+      return schemaResolverForClass(Ear50MetaData.class);
+   }
+   
+   public JBossApp5xEverythingUnitTestCase(String name)
+   {
+      super(name);
+   }
+   
+   protected JBossAppMetaData unmarshal() throws Exception
+   {
+      return unmarshal(JBoss50AppMetaData.class);
+   }
+
+   public void testOverride()
+      throws Exception
+   {
+      Ear5xMetaData spec = unmarshal("Ear5xEverything_testEverything.xml", Ear5xMetaData.class, null);
+      JBossAppMetaData jbossAppMD = new JBossAppMetaData();
+      jbossAppMD.setOverridenMetaData(spec);
+      assertEveryting(jbossAppMD);      
+   }
+   public void testEverything()
+      throws Exception
+   {
+      enableTrace("org.jboss.xb");
+      JBossAppMetaData result = unmarshal();
+      assertEquals("jboss-app-id", result.getId());
+      assertEquals("5.0", result.getVersion());
+      assertEveryting(result);
+   }
+
+   protected void assertEveryting(JBossAppMetaData ear)
+      throws Exception
+   {
+      assertDescriptions(ear);
+      assertDisplayName(ear);
+      assertIcon(ear);
+      assertSecurityRoles(ear);
+      assertLibraryDirectory(ear);
+      assertModules(ear);      
+   }
+
+   protected void assertDescriptions(JBossAppMetaData ear)
+      throws Exception
+   {
+      DescriptionGroupMetaData group = ear.getDescriptionGroup();
+      assertNotNull(group);
+      Descriptions descriptions = group.getDescriptions();
+      assertNotNull(descriptions);
+      
+      DescriptionImpl den = new DescriptionImpl();
+      den.setDescription("en-ear-desc");
+      DescriptionImpl dfr = new DescriptionImpl();
+      dfr.setLanguage("fr");
+      dfr.setDescription("fr-ear-des");
+      DescriptionImpl dde = new DescriptionImpl();
+      dde.setLanguage("de");
+      dde.setDescription("de-ear-des");
+      Description[] expected = {den, dfr, dde};
+      assertEquals(expected, descriptions.value());
+   }
+   
+   protected void assertDisplayName(JBossAppMetaData ear)
+      throws Exception
+   {
+      DescriptionGroupMetaData group = ear.getDescriptionGroup();
+      assertNotNull(group);
+      DisplayNames displayNames = group.getDisplayNames();
+      assertNotNull(displayNames);
+      
+      DisplayNameImpl en = new DisplayNameImpl();
+      en.setDisplayName("en-ear-disp");
+      DisplayNameImpl fr = new DisplayNameImpl();
+      fr.setDisplayName("fr-ear-disp");
+      fr.setLanguage("fr");
+      DisplayNameImpl de = new DisplayNameImpl();
+      de.setDisplayName("de-ear-disp");
+      de.setLanguage("de");
+
+      DisplayName[] expected = {en, fr, de};
+      assertEquals(expected, displayNames.value());
+   }
+   
+   protected void assertIcon(JBossAppMetaData ear)
+      throws Exception
+   {
+      DescriptionGroupMetaData group = ear.getDescriptionGroup();
+      assertNotNull(group);
+      Icons icons = group.getIcons();
+      assertNotNull(icons);
+      
+      IconImpl en = new IconImpl();
+      en.setId("en-ear-icon-id");
+      en.setSmallIcon("en-ear-small-icon");
+      en.setLargeIcon("en-ear-large-icon");
+      IconImpl fr = new IconImpl();
+      fr.setLanguage("fr");
+      fr.setId("fr-ear-icon-id");
+      fr.setSmallIcon("fr-ear-small-icon");
+      fr.setLargeIcon("fr-ear-large-icon");
+      IconImpl de = new IconImpl();
+      de.setLanguage("de");
+      de.setId("de-ear-icon-id");
+      de.setSmallIcon("de-ear-small-icon");
+      de.setLargeIcon("de-ear-large-icon");
+      
+      Icon[] expected = {en, fr, de};
+      assertEquals(expected, icons.value());
+   }
+
+   protected void assertSecurityRoles(JBossAppMetaData ear)
+   {
+      SecurityRolesMetaData roles = ear.getMergedSecurityRoles();
+      assertEquals("There are 2 roles", 2, roles.size());
+      SecurityRoleMetaData role0 = roles.get("role0");
+      assertEquals("security-role0", role0.getId());
+      assertEquals("role0", role0.getName());
+      assertEquals("The 0 security role", role0.getDescriptions().value()[0].value());
+      SecurityRoleMetaData role1 = roles.get("role1");
+      assertEquals("security-role1", role1.getId());
+      assertEquals("role1", role1.getName());
+      assertEquals("The 1 security role", role1.getDescriptions().value()[0].value());
+   }
+   protected void assertLibraryDirectory(JBossAppMetaData ear)
+   {
+      assertEquals("lib0", ear.getLibraryDirectory());
+   }
+   protected void assertModules(JBossAppMetaData ear)
+   {
+      List<ModuleMetaData> modules = ear.getMergedModules();
+      assertEquals(6, modules.size());
+      ModuleMetaData connector = modules.get(0);
+      assertEquals("connector0", connector.getId());
+      ConnectorModuleMetaData connectorMD = (ConnectorModuleMetaData) connector.getValue();
+      assertEquals("rar0.rar", connectorMD.getConnector());
+      ModuleMetaData java = modules.get(1);
+      assertEquals("java0", java.getId());
+      JavaModuleMetaData javaMD = (JavaModuleMetaData)java.getValue();
+      assertEquals("client0.jar", javaMD.getClientJar());
+      ModuleMetaData ejb0 = modules.get(2);
+      assertEquals("ejb0", ejb0.getId());
+      EjbModuleMetaData ejb0MD = (EjbModuleMetaData)ejb0.getValue();
+      assertEquals("ejb-jar0.jar", ejb0MD.getEjbJar());
+      ModuleMetaData ejb1 = modules.get(3);
+      assertEquals("ejb1", ejb1.getId());
+      EjbModuleMetaData ejb1MD = (EjbModuleMetaData)ejb1.getValue();
+      assertEquals("ejb-jar1.jar", ejb1MD.getEjbJar());
+      ModuleMetaData web0 = modules.get(4);
+      assertEquals("web0", web0.getId());
+      WebModuleMetaData web0MD = (WebModuleMetaData) web0.getValue();
+      assertEquals("/web0", web0MD.getContextRoot());
+      assertEquals("web-app0.war", web0MD.getWebURI());
+      ModuleMetaData web1 = modules.get(5);
+      assertEquals("web1", web1.getId());
+      WebModuleMetaData web1MD = (WebModuleMetaData) web1.getValue();
+      assertEquals("/web1", web1MD.getContextRoot());
+      assertEquals("web-app1.war", web1MD.getWebURI());
+   }
+}


Property changes on: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ear/JBossApp5xEverythingUnitTestCase.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Added: 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	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ear/JBossApp5xEverything_testEverything.xml	2007-10-08 12:20:20 UTC (rev 65909)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jboss-app xmlns="http://www.jboss.com/xml/ns/javaee"
+    xmlns:jee="http://java.sun.com/xml/ns/javaee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-app_5_0.xsd"
+    version="5.0"
+    id="jboss-app-id">
+        
+    <module id="sar0">
+        <connector>sar0.sar</connector>
+    </module>
+    <module id="web2">
+        <web>
+            <web-uri>web-app1.war</web-uri>
+            <context-root>/web1</context-root>
+        </web>
+    </module>
+    <security-role id="security-role0">
+        <description>The 0 security role</description>
+        <role-name>role0</role-name>
+    </security-role>
+    <security-role id="security-role1">
+        <description>The 1 security role</description>
+        <role-name>role1</role-name>
+    </security-role>
+    <library-directory>jboss-app-lib0</library-directory>
+</jboss-app>


Property changes on: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ear/JBossApp5xEverything_testEverything.xml
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native




More information about the jboss-cvs-commits mailing list