[jboss-cvs] JBossAS SVN: r66415 - in trunk: ejb3/src/main/org/jboss/ejb3/deployers and 8 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 25 00:31:53 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-10-25 00:31:53 -0400 (Thu, 25 Oct 2007)
New Revision: 66415

Added:
   trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/EnvironmentRefGroupConveter.java
Modified:
   trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientParsingDeployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3ClientDeployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossClientParsingDeployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/enc/MessageDestinationResolver.java
   trunk/server/build.xml
   trunk/server/src/main/org/jboss/deployment/EARStructure.java
   trunk/server/src/main/org/jboss/deployment/JBossAppParsingDeployer.java
   trunk/server/src/main/org/jboss/deployment/JBossEjbParsingDeployer.java
   trunk/server/src/main/org/jboss/deployment/security/JaccPolicyUtil.java
   trunk/server/src/main/org/jboss/ejb/EJBPermissionMapping.java
   trunk/server/src/main/org/jboss/ejb/EjbUtil50.java
   trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
   trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java
   trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java
   trunk/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookEJB21.java
   trunk/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB21.java
Log:
Update for changes in the unified metadata

Modified: trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -66,6 +66,8 @@
 import org.jboss.injection.ResourceHandler;
 import org.jboss.injection.WebServiceRefHandler;
 import org.jboss.logging.Logger;
+import org.jboss.metadata.client.jboss.JBossClientMetaData;
+import org.jboss.metadata.javaee.jboss.JBossRemoteEnvironmentRefsGroupMetaData;
 import org.jboss.metadata.serviceref.ServiceRefDelegate;
 import org.jboss.metadata.serviceref.VirtualFileAdaptor;
 import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
@@ -86,7 +88,7 @@
    private static final Logger log = Logger.getLogger(ClientENCInjectionContainer.class);
 
    private DeploymentUnit ejb3Unit;
-   private ApplicationClientDD xml;
+   private JBossClientMetaData xml;
    private Class<?> mainClass;
    private String applicationClientName;
    private ClassLoader classLoader;
@@ -105,7 +107,7 @@
 
    private MessageDestinationResolver messageDestinationResolver;
 
-   public ClientENCInjectionContainer(VFSDeploymentUnit unit, ApplicationClientDD xml, Class<?> mainClass, String applicationClientName, ClassLoader classLoader, Context encCtx) throws NamingException
+   public ClientENCInjectionContainer(VFSDeploymentUnit unit, JBossClientMetaData xml, Class<?> mainClass, String applicationClientName, ClassLoader classLoader, Context encCtx) throws NamingException
    {
       super(new SimpleJavaEEModule((unit.getParent() != null ? unit.getParent().getSimpleName() : null), unit.getSimpleName()));
       if(mainClass == null)
@@ -246,7 +248,7 @@
 
    public EnvironmentRefGroup getEnvironmentRefGroup()
    {
-      return xml;
+      return new EnvironmentRefGroupConveter(xml.getJndiEnvironmentRefsGroup());
    }
 
    public String getIdentifier()
@@ -295,7 +297,8 @@
 
    private void processMetaData()
    {
-      for(String dependency : xml.getDependencies())
+      if(xml.getDepends() != null)
+      for(String dependency : xml.getDepends())
       {
          getDependencyPolicy().addDependency(dependency);
       }
@@ -315,7 +318,9 @@
       try
       {
          // EJB container's XML must be processed before interceptor's as it may override interceptor's references
-         for (InjectionHandler handler : handlers) handler.loadXml(xml, this);
+         EnvironmentRefGroupConveter refs = new EnvironmentRefGroupConveter(xml.getJndiEnvironmentRefsGroup());
+         for (InjectionHandler handler : handlers)
+            handler.loadXml(refs, this);
 
          Map<AccessibleObject, Injector> tmp = InjectionUtil.processAnnotations(this, handlers, getMainClass());
          injectors.addAll(tmp.values());
@@ -337,6 +342,7 @@
 
          // When @WebServiceRef is not used service-ref won't be processed
          // In this case we process them late
+         /* TODO
          if(xml!=null)
          {
             for(ServiceRefMetaData sref : xml.getServiceRefs())
@@ -360,6 +366,7 @@
                }
             }
          }
+         */
       }
       finally
       {

Added: trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/EnvironmentRefGroupConveter.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/EnvironmentRefGroupConveter.java	                        (rev 0)
+++ trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/EnvironmentRefGroupConveter.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -0,0 +1,167 @@
+/*
+ * 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.ejb3.clientmodule;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
+import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
+import org.jboss.metadata.javaee.spec.RemoteEnvironmentRefsGroupMetaData;
+import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
+import org.jboss.metamodel.descriptor.EjbLocalRef;
+import org.jboss.metamodel.descriptor.EjbRef;
+import org.jboss.metamodel.descriptor.EnvEntry;
+import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
+import org.jboss.metamodel.descriptor.InjectionTarget;
+import org.jboss.metamodel.descriptor.JndiRef;
+import org.jboss.metamodel.descriptor.MessageDestinationRef;
+import org.jboss.metamodel.descriptor.PersistenceContextRef;
+import org.jboss.metamodel.descriptor.PersistenceUnitRef;
+import org.jboss.metamodel.descriptor.ResourceEnvRef;
+import org.jboss.metamodel.descriptor.ResourceRef;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+
+/**
+ * Convert unified metadata RemoteEnvironmentRefsGroupMetaData to a EnvironmentRefGroup
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class EnvironmentRefGroupConveter
+   extends EnvironmentRefGroup
+{
+   private RemoteEnvironmentRefsGroupMetaData refs;
+
+   public EnvironmentRefGroupConveter(RemoteEnvironmentRefsGroupMetaData refs)
+   {
+      this.refs = refs;
+   }
+
+   @Override
+   public Collection<EjbLocalRef> getEjbLocalRefs()
+   {
+      // TODO Auto-generated method stub
+      return super.getEjbLocalRefs();
+   }
+
+   @Override
+   public Collection<EjbRef> getEjbRefs()
+   {
+      // TODO Auto-generated method stub
+      return super.getEjbRefs();
+   }
+
+   @Override
+   public Collection<EnvEntry> getEnvEntries()
+   {
+      ArrayList<EnvEntry> entries = new ArrayList<EnvEntry>();
+      EnvironmentEntriesMetaData env = refs.getEnvironmentEntries();
+      if (env != null)
+      {
+         for(EnvironmentEntryMetaData entry : env)
+         {
+            EnvEntry ee = new EnvEntry();
+            ee.setEnvEntryName(entry.getEnvEntryName());
+            ee.setEnvEntryType(entry.getType());
+            ee.setEnvEntryValue(entry.getValue());
+            Set<ResourceInjectionTargetMetaData> rits = entry.getInjectionTargets();
+            if(rits != null && rits.isEmpty() == false)
+            {
+               ResourceInjectionTargetMetaData rit = rits.iterator().next();
+               InjectionTarget it = new InjectionTarget();
+               it.setTargetClass(rit.getInjectionTargetClass());
+               it.setTargetName(rit.getInjectionTargetName());
+               ee.setInjectionTarget(it);
+            }
+            ee.setIgnoreDependency(entry.isDependencyIgnored());
+            entries.add(ee);
+         }
+      }
+      return entries;
+   }
+
+   @Override
+   public Collection<JndiRef> getJndiRefs()
+   {
+      // TODO Auto-generated method stub
+      return super.getJndiRefs();
+   }
+
+   @Override
+   public MessageDestinationRef getMessageDestinationRefForLink(String link)
+   {
+      // TODO Auto-generated method stub
+      return super.getMessageDestinationRefForLink(link);
+   }
+
+   @Override
+   public Collection<MessageDestinationRef> getMessageDestinationRefs()
+   {
+      // TODO Auto-generated method stub
+      return super.getMessageDestinationRefs();
+   }
+
+   @Override
+   public List<PersistenceContextRef> getPersistenceContextRefs()
+   {
+      // TODO Auto-generated method stub
+      return super.getPersistenceContextRefs();
+   }
+
+   @Override
+   public List<PersistenceUnitRef> getPersistenceUnitRefs()
+   {
+      // TODO Auto-generated method stub
+      return super.getPersistenceUnitRefs();
+   }
+
+   @Override
+   public Collection<ResourceEnvRef> getResourceEnvRefs()
+   {
+      // TODO Auto-generated method stub
+      return super.getResourceEnvRefs();
+   }
+
+   @Override
+   public Collection<ResourceRef> getResourceRefs()
+   {
+      // TODO Auto-generated method stub
+      return super.getResourceRefs();
+   }
+
+   @Override
+   public ServiceRefMetaData getServiceRef(String name)
+   {
+      // TODO Auto-generated method stub
+      return super.getServiceRef(name);
+   }
+
+   @Override
+   public Collection<ServiceRefMetaData> getServiceRefs()
+   {
+      // TODO Auto-generated method stub
+      return super.getServiceRefs();
+   }
+
+}


Property changes on: trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/EnvironmentRefGroupConveter.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + native

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientParsingDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientParsingDeployer.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientParsingDeployer.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -21,90 +21,23 @@
  */
 package org.jboss.ejb3.deployers;
 
-import java.io.IOException;
+import org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer;
+import org.jboss.metadata.client.spec.ApplicationClientMetaData;
 
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.vfs.spi.deployer.ObjectModelFactoryDeployer;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.ejb3.metamodel.ApplicationClientDD;
-import org.jboss.ejb3.metamodel.ApplicationClientDDObjectFactory;
-import org.jboss.util.xml.DOMUtils;
-import org.jboss.virtual.VirtualFile;
-import org.jboss.xb.binding.ObjectModelFactory;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
-
 /**
- * Comment
+ * The javaee application client descriptor parsing deployer
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
  * @author adrian at jboss.org
+ * @author Scott.Stark at jboss.org
  * @version $Revision: $
  */
-public class AppClientParsingDeployer extends ObjectModelFactoryDeployer<ApplicationClientDD>
+public class AppClientParsingDeployer extends SchemaResolverDeployer<ApplicationClientMetaData>
 {
    public AppClientParsingDeployer()
    {
-      super(ApplicationClientDD.class);
+      super(ApplicationClientMetaData.class);
       setName("application-client.xml");
    }
    
-   @Override
-   protected ObjectModelFactory getObjectModelFactory(ApplicationClientDD root)
-   {
-      return new ApplicationClientDDObjectFactory();
-   }
-
-   @Override
-   protected boolean accepts(VFSDeploymentUnit unit) throws DeploymentException
-   {
-      boolean accepts = false;
-
-      // TODO This hack needs fixing properly
-      
-      // The jar must contain an META-INF/application-client.xml
-      VirtualFile dd = unit.getMetaDataFile(getName());
-      if (dd != null)
-      {
-         log.debug("Found application-client.xml file: " + unit.getName());
-         try
-         {
-            Element root = DOMUtils.parse(dd.openStream());
-            String namespaceURI = root.getNamespaceURI();
-            // Accept the J2EE5 namespace
-            accepts = "http://java.sun.com/xml/ns/javaee".equals(namespaceURI);
-            if (accepts == false)
-               log.debug("Ignore application-client.xml with namespace: " + namespaceURI);
-         }
-         catch (IOException ex)
-         {
-            DeploymentException.rethrowAsDeploymentException("Cannot parse " + getName(), ex);
-         }
-      }
-
-      if(accepts)
-      {
-         // in the cts there are apps with application-client with version 5
-         // and jboss-client with version 4
-         dd = unit.getMetaDataFile("jboss-client.xml");
-         if (dd != null)
-         {
-            log.debug("Found jboss-client.xml file: " + unit.getName());
-            try
-            {
-               Element root = DOMUtils.parse(dd.openStream());
-               DocumentType doctype = root.getOwnerDocument().getDoctype();
-               String publicId = (doctype != null ? doctype.getPublicId() : null);
-
-               accepts = !"-//JBoss//DTD Application Client 4.0//EN".equals(publicId);
-            }
-            catch (IOException ex)
-            {
-               DeploymentException.rethrowAsDeploymentException("Cannot parse jboss-client.xml", ex);
-            }
-         }
-      }
-
-      return accepts;
-   }
 }

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3ClientDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3ClientDeployer.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3ClientDeployer.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -44,6 +44,7 @@
 import org.jboss.ejb3.clientmodule.ClientENCInjectionContainer;
 import org.jboss.ejb3.metamodel.ApplicationClientDD;
 import org.jboss.kernel.Kernel;
+import org.jboss.metadata.client.jboss.JBossClientMetaData;
 import org.jboss.naming.Util;
 import org.jboss.virtual.VirtualFile;
 
@@ -54,7 +55,7 @@
  * @author adrian at jboss.org
  * @version $Revision: $
  */
-public class Ejb3ClientDeployer extends AbstractSimpleVFSRealDeployer<ApplicationClientDD>
+public class Ejb3ClientDeployer extends AbstractSimpleVFSRealDeployer<JBossClientMetaData>
 {
    private Kernel kernel;
    private MBeanServer server;
@@ -64,12 +65,12 @@
     */
    public Ejb3ClientDeployer()
    {
-      super(ApplicationClientDD.class);
+      super(JBossClientMetaData.class);
       setOutput(ClientENCInjectionContainer.class);
    }
 
    @Override
-   public void deploy(VFSDeploymentUnit unit, ApplicationClientDD metaData) throws DeploymentException
+   public void deploy(VFSDeploymentUnit unit, JBossClientMetaData metaData) throws DeploymentException
    {
       log.debug("deploy " + unit.getName());
       
@@ -125,7 +126,7 @@
     * @param dd
     * @return   a good JNDI name
     */
-   private String getJndiName(DeploymentUnit unit, ApplicationClientDD dd)
+   private String getJndiName(DeploymentUnit unit, JBossClientMetaData dd)
    {
       String jndiName = dd.getJndiName();
       if(jndiName != null)
@@ -215,7 +216,7 @@
    }
 
    @Override
-   public void undeploy(VFSDeploymentUnit unit, ApplicationClientDD metaData)
+   public void undeploy(VFSDeploymentUnit unit, JBossClientMetaData metaData)
    {
       log.debug("undeploy " + unit.getName());
 

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossClientParsingDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossClientParsingDeployer.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossClientParsingDeployer.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -21,87 +21,49 @@
  */
 package org.jboss.ejb3.deployers;
 
-import java.io.IOException;
-
 import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.vfs.spi.deployer.ObjectModelFactoryDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.ejb3.metamodel.ApplicationClientDD;
-import org.jboss.ejb3.metamodel.JBossClientDDObjectFactory;
-import org.jboss.util.xml.DOMUtils;
+import org.jboss.metadata.client.jboss.JBossClientMetaData;
+import org.jboss.metadata.client.spec.ApplicationClientMetaData;
 import org.jboss.virtual.VirtualFile;
-import org.jboss.xb.binding.ObjectModelFactory;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Element;
 
 /**
- * Comment
+ * The jboss-client.xml javaee client parsing deployer
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
  * @author adrian at jboss.org
+ * @author Scott.Stark at jboss.org
  * @version $Revision: $
  */
-public class JBossClientParsingDeployer extends ObjectModelFactoryDeployer<ApplicationClientDD>
+public class JBossClientParsingDeployer extends SchemaResolverDeployer<JBossClientMetaData>
 {
    public JBossClientParsingDeployer()
    {
-      super(ApplicationClientDD.class);
-      setInputs(ApplicationClientDD.class);
+      super(JBossClientMetaData.class);
+      super.setInput(ApplicationClientMetaData.class);
       setName("jboss-client.xml");
    }
-   
-   @Override
-   protected boolean allowsReparse()
-   {
-      return true;
-   }
-   
-   @Override
-   protected ObjectModelFactory getObjectModelFactory(ApplicationClientDD root)
-   {
-      // if we haven't gotten an application-client.xml yet
-      if(root == null)
-         root = new ApplicationClientDD();
-      
-      return new JBossClientDDObjectFactory(root);
-   }
 
+   /**
+    * Override to create the merged JBossClientMetaData view
+    */
    @Override
-   protected boolean accepts(VFSDeploymentUnit unit) throws DeploymentException
+   protected void createMetaData(DeploymentUnit unit, String name, String suffix) throws DeploymentException
    {
-      boolean accepts = false;
+      super.createMetaData(unit, name, suffix);
+      JBossClientMetaData jbossMetaData = getMetaData(unit, JBossClientMetaData.class.getName());
+      if(jbossMetaData == null)
+         return;
 
-      // TODO fix this hack properly
-      
-      // The jar must contain an META-INF/application-client.xml
-      VirtualFile dd = unit.getMetaDataFile(getName());
-      if (dd != null)
-      {
-         log.debug("Found jboss-client.xml file: " + unit.getName());
-         
-         // JBCTS-503: a deployment may contain a 4 jboss dd, instead of a 5
-         if(unit.getAttachment(ApplicationClientDD.class) != null)
-         {
-            log.debug("Accepting legacy jboss-client.xml because a version 5 application-client.xml is present");
-            return true;
-         }
-         
-         try
-         {
-            Element root = DOMUtils.parse(dd.openStream());
-            DocumentType doctype = root.getOwnerDocument().getDoctype();
-            String publicId = (doctype != null ? doctype.getPublicId() : null);
-            // Accept the JBoss5 publicId
-            accepts = "-//JBoss//DTD Application Client 5.0//EN".equals(publicId);
-            if (accepts == false)
-               log.debug("Ignore jboss-client.xml with publicId: " + publicId);
-         }
-         catch (IOException ex)
-         {
-            DeploymentException.rethrowAsDeploymentException("Cannot parse " + getName(), ex);
-         }
-      }
-
-      return accepts;
+      ApplicationClientMetaData acmd = unit.getAttachment(ApplicationClientMetaData.class);
+      // Create a merged view
+      JBossClientMetaData metaData = new JBossClientMetaData();
+      metaData.merge(jbossMetaData, acmd, true);
+      // Register the merged view as the output
+      unit.getTransientManagedObjects().addAttachment(JBossClientMetaData.class.getName(), metaData, getOutput());
+      // Keep the raw parsed as well
+      unit.getTransientManagedObjects().addAttachment("Raw"+JBossClientMetaData.class.getName(), jbossMetaData, getOutput());
    }
 }

Modified: trunk/ejb3/src/main/org/jboss/ejb3/enc/MessageDestinationResolver.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/enc/MessageDestinationResolver.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/ejb3/src/main/org/jboss/ejb3/enc/MessageDestinationResolver.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -29,6 +29,7 @@
 import org.jboss.ejb3.Ejb3Deployment;
 import org.jboss.ejb3.metamodel.MessageDestination;
 import org.jboss.logging.Logger;
+import org.jboss.metadata.javaee.spec.MessageDestinationsMetaData;
 
 /**
  * Find a message destination link within any module of
@@ -56,6 +57,11 @@
       }
    }
    
+   public MessageDestinationResolver(DeploymentScope deploymentScope2, MessageDestinationsMetaData mergedMessageDestinations)
+   {
+      // TODO Auto-generated constructor stub
+   }
+
    private String getMessageDestinationJNDIName(String name)
    {
       MessageDestination dest = messageDestinations.get(name);

Modified: trunk/server/build.xml
===================================================================
--- trunk/server/build.xml	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/server/build.xml	2007-10-25 04:31:53 UTC (rev 66415)
@@ -548,13 +548,6 @@
       </fileset>
     </jar>
     
-    <!-- jboss-metamodel.jar -->
-    <jar jarfile="${build.lib}/jboss-metamodel.jar">
-      <fileset dir="${build.classes}">
-        <include name="org/jboss/metamodel/**"/>
-      </fileset>    
-    </jar>
-
     <!-- Update the build marker to allow bypassing -->
     <touch file="${build-bypass.marker}"/>
 

Modified: trunk/server/src/main/org/jboss/deployment/EARStructure.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/EARStructure.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/server/src/main/org/jboss/deployment/EARStructure.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -162,8 +162,8 @@
             try
             {
                appMetaData = (JBossAppMetaData) unmarshaller.unmarshal(in, resolver);
-               if (specMetaData != null)
-                  appMetaData.setOverridenMetaData(specMetaData);
+               // Create the merged view
+               appMetaData.merge(appMetaData, specMetaData);
             }
             finally
             {
@@ -175,7 +175,6 @@
          {
             appMetaData = new JBossAppMetaData();
             specMetaData = new EarMetaData();
-            appMetaData.setOverridenMetaData(specMetaData);
          }
          // Add the ear lib contents to the classpath
          String libDir = appMetaData.getLibraryDirectory() == null ? "lib" : appMetaData.getLibraryDirectory();
@@ -217,7 +216,7 @@
          }
 
          // Create subdeployments for the ear modules
-         ModulesMetaData modules = appMetaData.getMergedModules();
+         ModulesMetaData modules = appMetaData.getModules();
          for (ModuleMetaData mod : modules)
          {
             String fileName = mod.getFileName();

Modified: trunk/server/src/main/org/jboss/deployment/JBossAppParsingDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/JBossAppParsingDeployer.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/server/src/main/org/jboss/deployment/JBossAppParsingDeployer.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -32,6 +32,7 @@
 import org.jboss.metadata.common.jboss.LoaderRepositoryConfigMetaData;
 import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
 import org.jboss.metadata.ear.jboss.JBossAppMetaData;
+import org.jboss.metadata.ear.spec.EarMetaData;
 import org.jboss.mx.loading.LoaderRepositoryFactory;
 import org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfig;
 import org.jboss.virtual.VirtualFile;
@@ -136,31 +137,46 @@
       this.unauthenticatedIdentity = unauthenticatedIdentity;
    }
 
-   /**
-    * Overriden to indicate we expect to run the parse even if an existing
-    * J2eeApplicationMetaData attachment is found.
-    * @return true.
-    */
+   
    @Override
-   protected boolean allowsReparse()
+   protected void createMetaData(DeploymentUnit unit, String name, String suffix) throws DeploymentException
    {
-      return true;
+      super.createMetaData(unit, name, suffix);
+      EarMetaData specMetaData = unit.getAttachment(EarMetaData.class);
+      JBossAppMetaData metaData = unit.getAttachment(JBossAppMetaData.class);
+      if(specMetaData == null && metaData == null)
+         return;
+
+      // If there no JBossMetaData was created from a jboss-app.xml, create one
+      if (metaData == null)
+      {
+         metaData = new JBossAppMetaData();
+      }
+      // Create a merged view
+      JBossAppMetaData mergedMetaData = new JBossAppMetaData();
+      mergedMetaData.merge(metaData, specMetaData);
+      // Set the merged as the output
+      unit.getTransientManagedObjects().addAttachment(JBossAppMetaData.class, mergedMetaData);
+      // Keep the raw parsed metadata as well
+      unit.addAttachment("Raw"+JBossAppMetaData.class.getName(), metaData, JBossAppMetaData.class);
    }
 
+   /**
+    * Build the LoaderRepositoryConfig attachment
+    */
    @Override
    protected void init(VFSDeploymentUnit unit, JBossAppMetaData metaData, VirtualFile file)
       throws Exception
    {
       // Add the loader repository config
-      JBossAppMetaData earMetaData = unit.getAttachment(JBossAppMetaData.class);
-      if (earMetaData != null)
+      if (metaData != null)
       {
-         LoaderRepositoryMetaData lrmd = earMetaData.getLoaderRepository();
+         LoaderRepositoryMetaData lrmd = metaData.getLoaderRepository();
          LoaderRepositoryConfig loaderCfg = null;
          if (loaderCfg == null && isolated)
          {
             // If no config was given and isolation is on, create an isolated config
-            loaderCfg = initLoaderRepository(earMetaData, unit);
+            loaderCfg = initLoaderRepository(metaData, unit);
          }
          if (lrmd != null)
          {

Modified: trunk/server/src/main/org/jboss/deployment/JBossEjbParsingDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/JBossEjbParsingDeployer.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/server/src/main/org/jboss/deployment/JBossEjbParsingDeployer.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -70,11 +70,6 @@
       unit.addAttachment(ApplicationMetaData.class, amd);
    }
 
-   /**
-    * Override to wrap the jboss.xml metadata with a wrapper that delegates to
-    * the standardjboss.xml metadata, and to include any EjbJarMetaData
-    * override.
-    */
    @Override
    protected JBossMetaData parse(VFSDeploymentUnit unit, VirtualFile file, JBossMetaData root) throws Exception
    {
@@ -88,14 +83,7 @@
       }
 
       JBossMetaData metaData = super.parse(unit, file, root);
-      // Delegate to any spec ejb-jar metadata
-      EjbJarMetaData specMetaData = unit.getAttachment(EjbJarMetaData.class);
-      if (specMetaData != null)
-         metaData.setOverridenMetaData(specMetaData);
-
-      // Wrap in the standardjboss.xml 
-      JBossMetaDataWrapper wrapper = new JBossMetaDataWrapper(metaData, getStandardMetaData(unit));
-      return wrapper;
+      return metaData;
    }
 
    private JBossMetaData getStandardMetaData(VFSDeploymentUnit unit) throws DeploymentException
@@ -122,24 +110,36 @@
    }
 
    /**
-    * Make sure we always have a JBossMetaData object attached, even if there is no jboss.xml
-    * in the deployment
+    * Override to wrap the jboss.xml metadata with a wrapper that delegates to
+    * the standardjboss.xml metadata, and to include any EjbJarMetaData
+    * override. We also make sure we always have a JBossMetaData object attached, even
+    * if there is no jboss.xml in the deployment, if there is an EjbJarMetaData.
     */
    @Override
    protected void createMetaData(DeploymentUnit unit, String name, String suffix, String key) throws DeploymentException
    {
       super.createMetaData(unit, name, suffix, key);
+      EjbJarMetaData specMetaData = unit.getTransientManagedObjects().getAttachment(EjbJarMetaData.class);
+      JBossMetaData metaData = unit.getTransientManagedObjects().getAttachment(getOutput());
+      if((specMetaData == null && metaData == null) || (unit instanceof VFSDeploymentUnit) == false)
+         return;
 
-      EjbJarMetaData ejbmd = unit.getTransientManagedObjects().getAttachment(EjbJarMetaData.class);
-      JBossMetaData result = unit.getTransientManagedObjects().getAttachment(getOutput());
-      if (result == null && ejbmd != null && unit instanceof VFSDeploymentUnit)
+      VFSDeploymentUnit vfsunit = (VFSDeploymentUnit) unit;
+      // If there no JBossMetaData was created from a jboss.xml, create one
+      if (metaData == null)
       {
-         result = new JBossMetaDataWrapper(new JBossMetaData(), getStandardMetaData((VFSDeploymentUnit)unit));
-         result.setOverridenMetaData(ejbmd);
+         metaData = new JBossMetaData();
          JBossEnterpriseBeansMetaData jbBeans = new JBossEnterpriseBeansMetaData();
-         jbBeans.setOverridenMetaData(ejbmd.getEnterpriseBeans());
-         result.setEnterpriseBeans(jbBeans);
-         unit.getTransientManagedObjects().addAttachment(key, result, getOutput());
+         metaData.setEnterpriseBeans(jbBeans);
       }
+      // Create a merged view
+      JBossMetaData mergedMetaData = new JBossMetaData();
+      mergedMetaData.merge(metaData, specMetaData);
+      // Wrap in the standardjboss.xml 
+      JBossMetaDataWrapper wrapper = new JBossMetaDataWrapper(mergedMetaData, getStandardMetaData(vfsunit));
+      // Set the wrapper as the output
+      unit.getTransientManagedObjects().addAttachment(JBossMetaData.class, wrapper);
+      // Keep the raw parsed metadata as well
+      unit.addAttachment("Raw"+JBossMetaData.class.getName(), metaData, JBossMetaData.class);
    }
 }

Modified: trunk/server/src/main/org/jboss/deployment/security/JaccPolicyUtil.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/security/JaccPolicyUtil.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/server/src/main/org/jboss/deployment/security/JaccPolicyUtil.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -31,6 +31,7 @@
 
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb.EJBPermissionMapping;
+import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
@@ -122,22 +123,21 @@
          JBossWebMetaData wmd = (JBossWebMetaData)metadata;  
          WebPermissionMapping.createPermissions(wmd, policyConfiguration); 
       }
-      else
-         if(metadata instanceof JBossEnterpriseBeanMetaData)
+      else if(metadata instanceof JBossEnterpriseBeanMetaData)
+      {
+         JBossEnterpriseBeanMetaData bmd = (JBossEnterpriseBeanMetaData)metadata;  
+         EJBPermissionMapping.createPermissions(bmd, policyConfiguration); 
+      } 
+      else if(metadata instanceof JBossMetaData)
+      {
+         JBossMetaData jmd = (JBossMetaData)metadata;
+         IEnterpriseBeansMetaData<JBossEnterpriseBeanMetaData> beans = jmd.getEnterpriseBeans();
+         for(JBossEnterpriseBeanMetaData bmd : beans)
          {
-            JBossEnterpriseBeanMetaData bmd = (JBossEnterpriseBeanMetaData)metadata;  
-            EJBPermissionMapping.createPermissions(bmd, policyConfiguration); 
+            EJBPermissionMapping.createPermissions(bmd, policyConfiguration);
          } 
-         else
-            if(metadata instanceof JBossMetaData)
-            {
-               JBossEnterpriseBeansMetaData beans = ((JBossMetaData)metadata).getMergedEnterpriseBeans();
-               for(JBossEnterpriseBeanMetaData bmd : beans)
-               {
-                  EJBPermissionMapping.createPermissions(bmd, policyConfiguration);
-               } 
-            }
-         else
-            throw new IllegalStateException("Unknown metadata"); 
+      }
+      else
+         throw new IllegalStateException("Unknown metadata");
    }
 }

Modified: trunk/server/src/main/org/jboss/ejb/EJBPermissionMapping.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/EJBPermissionMapping.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/server/src/main/org/jboss/ejb/EJBPermissionMapping.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -34,6 +34,7 @@
 import org.jboss.metadata.SecurityRoleRefMetaData;
 import org.jboss.metadata.SessionMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.spec.ExcludeListMetaData;
 import org.jboss.metadata.ejb.spec.MethodInterfaceType;
@@ -58,9 +59,8 @@
    public static void createPermissions(JBossEnterpriseBeanMetaData bean, PolicyConfiguration pc)
       throws PolicyContextException
    {
-      EnterpriseBeanMetaData beanSpecMD = bean.getOverridenMetaData();
       // Process the method-permission MethodMetaData
-      MethodPermissionsMetaData perms = beanSpecMD.getMethodPermissions();
+      MethodPermissionsMetaData perms = bean.getMethodPermissions();
       if(perms != null)
       for(MethodPermissionMetaData perm : perms)
       {
@@ -96,7 +96,7 @@
       }
 
       // Process the exclude-list MethodMetaData
-      ExcludeListMetaData excluded = beanSpecMD.getExcludeList();
+      ExcludeListMetaData excluded = bean.getExcludeList();
       if(excluded != null)
       {
          MethodsMetaData methods = excluded.getMethods();
@@ -132,7 +132,7 @@
        */
       if( bean.isSession() )
       {
-         SessionBeanMetaData smd = (SessionBeanMetaData) bean.getOverridenMetaData();
+         JBossSessionBeanMetaData smd = (JBossSessionBeanMetaData) bean;
          if( smd.isStateful() )
          {
             EJBMethodPermission p = new EJBMethodPermission(bean.getEjbName(),

Modified: trunk/server/src/main/org/jboss/ejb/EjbUtil50.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/EjbUtil50.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/server/src/main/org/jboss/ejb/EjbUtil50.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -30,6 +30,7 @@
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
 import org.jboss.logging.Logger;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
@@ -201,7 +202,7 @@
       if (targetUnit.getAttachment(JBossMetaData.class) != null)
       {
          JBossMetaData appMD = targetUnit.getAttachment(JBossMetaData.class);
-         JBossEnterpriseBeanMetaData beanMD = appMD.getEnterpriseBean(ejbName);
+         IEnterpriseBeanMetaData<JBossEnterpriseBeanMetaData> beanMD = appMD.getEnterpriseBean(ejbName);
 
          if (beanMD != null)
          {
@@ -233,7 +234,7 @@
       if (unit.getAttachment(JBossMetaData.class) != null)
       {
          JBossMetaData appMD = unit.getAttachment(JBossMetaData.class);
-         JBossEnterpriseBeanMetaData beanMD = appMD.getEnterpriseBean(link);
+         IEnterpriseBeanMetaData<JBossEnterpriseBeanMetaData> beanMD = appMD.getEnterpriseBean(link);
          if (beanMD != null)
          {
             ejbName = getJndiName(beanMD, isLocal);
@@ -271,9 +272,10 @@
       return ejbName;
    }
 
-   private static String getJndiName(JBossEnterpriseBeanMetaData beanMD, boolean isLocal)
+   private static String getJndiName(IEnterpriseBeanMetaData<JBossEnterpriseBeanMetaData> ibeanMD, boolean isLocal)
    {
       String jndiName = null;
+      JBossEnterpriseBeanMetaData beanMD = ibeanMD.cast();
       if (isLocal)
       {
          // Validate that there is a local home associated with this bean
@@ -383,7 +385,7 @@
       if (targetUnit.getAttachment(JBossMetaData.class) != null)
       {
          JBossMetaData appMD = targetUnit.getAttachment(JBossMetaData.class);
-         return appMD.getMergedAssemblyDescriptor().getMessageDestination(destinationName);
+         return appMD.getAssemblyDescriptor().getMessageDestination(destinationName);
       }
       if (targetUnit.getAttachment(JBossWebMetaData.class) != null)
       {
@@ -406,7 +408,7 @@
       if (unit.getAttachment(JBossMetaData.class) != null)
       {
          JBossMetaData appMD = unit.getAttachment(JBossMetaData.class);
-         MessageDestinationMetaData mdMD = appMD.getMergedAssemblyDescriptor().getMessageDestination(link);
+         MessageDestinationMetaData mdMD = appMD.getAssemblyDescriptor().getMessageDestination(link);
          if (mdMD != null)
             return mdMD;
       }

Modified: trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -36,10 +36,10 @@
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb.EjbModule;
 import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.common.ejb.IEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
 import org.jboss.metadata.ejb.jboss.InvokerProxyBindingMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.security.ISecurityManagement;
 import org.jboss.system.metadata.ServiceAttributeMetaData;
@@ -175,7 +175,7 @@
       throws DeploymentException
    {
       // TODO: use BeanVerifier to validate the metadata in the DDs
-      if (deployment.getOverridenMetaData() == null || deployment.getOverridenMetaData().isEJB3x())
+      if (deployment.isEJB3x())
          return; // let EJB3 deployer handle this 
 
       ServiceMetaData ejbModule = new ServiceMetaData();
@@ -245,7 +245,7 @@
          dependencies.add(ccm);
       }
       // Add dependencies on the invoker services in use
-      JBossEnterpriseBeansMetaData beans = deployment.getEnterpriseBeans();
+      IEnterpriseBeansMetaData<JBossEnterpriseBeanMetaData> beans = deployment.getEnterpriseBeans();
       Iterator<JBossEnterpriseBeanMetaData> beansIter = beans.iterator();
       HashSet<String> invokerNames = new HashSet<String>();
       HashSet<String> beanDepends = new HashSet<String>();

Modified: trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -310,7 +310,7 @@
          if( metaData.getSecurityDomain() == null )
             metaData.setSecurityDomain(earMetaData.getSecurityDomain());
          // TODO
-         metaData.mergeSecurityRoles(earMetaData.getMergedSecurityRoles());
+         metaData.mergeSecurityRoles(earMetaData.getSecurityRoles());
       }
 
       try

Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -29,6 +29,7 @@
 
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.logging.Logger;
+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.JBossEnterpriseBeanMetaData;
@@ -76,7 +77,7 @@
    private void buildEnterpriseBeansMetaData(EJBArchiveMetaData umd, JBossMetaData jbmd)
    {
       List<EJBMetaData> targetBeans = new ArrayList<EJBMetaData>();
-      JBossEnterpriseBeansMetaData sourceBeans = jbmd.getEnterpriseBeans();
+      IEnterpriseBeansMetaData<JBossEnterpriseBeanMetaData> sourceBeans = jbmd.getEnterpriseBeans();
       Iterator<JBossEnterpriseBeanMetaData> it = sourceBeans.iterator();
       while (it.hasNext())
       {
@@ -133,20 +134,17 @@
 
    private EJBMetaData buildBeanMetaData(List<EJBMetaData> beans, JBossEnterpriseBeanMetaData jbmd)
    {
-      EnterpriseBeanMetaData stdMetaData = jbmd.getOverridenMetaData();
-      
       EJBMetaData targetBean = null;
       if (jbmd.isSession())
       {
          targetBean = new SLSBMetaData();
-         SessionBeanMetaData stdSessionBean = (SessionBeanMetaData)stdMetaData;
          JBossSessionBeanMetaData jbossSessionBean = (JBossSessionBeanMetaData)jbmd;
          
-         targetBean.setEjbName(stdSessionBean.getEjbName());
-         targetBean.setEjbClass(stdSessionBean.getEjbClass());
-         targetBean.setServiceEndpointInterface(stdSessionBean.getServiceEndpoint());
-         targetBean.setHome(stdSessionBean.getHome());
-         targetBean.setLocalHome(stdSessionBean.getLocalHome());
+         targetBean.setEjbName(jbossSessionBean.getEjbName());
+         targetBean.setEjbClass(jbossSessionBean.getEjbClass());
+         targetBean.setServiceEndpointInterface(jbossSessionBean.getServiceEndpoint());
+         targetBean.setHome(jbossSessionBean.getHome());
+         targetBean.setLocalHome(jbossSessionBean.getLocalHome());
          targetBean.setJndiName(jbossSessionBean.determineJndiName());
          targetBean.setLocalJndiName(jbmd.determineLocalJndiName());
          
@@ -165,11 +163,10 @@
       else if (jbmd.isMessageDriven())
       {
          targetBean = new MDBMetaData();
-         MessageDrivenBeanMetaData stdMessageBean = (MessageDrivenBeanMetaData)stdMetaData;
          JBossMessageDrivenBeanMetaData jbossMessageBean = (JBossMessageDrivenBeanMetaData)jbmd;
          
-         targetBean.setEjbName(stdMessageBean.getEjbName());
-         targetBean.setEjbClass(stdMessageBean.getEjbClass());
+         targetBean.setEjbName(jbossMessageBean.getEjbName());
+         targetBean.setEjbClass(jbossMessageBean.getEjbClass());
          //targetBean.setServiceEndpointInterface(???);
          //targetBean.setJndiName(???);
          targetBean.setLocalJndiName(jbmd.getLocalJndiName());

Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookEJB21.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookEJB21.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookEJB21.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -25,6 +25,7 @@
 
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.wsf.spi.deployment.ArchiveDeployment;
@@ -81,11 +82,11 @@
             if (ejbLink == null)
                throw new IllegalStateException("ejb-link cannot be null");
 
-            JBossEnterpriseBeanMetaData beanMetaData = jbmd.getEnterpriseBean(ejbLink);
+            IEnterpriseBeanMetaData<JBossEnterpriseBeanMetaData> beanMetaData = jbmd.getEnterpriseBean(ejbLink);
             if (beanMetaData == null)
                throw new IllegalStateException("Cannot obtain bean meta data for: " + ejbLink);
 
-            String ejbClass = beanMetaData.getOverridenMetaData().getEjbClass();
+            String ejbClass = beanMetaData.getEjbClass();
 
             // Create the endpoint
             Endpoint ep = newEndpoint(ejbClass);

Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB21.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB21.java	2007-10-25 04:22:45 UTC (rev 66414)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB21.java	2007-10-25 04:31:53 UTC (rev 66415)
@@ -24,6 +24,7 @@
 //$Id: SecurityHandlerEJB21.java 4013 2007-07-27 04:37:52Z thomas.diesler at jboss.com $
 
 import org.dom4j.Element;
+import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.spec.EjbJarMetaData;
@@ -63,8 +64,7 @@
    {
       // Fix: http://jira.jboss.org/jira/browse/JBWS-309
       JBossMetaData jbmd = dep.getAttachment(JBossMetaData.class);
-      EjbJarMetaData stdMetaData = jbmd.getOverridenMetaData();
-      AssemblyDescriptorMetaData assemblyDescriptor = stdMetaData.getAssemblyDescriptor();
+      IAssemblyDescriptorMetaData assemblyDescriptor = jbmd.getAssemblyDescriptor();
       if (assemblyDescriptor != null)
       {
          SecurityRolesMetaData srmd = assemblyDescriptor.getSecurityRoles();




More information about the jboss-cvs-commits mailing list