[jboss-cvs] JBossAS SVN: r66371 - in projects/metadata/trunk/src: main/java/org/jboss/metadata/annotation/creator and 19 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Oct 24 01:55:28 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-10-24 01:55:27 -0400 (Wed, 24 Oct 2007)
New Revision: 66371

Added:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IAssemblyDescriptorMetaData.java
   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/common/javaee/spec/
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/spec/IServiceReferenceMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/spec/IServiceReferencesMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossServiceReferenceMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossServiceReferencesMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss42UnitTestCase.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss42_testServiceRefQname.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss42_testServiceRefQnameWithNS.xml
Removed:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/ejb/
Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractTransactionAttributeProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ClusterConfigMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.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/JBossEnvironmentRefsGroupMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.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/jboss/JBossSessionBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/AssemblyDescriptorMetaData.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/main/java/org/jboss/metadata/ejb/spec/InterceptorMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossRemoteEnvironmentRefsGroupMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AbstractEJBReferenceMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EJBLocalReferenceMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/Environment.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EnvironmentRefsGroupMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironment.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferencesMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/AbstractMappedMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/merge/MergeUtil.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.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/EjbJar20UnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar21EverythingUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar21UnitTestCase.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
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/whitespace/WhitespaceUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java
Log:
Update service-ref, add JBossServiceReferenceMetaData and fix some merge issues

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ApplicationMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -30,8 +30,8 @@
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
 import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
 import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
@@ -225,7 +225,7 @@
     */
    public MessageDestinationMetaData getMessageDestination(String name)
    {
-      org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData delegate = getDelegate().getAssemblyDescriptor();
+      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData delegate = getDelegate().getAssemblyDescriptor();
       if (delegate == null)
          return null;
       org.jboss.metadata.javaee.spec.MessageDestinationMetaData destination = delegate.getMessageDestination(name);

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractTransactionAttributeProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractTransactionAttributeProcessor.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractTransactionAttributeProcessor.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -27,7 +27,7 @@
 import javax.ejb.TransactionAttribute;
 
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
-import org.jboss.metadata.common.javaee.ejb.IEjbJarMetaData;
+import org.jboss.metadata.common.ejb.IEjbJarMetaData;
 import org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.spec.ContainerTransactionMetaData;
 import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -27,6 +27,8 @@
 import javax.xml.bind.annotation.XmlTransient;
 
 import org.jboss.metadata.client.spec.ApplicationClientMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
@@ -43,8 +45,6 @@
 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.IdMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImpl;
 import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptionGroup;
@@ -234,12 +234,12 @@
       return jndiEnvironmentRefsGroup.getPreDestroys();
    }
 
-   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   public IServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return jndiEnvironmentRefsGroup.getServiceReferenceByName(name);
    }
 
-   public ServiceReferencesMetaData getServiceReferences()
+   public IServiceReferencesMetaData getServiceReferences()
    {
       return jndiEnvironmentRefsGroup.getServiceReferences();
    }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -24,6 +24,8 @@
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
@@ -41,8 +43,6 @@
 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.IdMetaDataImplWithDescriptionGroup;
 
@@ -224,11 +224,11 @@
       return null;
    }
 
-   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   public IServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return AbstractMappedMetaData.getByName(name, getServiceReferences());      
    }
-   public ServiceReferencesMetaData getServiceReferences()
+   public IServiceReferencesMetaData getServiceReferences()
    {
       if (jndiEnvironmentRefsGroup != null)
          return jndiEnvironmentRefsGroup.getServiceReferences();

Copied: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IAssemblyDescriptorMetaData.java (from rev 66363, projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/ejb/IAssemblyDescriptorMetaData.java)
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IAssemblyDescriptorMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IAssemblyDescriptorMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,189 @@
+/*
+ * 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.common.ejb;
+
+import org.jboss.metadata.ejb.spec.ApplicationExceptionsMetaData;
+import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
+import org.jboss.metadata.ejb.spec.ExcludeListMetaData;
+import org.jboss.metadata.ejb.spec.InterceptorBindingMetaData;
+import org.jboss.metadata.ejb.spec.InterceptorBindingsMetaData;
+import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationsMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
+
+/**
+ * interface for ejb assembly-descriptor contents
+ * 
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public interface IAssemblyDescriptorMetaData
+{
+   public SecurityRoleMetaData getSecurityRole(String roleName);
+   /**
+    * Get the securityRoles.
+    * 
+    * @return the securityRoles.
+    */
+   public SecurityRolesMetaData getSecurityRoles();
+   /**
+    * Set the securityRoles.
+    * 
+    * @param securityRoles the securityRoles.
+    * @throws IllegalArgumentException for a null securityRoles
+    */
+   public void setSecurityRoles(SecurityRolesMetaData securityRoles);
+
+   /**
+    * Get the methodPermissions.
+    * 
+    * @return the methodPermissions.
+    */
+   public MethodPermissionsMetaData getMethodPermissions();
+
+   /**
+    * Set the methodPermissions.
+    * 
+    * @param methodPermissions the methodPermissions.
+    * @throws IllegalArgumentException for a null methodPermissions
+    */
+   public void setMethodPermissions(MethodPermissionsMetaData methodPermissions);
+
+   /**
+    * Get the methods permissions for an ejb
+    * 
+    * @param ejbName the ejb name
+    * @return the method permissions or null for no result
+    * @throws IllegalArgumentException for a null ejb name
+    */
+   public MethodPermissionsMetaData getMethodPermissionsByEjbName(String ejbName);
+   /**
+    * Get the containerTransactions.
+    * 
+    * @return the containerTransactions.
+    */
+   public ContainerTransactionsMetaData getContainerTransactions();
+
+   /**
+    * Set the containerTransactions.
+    * 
+    * @param containerTransactions the containerTransactions.
+    * @throws IllegalArgumentException for a null containerTransactions
+    */
+   public void setContainerTransactions(ContainerTransactionsMetaData containerTransactions);
+
+   /**
+    * Get the container transactions for an ejb
+    * 
+    * @param ejbName the ejb name
+    * @return the container transactions or null for no result
+    * @throws IllegalArgumentException for a null ejb name
+    */
+   public ContainerTransactionsMetaData getContainerTransactionsByEjbName(String ejbName);
+
+   /**
+    * Get the interceptorBindings.
+    * 
+    * @return the interceptorBindings.
+    */
+   public InterceptorBindingsMetaData getInterceptorBindings();
+
+   /**
+    * Set the interceptorBindings.
+    * 
+    * @param interceptorBindings the interceptorBindings.
+    * @throws IllegalArgumentException for a null interceptorBindings
+    */
+   public void setInterceptorBindings(InterceptorBindingsMetaData interceptorBindings);
+
+   /**
+    * Get the interceptor binding for an ejb
+    * 
+    * @param ejbName the ejb name
+    * @return the interceptor binding or null for no result
+    * @throws IllegalArgumentException for a null ejb name
+    */
+   public InterceptorBindingMetaData getInterceptorBindingByEjbName(String ejbName);
+
+   /**
+    * Get the messageDestinations.
+    * 
+    * @return the messageDestinations.
+    */
+   public MessageDestinationsMetaData getMessageDestinations();
+
+   /**
+    * Set the messageDestinations.
+    * 
+    * @param messageDestinations the messageDestinations.
+    * @throws IllegalArgumentException for a null messageDestinations
+    */
+   public void setMessageDestinations(MessageDestinationsMetaData messageDestinations);
+
+   /**
+    * Get a message destination
+    * 
+    * @param name the name of the destination
+    * @return the destination or null if not found
+    */
+   public MessageDestinationMetaData getMessageDestination(String name);
+   
+   /**
+    * Get the excludeList.
+    * 
+    * @return the excludeList.
+    */
+   public ExcludeListMetaData getExcludeList();
+
+   /**
+    * Set the excludeList.
+    * 
+    * @param excludeList the excludeList.
+    * @throws IllegalArgumentException for a null excludeList
+    */
+   public void setExcludeList(ExcludeListMetaData excludeList);
+
+   /**
+    * Get the exclude list for an ejb
+    * 
+    * @param ejbName the ejb name
+    * @return the exclude list or null for no result
+    * @throws IllegalArgumentException for a null ejb name
+    */
+   public ExcludeListMetaData getExcludeListByEjbName(String ejbName);
+
+   /**
+    * Get the applicationExceptions.
+    * 
+    * @return the applicationExceptions.
+    */
+   public ApplicationExceptionsMetaData getApplicationExceptions();
+   /**
+    * Set the applicationExceptions.
+    * 
+    * @param applicationExceptions the applicationExceptions.
+    * @throws IllegalArgumentException for a null applicationExceptions
+    */
+   public void setApplicationExceptions(ApplicationExceptionsMetaData applicationExceptions);
+}

Copied: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEjbJarMetaData.java (from rev 66363, projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/ejb/IEjbJarMetaData.java)
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEjbJarMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEjbJarMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,47 @@
+/*
+ * 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.common.ejb;
+
+import org.jboss.metadata.ejb.spec.RelationsMetaData;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public interface IEjbJarMetaData<E extends IEnterpriseBeanMetaData<E>>
+{
+   public String getVersion();
+   public void setVersion(String version);
+   public boolean isEJB1x();
+   public boolean isEJB2x();
+   public boolean isEJB21();
+   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 RelationsMetaData getRelationships();
+   public void setRelationships(RelationsMetaData relationships);
+   public IAssemblyDescriptorMetaData getAssemblyDescriptor();
+   public void setAssemblyDescriptor(IAssemblyDescriptorMetaData assemblyDescriptor);
+}

Copied: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeanMetaData.java (from rev 66363, projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/ejb/IEnterpriseBeanMetaData.java)
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeanMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeanMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,116 @@
+/*
+ * 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.common.ejb;
+
+import java.lang.reflect.Method;
+
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
+import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
+import org.jboss.metadata.ejb.spec.ExcludeListMetaData;
+import org.jboss.metadata.ejb.spec.InterceptorBindingMetaData;
+import org.jboss.metadata.ejb.spec.MethodInterfaceType;
+import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
+import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
+import org.jboss.metadata.ejb.spec.TransAttributeType;
+import org.jboss.metadata.ejb.spec.TransactionType;
+import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
+import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
+import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
+import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
+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.LifecycleCallbacksMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
+import org.jboss.metadata.javaee.spec.PersistenceContextReferenceMetaData;
+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.support.MappableMetaData;
+
+/**
+ * Common interface for spec/jboss enterprise bean metadata
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public interface IEnterpriseBeanMetaData<E extends IEnterpriseBeanMetaData<E>> extends MappableMetaData
+{
+   public String getId();
+   public DescriptionGroupMetaData getDescriptionGroup();
+   public void setDescriptionGroup(DescriptionGroupMetaData descriptionGroup);
+   public IEjbJarMetaData<E> getEjbJarMetaData();
+   public String getEjbName();
+   public void setEjbName(String ejbName);
+   public boolean isSession();
+   public boolean isMessageDriven();
+   public boolean isEntity();
+   public TransactionType getTransactionType();
+   public boolean isCMT();
+   public boolean isBMT();
+   public String getMappedName();
+   public void setMappedName(String mappedName);
+   public String getEjbClass();
+   public void setEjbClass(String ejbClass);
+   public Environment getJndiEnvironmentRefsGroup();
+   public void setJndiEnvironmentRefsGroup(Environment jndiEnvironmentRefsGroup);
+   public SecurityIdentityMetaData getSecurityIdentity();
+   public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name);
+   public EJBLocalReferencesMetaData getEjbLocalReferences();
+   public EJBReferenceMetaData getEjbReferenceByName(String name);
+   public EJBReferencesMetaData getEjbReferences();
+   public EnvironmentEntriesMetaData getEnvironmentEntries();
+   public EnvironmentEntryMetaData getEnvironmentEntryByName(String name);
+   public MessageDestinationReferenceMetaData getMessageDestinationReferenceByName(String name);
+   public MessageDestinationReferencesMetaData getMessageDestinationReferences();
+   public PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(String name);
+   public PersistenceContextReferencesMetaData getPersistenceContextRefs();
+   public PersistenceUnitReferenceMetaData getPersistenceUnitReferenceByName(String name);
+   public PersistenceUnitReferencesMetaData getPersistenceUnitRefs();
+   public LifecycleCallbacksMetaData getPostConstructs();
+   public LifecycleCallbacksMetaData getPreDestroys();
+   public ResourceEnvironmentReferenceMetaData getResourceEnvironmentReferenceByName(String name);
+   public ResourceEnvironmentReferencesMetaData getResourceEnvironmentReferences();;
+   public ResourceReferenceMetaData getResourceReferenceByName(String name);
+   public ResourceReferencesMetaData getResourceReferences();;
+   public IServiceReferenceMetaData getServiceReferenceByName(String name);
+   public IServiceReferencesMetaData getServiceReferences();;
+   public MethodPermissionsMetaData getMethodPermissions();;
+   public ContainerTransactionsMetaData getContainerTransactions();;
+   public TransAttributeType getMethodTransactionType(String methodName, Class<?>[] params, MethodInterfaceType iface);
+   public TransAttributeType getMethodTransactionType(Method m, MethodInterfaceType iface);
+   public InterceptorBindingMetaData getInterceptorBinding();;
+   public ExcludeListMetaData getExcludeList();
+   //public IEnterpriseBeansMetaData getEnterpriseBeansMetaData();
+   public void setEnterpriseBeansMetaData(IEnterpriseBeansMetaData<E> data);
+
+   //
+   //public void merge(NamedMetaData merged, NamedMetaData original);
+}

Copied: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeansMetaData.java (from rev 66363, projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/ejb/IEnterpriseBeansMetaData.java)
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeansMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IEnterpriseBeansMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,50 @@
+/*
+ * 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.common.ejb;
+
+import java.util.Collection;
+
+import org.jboss.metadata.javaee.support.IdMetaData;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public interface IEnterpriseBeansMetaData<E extends IEnterpriseBeanMetaData<E>>
+   extends IdMetaData, Collection<E>
+{
+   /**
+    * Get the ejbJarMetaData.
+    * 
+    * @return the ejbJarMetaData.
+    */
+   IEjbJarMetaData<E> getEjbJarMetaData();
+   /**
+    * Set the ejbJarMetaData.
+    * 
+    * @param ejbJarMetaData the ejbJarMetaData.
+    * @throws IllegalArgumentException for a null ejbJarMetaData
+    */
+   void setEjbJarMetaData(IEjbJarMetaData<E> ejbJarMetaData);
+
+   public E get(String ejbName);
+}

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/spec/IServiceReferenceMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/spec/IServiceReferenceMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/spec/IServiceReferenceMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,78 @@
+/*
+ * 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.common.javaee.spec;
+
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+
+import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+import org.jboss.metadata.javaee.spec.EmptyMetaData;
+import org.jboss.metadata.javaee.spec.PortComponentRef;
+import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceHandlerChainsMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceHandlersMetaData;
+import org.jboss.metadata.javaee.support.IdMetaData;
+import org.jboss.metadata.javaee.support.MergeableMappedMetaData;
+
+/**
+ * Common interface to ServiceReferenceMetaData
+ * 
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public interface IServiceReferenceMetaData
+   extends MergeableMappedMetaData<IServiceReferenceMetaData>,
+   IdMetaData
+{
+   public DescriptionGroupMetaData getDescriptionGroup();
+   public void setDescriptionGroup(DescriptionGroupMetaData descriptionGroup);
+   public String getJndiName();
+   public void setJndiName(String jndiName);
+   public String getMappedName();
+   public void setMappedName(String mappedName);
+   public Set<ResourceInjectionTargetMetaData> getInjectionTargets();
+   public void setInjectionTargets(Set<ResourceInjectionTargetMetaData> injectionTargets);
+   public EmptyMetaData getIgnoreDependency();
+   public void setIgnoreDependency(EmptyMetaData ignoreDependency);
+   public boolean isDependencyIgnored();
+
+   public String getServiceRefName();
+   public void setServiceRefName(String serviceRefName);
+   public String getJaxrpcMappingFile();
+   public void setJaxrpcMappingFile(String jaxrpcMappingFile);
+   public String getServiceInterface();
+   public void setServiceInterface(String serviceInterface);
+   public QName getServiceQname();
+   public void setServiceQname(QName serviceQname);
+   public String getServiceRefType();
+   public void setServiceRefType(String serviceRefType);
+   public String getWsdlFile();
+   public void setWsdlFile(String wsdlFile);
+   public PortComponentRef getPortComponentRef();
+   public void setPortComponentRef(PortComponentRef portComponentRef);
+   public ServiceReferenceHandlersMetaData getHandlers();
+   public void setHandlers(ServiceReferenceHandlersMetaData handlers);
+   public ServiceReferenceHandlerChainsMetaData getHandlerChains();
+   public void setHandlerChains(ServiceReferenceHandlerChainsMetaData handlerChains);
+   public void merge(IServiceReferenceMetaData override, IServiceReferenceMetaData original);
+}


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

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/spec/IServiceReferencesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/spec/IServiceReferencesMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/javaee/spec/IServiceReferencesMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,36 @@
+/*
+ * 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.common.javaee.spec;
+
+import org.jboss.metadata.javaee.support.MappedMetaData;
+
+/**
+ * Common interface to ServiceReferencesMetaData
+ * 
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public interface IServiceReferencesMetaData
+   extends MappedMetaData<IServiceReferenceMetaData>
+{
+
+}


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

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ClusterConfigMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ClusterConfigMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ClusterConfigMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -23,7 +23,7 @@
 
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -24,7 +24,7 @@
 import java.util.Collections;
 import java.util.Set;
 
-import org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData;
+import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.spec.ApplicationExceptionsMetaData;
 import org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
@@ -50,7 +50,7 @@
  */
 @XmlType(name="jboss-assembly-descriptorType")
 public class JBossAssemblyDescriptorMetaData extends IdMetaDataImplWithOverride<AssemblyDescriptorMetaData>
-   implements org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData
+   implements org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = 5638920200035141015L;

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -27,10 +27,12 @@
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEjbJarMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+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.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.ejb.spec.ContainerTransactionMetaData;
 import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
@@ -64,14 +66,13 @@
 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.NamedMetaDataWithDescriptionGroupWithOverride;
@@ -256,13 +257,13 @@
     * 
     * @return the jndiEnvironmentRefsGroup.
     */
-   public EnvironmentRefsGroupMetaData getJndiEnvironmentRefsGroup()
+   public Environment getJndiEnvironmentRefsGroup()
    {
       return jndiEnvironmentRefsGroup;
    }
    
    @XmlElement(type=JBossEnvironmentRefsGroupMetaData.class)
-   public void setJndiEnvironmentRefsGroup(EnvironmentRefsGroupMetaData jndiEnvironmentRefsGroup)
+   public void setJndiEnvironmentRefsGroup(Environment jndiEnvironmentRefsGroup)
    {
       if(this.jndiEnvironmentRefsGroup != null)
          throw new IllegalArgumentException("jndiEnvironmentRefsGroup already set");
@@ -310,7 +311,7 @@
    {
       if (cachedContainerTransactions != null)
          return cachedContainerTransactions;
-      org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getContainerTransactionsByEjbName(getEjbName()); 
@@ -390,7 +391,7 @@
     */
    public InterceptorBindingMetaData getInterceptorBinding()
    {
-      org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getInterceptorBindingByEjbName(getEjbName()); 
@@ -403,7 +404,7 @@
     */
    public ExcludeListMetaData getExcludeList()
    {
-      org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getExcludeListByEjbName(getEjbName()); 
@@ -933,12 +934,12 @@
       return jndiEnvironmentRefsGroup.getResourceReferences();
    }
 
-   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   public IServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return AbstractMappedMetaData.getByName(name, getServiceReferences());
    }
 
-   public ServiceReferencesMetaData getServiceReferences()
+   public IServiceReferencesMetaData getServiceReferences()
    {
       return jndiEnvironmentRefsGroup.getServiceReferences();
    }
@@ -1074,7 +1075,7 @@
     */
    public MethodPermissionsMetaData getMethodPermissions()
    {
-      org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getMethodPermissionsByEjbName(getEjbName()); 
@@ -1354,12 +1355,17 @@
       super.merge(override, original);
       if(override != null && override.getEjbClass() != null)
          setEjbClass(override.getEjbClass());
-      else if(original.getEjbClass() != null)
+      else if(original != null && original.getEjbClass() != null)
          setEjbClass(original.getEjbClass());
       if(override != null && override.getName() != null)
          setName(override.getName());
-      else if(original.getName() != null)
+      else if(original != null && original.getName() != null)
          setName(original.getName());
+      if(override != null && override.getMappedName() != null)
+         setMappedName(override.getMappedName());
+      else if(original != null && original.getMappedName() != null)
+         setMappedName(original.getMappedName());
+
       // transactionType
       if(override != null && override.transactionType != null)
          transactionType = override.transactionType;
@@ -1391,7 +1397,7 @@
 
       if(this.jndiEnvironmentRefsGroup == null)
          jndiEnvironmentRefsGroup = new JBossEnvironmentRefsGroupMetaData();
-      EnvironmentRefsGroupMetaData env = original != null ? original.getJndiEnvironmentRefsGroup() : null;
+      Environment env = original != null ? original.getJndiEnvironmentRefsGroup() : null;
       JBossEnvironmentRefsGroupMetaData jenv = null;
       ResourceManagersMetaData resourceMgrs = getJBossMetaData().getResourceManagers();
       if( override != null )

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -24,8 +24,8 @@
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.metadata.common.javaee.ejb.IEjbJarMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+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.EntityBeanMetaData;
@@ -143,10 +143,14 @@
             if( override != null )
                jejb = override.get(ejb.getEjbName());
             // Then to an existing one in this
-            else
-               mergedEJB = get(ejb.getEjbName());
+            mergedEJB = get(ejb.getEjbName());
             if(mergedEJB == null)
-               mergedEJB = JBossEnterpriseBeanMetaData.newBean(ejb);
+            {
+               if(jejb != null)
+                  mergedEJB = (JBossEnterpriseBeanMetaData) jejb.clone();
+               else
+                  mergedEJB = JBossEnterpriseBeanMetaData.newBean(ejb);
+            }
             mergedEJB.setEnterpriseBeansMetaData(this);
             mergedEJB.merge(jejb, ejb, overridenFile, overrideFile, mustOverride);
             this.add(mergedEJB);

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,17 +21,30 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
+import java.io.Serializable;
+
+import javax.xml.bind.annotation.XmlElement;
+
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
+import org.jboss.metadata.javaee.jboss.JBossServiceReferenceMetaData;
+import org.jboss.metadata.javaee.jboss.JBossServiceReferencesMetaData;
+import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
+import org.jboss.metadata.javaee.spec.Environment;
 import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
+import org.jboss.metadata.javaee.spec.PersistenceContextReferenceMetaData;
 import org.jboss.metadata.javaee.spec.PersistenceContextReferencesMetaData;
 import org.jboss.metadata.javaee.spec.PersistenceUnitReferencesMetaData;
+import org.jboss.metadata.javaee.spec.RemoteEnvironmentRefsGroupMetaData;
 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.ServiceReferencesMetaData;
+import org.jboss.xb.annotations.JBossXmlCollection;
 import org.jboss.xb.annotations.JBossXmlModelGroup;
 
 /**
@@ -45,11 +58,22 @@
       "serviceReferences", "resourceReferences", "resourceEnvironmentReferences",
       "messageDestinationReferences", "persistenceContextRefs", "persistenceUnitRefs",
       "postConstructs", "preDestroys"})
-public class JBossEnvironmentRefsGroupMetaData extends EnvironmentRefsGroupMetaData
+public class JBossEnvironmentRefsGroupMetaData
+   extends RemoteEnvironmentRefsGroupMetaData
+   implements Serializable, Environment
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = 4642263968653845579L;
 
+   /** The ejb local references */
+   private EJBLocalReferencesMetaData ejbLocalReferences;
+ 
+   /** The service references */
+   private JBossServiceReferencesMetaData serviceReferences;
+   
+   /** The persistence context reference */
+   private PersistenceContextReferencesMetaData persistenceContextRefs;
+
    /** The security identity
    // This is only here because historically this was mixed in the environment xml
    private SecurityIdentityMetaData securityIdentity;
@@ -76,6 +100,58 @@
       return merged;
    }
 
+
+   public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name)
+   {
+      // TODO Auto-generated method stub
+      return null;
+   }
+
+
+   public PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(String name)
+   {
+      // TODO Auto-generated method stub
+      return null;
+   }
+
+
+   public IServiceReferencesMetaData getServiceReferences()
+   {
+      return serviceReferences;
+   }
+
+   @JBossXmlCollection(type=JBossServiceReferencesMetaData.class, elementType=JBossServiceReferenceMetaData.class)
+   @XmlElement(name="service-ref")
+   public void setServiceReferences(IServiceReferencesMetaData serviceReferences)
+   {
+      this.serviceReferences = (JBossServiceReferencesMetaData) serviceReferences;
+   }
+
+
+   public EJBLocalReferencesMetaData getEjbLocalReferences()
+   {
+      return ejbLocalReferences;
+   }
+
+   @XmlElement(name="ejb-local-ref")
+   public void setEjbLocalReferences(EJBLocalReferencesMetaData ejbLocalReferences)
+   {
+      this.ejbLocalReferences = ejbLocalReferences;
+   }
+
+
+   public PersistenceContextReferencesMetaData getPersistenceContextRefs()
+   {
+      return persistenceContextRefs;
+   }
+
+   @XmlElement(name="persistence-context-ref")
+   public void setPersistenceContextRefs(PersistenceContextReferencesMetaData persistenceContextRefs)
+   {
+      this.persistenceContextRefs = persistenceContextRefs;
+   }
+
+
    /**
     * Merge an environment
     * 
@@ -86,7 +162,7 @@
     * @return the merged environment
     */
    public void merge(JBossEnvironmentRefsGroupMetaData jbossEnvironmentRefsGroup,
-            EnvironmentRefsGroupMetaData environmentRefsGroup,
+         Environment environmentRefsGroup,
             ResourceManagersMetaData resourceMgrs,
             String overridenFile, String overrideFile, boolean mustOverride)
    {

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -23,7 +23,7 @@
 
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 
 /**
  * Allow for the specification of an unknown bean type in the deployment

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,10 +21,10 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEjbJarMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+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.common.jboss.LoaderRepositoryMetaData;
 import org.jboss.metadata.ejb.spec.EjbJarMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,9 +21,9 @@
  */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+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;
 
@@ -193,7 +193,10 @@
 
    protected void wireOverrides()
    {
-      JBossEnterpriseBeansMetaData beans = (JBossEnterpriseBeansMetaData) primary.getEnterpriseBeans();
-      beans.setJBossMetaData(this);
+      if( primary != null )
+      {
+         JBossEnterpriseBeansMetaData beans = (JBossEnterpriseBeansMetaData) primary.getEnterpriseBeans();
+         beans.setJBossMetaData(this);
+      }
    }
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -31,10 +31,12 @@
 import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
 import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.SessionType;
+import org.jboss.metadata.ejb.spec.TransactionType;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.PortComponent;
 import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
 
+import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
@@ -110,7 +112,7 @@
    
    /** The cluster config */
    private ClusterConfigMetaData clusterConfig;
-   
+
    /** The determined cluster config */
    private transient ClusterConfigMetaData determinedClusterConfig;
 
@@ -151,81 +153,373 @@
       return true;
    }
 
-   public AroundInvokesMetaData getAroundInvokes()
+
+   /**
+    * Get the home.
+    * 
+    * @return the home.
+    */
+   public String getHome()
    {
-      return aroundInvokes;
+      return home;
    }
 
-   public BusinessLocalsMetaData getBusinessLocals()
+   /**
+    * Set the home.
+    * 
+    * @param home the home.
+    * @throws IllegalArgumentException for a null home
+    */
+   public void setHome(String home)
    {
-      return businessLocals;
+      if (home == null)
+         throw new IllegalArgumentException("Null home");
+      this.home = home;
    }
 
-   public BusinessRemotesMetaData getBusinessRemotes()
+   /**
+    * Get the remote.
+    * 
+    * @return the remote.
+    */
+   public String getRemote()
    {
-      return businessRemotes;
+      return remote;
    }
 
-   public String getHome()
+   /**
+    * Set the remote.
+    * 
+    * @param remote the remote.
+    * @throws IllegalArgumentException for a null remote
+    */
+   public void setRemote(String remote)
    {
-      return home;
+      if (remote == null)
+         throw new IllegalArgumentException("Null remote");
+      this.remote = remote;
    }
 
-   public InitMethodsMetaData getInitMethods()
+   /**
+    * Get the localHome.
+    * 
+    * @return the localHome.
+    */
+   public String getLocalHome()
    {
-      return initMethods;
+      return localHome;
    }
 
-   public String getLocal()
+   /**
+    * Set the localHome.
+    * 
+    * @param localHome the localHome.
+    * @throws IllegalArgumentException for a null localHome
+    */
+   public void setLocalHome(String localHome)
    {
-      return local;
+      if (localHome == null)
+         throw new IllegalArgumentException("Null localHome");
+      this.localHome = localHome;
    }
 
-   public String getLocalHome()
+   /**
+    * Get the local.
+    * 
+    * @return the local.
+    */
+   public String getLocal()
    {
-      return localHome;
+      return local;
    }
 
-   public LifecycleCallbacksMetaData getPostActivates()
+   /**
+    * Set the local.
+    * 
+    * @param local the local.
+    * @throws IllegalArgumentException for a null local
+    */
+   public void setLocal(String local)
    {
-      return postActivates;
+      if (local == null)
+         throw new IllegalArgumentException("Null local");
+      this.local = local;
    }
 
-   public LifecycleCallbacksMetaData getPrePassivates()
+   /**
+    * Get the businessLocals.
+    * 
+    * @return the businessLocals.
+    */
+   public BusinessLocalsMetaData getBusinessLocals()
    {
-      return prePassivates;
+      return businessLocals;
    }
 
-   public String getRemote()
+   /**
+    * Set the businessLocals.
+    * 
+    * @param businessLocals the businessLocals.
+    * @throws IllegalArgumentException for a null businessLocasl
+    */
+   @XmlElement(name="business-local", required=false)
+   public void setBusinessLocals(BusinessLocalsMetaData businessLocals)
    {
-      return remote;
+      if (businessLocals == null)
+         throw new IllegalArgumentException("Null businessLocals");
+      this.businessLocals = businessLocals;
    }
 
-   public RemoveMethodsMetaData getRemoveMethods()
+   /**
+    * Get the businessRemotes.
+    * 
+    * @return the businessRemotes.
+    */
+   public BusinessRemotesMetaData getBusinessRemotes()
    {
-      return removeMethods;
+      return businessRemotes;
    }
 
-   public SecurityRoleRefsMetaData getSecurityRoleRefs()
+   /**
+    * Set the businessRemotes.
+    * 
+    * @param businessRemotes the businessRemotes.
+    * @throws IllegalArgumentException for a null businessRemotes
+    */
+   @XmlElement(name="business-remote", required=false)
+   public void setBusinessRemotes(BusinessRemotesMetaData businessRemotes)
    {
-      return securityRoleRefs;
+      if (businessRemotes == null)
+         throw new IllegalArgumentException("Null businessRemotes");
+      this.businessRemotes = businessRemotes;
    }
 
+   /**
+    * Get the serviceEndpoint.
+    * 
+    * @return the serviceEndpoint.
+    */
    public String getServiceEndpoint()
    {
       return serviceEndpoint;
    }
 
+   /**
+    * Set the serviceEndpoint.
+    * 
+    * @param serviceEndpoint the serviceEndpoint.
+    * @throws IllegalArgumentException for a null serviceEndpoint
+    */
+   public void setServiceEndpoint(String serviceEndpoint)
+   {
+      if (serviceEndpoint == null)
+         throw new IllegalArgumentException("Null serviceEndpoint");
+      this.serviceEndpoint = serviceEndpoint;
+   }
+
+   /**
+    * Get the sessionType.
+    * 
+    * @return the sessionType.
+    */
    public SessionType getSessionType()
    {
       return sessionType;
    }
 
+   /**
+    * Set the sessionType.
+    * 
+    * @param sessionType the sessionType.
+    * @throws IllegalArgumentException for a null sessionType
+    */
+   public void setSessionType(SessionType sessionType)
+   {
+      if (sessionType == null)
+         throw new IllegalArgumentException("Null sessionType");
+      this.sessionType = sessionType;
+   }
+
+   /**
+    * Is this stateful
+    * 
+    * @return true for stateful
+    */
+   public boolean isStateful()
+   {
+      if (sessionType == null)
+         return false;
+      return sessionType == SessionType.Stateful;
+   }
+
+   /**
+    * Get the timeoutMethod.
+    * 
+    * @return the timeoutMethod.
+    */
    public NamedMethodMetaData getTimeoutMethod()
    {
       return timeoutMethod;
    }
 
+   /**
+    * Set the timeoutMethod.
+    * 
+    * @param timeoutMethod the timeoutMethod.
+    * @throws IllegalArgumentException for a null timeoutMethod
+    */
+   @XmlElement(required=false)
+   public void setTimeoutMethod(NamedMethodMetaData timeoutMethod)
+   {
+      if (timeoutMethod == null)
+         throw new IllegalArgumentException("Null timeoutMethod");
+      this.timeoutMethod = timeoutMethod;
+   }
+
+   /**
+    * Get the initMethods.
+    * 
+    * @return the initMethods.
+    */
+   public InitMethodsMetaData getInitMethods()
+   {
+      return initMethods;
+   }
+
+   /**
+    * Set the initMethods.
+    * 
+    * @param initMethods the initMethods.
+    * @throws IllegalArgumentException for a null initMethods
+    */
+   @XmlElement(name="init-method", required=false)
+   public void setInitMethods(InitMethodsMetaData initMethods)
+   {
+      if (initMethods == null)
+         throw new IllegalArgumentException("Null initMethods");
+      this.initMethods = initMethods;
+   }
+
+   /**
+    * Get the removeMethods.
+    * 
+    * @return the removeMethods.
+    */
+   public RemoveMethodsMetaData getRemoveMethods()
+   {
+      return removeMethods;
+   }
+
+   /**
+    * Set the removeMethods.
+    * 
+    * @param removeMethods the removeMethods.
+    * @throws IllegalArgumentException for a null removeMethods
+    */
+   @XmlElement(name="remove-method", required=false)
+   public void setRemoveMethods(RemoveMethodsMetaData removeMethods)
+   {
+      if (removeMethods == null)
+         throw new IllegalArgumentException("Null removeMethods");
+      this.removeMethods = removeMethods;
+   }
+
+   /**
+    * Get the aroundInvokes.
+    * 
+    * @return the aroundInvokes.
+    */
+   public AroundInvokesMetaData getAroundInvokes()
+   {
+      return aroundInvokes;
+   }
+
+   /**
+    * Set the aroundInvokes.
+    * 
+    * @param aroundInvokes the aroundInvokes.
+    * @throws IllegalArgumentException for a null aroundInvokes
+    */
+   @XmlElement(name="around-invoke", required=false)
+   public void setAroundInvokes(AroundInvokesMetaData aroundInvokes)
+   {
+      if (aroundInvokes == null)
+         throw new IllegalArgumentException("Null aroundInvokes");
+      this.aroundInvokes = aroundInvokes;
+   }
+
+   /**
+    * Get the postActivates.
+    * 
+    * @return the postActivates.
+    */
+   public LifecycleCallbacksMetaData getPostActivates()
+   {
+      return postActivates;
+   }
+
+   /**
+    * Set the postActivates.
+    * 
+    * @param postActivates the postActivates.
+    * @throws IllegalArgumentException for a null postActivates
+    */
+   @XmlElement(name="post-activate", required=false)
+   public void setPostActivates(LifecycleCallbacksMetaData postActivates)
+   {
+      if (postActivates == null)
+         throw new IllegalArgumentException("Null postActivates");
+      this.postActivates = postActivates;
+   }
+
+   /**
+    * Get the prePassivates.
+    * 
+    * @return the prePassivates.
+    */
+   public LifecycleCallbacksMetaData getPrePassivates()
+   {
+      return prePassivates;
+   }
+
+   /**
+    * Set the prePassivates.
+    * 
+    * @param prePassivates the prePassivates.
+    * @throws IllegalArgumentException for a null prePassivates
+    */
+   @XmlElement(name="pre-passivate", required=false)
+   public void setPrePassivates(LifecycleCallbacksMetaData prePassivates)
+   {
+      if (prePassivates == null)
+         throw new IllegalArgumentException("Null prePassivates");
+      this.prePassivates = prePassivates;
+   }
+
+   /**
+    * Get the securityRoleRefs.
+    * 
+    * @return the securityRoleRefs.
+    */
+   public SecurityRoleRefsMetaData getSecurityRoleRefs()
+   {
+      return securityRoleRefs;
+   }
+
+   /**
+    * Set the securityRoleRefs.
+    * 
+    * @param securityRoleRefs the securityRoleRefs.
+    * @throws IllegalArgumentException for a null securityRoleRefs
+    */
+   @XmlElement(name="security-role-ref")
+   public void setSecurityRoleRefs(SecurityRoleRefsMetaData securityRoleRefs)
+   {
+      if (securityRoleRefs == null)
+         throw new IllegalArgumentException("Null securityRoleRefs");
+      this.securityRoleRefs = securityRoleRefs;
+   }
+
    @Override
    public String getDefaultConfigurationName()
    {
@@ -586,8 +880,6 @@
       // jndiName
       if(joverride != null && joverride.jndiName != null)
          jndiName = joverride.jndiName;
-      else if(soriginal != null && soriginal.getMappedName() != null)
-         jndiName = soriginal.getMappedName();
       // callByValue
       if(joverride != null)
          callByValue = joverride.callByValue;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/AssemblyDescriptorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/AssemblyDescriptorMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/AssemblyDescriptorMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,7 +21,7 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData;
+import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationsMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJarMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -24,10 +24,10 @@
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEjbJarMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+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;
 

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeanMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -24,10 +24,12 @@
 import java.lang.reflect.Method;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEjbJarMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+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.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
@@ -47,8 +49,6 @@
 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;
@@ -279,7 +279,7 @@
     * 
     * @return the jndiEnvironmentRefsGroup.
     */
-   public EnvironmentRefsGroupMetaData getJndiEnvironmentRefsGroup()
+   public Environment getJndiEnvironmentRefsGroup()
    {
       return jndiEnvironmentRefsGroup;
    }
@@ -290,11 +290,12 @@
     * @param jndiEnvironmentRefsGroup the jndiEnvironmentRefsGroup.
     * @throws IllegalArgumentException for a null jndiEnvironmentRefsGroup
     */
-   public void setJndiEnvironmentRefsGroup(EnvironmentRefsGroupMetaData jndiEnvironmentRefsGroup)
+   @XmlElement(type=EnvironmentRefsGroupMetaData.class)
+   public void setJndiEnvironmentRefsGroup(Environment jndiEnvironmentRefsGroup)
    {
       if (jndiEnvironmentRefsGroup == null)
          throw new IllegalArgumentException("Null jndiEnvironmentRefsGroup");
-      this.jndiEnvironmentRefsGroup = jndiEnvironmentRefsGroup;
+      this.jndiEnvironmentRefsGroup = (EnvironmentRefsGroupMetaData) jndiEnvironmentRefsGroup;
    }
 
    /**
@@ -430,12 +431,12 @@
       return null;
    }
 
-   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   public IServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return AbstractMappedMetaData.getByName(name, getServiceReferences());
    }
 
-   public ServiceReferencesMetaData getServiceReferences()
+   public IServiceReferencesMetaData getServiceReferences()
    {
       if (jndiEnvironmentRefsGroup != null)
          return jndiEnvironmentRefsGroup.getServiceReferences();
@@ -449,7 +450,7 @@
     */
    public MethodPermissionsMetaData getMethodPermissions()
    {
-      org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getMethodPermissionsByEjbName(getEjbName()); 
@@ -464,7 +465,7 @@
    {
       if (cachedContainerTransactions != null)
          return cachedContainerTransactions;
-      org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getContainerTransactionsByEjbName(getEjbName()); 
@@ -544,7 +545,7 @@
     */
    public InterceptorBindingMetaData getInterceptorBinding()
    {
-      org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getInterceptorBindingByEjbName(getEjbName()); 
@@ -557,7 +558,7 @@
     */
    public ExcludeListMetaData getExcludeList()
    {
-      org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
+      org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
       if (assemblyDescriptor == null)
          return null;
       return assemblyDescriptor.getExcludeListByEjbName(getEjbName()); 

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeansMap.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -25,8 +25,8 @@
 import java.util.HashMap;
 import java.util.Iterator;
 
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.javaee.support.IdMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImpl;
 

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeansMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -24,8 +24,8 @@
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.metadata.common.javaee.ejb.IEjbJarMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+import org.jboss.metadata.common.ejb.IEjbJarMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 
 /**
  * EnterpriseBeansMetaData.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,6 +21,8 @@
 */
 package org.jboss.metadata.ejb.spec;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
@@ -40,8 +42,6 @@
 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.NamedMetaDataWithDescriptions;
 import javax.xml.bind.annotation.XmlElement;
@@ -305,12 +305,12 @@
       return null;
    }
 
-   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   public IServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return AbstractMappedMetaData.getByName(name, getServiceReferences());
    }
 
-   public ServiceReferencesMetaData getServiceReferences()
+   public IServiceReferencesMetaData getServiceReferences()
    {
       if (environment != null)
          return environment.getServiceReferences();

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossRemoteEnvironmentRefsGroupMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossRemoteEnvironmentRefsGroupMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossRemoteEnvironmentRefsGroupMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,6 +21,7 @@
  */
 package org.jboss.metadata.javaee.jboss;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
@@ -65,8 +66,8 @@
       EnvironmentEntriesMetaData envEntries = null;
       EJBReferencesMetaData ejbRefs = null;
       EJBReferencesMetaData jbossEjbRefs = null;
-      ServiceReferencesMetaData serviceRefs = null;
-      ServiceReferencesMetaData jbossServiceRefs = null;
+      IServiceReferencesMetaData serviceRefs = null;
+      IServiceReferencesMetaData jbossServiceRefs = null;
       ResourceReferencesMetaData resRefs = null;
       ResourceReferencesMetaData jbossResRefs = null;
       ResourceEnvironmentReferencesMetaData resEnvRefs = null;
@@ -103,7 +104,7 @@
       if (mergedEjbRefs != null)
          merged.setEjbReferences(mergedEjbRefs);
       
-      ServiceReferencesMetaData mergedServiceRefs = ServiceReferencesMetaData.merge(jbossServiceRefs, serviceRefs, overridenFile, overrideFile);
+      IServiceReferencesMetaData mergedServiceRefs = ServiceReferencesMetaData.merge(jbossServiceRefs, serviceRefs, overridenFile, overrideFile);
       if (mergedServiceRefs != null)
          merged.setServiceReferences(mergedServiceRefs);
 

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossServiceReferenceMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossServiceReferenceMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossServiceReferenceMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,203 @@
+/*
+ * 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.javaee.jboss;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.namespace.QName;
+
+import org.jboss.metadata.javaee.spec.PortComponentRef;
+import org.jboss.metadata.javaee.spec.ResourceInjectionMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceHandlerChainsMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceHandlersMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
+import org.jboss.metadata.javaee.support.MergeableMappedMetaData;
+
+/**
+      <xsd:sequence>
+         <xsd:element name="service-ref-name" type="xsd:string"/>
+         <xsd:element name="service-impl-class" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="service-qname" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="config-file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="handler-chain" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+         <xsd:element name="port-component-ref" type="jboss:port-component-ref-type" minOccurs="0" maxOccurs="unbounded"/>
+         <xsd:element name="wsdl-override" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+      </xsd:sequence>
+      <xsd:attribute name="id" type="xsd:ID"/>
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+ at XmlType(name="service-refType")
+public class JBossServiceReferenceMetaData
+   extends ServiceReferenceMetaData
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 5693673588576610322L;
+
+   /** The service-impl-class */
+   private String serviceClass;
+
+   /** The config-name */
+   private String configName;
+   /** The config-file */
+   private String configFile;
+
+   /** The handler-chain */
+   private String handlerChain;
+
+   /** The wsdl file override */
+   private String wsdlOverride;
+
+   /**
+    * Create a new JBossServiceReferenceMetaData.
+    */
+   public JBossServiceReferenceMetaData()
+   {
+      // For serialization
+   }
+
+   public JBossServiceReferenceMetaData merge(JBossServiceReferenceMetaData original)
+   {
+      JBossServiceReferenceMetaData merged = new JBossServiceReferenceMetaData();
+      merged.merge(this, original);
+      return merged;
+   }
+
+
+   /**
+    * Get the serviceRefName.
+    * 
+    * @return the serviceRefName.
+    */
+   public String getServiceRefName()
+   {
+      return getName();
+   }
+
+   /**
+    * Set the serviceRefName.
+    * 
+    * @param serviceRefName the serviceRefName.
+    * @throws IllegalArgumentException for a null serviceRefName
+    */
+   @XmlElement(name="service-ref-name")
+   public void setServiceRefName(String serviceRefName)
+   {
+      setName(serviceRefName);
+   }
+
+   public String getConfigFile()
+   {
+      return configFile;
+   }
+
+   public void setConfigFile(String configFile)
+   {
+      this.configFile = configFile;
+   }
+
+   public String getConfigName()
+   {
+      return configName;
+   }
+
+   public void setConfigName(String configName)
+   {
+      this.configName = configName;
+   }
+
+   public String getHandlerChain()
+   {
+      return handlerChain;
+   }
+
+   public void setHandlerChain(String handlerChain)
+   {
+      this.handlerChain = handlerChain;
+   }
+
+   public String getServiceClass()
+   {
+      return serviceClass;
+   }
+   @XmlElement(name="service-impl-class")
+   public void setServiceClass(String serviceClass)
+   {
+      this.serviceClass = serviceClass;
+   }
+
+   public String getWsdlOverride()
+   {
+      return wsdlOverride;
+   }
+
+   public void setWsdlOverride(String wsdlOverride)
+   {
+      this.wsdlOverride = wsdlOverride;
+   }
+
+   /**
+    * Merge the contents of override with original into this.
+    * 
+    * @param override data which overrides original
+    * @param original the original data
+    */
+   public void merge(JBossServiceReferenceMetaData override, ServiceReferenceMetaData original)
+   {
+      //super.merge(override, original);
+      /*
+      if (override != null && override.serviceClass != null)
+         this.serviceClass = override.serviceClass;
+      else if (original.serviceInterface != null)
+         setServiceInterface(original.serviceInterface);
+      if(override != null && override.serviceRefType != null)
+         setServiceRefType(override.serviceRefType);
+      else if (original.serviceRefType != null)
+         setServiceRefType(original.serviceRefType);
+      if(override != null && override.wsdlFile != null)
+         setWsdlFile(override.wsdlFile);
+      else if (original.wsdlFile != null)
+         setWsdlFile(original.wsdlFile);
+      if(override != null && override.jaxrpcMappingFile != null)
+         setJaxrpcMappingFile(override.jaxrpcMappingFile);
+      else if (original.jaxrpcMappingFile != null)
+         setJaxrpcMappingFile(original.jaxrpcMappingFile);
+      if(override != null && override.serviceQname != null)
+         setServiceQname(override.serviceQname);
+      else if (original.serviceQname != null)
+         setServiceQname(original.serviceQname);
+      if(override != null && override.portComponentRef != null)
+         setPortComponentRef(override.portComponentRef);
+      else if (original.portComponentRef != null)
+         setPortComponentRef(original.portComponentRef);
+      if(override != null && override.handlers != null)
+         setHandlers(override.handlers);
+      else if (original.handlers != null)
+         setHandlers(original.handlers);
+      if(override != null && override.handlerChains != null)
+         setHandlerChains(override.handlerChains);
+      else if (original.handlers != null)
+         setHandlerChains(original.handlerChains);
+      */
+   }
+}


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

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossServiceReferencesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossServiceReferencesMetaData.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossServiceReferencesMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,75 @@
+/*
+ * 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.javaee.jboss;
+
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
+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.JavaEEMetaDataUtil;
+
+/**
+ * JBoss service-ref metadata
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+ at XmlType(name="service-refType")
+public class JBossServiceReferencesMetaData
+   extends AbstractMappedMetaData<IServiceReferenceMetaData>
+   implements IServiceReferencesMetaData
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 1;
+
+   /**
+    * Create a new ServiceReferencesMetaData.
+    */
+   public JBossServiceReferencesMetaData()
+   {
+      super("service ref name for service ref");
+   }
+   /**
+    * Merge resource references
+    * 
+    * @param override the override references
+    * @param overriden the overriden references 
+    * @param overridenFile the overriden file name
+    * @param overrideFile the override file
+    * @return the merged referencees
+    */
+   public static JBossServiceReferencesMetaData merge(JBossServiceReferencesMetaData override, JBossServiceReferencesMetaData overriden, String overridenFile, String overrideFile)
+   {
+      if (override == null && overriden == null)
+         return null;
+      
+      if (override == null)
+         return overriden;
+      
+      JBossServiceReferencesMetaData merged = new JBossServiceReferencesMetaData();
+      // TODO
+      return merged;
+   }
+
+}


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

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AbstractEJBReferenceMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AbstractEJBReferenceMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AbstractEJBReferenceMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -140,13 +140,17 @@
    public void merge(AbstractEJBReferenceMetaData override, AbstractEJBReferenceMetaData original)
    {
       super.merge(override, original);
-      if (override.type != null)
+      if(override != null && override.getEjbRefName() != null)
+         setEjbRefName(override.getEjbRefName());
+      else if(original != null && original.getEjbRefName() != null)
+         setEjbRefName(original.getEjbRefName());
+      if (override != null && override.type != null)
          setEjbRefType(override.type);
-      else if (original.type != null)
+      else if (original != null && original.type != null)
          setEjbRefType(original.type);
-      if (override.link != null)
+      if (override != null && override.link != null)
          setLink(override.link);
-      else if (original.link != null)
+      else if (original != null && original.link != null)
          setLink(original.link);
    }
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EJBLocalReferenceMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EJBLocalReferenceMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EJBLocalReferenceMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -100,7 +100,7 @@
    public EJBLocalReferenceMetaData merge(EJBLocalReferenceMetaData original)
    {
       EJBLocalReferenceMetaData merged = new EJBLocalReferenceMetaData();
-      merge(merged, original);
+      merged.merge(this, original);
       return merged;
    }
    
@@ -113,13 +113,17 @@
    public void merge(EJBLocalReferenceMetaData override, EJBLocalReferenceMetaData original)
    {
       super.merge(override, original);
+      if (override != null && override.getEjbRefName() != null)
+         setEjbRefName(override.getEjbRefName());
+      else if (original != null && original.getEjbRefName() != null)
+         setLocalHome(original.getEjbRefName());
       if (override != null && override.localHome != null)
          setLocalHome(override.localHome);
-      else if (original.localHome != null)
+      else if (original != null && original.localHome != null)
          setLocalHome(original.localHome);
       if (override != null && override.local != null)
          setLocal(local);
-      else if (original.local != null)
+      else if (original != null && original.local != null)
          setLocal(original.local);
    }
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/Environment.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/Environment.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/Environment.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,6 +21,9 @@
  */
 package org.jboss.metadata.javaee.spec;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
+
 /**
  * Environment.
  * 
@@ -61,19 +64,4 @@
     */
    PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(String name);
 
-   /**
-    * Get the serviceReferences.
-    * 
-    * @return the serviceReferences.
-    */
-   ServiceReferencesMetaData getServiceReferences();
-
-   /**
-    * Get by name
-    * 
-    * @param name the name
-    * @return the result or null if not found
-    * @throws IllegalArgumentException for a null name
-    */
-   ServiceReferenceMetaData getServiceReferenceByName(String name);
 }
\ No newline at end of file

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EnvironmentRefsGroupMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EnvironmentRefsGroupMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EnvironmentRefsGroupMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -25,7 +25,12 @@
 
 import javax.xml.bind.annotation.XmlElement;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
+import org.jboss.metadata.javaee.jboss.JBossServiceReferenceMetaData;
+import org.jboss.metadata.javaee.jboss.JBossServiceReferencesMetaData;
 import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
+import org.jboss.xb.annotations.JBossXmlCollection;
 import org.jboss.xb.annotations.JBossXmlModelGroup;
 
 /**
@@ -114,7 +119,7 @@
     * 
     * @return the serviceReferences.
     */
-   public ServiceReferencesMetaData getServiceReferences()
+   public IServiceReferencesMetaData getServiceReferences()
    {
       return serviceReferences;
    }
@@ -125,12 +130,13 @@
     * @param serviceReferences the serviceReferences.
     * @throws IllegalArgumentException for a null serviceReferences
     */
+   @JBossXmlCollection(type=ServiceReferencesMetaData.class, elementType=ServiceReferenceMetaData.class)
    @XmlElement(name="service-ref")
-   public void setServiceReferences(ServiceReferencesMetaData serviceReferences)
+   public void setServiceReferences(IServiceReferencesMetaData serviceReferences)
    {
       if (serviceReferences == null)
          throw new IllegalArgumentException("Null serviceReferences");
-      this.serviceReferences = serviceReferences;
+      this.serviceReferences = (ServiceReferencesMetaData) serviceReferences;
    }
 
    public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name)
@@ -143,7 +149,7 @@
       return AbstractMappedMetaData.getByName(name, persistenceContextRefs);
    }
 
-   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   public IServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return AbstractMappedMetaData.getByName(name, serviceReferences);
    }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironment.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironment.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironment.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,6 +21,9 @@
  */
 package org.jboss.metadata.javaee.spec;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
+
 /**
  * Environment.
  * 
@@ -66,7 +69,7 @@
     * Get the service references
     * @return
     */
-   ServiceReferencesMetaData getServiceReferences();
+   IServiceReferencesMetaData getServiceReferences();
 
    /**
     * Get by name
@@ -75,7 +78,7 @@
     * @return the result or null if not found
     * @throws IllegalArgumentException for a null name
     */
-   ServiceReferenceMetaData getServiceReferenceByName(String name);
+   IServiceReferenceMetaData getServiceReferenceByName(String name);
 
    /**
     * Get the resourceReferences.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -25,6 +25,8 @@
 
 import javax.xml.bind.annotation.XmlElement;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
 import org.jboss.xb.annotations.JBossXmlModelGroup;
 
@@ -134,7 +136,7 @@
       this.ejbReferences = ejbReferences;
    }
 
-   public ServiceReferencesMetaData getServiceReferences()
+   public IServiceReferencesMetaData getServiceReferences()
    {
       return serviceReferences;
    }
@@ -143,6 +145,10 @@
    {
       this.serviceReferences = serviceReferences;
    }
+   public void setServiceReferences(IServiceReferencesMetaData serviceReferences)
+   {
+      this.serviceReferences = (ServiceReferencesMetaData)serviceReferences;
+   }
 
    /**
     * Get the resourceReferences.
@@ -319,7 +325,7 @@
    {
       return AbstractMappedMetaData.getByName(name, resourceReferences);
    }
-   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   public IServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return AbstractMappedMetaData.getByName(name, serviceReferences);
    }
@@ -329,8 +335,8 @@
       EnvironmentEntriesMetaData envEntries = null;
       EJBReferencesMetaData ejbRefs = null;
       EJBReferencesMetaData jbossEjbRefs = null;
-      ServiceReferencesMetaData serviceRefs = null;
-      ServiceReferencesMetaData jbossServiceRefs = null;
+      IServiceReferencesMetaData serviceRefs = null;
+      IServiceReferencesMetaData jbossServiceRefs = null;
       ResourceReferencesMetaData resRefs = null;
       ResourceReferencesMetaData jbossResRefs = null;
       ResourceEnvironmentReferencesMetaData resEnvRefs = null;
@@ -367,7 +373,7 @@
       if (mergedEjbRefs != null)
          setEjbReferences(mergedEjbRefs);
       
-      ServiceReferencesMetaData mergedServiceRefs = ServiceReferencesMetaData.merge(jbossServiceRefs, serviceRefs, "", "");
+      IServiceReferencesMetaData mergedServiceRefs = ServiceReferencesMetaData.merge(jbossServiceRefs, serviceRefs, "", "");
       if (mergedServiceRefs != null)
          setServiceReferences(mergedServiceRefs);
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -25,6 +25,7 @@
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
 import org.jboss.metadata.javaee.support.MergeableMappedMetaData;
 import org.jboss.metadata.javaee.support.ResourceInjectionMetaDataWithDescriptionGroup;
 
@@ -37,7 +38,8 @@
  */
 @XmlType(name="service-refType")
 public class ServiceReferenceMetaData extends ResourceInjectionMetaDataWithDescriptionGroup
-   implements MergeableMappedMetaData<ServiceReferenceMetaData>
+   implements MergeableMappedMetaData<IServiceReferenceMetaData>,
+   IServiceReferenceMetaData
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = 5693673588576610322L;
@@ -74,9 +76,9 @@
       // For serialization
    }
 
-   public ServiceReferenceMetaData merge(ServiceReferenceMetaData original)
+   public IServiceReferenceMetaData merge(IServiceReferenceMetaData original)
    {
-      ServiceReferenceMetaData merged = new ServiceReferenceMetaData();
+      IServiceReferenceMetaData merged = new ServiceReferenceMetaData();
       merged.merge(this, original);
       return merged;
    }
@@ -87,41 +89,41 @@
     * @param override data which overrides original
     * @param original the original data
     */
-   public void merge(ServiceReferenceMetaData override, ServiceReferenceMetaData original)
+   public void merge(IServiceReferenceMetaData override, IServiceReferenceMetaData original)
    {
       super.merge(override, original);
-      if (override != null && override.serviceInterface != null)
-         setServiceInterface(override.serviceInterface);
-      else if (original.serviceInterface != null)
-         setServiceInterface(original.serviceInterface);
-      if(override != null && override.serviceRefType != null)
-         setServiceRefType(override.serviceRefType);
-      else if (original.serviceRefType != null)
-         setServiceRefType(original.serviceRefType);
-      if(override != null && override.wsdlFile != null)
-         setWsdlFile(override.wsdlFile);
-      else if (original.wsdlFile != null)
-         setWsdlFile(original.wsdlFile);
-      if(override != null && override.jaxrpcMappingFile != null)
-         setJaxrpcMappingFile(override.jaxrpcMappingFile);
-      else if (original.jaxrpcMappingFile != null)
-         setJaxrpcMappingFile(original.jaxrpcMappingFile);
-      if(override != null && override.serviceQname != null)
-         setServiceQname(override.serviceQname);
-      else if (original.serviceQname != null)
-         setServiceQname(original.serviceQname);
-      if(override != null && override.portComponentRef != null)
-         setPortComponentRef(override.portComponentRef);
-      else if (original.portComponentRef != null)
-         setPortComponentRef(original.portComponentRef);
-      if(override != null && override.handlers != null)
-         setHandlers(override.handlers);
-      else if (original.handlers != null)
-         setHandlers(original.handlers);
-      if(override != null && override.handlerChains != null)
-         setHandlerChains(override.handlerChains);
-      else if (original.handlers != null)
-         setHandlerChains(original.handlerChains);
+      if (override != null && override.getServiceInterface() != null)
+         setServiceInterface(override.getServiceInterface());
+      else if (original.getServiceInterface() != null)
+         setServiceInterface(original.getServiceInterface());
+      if(override != null && override.getServiceRefType() != null)
+         setServiceRefType(override.getServiceRefType());
+      else if (original.getServiceRefType() != null)
+         setServiceRefType(original.getServiceRefType());
+      if(override != null && override.getWsdlFile() != null)
+         setWsdlFile(override.getWsdlFile());
+      else if (original.getWsdlFile() != null)
+         setWsdlFile(original.getWsdlFile());
+      if(override != null && override.getJaxrpcMappingFile() != null)
+         setJaxrpcMappingFile(override.getJaxrpcMappingFile());
+      else if (original.getJaxrpcMappingFile() != null)
+         setJaxrpcMappingFile(original.getJaxrpcMappingFile());
+      if(override != null && override.getServiceQname() != null)
+         setServiceQname(override.getServiceQname());
+      else if (original.getServiceQname() != null)
+         setServiceQname(original.getServiceQname());
+      if(override != null && override.getPortComponentRef() != null)
+         setPortComponentRef(override.getPortComponentRef());
+      else if (original.getPortComponentRef() != null)
+         setPortComponentRef(original.getPortComponentRef());
+      if(override != null && override.getHandlers() != null)
+         setHandlers(override.getHandlers());
+      else if (original.getHandlers() != null)
+         setHandlers(original.getHandlers());
+      if(override != null && override.getHandlerChains() != null)
+         setHandlerChains(override.getHandlerChains());
+      else if (original.getHandlerChains() != null)
+         setHandlerChains(original.getHandlerChains());
    }
 
    /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferencesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferencesMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferencesMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,6 +21,8 @@
 */
 package org.jboss.metadata.javaee.spec;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
 import org.jboss.metadata.javaee.support.JavaEEMetaDataUtil;
 
@@ -32,7 +34,8 @@
  */
 //@SchemaGroup(name="service-refGroup")
 public class ServiceReferencesMetaData
-   extends AbstractMappedMetaData<ServiceReferenceMetaData>
+   extends AbstractMappedMetaData<IServiceReferenceMetaData>
+   implements IServiceReferencesMetaData
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = -2667900705228419782L;
@@ -53,6 +56,10 @@
     * @param overrideFile the override file
     * @return the merged referencees
     */
+   public static IServiceReferencesMetaData merge(IServiceReferencesMetaData override, IServiceReferencesMetaData overriden, String overridenFile, String overrideFile)
+   {
+      return null;
+   }
    public static ServiceReferencesMetaData merge(ServiceReferencesMetaData override, ServiceReferencesMetaData overriden, String overridenFile, String overrideFile)
    {
       if (override == null && overriden == null)

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/AbstractMappedMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/AbstractMappedMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/AbstractMappedMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -53,7 +53,7 @@
     * @param map the map
     * @return the result
     */
-   public static <T extends MappableMetaData> T getByName(String name, AbstractMappedMetaData<T> map)
+   public static <T extends MappableMetaData> T getByName(String name, MappedMetaData<T> map)
    {
       if (name == null)
          throw new IllegalArgumentException("Null name");

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -89,7 +89,8 @@
          if(mapped != null && mapped.containsKey(key))
          {
             T override = mapped.get(key);
-            merged.add(override.merge(original));
+            T tnew = override.merge(original);
+            merged.add(tnew);
          }
          else
          {

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/merge/MergeUtil.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/merge/MergeUtil.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/merge/MergeUtil.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,6 +21,7 @@
  */
 package org.jboss.metadata.merge;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.spec.EjbJarMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
@@ -60,8 +61,8 @@
       EnvironmentEntriesMetaData envEntries = null;
       EJBReferencesMetaData ejbRefs = null;
       EJBReferencesMetaData jbossEjbRefs = null;
-      ServiceReferencesMetaData serviceRefs = null;
-      ServiceReferencesMetaData jbossServiceRefs = null;
+      IServiceReferencesMetaData serviceRefs = null;
+      IServiceReferencesMetaData jbossServiceRefs = null;
       ResourceReferencesMetaData resRefs = null;
       ResourceReferencesMetaData jbossResRefs = null;
       ResourceEnvironmentReferencesMetaData resEnvRefs = null;
@@ -98,7 +99,7 @@
       if (mergedEjbRefs != null)
          merged.setEjbReferences(mergedEjbRefs);
       
-      ServiceReferencesMetaData mergedServiceRefs = ServiceReferencesMetaData.merge(jbossServiceRefs, serviceRefs, overridenFile, overrideFile);
+      IServiceReferencesMetaData mergedServiceRefs = ServiceReferencesMetaData.merge(jbossServiceRefs, serviceRefs, overridenFile, overrideFile);
       if (mergedServiceRefs != null)
          merged.setServiceReferences(mergedServiceRefs);
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/JBossWebMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -31,6 +31,8 @@
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
 import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnvironmentRefsGroupMetaData;
@@ -705,13 +707,13 @@
    }
 
    @XmlTransient
-   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   public IServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return AbstractMappedMetaData.getByName(name, getServiceReferences());
    }
 
    @XmlTransient
-   public ServiceReferencesMetaData getServiceReferences()
+   public IServiceReferencesMetaData getServiceReferences()
    {
       return getMergedEnvironment().getServiceReferences();
    }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -27,6 +27,8 @@
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
@@ -51,8 +53,6 @@
 import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
 import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
-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.IdMetaDataImplWithDescriptionGroup;
 
@@ -439,12 +439,12 @@
       return null;
    }
 
-   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   public IServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return AbstractMappedMetaData.getByName(name, getServiceReferences());
    }
 
-   public ServiceReferencesMetaData getServiceReferences()
+   public IServiceReferencesMetaData getServiceReferences()
    {
       if (jndiEnvironmentRefsGroup != null)
          return jndiEnvironmentRefsGroup.getServiceReferences();

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/AnnotationEjb3UnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -36,7 +36,7 @@
 import org.jboss.metadata.annotation.creator.EjbJar30Creator;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
 import org.jboss.metadata.annotation.finder.DefaultAnnotationFinder;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.spec.ContainerTransactionMetaData;
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
 import org.jboss.metadata.ejb.spec.InitMethodMetaData;

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/AbstractEJBEverythingTest.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -36,8 +36,8 @@
 import org.jboss.metadata.MetaData;
 import org.jboss.metadata.RelationshipRoleMetaData;
 import org.jboss.metadata.SessionMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.CacheInvalidationConfigMetaData;
 import org.jboss.metadata.ejb.jboss.ClusterConfigMetaData;
 import org.jboss.metadata.ejb.jboss.IORASContextMetaData;

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar20UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar20UnitTestCase.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar20UnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -26,8 +26,8 @@
 import org.jboss.metadata.ApplicationMetaData;
 import org.jboss.metadata.BeanMetaData;
 import org.jboss.metadata.MessageDrivenMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.spec.EjbJar20MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar2xMetaData;
 import org.jboss.metadata.ejb.spec.MessageDrivenBeanMetaData;

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar21EverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar21EverythingUnitTestCase.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar21EverythingUnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -24,8 +24,9 @@
 import junit.framework.Test;
 
 import org.jboss.metadata.ApplicationMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.CMPFieldMetaData;
 import org.jboss.metadata.ejb.spec.CMPFieldsMetaData;
 import org.jboss.metadata.ejb.spec.EjbJar21MetaData;
@@ -161,6 +162,24 @@
       assertSecurityRoleRefs(ejbName, 2, session.getSecurityRoleRefs());
       assertSecurityIdentity(ejbName, "SecurityIdentity", session.getSecurityIdentity(), true);
    }
+   public void assertFullSessionBean(String ejbName, JBossSessionBeanMetaData session)
+   {
+      assertId(ejbName, session);
+      assertClass(ejbName, "Home", session.getHome());
+      assertClass(ejbName, "Remote", session.getRemote());
+      assertClass(ejbName, "LocalHome", session.getLocalHome());
+      assertClass(ejbName, "Local", session.getLocal());
+      assertClass(ejbName, "ServiceEndpoint", session.getServiceEndpoint());
+      assertClass(ejbName, "EjbClass", session.getEjbClass());
+      assertEquals(SessionType.Stateless, session.getSessionType());
+      assertEquals(TransactionType.Container, session.getTransactionType());
+      assertEnvironment(ejbName, session.getJndiEnvironmentRefsGroup(), true);
+      assertContainerTransactions(ejbName, 6, 6, session.getContainerTransactions());
+      assertMethodPermissions(ejbName, ejbName + "MethodPermission", 3, 3, session.getMethodPermissions());
+      assertExcludeList(ejbName, 5, 5, session.getExcludeList());
+      assertSecurityRoleRefs(ejbName, 2, session.getSecurityRoleRefs());
+      assertSecurityIdentity(ejbName, "SecurityIdentity", session.getSecurityIdentity(), true);
+   }
    
    protected EntityBeanMetaData assertFullEntity(String ejbName, IEnterpriseBeansMetaData enterpriseBeansMetaData)
    {

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar21UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar21UnitTestCase.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar21UnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -28,8 +28,8 @@
 import org.jboss.invocation.InvocationType;
 import org.jboss.metadata.ApplicationMetaData;
 import org.jboss.metadata.BeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.spec.EjbJar21MetaData;

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar3xEverythingUnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -26,7 +26,8 @@
 import junit.framework.Test;
 
 import org.jboss.metadata.ApplicationMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.ApplicationExceptionMetaData;
 import org.jboss.metadata.ejb.spec.ApplicationExceptionsMetaData;
 import org.jboss.metadata.ejb.spec.AroundInvokeMetaData;
@@ -189,6 +190,33 @@
       assertSecurityRoleRefs(ejbName, 2, session.getSecurityRoleRefs());
       assertSecurityIdentity(ejbName, "SecurityIdentity", session.getSecurityIdentity(), true);
    }
+   public void assertFullSessionBean(String ejbName, JBossSessionBeanMetaData session)
+   {
+      assertId(ejbName, session);
+      assertMappedName(ejbName, session.getMappedName());
+      assertClass(ejbName, "Home", session.getHome());
+      assertClass(ejbName, "Remote", session.getRemote());
+      assertClass(ejbName, "LocalHome", session.getLocalHome());
+      assertClass(ejbName, "Local", session.getLocal());
+      assertClasses(ejbName, "BusinessLocal", 2, session.getBusinessLocals());
+      assertClasses(ejbName, "BusinessRemote", 2, session.getBusinessRemotes());
+      assertClass(ejbName, "ServiceEndpoint", session.getServiceEndpoint());
+      assertClass(ejbName, "EjbClass", session.getEjbClass());
+      assertEquals(SessionType.Stateless, session.getSessionType());
+      assertNamedMethod(ejbName + "TimeoutMethod", 2, session.getTimeoutMethod());
+      assertInitMethods(ejbName, 2, session.getInitMethods());
+      assertRemoveMethods(ejbName, 3, session.getRemoveMethods());
+      assertEquals(TransactionType.Container, session.getTransactionType());
+      assertAroundInvokes(ejbName, 2, session.getAroundInvokes());
+      assertLifecycleCallbacks(ejbName, "PostActivate", 2, session.getPostActivates());
+      assertLifecycleCallbacks(ejbName, "PrePassivate", 2, session.getPrePassivates());
+      assertEnvironment(ejbName, session.getJndiEnvironmentRefsGroup(), true);
+      assertContainerTransactions(ejbName, 6, 6, session.getContainerTransactions());
+      assertMethodPermissions(ejbName, ejbName + "MethodPermission", 3, 3, session.getMethodPermissions());
+      assertExcludeList(ejbName, 5, 5, session.getExcludeList());
+      assertSecurityRoleRefs(ejbName, 2, session.getSecurityRoleRefs());
+      assertSecurityIdentity(ejbName, "SecurityIdentity", session.getSecurityIdentity(), true);
+   }
 
    private void assertInitMethods(String ejbName, int size, InitMethodsMetaData initMethodsMetaData)
    {

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJar3xUnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -36,8 +36,10 @@
 import org.jboss.annotation.javaee.Icons;
 import org.jboss.metadata.ApplicationMetaData;
 import org.jboss.metadata.BeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
 import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
@@ -206,12 +208,12 @@
       IEnterpriseBeansMetaData beans = result.getEnterpriseBeans();
       assertNotNull(beans);
       IEnterpriseBeanMetaData bean = beans.get("StatelessSession1");
-      ServiceReferencesMetaData serviceRefs = bean.getServiceReferences();
+      IServiceReferencesMetaData serviceRefs = bean.getServiceReferences();
       assertNotNull(serviceRefs);
-      ServiceReferenceMetaData srmd = serviceRefs.get("session1/Hello");
+      IServiceReferenceMetaData srmd = serviceRefs.get("session1/Hello");
       assertNotNull(srmd);
       assertEquals("session1-service-ref", srmd.getId());
-      assertEquals("session1/Hello", srmd.getName());
+      assertEquals("session1/Hello", srmd.getServiceRefName());
       assertEquals("org.jboss.test.security.interfaces.HelloWorldService", srmd.getServiceInterface());
       assertEquals("session1-wsdl-file", srmd.getWsdlFile());
       assertEquals("META-INF/jaxrpc-mapping.xml", srmd.getJaxrpcMappingFile());

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -23,8 +23,9 @@
 
 import junit.framework.Test;
 
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.EjbJar21MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
@@ -51,6 +52,8 @@
       resolver.addClassBindingForLocation("ejb-jar_2_1.xsd", EjbJar21MetaData.class);
       resolver.addClassBindingForLocation("ejb-jar_3_0.xsd", EjbJar30MetaData.class);
       resolver.addClassBindingForLocation("jboss_5_0.xsd", JBoss50MetaData.class);
+      // 
+      resolver.addClassBinding("http://www.jboss.com/xml/ns/javaee", JBoss50MetaData.class);
       return resolver;
    }
    
@@ -72,11 +75,14 @@
       JBoss5xEverythingUnitTestCase jboss = new JBoss5xEverythingUnitTestCase("jboss");
       jboss.assertEverything(jbossMetaData);
       
-      jbossMetaData.setOverridenMetaData(ejbJarMetaData);
+      //jbossMetaData.setOverridenMetaData(ejbJarMetaData);
+      // Create the merged view
+      jbossMetaData.merge(null, ejbJarMetaData);
       
       IEnterpriseBeanMetaData<?> ejb = jbossMetaData.getEnterpriseBean("session1EjbName");      
       assertNotNull(ejb);
-      ejbJar.assertFullSessionBean("session1", (SessionBeanMetaData) ejb);
+      JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
+      ejbJar.assertFullSessionBean("session1", jejb);
    }
 
    /**
@@ -92,10 +98,13 @@
       JBoss5xEverythingUnitTestCase jboss = new JBoss5xEverythingUnitTestCase("jboss");
       jboss.assertEverything(jbossMetaData);
 
-      jbossMetaData.setOverridenMetaData(ejbJarMetaData);
+      //jbossMetaData.setOverridenMetaData(ejbJarMetaData);
+      // Create the merged view
+      jbossMetaData.merge(null, ejbJarMetaData);
 
       IEnterpriseBeanMetaData<?> ejb = jbossMetaData.getEnterpriseBean("session1EjbName");      
       assertNotNull(ejb);
-      ejbJar.assertFullSessionBean("session1", (SessionBeanMetaData) ejb);
+      JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
+      ejbJar.assertFullSessionBean("session1", jejb);
    }
 }

Added: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss42UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss42UnitTestCase.java	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss42UnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,145 @@
+/*
+* 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.ejb;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+import junit.framework.Test;
+
+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;
+import org.jboss.metadata.ejb.jboss.InvokerProxyBindingMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerProxyBindingsMetaData;
+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.JBossGenericBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaDataWrapper;
+import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
+import org.jboss.metadata.ejb.spec.EjbJar20MetaData;
+import org.jboss.metadata.ejb.spec.EjbJar21MetaData;
+import org.jboss.metadata.ejb.spec.EjbJar2xMetaData;
+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;
+import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
+import org.jboss.metadata.javaee.spec.ResourceAuthorityType;
+import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+import org.jboss.metadata.javaee.spec.RunAsMetaData;
+import org.jboss.metadata.merge.MergeUtil;
+import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
+import org.jboss.test.metadata.javaee.JBossXBTestDelegate;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+
+/**
+ * Tests of jboss_4_2.dtd conforming documents
+ * 
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+ at SuppressWarnings("deprecation")
+public class JBoss42UnitTestCase extends AbstractJavaEEMetaDataTest
+{
+   public static Test suite()
+   {
+      return suite(JBoss42UnitTestCase.class);
+   }
+   
+   public static SchemaBindingResolver initResolver()
+   {
+      DefaultSchemaResolver resolver = new DefaultSchemaResolver();
+      resolver.addClassBindingForLocation("ejb-jar_2_0.dtd", EjbJar20MetaData.class);
+      resolver.addClassBindingForLocation("ejb-jar_2_1.xsd", EjbJar21MetaData.class);
+      resolver.addClassBindingForLocation("jboss_3_0.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_3_2.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_4_0.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_4_2.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_5_0.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_5_0.xsd", JBoss50MetaData.class);
+      // Workaround wildard resolution slowness
+      resolver.addClassBinding("http://www.jboss.com/xml/ns/javaee", JBoss50MetaData.class);
+      return resolver;
+   }
+   
+   public static boolean validateSchema()
+   {
+      return true;
+   }
+   
+   public JBoss42UnitTestCase(String name)
+   {
+      super(name);
+   }
+   
+   protected JBossMetaData unmarshal() throws Exception
+   {
+      return unmarshal(JBossMetaData.class);
+   }
+   
+   public void testServiceRefQname() throws Exception
+   {
+//      JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+//      xbdelegate.setValidateSchema(false);
+      
+      JBossMetaData result = unmarshal();
+      
+      assertEquals(1, result.getEnterpriseBeans().size());
+      JBossEnterpriseBeanMetaData bean = (JBossEnterpriseBeanMetaData) result.getEnterpriseBean("MyStatelessBean");
+      assertNotNull(bean);
+      Set<String> expected = new HashSet<String>();
+      expected.add("A");
+      expected.add("B");
+      assertEquals(expected, bean.getDepends());
+      
+      assertNotNull(bean.getIgnoreDependency());
+      assertNotNull(bean.getIgnoreDependency().getInjectionTargets());
+      assertEquals(2, bean.getIgnoreDependency().getInjectionTargets().size());
+      int i = 1;
+      for(ResourceInjectionTargetMetaData target : bean.getIgnoreDependency().getInjectionTargets())
+      {
+         assertEquals("Class" + i, target.getInjectionTargetClass());
+         assertEquals(Character.toString((char) ('B' + i)), target.getInjectionTargetName());
+         i++;
+      }
+   }
+   
+}


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

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -30,8 +30,8 @@
 import org.jboss.metadata.ApplicationMetaData;
 import org.jboss.metadata.BeanMetaData;
 import org.jboss.metadata.ConfigurationMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+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;
@@ -165,8 +165,7 @@
       // create a merged view
       JBossMetaData merged = MergeUtil.merge(jboss, ejbJar);
       assertNotNull(merged.getEnterpriseBeans());
-//      JBossGenericBeanMetaData bean = (JBossGenericBeanMetaData) merged.getEnterpriseBean("MyStatelessBean");
-      JBossSessionBeanMetaData bean = (JBossSessionBeanMetaData) merged.getEnterpriseBean("MyStatelessBean");
+      JBossGenericBeanMetaData bean = (JBossGenericBeanMetaData) merged.getEnterpriseBean("MyStatelessBean");
       assertEquals(1, bean.getResourceReferences().size());
       ResourceReferenceMetaData ref = bean.getResourceReferenceByName("qFactory");
       assertNotNull(ref);

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-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -27,9 +27,9 @@
 
 import junit.framework.Test;
 
-import org.jboss.metadata.common.javaee.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeansMetaData;
+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.LoaderRepositoryConfigMetaData;
 import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
 import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
@@ -64,6 +64,7 @@
 import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
+import org.jboss.metadata.javaee.spec.Environment;
 import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
@@ -1334,19 +1335,8 @@
          assemblyDescriptorMetaData = new AssemblyDescriptorMetaData();
          ejbJarMetaData.setAssemblyDescriptor(assemblyDescriptorMetaData);
       }
-      fixUpMessageDestinations(2, assemblyDescriptorMetaData);
    }
 
-   protected void fixUpMessageDestinations(int size, IAssemblyDescriptorMetaData assemblyDescriptorMetaData)
-   {
-      MessageDestinationsMetaData messageDestinationsMetaData = assemblyDescriptorMetaData.getMessageDestinations();
-      if (messageDestinationsMetaData == null)
-      {
-         messageDestinationsMetaData = new MessageDestinationsMetaData();
-         assemblyDescriptorMetaData.setMessageDestinations(messageDestinationsMetaData);
-      }
-      fixUpMessageDestinations(size, messageDestinationsMetaData);
-   }
 
 /*   protected void assertAssemblyDescriptor(ApplicationMetaData applicationMetaData)
    {
@@ -1379,33 +1369,17 @@
 
    protected void fixUpEnvironment(EnterpriseBeanMetaData ejb, JBossEnterpriseBeanMetaData jbossEjb)
    {
-      EnvironmentRefsGroupMetaData jbossEjbEnvironment = jbossEjb.getJndiEnvironmentRefsGroup();
+      Environment jbossEjbEnvironment = jbossEjb.getJndiEnvironmentRefsGroup();
       if (jbossEjbEnvironment == null)
          return;
 
-      EnvironmentRefsGroupMetaData ejbEnvironment = ejb.getJndiEnvironmentRefsGroup();
+      Environment ejbEnvironment = ejb.getJndiEnvironmentRefsGroup();
       if (ejbEnvironment == null)
       {
          ejbEnvironment = new EnvironmentRefsGroupMetaData();
          ejb.setJndiEnvironmentRefsGroup(ejbEnvironment);
       }
 
-      EJBReferencesMetaData ejbReferences = fixUpEjbRefs(ejbEnvironment.getEjbReferences(), jbossEjbEnvironment.getEjbReferences());
-      if (ejbReferences != null)
-         ejbEnvironment.setEjbReferences(ejbReferences);
-      EJBLocalReferencesMetaData ejbLocalReferences = fixUpEjbLocalRefs(ejbEnvironment.getEjbLocalReferences(), jbossEjbEnvironment.getEjbLocalReferences());
-      if (ejbLocalReferences != null)
-         ejbEnvironment.setEjbLocalReferences(ejbLocalReferences);
-      // TODO webservice service ref
-      ResourceReferencesMetaData resourceReferences = fixUpResourceRefs(ejbEnvironment.getResourceReferences(), jbossEjbEnvironment.getResourceReferences());
-      if (resourceReferences != null)
-         ejbEnvironment.setResourceReferences(resourceReferences);
-      ResourceEnvironmentReferencesMetaData resourceEnvironmentReferences = fixUpResourceEnvRefs(ejbEnvironment.getResourceEnvironmentReferences(), jbossEjbEnvironment.getResourceEnvironmentReferences());
-      if (resourceEnvironmentReferences != null)
-         ejbEnvironment.setResourceEnvironmentReferences(resourceEnvironmentReferences);
-      MessageDestinationReferencesMetaData messageDestinationReferences = fixUpMessageDestinationRefs(ejbEnvironment.getMessageDestinationReferences(), jbossEjbEnvironment.getMessageDestinationReferences());
-      if (messageDestinationReferences != null)
-         ejbEnvironment.setMessageDestinationReferences(messageDestinationReferences);
    }
    
    @Override

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/whitespace/WhitespaceUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/whitespace/WhitespaceUnitTestCase.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/whitespace/WhitespaceUnitTestCase.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -21,7 +21,7 @@
  */
 package org.jboss.test.metadata.ejb.whitespace;
 
-import org.jboss.metadata.common.javaee.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
 import org.jboss.metadata.ejb.spec.SessionBeanMetaData;

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java	2007-10-24 05:53:04 UTC (rev 66370)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/javaee/AbstractJavaEEEverythingTest.java	2007-10-24 05:55:27 UTC (rev 66371)
@@ -37,6 +37,8 @@
 import org.jboss.metadata.MessageDestinationRefMetaData;
 import org.jboss.metadata.ResourceEnvRefMetaData;
 import org.jboss.metadata.ResourceRefMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferenceMetaData;
+import org.jboss.metadata.common.javaee.spec.IServiceReferencesMetaData;
 import org.jboss.metadata.javaee.jboss.AnnotationMetaData;
 import org.jboss.metadata.javaee.jboss.AnnotationPropertiesMetaData;
 import org.jboss.metadata.javaee.jboss.AnnotationPropertyMetaData;
@@ -52,6 +54,7 @@
 import org.jboss.metadata.javaee.spec.EJBReferenceType;
 import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EmptyMetaData;
+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;
@@ -107,14 +110,6 @@
       assertEquals(prefix + "-id", idMetaData.getId());
    }
    
-   protected void fixUpId(String prefix, Object object)
-   {
-      assertNotNull(object);
-      assertTrue(object instanceof IdMetaData);
-      IdMetaData idMetaData = (IdMetaData) object;
-      idMetaData.setId(prefix + "-id");
-   }
-   
    protected void assertDescriptionGroup(String suffix, DescriptionGroupMetaData group)
    {
       assertNotNull("no description group meta data is set", group);
@@ -257,20 +252,6 @@
       }
    }
 
-   protected void fixUpMessageDestinations(int size, MessageDestinationsMetaData messageDestinationsMetaData)
-   {
-      assertEmpty(messageDestinationsMetaData);
-      for (int i = 1; i <= size; ++i)
-      {
-         MessageDestinationMetaData messageDestinationMetaData = new MessageDestinationMetaData();
-         String prefix = "messageDestination" + i;
-         fixUpId(prefix, messageDestinationMetaData);
-         messageDestinationMetaData.setMessageDestinationName(prefix + "Name");
-         messageDestinationMetaData.setMappedName(prefix + "MappedName");
-         messageDestinationsMetaData.add(messageDestinationMetaData);
-      }
-   }
-
    protected void assertMessageDestination(String prefix, MessageDestinationMetaData messageDestinationMetaData)
    {
       assertMessageDestination14(prefix, messageDestinationMetaData);
@@ -320,7 +301,7 @@
       }
    }
 
-   protected void assertEnvironment(String prefix, EnvironmentRefsGroupMetaData environment, boolean full)
+   protected void assertEnvironment(String prefix, Environment environment, boolean full)
    {
       assertRemoteEnvironment(prefix, environment, full);
       assertEjbLocalRefs(prefix, 2, environment.getEjbLocalReferences(), full);
@@ -331,7 +312,7 @@
       }
    }
 
-   protected void assertNullEnvironment(EnvironmentRefsGroupMetaData environment)
+   protected void assertNullEnvironment(Environment environment)
    {
       if (environment != null)
       {
@@ -400,28 +381,6 @@
       }
    }
 
-   protected EJBReferencesMetaData fixUpEjbRefs(EJBReferencesMetaData overriden, EJBReferencesMetaData override)
-   {
-      if (override == null || override.isEmpty())
-         return null;
-      
-      if (overriden == null)
-         overriden = new EJBReferencesMetaData();
-      
-      for (EJBReferenceMetaData ref : override)
-      {
-         String name = ref.getName();
-         if (overriden.get(name) == null)
-         {
-            EJBReferenceMetaData r = new EJBReferenceMetaData();
-            r.setName(name);
-            overriden.add(r);
-         }
-      }
-      
-      return overriden;
-   }
-   
    private void assertEjbRefs(String prefix, int size, EJBReferencesMetaData ejbReferencesMetaData, boolean full)
    {
       assertNotNull("no ejb-refs are set", ejbReferencesMetaData);
@@ -472,28 +431,6 @@
       assertEquals(size + 1, count);
    }
 
-   protected EJBLocalReferencesMetaData fixUpEjbLocalRefs(EJBLocalReferencesMetaData overriden, EJBLocalReferencesMetaData override)
-   {
-      if (override == null || override.isEmpty())
-         return null;
-      
-      if (overriden == null)
-         overriden = new EJBLocalReferencesMetaData();
-      
-      for (EJBLocalReferenceMetaData ref : override)
-      {
-         String name = ref.getName();
-         if (overriden.get(name) == null)
-         {
-            EJBLocalReferenceMetaData r = new EJBLocalReferenceMetaData();
-            r.setName(name);
-            overriden.add(r);
-         }
-      }
-      
-      return overriden;
-   }
-
    private void assertEjbLocalRefs(String prefix, int size, EJBLocalReferencesMetaData ejbReferencesMetaData, boolean full)
    {
       assertNotNull("no ejb local refs are set", ejbReferencesMetaData);
@@ -544,37 +481,15 @@
       assertEquals(size + 1, count);
    }
 
-   protected ResourceReferencesMetaData fixUpResourceRefs(ResourceReferencesMetaData overriden, ResourceReferencesMetaData override)
+   private void assertServiceRefs(String prefix, int size, IServiceReferencesMetaData serviceReferencesMetaData, boolean full)
    {
-      if (override == null || override.isEmpty())
-         return null;
-      
-      if (overriden == null)
-         overriden = new ResourceReferencesMetaData();
-      
-      for (ResourceReferenceMetaData ref : override)
-      {
-         String name = ref.getName();
-         if (overriden.get(name) == null)
-         {
-            ResourceReferenceMetaData r = new ResourceReferenceMetaData();
-            r.setName(name);
-            overriden.add(r);
-         }
-      }
-      
-      return overriden;
-   }
-
-   private void assertServiceRefs(String prefix, int size, ServiceReferencesMetaData serviceReferencesMetaData, boolean full)
-   {
       if(full == false)
          return;
 
       assertNotNull("no service refs are set for: "+prefix, serviceReferencesMetaData);
       assertEquals(size, serviceReferencesMetaData.size());
       int count = 1;
-      for (ServiceReferenceMetaData ref : serviceReferencesMetaData)
+      for (IServiceReferenceMetaData ref : serviceReferencesMetaData)
       {
          assertId(prefix + "ServiceRef" + count, ref);
          assertDescriptions(prefix + "ServiceRef" + count, ref.getDescriptionGroup().getDescriptions());
@@ -642,28 +557,6 @@
       assertEquals(size + 1, count);
    }
 
-   protected ResourceEnvironmentReferencesMetaData fixUpResourceEnvRefs(ResourceEnvironmentReferencesMetaData overriden, ResourceEnvironmentReferencesMetaData override)
-   {
-      if (override == null || override.isEmpty())
-         return null;
-      
-      if (overriden == null)
-         overriden = new ResourceEnvironmentReferencesMetaData();
-      
-      for (ResourceEnvironmentReferenceMetaData ref : override)
-      {
-         String name = ref.getName();
-         if (overriden.get(name) == null)
-         {
-            ResourceEnvironmentReferenceMetaData r = new ResourceEnvironmentReferenceMetaData();
-            r.setName(name);
-            overriden.add(r);
-         }
-      }
-      
-      return overriden;
-   }
-
    private void assertResourceEnvRefs(String prefix, int size, ResourceEnvironmentReferencesMetaData resourceEnvReferencesMetaData, boolean full)
    {
       assertNotNull("no resource env refs are set", resourceEnvReferencesMetaData);
@@ -700,28 +593,6 @@
       assertEquals(size + 1, count);
    }
 
-   protected MessageDestinationReferencesMetaData fixUpMessageDestinationRefs(MessageDestinationReferencesMetaData overriden, MessageDestinationReferencesMetaData override)
-   {
-      if (override == null || override.isEmpty())
-         return null;
-      
-      if (overriden == null)
-         overriden = new MessageDestinationReferencesMetaData();
-      
-      for (MessageDestinationReferenceMetaData ref : override)
-      {
-         String name = ref.getName();
-         if (overriden.get(name) == null)
-         {
-            MessageDestinationReferenceMetaData r = new MessageDestinationReferenceMetaData();
-            r.setName(name);
-            overriden.add(r);
-         }
-      }
-      
-      return overriden;
-   }
-
    private void assertMessageDestinationRefs(String prefix, int size, MessageDestinationReferencesMetaData messageDestinationReferencesMetaData, boolean full)
    {
       assertNotNull("no message destination refs are set", messageDestinationReferencesMetaData);
@@ -866,9 +737,9 @@
    {
       assertNotNull(jndiName);
       if (full)
-         assertEquals(prefix + "MappedName", jndiName);
+         assertEquals(prefix, prefix + "MappedName", jndiName);
       else
-         assertEquals(prefix + "JndiName", jndiName);
+         assertEquals(prefix, prefix + "JndiName", jndiName);
    }
 
    protected void assertAnnotations(String prefix, int size, AnnotationsMetaData annotationsMetaData)

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss42_testServiceRefQname.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss42_testServiceRefQname.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss42_testServiceRefQname.xml	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE jboss PUBLIC
+   "-//JBoss//DTD JBOSS 4.2//EN"
+   "http://www.jboss.org/j2ee/dtd/jboss_4_2.dtd">
+<!-- Id -->
+<jboss>
+   <enterprise-beans>
+      <session>
+         <ejb-name>WebserviceConsumer</ejb-name>
+
+         <service-ref>
+            <service-ref-name>OrganizationService</service-ref-name>
+            <wsdl-override>file:/wsdlRepository/organization-service.wsdl</wsdl-override>
+         </service-ref>
+         
+         <service-ref>
+            <service-ref-name>OrganizationService</service-ref-name>
+            <config-name>Secure Client Config</config-name>
+            <config-file>META-INF/jbossws-client-config.xml</config-file>
+            <handler-chain>META-INF/jbossws-client-handlers.xml</handler-chain>
+         </service-ref>
+         
+         <service-ref>
+            <service-ref-name>SecureService</service-ref-name>
+            <service-impl-class>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpointService</service-impl-class>
+            <service-qname>{http://org.jboss.ws/wsref}SecureEndpointService</service-qname>
+            <port-component-ref>
+               <service-endpoint-interface>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpoint</service-endpoint-interface>
+               <port-qname>{http://org.jboss.ws/wsref}SecureEndpointPort</port-qname>
+               <stub-property>
+                  <prop-name>javax.xml.ws.security.auth.username</prop-name>
+                  <prop-value>kermit</prop-value>
+               </stub-property>
+               <stub-property>
+                  <prop-name>javax.xml.ws.security.auth.password</prop-name>
+                  <prop-value>thefrog</prop-value>
+               </stub-property>
+            </port-component-ref>
+         </service-ref>
+      </session>
+   </enterprise-beans>   
+</jboss>


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

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss42_testServiceRefQnameWithNS.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss42_testServiceRefQnameWithNS.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss42_testServiceRefQnameWithNS.xml	2007-10-24 05:55:27 UTC (rev 66371)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE jboss PUBLIC
+   "-//JBoss//DTD JBOSS 4.2//EN"
+   "http://www.jboss.org/j2ee/dtd/jboss_4_2.dtd">
+<!-- Id -->
+<jboss>
+   <enterprise-beans>
+      <session>
+         <ejb-name>WebserviceConsumer</ejb-name>
+
+         <service-ref>
+            <service-ref-name>OrganizationService</service-ref-name>
+            <wsdl-override>file:/wsdlRepository/organization-service.wsdl</wsdl-override>
+         </service-ref>
+         
+         <service-ref>
+            <service-ref-name>OrganizationService</service-ref-name>
+            <config-name>Secure Client Config</config-name>
+            <config-file>META-INF/jbossws-client-config.xml</config-file>
+            <handler-chain>META-INF/jbossws-client-handlers.xml</handler-chain>
+         </service-ref>
+         
+         <service-ref>
+            <service-ref-name>SecureService</service-ref-name>
+            <service-impl-class>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpointService</service-impl-class>
+            <service-qname xmlns:session1="http://org.jboss.ws/wsref">session1:SecureEndpointService</service-qname>
+            <port-component-ref>
+               <service-endpoint-interface>org.jboss.tests.ws.jaxws.webserviceref.SecureEndpoint</service-endpoint-interface>
+               <port-qname>{http://org.jboss.ws/wsref}SecureEndpointPort</port-qname>
+               <stub-property>
+                  <prop-name>javax.xml.ws.security.auth.username</prop-name>
+                  <prop-value>kermit</prop-value>
+               </stub-property>
+               <stub-property>
+                  <prop-name>javax.xml.ws.security.auth.password</prop-name>
+                  <prop-value>thefrog</prop-value>
+               </stub-property>
+            </port-component-ref>
+         </service-ref>
+      </session>
+   </enterprise-beans>   
+</jboss>


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




More information about the jboss-cvs-commits mailing list