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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 25 06:10:16 EDT 2007


Author: wolfc
Date: 2007-10-25 06:10:16 -0400 (Thu, 25 Oct 2007)
New Revision: 66420

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEjbJarMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeansMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJarMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeansMap.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeansMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/AbstractEJBEverythingTest.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar3xEverythingUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar3xUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
Log:
JBAS-4506: ultimate genericed

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEjbJarMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEjbJarMetaData.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEjbJarMetaData.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -27,7 +27,10 @@
  * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
-public interface IEjbJarMetaData<E extends IEnterpriseBeanMetaData<E>>
+public interface IEjbJarMetaData<A extends IAssemblyDescriptorMetaData,
+   C extends IEnterpriseBeansMetaData<A, C, E, J>,
+   E extends IEnterpriseBeanMetaData<A, C, E, J>,
+   J extends IEjbJarMetaData<A, C, E, J>>
 {
    public String getVersion();
    public void setVersion(String version);
@@ -37,11 +40,11 @@
    public boolean isEJB3x();
    public String getEjbClientJar();
    public void setEjbClientJar(String ejbClientJar);
-   public IEnterpriseBeansMetaData<E> getEnterpriseBeans();
-   public IEnterpriseBeanMetaData<E> getEnterpriseBean(String name);
-   public void setEnterpriseBeans(IEnterpriseBeansMetaData<E> enterpriseBeans);
+   public C getEnterpriseBeans();
+   public E getEnterpriseBean(String name);
+   public void setEnterpriseBeans(C enterpriseBeans);
    public RelationsMetaData getRelationships();
    public void setRelationships(RelationsMetaData relationships);
-   public IAssemblyDescriptorMetaData getAssemblyDescriptor();
-   public void setAssemblyDescriptor(IAssemblyDescriptorMetaData assemblyDescriptor);
+   public A getAssemblyDescriptor();
+   public void setAssemblyDescriptor(A assemblyDescriptor);
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeanMetaData.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeanMetaData.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -39,9 +39,6 @@
 import org.jboss.metadata.javaee.spec.Environment;
 import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
-import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
@@ -49,11 +46,12 @@
 import org.jboss.metadata.javaee.spec.PersistenceContextReferencesMetaData;
 import org.jboss.metadata.javaee.spec.PersistenceUnitReferenceMetaData;
 import org.jboss.metadata.javaee.spec.PersistenceUnitReferencesMetaData;
-import org.jboss.metadata.javaee.spec.RemoteEnvironment;
 import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferenceMetaData;
 import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferencesMetaData;
 import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
 import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
 import org.jboss.metadata.javaee.support.MappableMetaData;
 
 /**
@@ -61,13 +59,16 @@
  * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
-public interface IEnterpriseBeanMetaData<E extends IEnterpriseBeanMetaData<E>> extends MappableMetaData
+public interface IEnterpriseBeanMetaData<A extends IAssemblyDescriptorMetaData, 
+   C extends IEnterpriseBeansMetaData<A, C, E, J>, 
+   E extends IEnterpriseBeanMetaData<A, C, E, J>, 
+   J extends IEjbJarMetaData<A, C, E, J>> 
+   extends MappableMetaData
 {
-   public E cast();
    public String getId();
    public DescriptionGroupMetaData getDescriptionGroup();
    public void setDescriptionGroup(DescriptionGroupMetaData descriptionGroup);
-   public IEjbJarMetaData<E> getEjbJarMetaData();
+   public J getEjbJarMetaData();
    public String getEjbName();
    public void setEjbName(String ejbName);
    public boolean isSession();
@@ -110,7 +111,7 @@
    public InterceptorBindingMetaData getInterceptorBinding();;
    public ExcludeListMetaData getExcludeList();
    //public IEnterpriseBeansMetaData getEnterpriseBeansMetaData();
-   public void setEnterpriseBeansMetaData(IEnterpriseBeansMetaData<E> data);
+   public void setEnterpriseBeansMetaData(C data);
 
    //
    //public void merge(NamedMetaData merged, NamedMetaData original);

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeansMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeansMetaData.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeansMetaData.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -29,7 +29,10 @@
  * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
-public interface IEnterpriseBeansMetaData<E extends IEnterpriseBeanMetaData<E>>
+public interface IEnterpriseBeansMetaData<A extends IAssemblyDescriptorMetaData, 
+   C extends IEnterpriseBeansMetaData<A, C, E, J>, 
+   E extends IEnterpriseBeanMetaData<A, C, E, J>, 
+   J extends IEjbJarMetaData<A, C, E, J>>
    extends IdMetaData, Collection<E>
 {
    /**
@@ -37,14 +40,15 @@
     * 
     * @return the ejbJarMetaData.
     */
-   IEjbJarMetaData<E> getEjbJarMetaData();
+   J getEjbJarMetaData();
+   
    /**
     * Set the ejbJarMetaData.
     * 
     * @param ejbJarMetaData the ejbJarMetaData.
     * @throws IllegalArgumentException for a null ejbJarMetaData
     */
-   void setEjbJarMetaData(IEjbJarMetaData<E> ejbJarMetaData);
+   void setEjbJarMetaData(J ejbJarMetaData);
 
    public E get(String ejbName);
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -27,10 +27,10 @@
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.ejb.IEjbJarMetaData;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+
 import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.spec.ContainerTransactionMetaData;
 import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
@@ -56,9 +56,6 @@
 import org.jboss.metadata.javaee.spec.Environment;
 import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
-import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
@@ -66,24 +63,21 @@
 import org.jboss.metadata.javaee.spec.PersistenceContextReferencesMetaData;
 import org.jboss.metadata.javaee.spec.PersistenceUnitReferenceMetaData;
 import org.jboss.metadata.javaee.spec.PersistenceUnitReferencesMetaData;
-import org.jboss.metadata.javaee.spec.RemoteEnvironment;
 import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferenceMetaData;
 import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferencesMetaData;
 import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
 import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
+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.NamedMetaData;
 import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptionGroup;
-import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptionGroupWithOverride;
 import org.jboss.metadata.javaee.support.NonNullLinkedHashSet;
 import org.jboss.xb.annotations.JBossXmlConstants;
 import org.jboss.xb.annotations.JBossXmlModelGroup;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-
 /**
  * enterprise-bean/{session,entity,message-driven} metadata
  * 
@@ -101,7 +95,7 @@
             @JBossXmlModelGroup.Particle(element=@XmlElement(name="service"), type=JBossServiceBeanMetaData.class)})
 public abstract class JBossEnterpriseBeanMetaData extends NamedMetaDataWithDescriptionGroup
    implements Environment,
-   IEnterpriseBeanMetaData<JBossEnterpriseBeanMetaData>
+   IEnterpriseBeanMetaData<JBossAssemblyDescriptorMetaData, JBossEnterpriseBeansMetaData, JBossEnterpriseBeanMetaData, JBossMetaData>
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = 6909774842926430193L;
@@ -203,17 +197,12 @@
       // For serialization
    }
 
-   public JBossEnterpriseBeanMetaData cast()
-   {
-      return this;
-   }
-
    /**
     * Get the enterpriseBeansMetaData.
     * 
     * @return the enterpriseBeansMetaData.
     */
-   public IEnterpriseBeansMetaData<JBossEnterpriseBeanMetaData> getEnterpriseBeansMetaData()
+   public JBossEnterpriseBeansMetaData getEnterpriseBeansMetaData()
    {
       return enterpriseBeansMetaData;
    }
@@ -224,11 +213,11 @@
     * @param enterpriseBeansMetaData the enterpriseBeansMetaData.
     */
    @XmlTransient
-   public void setEnterpriseBeansMetaData(IEnterpriseBeansMetaData<JBossEnterpriseBeanMetaData> enterpriseBeansMetaData)
+   public void setEnterpriseBeansMetaData(JBossEnterpriseBeansMetaData enterpriseBeansMetaData)
    {
       assert enterpriseBeansMetaData != null : "enterpriseBeansMetaData is null";
       
-      this.enterpriseBeansMetaData = (JBossEnterpriseBeansMetaData) enterpriseBeansMetaData;
+      this.enterpriseBeansMetaData = enterpriseBeansMetaData;
    }
 
    /**
@@ -303,7 +292,7 @@
    }
 
    @XmlTransient
-   public IEjbJarMetaData<JBossEnterpriseBeanMetaData> getEjbJarMetaData()
+   public JBossMetaData getEjbJarMetaData()
    {
       return enterpriseBeansMetaData.getEjbJarMetaData();
    }
@@ -317,7 +306,7 @@
    {
       if (cachedContainerTransactions != null)
          return cachedContainerTransactions;
-      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      JBossAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getContainerTransactionsByEjbName(getEjbName()); 
@@ -397,7 +386,7 @@
     */
    public InterceptorBindingMetaData getInterceptorBinding()
    {
-      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      JBossAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getInterceptorBindingByEjbName(getEjbName()); 
@@ -410,7 +399,7 @@
     */
    public ExcludeListMetaData getExcludeList()
    {
-      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      JBossAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getExcludeListByEjbName(getEjbName()); 
@@ -1040,7 +1029,7 @@
    @XmlTransient
    public SecurityRoleMetaData getSecurityRole(String roleName)
    {
-      IAssemblyDescriptorMetaData assemblyDescriptor = getJBossMetaDataWithCheck().getAssemblyDescriptor();
+      JBossAssemblyDescriptorMetaData assemblyDescriptor = getJBossMetaDataWithCheck().getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       else
@@ -1055,7 +1044,7 @@
     */
    public Set<String> getSecurityRolePrincipals(String roleName)
    {
-      JBossAssemblyDescriptorMetaData assemblyDescriptor = (JBossAssemblyDescriptorMetaData) getJBossMetaDataWithCheck().getAssemblyDescriptor();
+      JBossAssemblyDescriptorMetaData assemblyDescriptor = getJBossMetaDataWithCheck().getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       else
@@ -1069,7 +1058,7 @@
     */
    public MethodPermissionsMetaData getMethodPermissions()
    {
-      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      JBossAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getMethodPermissionsByEjbName(getEjbName()); 
@@ -1439,9 +1428,9 @@
     * 
     * @return the ejbJarMetaData.
     */
-   protected IAssemblyDescriptorMetaData getAssemblyDescriptor()
+   protected JBossAssemblyDescriptorMetaData getAssemblyDescriptor()
    {
-      IEjbJarMetaData<JBossEnterpriseBeanMetaData> ejbJar = getEjbJarMetaData();
+      JBossMetaData ejbJar = getEjbJarMetaData();
       if (ejbJar == null)
          return null;
       return ejbJar.getAssemblyDescriptor();

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -24,10 +24,9 @@
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.metadata.common.ejb.IEjbJarMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeansMap;
+import org.jboss.metadata.ejb.spec.EnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.spec.EntityBeanMetaData;
 import org.jboss.metadata.ejb.spec.MessageDrivenBeanMetaData;
 import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
@@ -41,8 +40,7 @@
  */
 @XmlType(name="jboss-enterprise-beansType")
 public class JBossEnterpriseBeansMetaData
-   extends EnterpriseBeansMap<JBossEnterpriseBeanMetaData>
-   implements IEnterpriseBeansMetaData<JBossEnterpriseBeanMetaData>
+   extends EnterpriseBeansMap<JBossAssemblyDescriptorMetaData, JBossEnterpriseBeansMetaData, JBossEnterpriseBeanMetaData, JBossMetaData>
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = -5123700601271986251L;
@@ -103,15 +101,15 @@
       throw new RuntimeException("NYI");
    }
 
-   public IEjbJarMetaData<JBossEnterpriseBeanMetaData> getEjbJarMetaData()
+   public JBossMetaData getEjbJarMetaData()
    {
       return jbossMetaData;
    }
 
    @XmlTransient
-   public void setEjbJarMetaData(IEjbJarMetaData<JBossEnterpriseBeanMetaData> ejbJarMetaData)
+   public void setEjbJarMetaData(JBossMetaData ejbJarMetaData)
    {
-      jbossMetaData = (JBossMetaData) ejbJarMetaData;
+      jbossMetaData = ejbJarMetaData;
    }
 
    @Override
@@ -125,7 +123,7 @@
     * @param override
     * @param original
     */
-   public void merge(JBossEnterpriseBeansMetaData override, IEnterpriseBeansMetaData<EnterpriseBeanMetaData> original,
+   public void merge(JBossEnterpriseBeansMetaData override, EnterpriseBeansMetaData original,
       String overridenFile, String overrideFile, boolean mustOverride)
    {
       super.merge(override, original);

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -21,24 +21,18 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+
+import org.jboss.logging.Logger;
 import org.jboss.metadata.common.ejb.IEjbJarMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
-import org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.spec.EjbJarMetaData;
-import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.spec.RelationsMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptionGroup;
-import org.jboss.xb.annotations.JBossXmlCollection;
-import org.jboss.logging.Logger;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-
 /**
  * JBossMetaData.
  * 
@@ -47,7 +41,7 @@
  * @version $Revision: 1.1 $
  */
 public class JBossMetaData extends IdMetaDataImplWithDescriptionGroup
-   implements IEjbJarMetaData<JBossEnterpriseBeanMetaData>
+   implements IEjbJarMetaData<JBossAssemblyDescriptorMetaData, JBossEnterpriseBeansMetaData, JBossEnterpriseBeanMetaData, JBossMetaData>
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = 598759931857080298L;
@@ -182,19 +176,11 @@
       this.version = version;
    }
 
-   public IAssemblyDescriptorMetaData getAssemblyDescriptor()
+   public JBossAssemblyDescriptorMetaData getAssemblyDescriptor()
    {
       return assemblyDescriptor;
    }
    
-   @XmlElement(type=JBossAssemblyDescriptorMetaData.class)
-   public void setAssemblyDescriptor(IAssemblyDescriptorMetaData assemblyDescriptor)
-   {
-      if(this.assemblyDescriptor != null)
-         throw new IllegalArgumentException("assemblyDescriptor already set");
-      this.assemblyDescriptor = (JBossAssemblyDescriptorMetaData) assemblyDescriptor;
-   }
-
    public String getEjbClientJar()
    {
       return this.ejbClientJar;
@@ -385,7 +371,7 @@
     * 
     * @return the enterpriseBeans.
     */
-   public IEnterpriseBeansMetaData<JBossEnterpriseBeanMetaData> getEnterpriseBeans()
+   public JBossEnterpriseBeansMetaData getEnterpriseBeans()
    {
       return enterpriseBeans;
    }
@@ -396,13 +382,12 @@
     * @param enterpriseBeans the enterpriseBeans.
     * @throws IllegalArgumentException for a null enterpriseBeans
     */
-   @JBossXmlCollection(type=JBossEnterpriseBeansMetaData.class)
    @XmlElement(name="enterprise-beans")
-   public void setEnterpriseBeans(IEnterpriseBeansMetaData<JBossEnterpriseBeanMetaData> enterpriseBeans)
+   public void setEnterpriseBeans(JBossEnterpriseBeansMetaData enterpriseBeans)
    {
       if (enterpriseBeans == null)
          throw new IllegalArgumentException("Null enterpriseBeans");
-      this.enterpriseBeans = (JBossEnterpriseBeansMetaData) enterpriseBeans;
+      this.enterpriseBeans = enterpriseBeans;
       this.enterpriseBeans.setJBossMetaData(this);
    }
 
@@ -412,7 +397,7 @@
     * @param name the name
     * @return the container configuration
     */
-   public IEnterpriseBeanMetaData<JBossEnterpriseBeanMetaData> getEnterpriseBean(String name)
+   public JBossEnterpriseBeanMetaData getEnterpriseBean(String name)
    {
       if (enterpriseBeans == null)
          return null;
@@ -639,7 +624,7 @@
       JBossEnterpriseBeansMetaData jbeans = null;
       if(override != null)
          jbeans = override.enterpriseBeans;
-      IEnterpriseBeansMetaData<EnterpriseBeanMetaData> beans = null;
+      EnterpriseBeansMetaData beans = null;
       if(original != null)
          beans = original.getEnterpriseBeans();
       boolean isEJB3x = (original == null || original.isEJB3x());

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -21,9 +21,6 @@
  */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
 import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
 
@@ -53,7 +50,7 @@
    }
 
    @Override
-   public IAssemblyDescriptorMetaData getAssemblyDescriptor()
+   public JBossAssemblyDescriptorMetaData getAssemblyDescriptor()
    {
       return primary.getAssemblyDescriptor();
    }
@@ -72,13 +69,13 @@
    }
 
    @Override
-   public IEnterpriseBeanMetaData<JBossEnterpriseBeanMetaData> getEnterpriseBean(String name)
+   public JBossEnterpriseBeanMetaData getEnterpriseBean(String name)
    {
       return primary.getEnterpriseBean(name);
    }
 
    @Override
-   public IEnterpriseBeansMetaData<JBossEnterpriseBeanMetaData> getEnterpriseBeans()
+   public JBossEnterpriseBeansMetaData getEnterpriseBeans()
    {
       return primary.getEnterpriseBeans();
    }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJarMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJarMetaData.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJarMetaData.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -24,12 +24,8 @@
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
 import org.jboss.metadata.common.ejb.IEjbJarMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptionGroup;
-import org.jboss.xb.annotations.JBossXmlCollection;
 
 /**
  * EjbJarMetaData.
@@ -38,7 +34,7 @@
  * @version $Revision: 1.1 $
  */
 public abstract class EjbJarMetaData extends IdMetaDataImplWithDescriptionGroup
-   implements IEjbJarMetaData<EnterpriseBeanMetaData>
+   implements IEjbJarMetaData<AssemblyDescriptorMetaData, EnterpriseBeansMetaData, EnterpriseBeanMetaData, EjbJarMetaData>
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = 809339942454480150L;
@@ -199,7 +195,7 @@
     * 
     * @return the enterpriseBeans.
     */
-   public IEnterpriseBeansMetaData<EnterpriseBeanMetaData> getEnterpriseBeans()
+   public EnterpriseBeansMetaData getEnterpriseBeans()
    {
       return enterpriseBeans;
    }
@@ -210,17 +206,16 @@
     * @param enterpriseBeans the enterpriseBeans.
     * @throws IllegalArgumentException for a null enterpriseBeans
     */
-   @JBossXmlCollection(type=EnterpriseBeansMetaData.class)
    @XmlElement(name="enterprise-beans")
-   public void setEnterpriseBeans(IEnterpriseBeansMetaData<EnterpriseBeanMetaData> enterpriseBeans)
+   public void setEnterpriseBeans(EnterpriseBeansMetaData enterpriseBeans)
    {
       if (enterpriseBeans == null)
          throw new IllegalArgumentException("Null enterpriseBeans");
-      this.enterpriseBeans = (EnterpriseBeansMetaData) enterpriseBeans;
+      this.enterpriseBeans = enterpriseBeans;
       enterpriseBeans.setEjbJarMetaData(this);
    }
 
-   public IEnterpriseBeanMetaData<EnterpriseBeanMetaData> getEnterpriseBean(String name)
+   public EnterpriseBeanMetaData getEnterpriseBean(String name)
    {
       return enterpriseBeans.get(name);
    }
@@ -253,7 +248,7 @@
     * 
     * @return the assemblyDescriptor.
     */
-   public IAssemblyDescriptorMetaData getAssemblyDescriptor()
+   public AssemblyDescriptorMetaData getAssemblyDescriptor()
    {
       return assemblyDescriptor;
    }
@@ -264,8 +259,7 @@
     * @param assemblyDescriptor the assemblyDescriptor.
     * @throws IllegalArgumentException for a null assemblyDescriptor
     */
-   @XmlElement(type=AssemblyDescriptorMetaData.class)
-   public void setAssemblyDescriptor(IAssemblyDescriptorMetaData assemblyDescriptor)
+   public void setAssemblyDescriptor(AssemblyDescriptorMetaData assemblyDescriptor)
    {
       if (assemblyDescriptor == null)
          throw new IllegalArgumentException("Null assemblyDescriptor");

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeanMetaData.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeanMetaData.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -24,10 +24,10 @@
 import java.lang.reflect.Method;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.ejb.IEjbJarMetaData;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+
 import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
@@ -36,8 +36,6 @@
 import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
@@ -49,14 +47,13 @@
 import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferencesMetaData;
 import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
 import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+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.NamedMetaDataWithDescriptionGroup;
 import org.jboss.xb.annotations.JBossXmlConstants;
 import org.jboss.xb.annotations.JBossXmlModelGroup;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-
 /**
  * EnterpriseBean.
  * 
@@ -71,7 +68,7 @@
             @JBossXmlModelGroup.Particle(element=@XmlElement(name="message-driven"), type=MessageDrivenBeanMetaData.class)})
 public abstract class EnterpriseBeanMetaData extends NamedMetaDataWithDescriptionGroup
    implements Environment,
-   IEnterpriseBeanMetaData<EnterpriseBeanMetaData>
+   IEnterpriseBeanMetaData<AssemblyDescriptorMetaData, EnterpriseBeansMetaData, EnterpriseBeanMetaData, EjbJarMetaData>
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = -10005320902508914L;
@@ -105,20 +102,20 @@
       // For serialization
    }
 
-   public EnterpriseBeanMetaData cast()
+   public EnterpriseBeansMetaData getEnterpriseBeansMetaData()
    {
-      return this;
+      return this.enterpriseBeansMetaData;
    }
-
+   
    /**
     * Set the enterpriseBeansMetaData.
     * 
     * @param enterpriseBeansMetaData the enterpriseBeansMetaData.
     */
    @XmlTransient
-   public void setEnterpriseBeansMetaData(IEnterpriseBeansMetaData<EnterpriseBeanMetaData> enterpriseBeansMetaData)
+   public void setEnterpriseBeansMetaData(EnterpriseBeansMetaData enterpriseBeansMetaData)
    {
-      this.enterpriseBeansMetaData = (EnterpriseBeansMetaData) enterpriseBeansMetaData;
+      this.enterpriseBeansMetaData = enterpriseBeansMetaData;
    }
 
    /**
@@ -127,7 +124,7 @@
     * @return the ejbJarMetaData.
     */
    @XmlTransient
-   public IEjbJarMetaData<EnterpriseBeanMetaData> getEjbJarMetaData()
+   public EjbJarMetaData getEjbJarMetaData()
    {
       if (enterpriseBeansMetaData == null)
          return null;
@@ -139,9 +136,9 @@
     * 
     * @return the ejbJarMetaData.
     */
-   public IAssemblyDescriptorMetaData getAssemblyDescriptor()
+   public AssemblyDescriptorMetaData getAssemblyDescriptor()
    {
-      IEjbJarMetaData<EnterpriseBeanMetaData> ejbJar = getEjbJarMetaData();
+      EjbJarMetaData ejbJar = getEjbJarMetaData();
       if (ejbJar == null)
          return null;
       return ejbJar.getAssemblyDescriptor();

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeansMap.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeansMap.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeansMap.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -24,7 +24,10 @@
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.Map;
 
+import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
+import org.jboss.metadata.common.ejb.IEjbJarMetaData;
 import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.javaee.support.IdMetaData;
@@ -34,29 +37,32 @@
  * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
-public abstract class EnterpriseBeansMap<T extends IEnterpriseBeanMetaData<T>>
+public abstract class EnterpriseBeansMap<A extends IAssemblyDescriptorMetaData, 
+   C extends EnterpriseBeansMap<A, C, E, J>,
+   E extends IEnterpriseBeanMetaData<A, C, E, J>, 
+   J extends IEjbJarMetaData<A, C, E, J>>
    extends IdMetaDataImpl
-   implements IdMetaData, Collection<T>, IEnterpriseBeansMetaData<T>
+   implements IdMetaData, Collection<E>, IEnterpriseBeansMetaData<A, C, E, J>
 {
    private static final long serialVersionUID = 1;
-   private HashMap<String, T> map = new HashMap<String, T>();
+   private Map<String, E> map = new HashMap<String, E>();
 
    public EnterpriseBeansMap()
    {
    }
 
-   public boolean add(T o)
+   public boolean add(E o)
    {
-      o.setEnterpriseBeansMetaData(this);
+      o.setEnterpriseBeansMetaData((C) this);
       String key = o.getKey();
       if(key == null)
          throw new IllegalStateException("Null name for bean: "+o);
       return map.put(o.getKey(), o) == null;
    }
 
-   public boolean addAll(Collection<? extends T> c)
+   public boolean addAll(Collection<? extends E> c)
    {
-      for(T t : c)
+      for(E t : c)
          add(t);
       return true;
    }
@@ -68,7 +74,7 @@
 
    public boolean contains(Object o)
    {
-      T t = (T) o;
+      E t = (E) o;
       return map.containsKey(t.getKey());
    }
 
@@ -77,13 +83,13 @@
       boolean containsAll = true;
       for(Object o : c)
       {
-         T t = (T) o;         
+         E t = (E) o;         
          containsAll &= map.containsKey(t.getKey());
       }
       return containsAll;
    }
 
-   public T get(String ejbName)
+   public E get(String ejbName)
    {
       return map.get(ejbName);
    }
@@ -93,14 +99,14 @@
       return map.isEmpty();
    }
 
-   public Iterator<T> iterator()
+   public Iterator<E> iterator()
    {
       return map.values().iterator();
    }
 
    public boolean remove(Object o)
    {
-      T t = (T) o;
+      E t = (E) o;
       return map.remove(t.getKey()) != null;
    }
 
@@ -109,7 +115,7 @@
       boolean removeAll = true;
       for(Object o : c)
       {
-         T t = (T) o;         
+         E t = (E) o;         
          removeAll &= map.remove(t.getKey()) != null;
       }
       return removeAll;
@@ -117,10 +123,10 @@
 
    public boolean retainAll(Collection<?> c)
    {
-      HashMap<String, T> newmap = new HashMap<String, T>();
+      HashMap<String, E> newmap = new HashMap<String, E>();
       for(Object o : c)
       {
-         T t = (T) o;
+         E t = (E) o;
          newmap.put(t.getKey(), t);
       }
       map = newmap;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeansMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeansMetaData.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeansMetaData.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -24,9 +24,6 @@
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.metadata.common.ejb.IEjbJarMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
-
 /**
  * EnterpriseBeansMetaData.
  * 
@@ -35,8 +32,7 @@
  */
 @XmlType(name="enterprise-beansType")
 public class EnterpriseBeansMetaData
-   extends EnterpriseBeansMap<EnterpriseBeanMetaData>
-   implements IEnterpriseBeansMetaData<EnterpriseBeanMetaData>
+   extends EnterpriseBeansMap<AssemblyDescriptorMetaData, EnterpriseBeansMetaData, EnterpriseBeanMetaData, EjbJarMetaData>
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = -5528174778237011844L;
@@ -57,7 +53,7 @@
     * 
     * @return the ejbJarMetaData.
     */
-   public IEjbJarMetaData<EnterpriseBeanMetaData> getEjbJarMetaData()
+   public EjbJarMetaData getEjbJarMetaData()
    {
       return ejbJarMetaData;
    }
@@ -69,11 +65,11 @@
     * @throws IllegalArgumentException for a null ejbJarMetaData
     */
    @XmlTransient
-   public void setEjbJarMetaData(IEjbJarMetaData<EnterpriseBeanMetaData> ejbJarMetaData)
+   public void setEjbJarMetaData(EjbJarMetaData ejbJarMetaData)
    {
       if (ejbJarMetaData == null)
          throw new IllegalArgumentException("Null ejbJarMetaData");
-      this.ejbJarMetaData = (EjbJarMetaData) ejbJarMetaData;
+      this.ejbJarMetaData = ejbJarMetaData;
    }
 
 }

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/AbstractEJBEverythingTest.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/AbstractEJBEverythingTest.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/AbstractEJBEverythingTest.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -176,7 +176,7 @@
       assertFullMDB("mdb2", applicationMetaData, mode);
    }
    
-   protected SessionBeanMetaData assertFullSession(String ejbName, IEnterpriseBeansMetaData<?> enterpriseBeansMetaData, Mode mode)
+   protected SessionBeanMetaData assertFullSession(String ejbName, IEnterpriseBeansMetaData<?, ?, ?, ?> enterpriseBeansMetaData, Mode mode)
    {
       throw new NotImplementedException();
    }
@@ -188,7 +188,7 @@
     * @param enterpriseBeansMetaData
     * @return
     */
-   private SessionBeanMetaData assertNullSession(String ejbName, IEnterpriseBeansMetaData<?> enterpriseBeansMetaData)
+   private SessionBeanMetaData assertNullSession(String ejbName, IEnterpriseBeansMetaData<?, ?, ?, ?> enterpriseBeansMetaData)
    {
       SessionBeanMetaData session = assertSession(ejbName + "EjbName", enterpriseBeansMetaData);
       assertEquals(ejbName+"EjbClass", session.getEjbClass());
@@ -291,12 +291,12 @@
       return session;
    }
 
-   protected EntityBeanMetaData assertFullEntity(String ejbName, IEnterpriseBeansMetaData<?> enterpriseBeansMetaData, Mode mode)
+   protected EntityBeanMetaData assertFullEntity(String ejbName, IEnterpriseBeansMetaData<?, ?, ?, ?> enterpriseBeansMetaData, Mode mode)
    {
       throw new NotImplementedException();
    }
 
-   private EntityBeanMetaData assertNullEntity(String ejbName, IEnterpriseBeansMetaData<?> enterpriseBeansMetaData)
+   private EntityBeanMetaData assertNullEntity(String ejbName, IEnterpriseBeansMetaData<?, ?, ?, ?> enterpriseBeansMetaData)
    {
       EntityBeanMetaData entity = assertEntity(ejbName + "EjbName", enterpriseBeansMetaData);
       assertNullEntity(ejbName, entity);      
@@ -330,7 +330,7 @@
       assertNull(entity.getQueries());
    }
    
-   protected EntityBeanMetaData assertEntity(String ejbName, IEnterpriseBeansMetaData<?> enterpriseBeansMetaData)
+   protected EntityBeanMetaData assertEntity(String ejbName, IEnterpriseBeansMetaData<?, ?, ?, ?> enterpriseBeansMetaData)
    {
       EntityBeanMetaData entity = assertEnterpriseBean(ejbName, enterpriseBeansMetaData, EntityBeanMetaData.class);
       assertFalse(entity.isSession());
@@ -455,12 +455,12 @@
          assertEquals(prefix + "Param" + count, params[count-1]);
    }
 
-   protected MessageDrivenBeanMetaData assertFullMDB(String ejbName, IEnterpriseBeansMetaData<?> enterpriseBeansMetaData, Mode mode)
+   protected MessageDrivenBeanMetaData assertFullMDB(String ejbName, IEnterpriseBeansMetaData<?, ?, ?, ?> enterpriseBeansMetaData, Mode mode)
    {
       throw new NotImplementedException();
    }
 
-   private MessageDrivenBeanMetaData assertNullMDB(String ejbName, IEnterpriseBeansMetaData<?> enterpriseBeansMetaData)
+   private MessageDrivenBeanMetaData assertNullMDB(String ejbName, IEnterpriseBeansMetaData<?, ?, ?, ?> enterpriseBeansMetaData)
    {
       MessageDrivenBeanMetaData mdb = assertMDB(ejbName + "EjbName", enterpriseBeansMetaData);
       assertEquals(ejbName+"EjbClass", mdb.getEjbClass());

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar3xEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar3xEverythingUnitTestCase.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar3xEverythingUnitTestCase.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -154,7 +154,7 @@
    }
    
    @Override
-   protected SessionBeanMetaData assertFullSession(String ejbName, IEnterpriseBeansMetaData<?> enterpriseBeansMetaData, Mode mode)
+   protected SessionBeanMetaData assertFullSession(String ejbName, IEnterpriseBeansMetaData<?, ?, ?, ?> enterpriseBeansMetaData, Mode mode)
    {
       SessionBeanMetaData session = assertSession(ejbName + "EjbName", enterpriseBeansMetaData);
       assertFullSessionBean(ejbName, session, mode);
@@ -248,7 +248,7 @@
    }
    
    @Override
-   protected EntityBeanMetaData assertFullEntity(String ejbName, IEnterpriseBeansMetaData<?> enterpriseBeansMetaData, Mode mode)
+   protected EntityBeanMetaData assertFullEntity(String ejbName, IEnterpriseBeansMetaData<?, ?, ?, ?> enterpriseBeansMetaData, Mode mode)
    {
       EntityBeanMetaData entity = assertEntity(ejbName + "EjbName", enterpriseBeansMetaData);
       assertId(ejbName, entity);
@@ -318,7 +318,7 @@
    }
    
    @Override
-   protected MessageDrivenBeanMetaData assertFullMDB(String ejbName, IEnterpriseBeansMetaData<?> enterpriseBeansMetaData, Mode mode)
+   protected MessageDrivenBeanMetaData assertFullMDB(String ejbName, IEnterpriseBeansMetaData<?, ?, ?, ?> enterpriseBeansMetaData, Mode mode)
    {
       MessageDrivenBeanMetaData mdb = assertMDB(ejbName + "EjbName", enterpriseBeansMetaData);
       assertId(ejbName, mdb);

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar3xUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar3xUnitTestCase.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar3xUnitTestCase.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -42,6 +42,7 @@
 import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
+import org.jboss.metadata.ejb.spec.EnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
 import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
 import org.jboss.metadata.javaee.spec.DescriptionImpl;
@@ -157,7 +158,7 @@
    public void testEnterpriseBeans() throws Exception
    {
       EjbJar3xMetaData result = unmarshal();
-      IEnterpriseBeansMetaData<? extends IEnterpriseBeanMetaData> beans = result.getEnterpriseBeans();
+      EnterpriseBeansMetaData beans = result.getEnterpriseBeans();
       assertNotNull(beans);
 
       assertEquals(1, beans.size());

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -23,8 +23,8 @@
 
 import junit.framework.Test;
 
-import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.EjbJar21MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
@@ -78,7 +78,7 @@
       // Create the merged view
       jbossMetaData.merge(null, ejbJarMetaData);
       
-      IEnterpriseBeanMetaData<?> ejb = jbossMetaData.getEnterpriseBean("session1EjbName");      
+      JBossEnterpriseBeanMetaData ejb = jbossMetaData.getEnterpriseBean("session1EjbName");      
       assertNotNull(ejb);
       JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
       ejbJar.assertFullSessionBean("session1", jejb, Mode.JBOSS);
@@ -101,7 +101,7 @@
       // Create the merged view
       jbossMetaData.merge(null, ejbJarMetaData);
 
-      IEnterpriseBeanMetaData<?> ejb = jbossMetaData.getEnterpriseBean("session1EjbName");      
+      JBossEnterpriseBeanMetaData ejb = jbossMetaData.getEnterpriseBean("session1EjbName");      
       assertNotNull(ejb);
       JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
       ejbJar.assertFullSessionBean("session1", jejb, Mode.JBOSS);

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -30,8 +30,6 @@
 import org.jboss.metadata.ApplicationMetaData;
 import org.jboss.metadata.BeanMetaData;
 import org.jboss.metadata.ConfigurationMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
 import org.jboss.metadata.ejb.jboss.InvokerBindingMetaData;
 import org.jboss.metadata.ejb.jboss.InvokerBindingsMetaData;
@@ -40,6 +38,7 @@
 import org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData;
 import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.JBossGenericBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
@@ -54,7 +53,6 @@
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
 import org.jboss.metadata.ejb.spec.EjbJarMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeansMetaData;
-import org.jboss.metadata.ejb.spec.MessageDrivenBeanMetaData;
 import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
 import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.SubscriptionDurability;
@@ -70,7 +68,6 @@
 import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.RunAsMetaData;
 import org.jboss.metadata.merge.MergeUtil;
-import org.jboss.security.SecurityRoleMetaData;
 import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
 import org.jboss.test.metadata.javaee.JBossXBTestDelegate;
 import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
@@ -205,7 +202,7 @@
       JBossMetaData result = unmarshal();
       
       assertEquals(1, result.getEnterpriseBeans().size());
-      IEnterpriseBeanMetaData<JBossEnterpriseBeanMetaData> bean = result.getEnterpriseBean("TestMDB");
+      JBossEnterpriseBeanMetaData bean = result.getEnterpriseBean("TestMDB");
       assertNotNull(bean);
       assertTrue(bean instanceof JBossMessageDrivenBeanMetaData);
       assertEquals("jcainflow.rar", ((JBossMessageDrivenBeanMetaData) bean).getResourceAdapterName());
@@ -221,7 +218,7 @@
       JBossMetaData result = unmarshal();
       
       assertEquals(1, result.getEnterpriseBeans().size());
-      IEnterpriseBeanMetaData<JBossEnterpriseBeanMetaData> bean = result.getEnterpriseBean("StatefulOverrideBean");
+      JBossEnterpriseBeanMetaData bean = result.getEnterpriseBean("StatefulOverrideBean");
       assertNotNull(bean);
       assertTrue(bean instanceof JBossSessionBeanMetaData);
       assertEquals("StatefulOverride", ((JBossSessionBeanMetaData) bean).getJndiName());
@@ -386,12 +383,11 @@
 
       // Test the unified metadata
       InvokerProxyBindingsMetaData bindings = wrapper.getInvokerProxyBindings();
-      IEnterpriseBeansMetaData<?> beans = wrapper.getEnterpriseBeans();
-      IEnterpriseBeanMetaData<?> session1Ejb = beans.get("session1EjbName");
+      JBossEnterpriseBeansMetaData beans = wrapper.getEnterpriseBeans();
+      JBossEnterpriseBeanMetaData session1Ejb = beans.get("session1EjbName");
       assertNotNull(session1Ejb);
-      for(IEnterpriseBeanMetaData<?> bean : beans)
+      for(JBossEnterpriseBeanMetaData jbean : beans)
       {
-         JBossEnterpriseBeanMetaData jbean = (JBossEnterpriseBeanMetaData) bean;
          ContainerConfigurationMetaData beanCfg = jbean.determineContainerConfiguration();
          assertNotNull(beanCfg);
          InvokerBindingsMetaData invokers = jbean.determineInvokerBindings();
@@ -461,16 +457,15 @@
 
       // Test the unified metadata view using the wrapper
       InvokerProxyBindingsMetaData bindings = wrapper.getInvokerProxyBindings();
-      IEnterpriseBeansMetaData<?> beans = wrapper.getEnterpriseBeans();
-      IEnterpriseBeanMetaData<?> sessionBean = beans.get("StatelessSessionBean");
+      JBossEnterpriseBeansMetaData beans = wrapper.getEnterpriseBeans();
+      JBossEnterpriseBeanMetaData sessionBean = beans.get("StatelessSessionBean");
       assertNotNull(sessionBean);
-      for(IEnterpriseBeanMetaData<?> bean : beans)
+      for(JBossEnterpriseBeanMetaData jbean : beans)
       {
-         JBossEnterpriseBeanMetaData jbean = (JBossEnterpriseBeanMetaData) bean;
          ContainerConfigurationMetaData beanCfg = jbean.determineContainerConfiguration();
          assertNotNull(beanCfg);
          InvokerBindingsMetaData invokers = jbean.determineInvokerBindings();
-         assertTrue(bean.getEjbName()+" has > 0 invokers", invokers.size() > 0);
+         assertTrue(jbean.getEjbName()+" has > 0 invokers", invokers.size() > 0);
          for(InvokerBindingMetaData invoker : invokers)
          {
             InvokerProxyBindingMetaData ipbmd = bindings.get(invoker.getName());
@@ -511,7 +506,7 @@
       assertNotNull(imd);
 
       // Validate the merged StrictlyPooledMDB 
-      IEnterpriseBeanMetaData<?> strictlyPooledMDB = beans.get("StrictlyPooledMDB");
+      JBossEnterpriseBeanMetaData strictlyPooledMDB = beans.get("StrictlyPooledMDB");
       JBossMessageDrivenBeanMetaData strictlyPooledMDBMD = (JBossMessageDrivenBeanMetaData) strictlyPooledMDB;
       assertNotNull("strictlyPooledMDB", strictlyPooledMDB);
       assertEquals("Message driven pooling test", strictlyPooledMDBMD.getDescriptionGroup().getDescription());
@@ -596,7 +591,7 @@
       assertEquals("topic/testTopic", tmgr.getResJndiName());
       
 
-      IEnterpriseBeanMetaData<?> mdb = jbossMetaData.getEnterpriseBean("TopicPublisher");
+      JBossEnterpriseBeanMetaData mdb = jbossMetaData.getEnterpriseBean("TopicPublisher");
       
       ResourceReferencesMetaData resources = mdb.getResourceReferences();
       ResourceReferenceMetaData jmsRef1 = resources.get("jms/MyTopicConnection");

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java	2007-10-25 09:57:27 UTC (rev 66419)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java	2007-10-25 10:10:16 UTC (rev 66420)
@@ -27,8 +27,6 @@
 
 import junit.framework.Test;
 
-import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.common.jboss.LoaderRepositoryConfigMetaData;
 import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
 import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
@@ -44,6 +42,7 @@
 import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
 import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
@@ -324,7 +323,7 @@
    
    private void assertJBossEnterpriseBeans(JBossMetaData jbossMetaData, Mode mode)
    {
-      IEnterpriseBeansMetaData<JBossEnterpriseBeanMetaData> enterpriseBeansMetaData = jbossMetaData.getEnterpriseBeans();
+      JBossEnterpriseBeansMetaData enterpriseBeansMetaData = jbossMetaData.getEnterpriseBeans();
       assertNotNull(enterpriseBeansMetaData);
       assertEquals(9, enterpriseBeansMetaData.size());
 
@@ -343,7 +342,7 @@
    
    private <T extends JBossEnterpriseBeanMetaData> T assertJBossEnterpriseBean(String prefix, JBossMetaData jBossMetaData, Class<T> expected)
    {
-      IEnterpriseBeanMetaData<JBossEnterpriseBeanMetaData> ejb = jBossMetaData.getEnterpriseBean(prefix + "EjbName");
+      JBossEnterpriseBeanMetaData ejb = jBossMetaData.getEnterpriseBean(prefix + "EjbName");
       assertNotNull(ejb);
       assertEquals(prefix + "EjbName", ejb.getEjbName());
       assertTrue(expected.isInstance(ejb));




More information about the jboss-cvs-commits mailing list