[jboss-cvs] JBossAS SVN: r75470 - in projects/metadata/trunk: src/main/java/org/jboss/ejb3/metamodel and 28 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 8 01:07:23 EDT 2008


Author: ALRubinger
Date: 2008-07-08 01:07:22 -0400 (Tue, 08 Jul 2008)
New Revision: 75470

Added:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/JBossSessionPolicyDecorator.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/JbossEntityPolicyDecorator.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/JbossEnterpriseBeanJndiNameResolver.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/JbossSessionBeanJndiNameResolver.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/ResolveableJndiNameJbossEnterpriseBeanMetadata.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/ResolveableJndiNameJbossSessionBeanMetadata.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java
Removed:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionPolicyDecorator.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResovleJndiNameDecoratorUnitTestCase.java
Modified:
   projects/metadata/trunk/pom.xml
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/ActivationConfig.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/AssemblyDescriptor.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Consumer.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/ExcludeList.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/InitList.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Inject.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Interceptor.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MessageDrivenBean.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MethodAttributes.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MethodPermission.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Producer.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/RemoteBinding.java
   projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/RemoveList.java
   projects/metadata/trunk/src/main/java/org/jboss/invocation/InvocationType.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/EntityMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/MessageDrivenMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/Webservices.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractResourceProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/PostConstructMethodProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/PreDestroyMethodProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceClassProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceFieldProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourcesClassProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/AbstractEnterpriseBeanProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/PermitAllProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/RemoveProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/RolesAllowedProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/PermitAllProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/RemoveProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/RolesAllowedProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/Web25MetaDataCreator.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/WebComponentProcessor.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IAssemblyDescriptorMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/LoaderRepositoryConfigMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/LoaderRepositoryMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/WebserviceDescriptionMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/Ear13DTDMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/EarMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/JavaModuleMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModuleMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaDataWrapper.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORASContextMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORSASContextMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORSecurityConfigMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORTransportConfigMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingsMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBoss50DTDMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBoss50MetaData.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/JBossConsumerBeanMetaData.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/JBossEntityBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityGenericWrapper.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/JBossMessageDrivenBeanGenericWrapper.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionGenericWrapper.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/MethodAttributeMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/MethodAttributesMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/RemoteBindingMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagerMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagersMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/EjbNameJndiBindingPolicy.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/SessionJndiBindingPolicy.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/DeploymentSummary.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/EjbDeploymentSummary.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossEnterpriseBeansMetaDataProxy.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossMetaDataProxy.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ActivationConfigMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ActivationConfigPropertyMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ApplicationExceptionMetaData.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/CMPFieldMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/CMRFieldMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar20MetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar21MetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar30MetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EntityBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InitMethodMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorBindingMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorsMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodParametersMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodPermissionMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/NamedMethodMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/QueryMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/QueryMethodMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationRoleMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationRoleSourceMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationsMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RemoveMethodMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SecurityIdentityMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SessionBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/AnnotationMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/AnnotationPropertyMetaData.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/EnvironmentRefsGroupMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceEnvironmentReferenceMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionTargetMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RunAsMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceHandlerChainsMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/jpa/spec/PersistenceMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/jpa/spec/PersistenceUnitMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/ClassLoadingMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/JspConfigMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/LocaleEncodingsMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WelcomeFileListMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/JndiRef.java
   projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/PersistenceContextRef.java
   projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/PersistenceUnitRef.java
   projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java
   projects/metadata/trunk/src/main/java/org/jboss/security/SecurityRoleMetaData.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyStatefulBean.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient14UnitTestCase.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/ResolvedJndiNameUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/DefaultNamingStrategyTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta58/MyDefaultJndiBindingPolicy.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta58/unit/DeploymentSummaryTestCase.java
Log:
[JBMETA-68] Remove JNDI resolution logic from object model, keep backwards-compat in place

Modified: projects/metadata/trunk/pom.xml
===================================================================
--- projects/metadata/trunk/pom.xml	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/pom.xml	2008-07-08 05:07:22 UTC (rev 75470)
@@ -79,7 +79,7 @@
     <dependency>
       <groupId>org.jboss.ejb3</groupId>
       <artifactId>jboss-ejb3-ext-api</artifactId>
-      <version>0.3</version>
+      <version>0.4</version>
     </dependency>
     
     <dependency>

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/ActivationConfig.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/ActivationConfig.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/ActivationConfig.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,13 +21,12 @@
  */
 package org.jboss.ejb3.metamodel;
 
-import java.util.List;
 import java.util.ArrayList;
+import java.util.List;
 
+import org.jboss.logging.Logger;
 import org.jboss.metamodel.descriptor.NameValuePair;
 
-import org.jboss.logging.Logger;
-
 /**
  * Represents a activation-config element of the ejb-jar.xml deployment descriptor for
  * the 1.4 schema

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/AssemblyDescriptor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/AssemblyDescriptor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/AssemblyDescriptor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -31,7 +31,6 @@
 import java.util.Set;
 
 import org.jboss.logging.Logger;
- 
 import org.jboss.metadata.SecurityRoleMetaData;
 import org.jboss.metamodel.descriptor.SecurityRole;
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Consumer.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Consumer.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Consumer.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,10 +21,11 @@
  */
 package org.jboss.ejb3.metamodel;
 
-import org.jboss.logging.Logger;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.ArrayList;
 
+import org.jboss.logging.Logger;
+
 /**
  * @author <a href="mailto:bdecoste at jboss.com">William DeCoste</a>
  * @version <tt>$Revision$</tt>

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -38,8 +38,8 @@
 import org.jboss.metamodel.descriptor.RunAs;
 import org.jboss.metamodel.descriptor.SecurityRole;
 import org.jboss.metamodel.descriptor.SecurityRoleRef;
+import org.jboss.util.StringPropertyReplacer;
 import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.util.StringPropertyReplacer;
 import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
 import org.jboss.xb.binding.JBossXBException;
 import org.jboss.xb.binding.ObjectModelFactory;

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/ExcludeList.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/ExcludeList.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/ExcludeList.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,6 +23,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+
 import org.jboss.logging.Logger;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/InitList.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/InitList.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/InitList.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,6 +23,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+
 import org.jboss.logging.Logger;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Inject.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Inject.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Inject.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,6 +23,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+
 import org.jboss.logging.Logger;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Interceptor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Interceptor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Interceptor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -25,8 +25,8 @@
 import java.util.List;
 
 import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
+import org.jboss.metamodel.descriptor.PersistenceContextRef;
 import org.jboss.metamodel.descriptor.PersistenceUnitRef;
-import org.jboss.metamodel.descriptor.PersistenceContextRef;
 
 /**
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MessageDrivenBean.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MessageDrivenBean.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MessageDrivenBean.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -22,6 +22,7 @@
 package org.jboss.ejb3.metamodel;
 
 import javax.ejb.TransactionManagementType;
+
 import org.jboss.logging.Logger;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MethodAttributes.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MethodAttributes.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MethodAttributes.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,6 +23,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+
 import org.jboss.logging.Logger;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MethodPermission.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MethodPermission.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/MethodPermission.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,6 +23,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+
 import org.jboss.logging.Logger;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Producer.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Producer.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/Producer.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,6 @@
  */
 package org.jboss.ejb3.metamodel;
 
-import java.util.List;
-import java.util.ArrayList;
-
 import org.jboss.logging.Logger;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/RemoteBinding.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/RemoteBinding.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/RemoteBinding.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,8 +21,6 @@
  */
 package org.jboss.ejb3.metamodel;
 
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * Represents an <remote-binding> element of the jboss.xml deployment descriptor

Modified: projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/RemoveList.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/RemoveList.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/ejb3/metamodel/RemoveList.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,6 +23,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+
 import org.jboss.logging.Logger;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/invocation/InvocationType.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/invocation/InvocationType.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/invocation/InvocationType.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,8 +21,8 @@
 */
 package org.jboss.invocation;
 
+import java.io.ObjectStreamException;
 import java.io.Serializable;
-import java.io.ObjectStreamException;
 
 /** Type safe enumeration used for to identify the invocation types.
  *

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/BeanMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -527,10 +527,11 @@
    {
       InvokerBindingMetaData binding = getDelegate().determineInvokerBinding(invokerName);
       String bindingName = binding.getJndiName();
-      if(bindingName == null)
+      if(bindingName == null || bindingName.length()==0)
       {
-         bindingName = isMessageDriven() ? getEjbName() : getJndiName();
+         bindingName = getEjbName();
       }
+      
       return bindingName;
    }
    
@@ -540,6 +541,7 @@
     * @return the jndi name
     */
    public abstract String getJndiName();
+   
 
    /**
     * Gets the JNDI name under with the local home interface should be bound.
@@ -549,7 +551,7 @@
     */
    public String getLocalJndiName()
    {
-      return getDelegate().determineLocalJndiName();
+      return getDelegate().getLocalJndiName();
    }
 
    /**
@@ -559,7 +561,7 @@
     */
    public String getContainerObjectNameJndiName()
    {
-      return getHome() != null ? getJndiName() : getLocalJndiName();
+      return getHome() != null ? getJndiName() : this.getEjbName() + "/local";
    }
 
    /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/EntityMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/EntityMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/EntityMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -29,7 +29,6 @@
 import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
 import org.jboss.metadata.ejb.spec.CMPFieldsMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.spec.EntityBeanMetaData;
 import org.jboss.metadata.ejb.spec.QueriesMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
 import org.jboss.metadata.spi.MetaData;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/MessageDrivenMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/MessageDrivenMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/MessageDrivenMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -28,14 +28,13 @@
 import javax.jms.Message;
 import javax.jms.Session;
 
+import org.jboss.invocation.InvocationType;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
 import org.jboss.metadata.ejb.spec.ActivationConfigMetaData;
 import org.jboss.metadata.ejb.spec.ActivationConfigPropertiesMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.spec.MessageDrivenBeanMetaData;
 import org.jboss.metadata.ejb.spec.SubscriptionDurability;
-import org.jboss.invocation.InvocationType;
 import org.jboss.metadata.spi.MetaData;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/SessionMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -26,7 +26,6 @@
 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.SessionBeanMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
 import org.jboss.metadata.spi.MetaData;
 
@@ -136,7 +135,7 @@
    @Override
    public String getJndiName()
    {
-      return getDelegate().determineJndiName();
+      return getDelegate().getJndiName();
    }
 
    @Override

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/Webservices.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/Webservices.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/Webservices.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,14 +21,14 @@
  */
 package org.jboss.metadata;
 
-//$Id: $
+//$Id$
 
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
 import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
-import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
 import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractResourceProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractResourceProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractResourceProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -34,7 +34,6 @@
 import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
 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.MessageDestinationReferenceMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
 import org.jboss.metadata.javaee.spec.RemoteEnvironmentRefsGroupMetaData;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/PostConstructMethodProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/PostConstructMethodProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/PostConstructMethodProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -27,7 +27,6 @@
 import javax.annotation.PostConstruct;
 
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
-import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbackMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.RemoteEnvironmentRefsGroupMetaData;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/PreDestroyMethodProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/PreDestroyMethodProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/PreDestroyMethodProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -27,7 +27,6 @@
 import javax.annotation.PreDestroy;
 
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
-import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbackMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.RemoteEnvironmentRefsGroupMetaData;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceClassProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceClassProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceClassProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -24,7 +24,6 @@
 import java.lang.reflect.AnnotatedElement;
 
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
-import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
 import org.jboss.metadata.javaee.spec.RemoteEnvironmentRefsGroupMetaData;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceFieldProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceFieldProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceFieldProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -25,7 +25,6 @@
 import java.lang.reflect.Field;
 
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
-import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
 import org.jboss.metadata.javaee.spec.RemoteEnvironmentRefsGroupMetaData;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourcesClassProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourcesClassProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourcesClassProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -27,7 +27,6 @@
 import javax.annotation.Resources;
 
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
-import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
 import org.jboss.metadata.javaee.spec.RemoteEnvironmentRefsGroupMetaData;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/AbstractEnterpriseBeanProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/AbstractEnterpriseBeanProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/AbstractEnterpriseBeanProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -24,9 +24,6 @@
 import java.lang.reflect.AnnotatedElement;
 import java.lang.reflect.Method;
 
-import javax.ejb.TransactionManagement;
-import javax.ejb.TransactionManagementType;
-
 import org.jboss.metadata.annotation.creator.AbstractComponentProcessor;
 import org.jboss.metadata.annotation.creator.DeclareRolesProcessor;
 import org.jboss.metadata.annotation.creator.Processor;
@@ -38,7 +35,6 @@
 import org.jboss.metadata.ejb.spec.ExcludeListMetaData;
 import org.jboss.metadata.ejb.spec.InterceptorBindingsMetaData;
 import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
-import org.jboss.metadata.javaee.spec.Environment;
 import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/PermitAllProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/PermitAllProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/PermitAllProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -31,9 +31,9 @@
 import org.jboss.metadata.annotation.creator.Processor;
 import org.jboss.metadata.annotation.creator.ProcessorUtils;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.ejb.spec.MethodMetaData;
+import org.jboss.metadata.ejb.spec.MethodPermissionMetaData;
 import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
-import org.jboss.metadata.ejb.spec.MethodPermissionMetaData;
-import org.jboss.metadata.ejb.spec.MethodMetaData;
 import org.jboss.metadata.ejb.spec.MethodsMetaData;
 import org.jboss.metadata.javaee.spec.EmptyMetaData;
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/RemoveProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/RemoveProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/RemoveProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -31,10 +31,10 @@
 import org.jboss.metadata.annotation.creator.Processor;
 import org.jboss.metadata.annotation.creator.ProcessorUtils;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.ejb.spec.MethodParametersMetaData;
+import org.jboss.metadata.ejb.spec.NamedMethodMetaData;
 import org.jboss.metadata.ejb.spec.RemoveMethodMetaData;
 import org.jboss.metadata.ejb.spec.RemoveMethodsMetaData;
-import org.jboss.metadata.ejb.spec.MethodParametersMetaData;
-import org.jboss.metadata.ejb.spec.NamedMethodMetaData;
 import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
 import org.jboss.metadata.ejb.spec.SessionType;
 
@@ -42,7 +42,7 @@
  * Process @Remove annotation.
  *
  * @author Scott.Stark at jboss.org
- * @version $Revision: $
+ * @version $Revision$
  */
 public class RemoveProcessor extends AbstractFinderUser
    implements Creator<Method, RemoveMethodMetaData>,

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/RolesAllowedProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/RolesAllowedProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/RolesAllowedProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -24,7 +24,6 @@
 import java.lang.reflect.AnnotatedElement;
 import java.lang.reflect.Method;
 import java.util.HashSet;
-import java.util.Set;
 
 import javax.annotation.security.RolesAllowed;
 
@@ -33,9 +32,9 @@
 import org.jboss.metadata.annotation.creator.Processor;
 import org.jboss.metadata.annotation.creator.ProcessorUtils;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
-import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
-import org.jboss.metadata.ejb.spec.MethodPermissionMetaData;
 import org.jboss.metadata.ejb.spec.MethodMetaData;
+import org.jboss.metadata.ejb.spec.MethodPermissionMetaData;
+import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
 import org.jboss.metadata.ejb.spec.MethodsMetaData;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/PermitAllProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/PermitAllProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/PermitAllProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -31,9 +31,9 @@
 import org.jboss.metadata.annotation.creator.Processor;
 import org.jboss.metadata.annotation.creator.ProcessorUtils;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.ejb.spec.MethodMetaData;
+import org.jboss.metadata.ejb.spec.MethodPermissionMetaData;
 import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
-import org.jboss.metadata.ejb.spec.MethodPermissionMetaData;
-import org.jboss.metadata.ejb.spec.MethodMetaData;
 import org.jboss.metadata.ejb.spec.MethodsMetaData;
 import org.jboss.metadata.javaee.spec.EmptyMetaData;
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/RemoveProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/RemoveProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/RemoveProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -32,10 +32,10 @@
 import org.jboss.metadata.annotation.creator.ProcessorUtils;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.spec.MethodParametersMetaData;
+import org.jboss.metadata.ejb.spec.NamedMethodMetaData;
 import org.jboss.metadata.ejb.spec.RemoveMethodMetaData;
 import org.jboss.metadata.ejb.spec.RemoveMethodsMetaData;
-import org.jboss.metadata.ejb.spec.MethodParametersMetaData;
-import org.jboss.metadata.ejb.spec.NamedMethodMetaData;
 import org.jboss.metadata.ejb.spec.SessionType;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/RolesAllowedProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/RolesAllowedProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ejb/jboss/RolesAllowedProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -32,9 +32,9 @@
 import org.jboss.metadata.annotation.creator.Processor;
 import org.jboss.metadata.annotation.creator.ProcessorUtils;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.ejb.spec.MethodMetaData;
+import org.jboss.metadata.ejb.spec.MethodPermissionMetaData;
 import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
-import org.jboss.metadata.ejb.spec.MethodPermissionMetaData;
-import org.jboss.metadata.ejb.spec.MethodMetaData;
 import org.jboss.metadata.ejb.spec.MethodsMetaData;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/Web25MetaDataCreator.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/Web25MetaDataCreator.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/Web25MetaDataCreator.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -29,11 +29,7 @@
 import org.jboss.metadata.annotation.creator.AbstractFinderUser;
 import org.jboss.metadata.annotation.creator.Creator;
 import org.jboss.metadata.annotation.creator.Processor;
-import org.jboss.metadata.annotation.creator.ejb.ApplicationExceptionProcessor;
-import org.jboss.metadata.annotation.creator.ejb.StatefulProcessor;
-import org.jboss.metadata.annotation.creator.ejb.StatelessProcessor;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
-import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
 import org.jboss.metadata.web.spec.Web25MetaData;
 import org.jboss.metadata.web.spec.WebMetaData;
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/WebComponentProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/WebComponentProcessor.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/web/WebComponentProcessor.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,7 +23,6 @@
 
 import java.lang.reflect.AnnotatedElement;
 
-
 import org.jboss.metadata.annotation.creator.AbstractComponentProcessor;
 import org.jboss.metadata.annotation.creator.DeclareRolesProcessor;
 import org.jboss.metadata.annotation.creator.Processor;
@@ -37,7 +36,7 @@
  * Create the correct meta data for web component.
  *
  * @author Scott.Stark at jboss.org
- * @version $Revision: $
+ * @version $Revision$
  */
 public class WebComponentProcessor extends AbstractComponentProcessor<WebMetaData>
    implements Processor<WebMetaData,Class<?>>

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	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -25,14 +25,11 @@
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
 import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
@@ -46,6 +43,8 @@
 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;
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IAssemblyDescriptorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IAssemblyDescriptorMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/ejb/IAssemblyDescriptorMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -24,7 +24,6 @@
 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;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/LoaderRepositoryConfigMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/LoaderRepositoryConfigMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/LoaderRepositoryConfigMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,12 +21,12 @@
 */
 package org.jboss.metadata.common.jboss;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImpl;
-
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImpl;
+
 /**
  * LoaderRepositoryConfigMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/LoaderRepositoryMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/LoaderRepositoryMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/LoaderRepositoryMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -22,6 +22,7 @@
 package org.jboss.metadata.common.jboss;
 
 import java.util.Set;
+
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/WebserviceDescriptionMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/WebserviceDescriptionMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/common/jboss/WebserviceDescriptionMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.common.jboss;
 
-import org.jboss.metadata.javaee.support.NamedMetaData;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaData;
+
 /**
  * WebservicesDescriptionMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/Ear13DTDMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/Ear13DTDMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/Ear13DTDMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -26,8 +26,6 @@
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.annotation.javaee.Description;
-import org.jboss.annotation.javaee.Descriptions;
 import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
 import org.jboss.metadata.javaee.spec.DescriptionImpl;
 import org.jboss.metadata.javaee.spec.DescriptionsImpl;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/EarMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/EarMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/EarMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,8 +21,6 @@
  */
 package org.jboss.metadata.ear.spec;
 
-import java.util.List;
-
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/JavaModuleMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/JavaModuleMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/JavaModuleMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,10 +21,8 @@
  */
 package org.jboss.metadata.ear.spec;
 
-import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
 
 /**
  * @author Scott.Stark at jboss.org

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModuleMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModuleMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ear/spec/ModuleMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -26,7 +26,6 @@
 import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.metadata.ear.jboss.ServiceModuleMetaData;
-import org.jboss.metadata.javaee.support.IdMetaDataImpl;
 import org.jboss.metadata.javaee.support.NamedMetaData;
 import org.jboss.xb.annotations.JBossXmlChild;
 import org.jboss.xb.annotations.JBossXmlChildren;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,14 +23,14 @@
 
 import java.util.Set;
 
-import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
-import org.w3c.dom.Element;
-
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
+import org.w3c.dom.Element;
+
 /**
  * ConfigurationMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,11 +21,11 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.support.MappedMetaDataWithDescriptions;
 import org.jboss.xb.annotations.JBossXmlChild;
 
-import javax.xml.bind.annotation.XmlType;
-
 /**
  * ContainerConfigurationsMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaDataWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaDataWrapper.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ContainerConfigurationsMetaDataWrapper.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -26,8 +26,6 @@
 import java.util.Set;
 
 import org.jboss.annotation.javaee.Descriptions;
-import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
-import org.jboss.metadata.ejb.jboss.ContainerConfigurationsMetaData;
 
 /**
  * Wrapper for jboss.xml/standardjboss.xml type of primary/defaults

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORASContextMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORASContextMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORASContextMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
+
 /**
  * IORASContextMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORSASContextMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORSASContextMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORSASContextMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
+
 /**
  * IORSASContextMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORSecurityConfigMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORSecurityConfigMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORSecurityConfigMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
+
 /**
  * IORSecurityConfigMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORTransportConfigMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORTransportConfigMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/IORTransportConfigMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
+
 /**
  * IORTransportConfigMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,10 +23,11 @@
 
 import java.util.List;
 
-import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
+
 /**
  * InvokerBindingMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingsMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerBindingsMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,11 +21,11 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.support.MappedMetaDataWithDescriptions;
 import org.jboss.xb.annotations.JBossXmlChild;
 
-import javax.xml.bind.annotation.XmlType;
-
 /**
  * InvokerBindingsMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,12 +21,12 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 import org.w3c.dom.Element;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
 /**
  * InvokerProxyBindingMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,11 +21,11 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.support.MappedMetaDataWithDescriptions;
 import org.jboss.xb.annotations.JBossXmlChild;
 
-import javax.xml.bind.annotation.XmlType;
-
 /**
  * InvokerProxyBindingsMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBoss50DTDMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBoss50DTDMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBoss50DTDMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,13 +21,12 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
-
 import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.xb.annotations.JBossXmlSchema;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBoss50MetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBoss50MetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBoss50MetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,13 +21,12 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
-
 import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.xb.annotations.JBossXmlSchema;
 
 /**

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	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossAssemblyDescriptorMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -25,6 +25,9 @@
 import java.util.Map;
 import java.util.Set;
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.spec.ApplicationExceptionsMetaData;
 import org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData;
@@ -38,8 +41,6 @@
 import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImpl;
 import org.jboss.metadata.javaee.support.JavaEEMetaDataUtil;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
 
 /**
  * JBossAssemblyDescriptorMetaData.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,14 +21,15 @@
  */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.spec.ActivationConfigMetaData;
-
 import java.util.ArrayList;
 import java.util.List;
+
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.spec.ActivationConfigMetaData;
+
 /**
  * An EJB 3 consumer bean.
  * 
@@ -183,7 +184,11 @@
       throw new RuntimeException("NYI");
    }
 
+   /**
+    * @deprecated JBMTEA-68
+    */
    @Override
+   @Deprecated
    public String determineJndiName()
    {
       return null;

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	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -590,8 +590,10 @@
     * a jndi name notion.
     * 
     * @return the base jndi name for the ejb it one exists, null otherwise.
+    * @deprecated Handled by Decorators, JBMETA-68
     */
    @XmlTransient
+   @Deprecated
    abstract public String determineJndiName();
 
    /**
@@ -603,8 +605,10 @@
     *    name as determined by {@link #getMappedName()} or
     *    {@link #determineJndiName()} is used.
     * @return the resolved jndi name
+    * @deprecated JBMETA-68
     */
    @XmlTransient
+   @Deprecated
    public String determineResolvedJndiName(String iface)
    {
       return determineResolvedJndiName(iface, null);
@@ -624,8 +628,10 @@
     * @param defaultPolicy - an optional DefaultJndiBindingPolicy to use if
     *    {@link #getJndiBindingPolicy()} is null.
     * @return the resolved jndi name
+    * @deprecated JBMETA-68
     */
    @SuppressWarnings("unchecked")
+   @Deprecated
    public String determineResolvedJndiName(String iface,
          DefaultJndiBindingPolicy defaultPolicy)
    {
@@ -668,7 +674,7 @@
       if (policy == null)
       {
          // Use the metadata default binding policy
-         policy = new BasicJndiBindingPolicy(baseJndiName);
+         policy = new BasicJndiBindingPolicy();
       }
 
       if(dsummary==null)

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,6 +21,9 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.ejb.spec.CMPFieldsMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.spec.EntityBeanMetaData;
@@ -28,9 +31,6 @@
 import org.jboss.metadata.ejb.spec.QueriesMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
 /**
  * EntityBeanMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityGenericWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityGenericWrapper.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityGenericWrapper.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -51,7 +51,6 @@
 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.PortComponent;
 import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferenceMetaData;
 import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferencesMetaData;
 import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
@@ -76,342 +75,415 @@
    {
       this.delegate = delegate;
    }
+   @Override
    public Set<String> determineAllDepends()
    {
       return delegate.determineAllDepends();
    }
+   @Override
    public String determineConfigurationName()
    {
       return delegate.determineConfigurationName();
    }
+   @Override
    public ContainerConfigurationMetaData determineContainerConfiguration()
    {
       return delegate.determineContainerConfiguration();
    }
+   @Override
    public InvokerBindingMetaData determineInvokerBinding(String invokerName)
    {
       return delegate.determineInvokerBinding(invokerName);
    }
+   @Override
    public InvokerBindingsMetaData determineInvokerBindings()
    {
       return delegate.determineInvokerBindings();
    }
-   public String determineLocalJndiName()
-   {
-      return delegate.determineLocalJndiName();
-   }
+   @Override
    public boolean equals(Object obj)
    {
       return delegate.equals(obj);
    }
+   @Override
    public AnnotatedEJBReferencesMetaData getAnnotatedEjbReferences()
    {
       return delegate.getAnnotatedEjbReferences();
    }
+   @Override
    public AnnotationsMetaData getAnnotations()
    {
       return delegate.getAnnotations();
    }
+   @Override
    public String getAopDomainName()
    {
       return delegate.getAopDomainName();
    }
+   @Override
    public String getConfigurationName()
    {
       return delegate.getConfigurationName();
    }
+   @Override
    public String getContainerObjectNameJndiName()
    {
       return delegate.getContainerObjectNameJndiName();
    }
+   @Override
    public ContainerTransactionsMetaData getContainerTransactions()
    {
       return delegate.getContainerTransactions();
    }
+   @Override
    public String getDefaultConfigurationName()
    {
       return delegate.getDefaultConfigurationName();
    }
+   @Override
    public Set<String> getDepends()
    {
       return delegate.getDepends();
    }
+   @Override
    public DescriptionGroupMetaData getDescriptionGroup()
    {
       return delegate.getDescriptionGroup();
    }
+   @Override
    public String getEjbClass()
    {
       return delegate.getEjbClass();
    }
+   @Override
    public JBossMetaData getEjbJarMetaData()
    {
       return delegate.getEjbJarMetaData();
    }
+   @Override
    public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name)
    {
       return delegate.getEjbLocalReferenceByName(name);
    }
+   @Override
    public EJBLocalReferencesMetaData getEjbLocalReferences()
    {
       return delegate.getEjbLocalReferences();
    }
+   @Override
    public String getEjbName()
    {
       return delegate.getEjbName();
    }
+   @Override
    public EJBReferenceMetaData getEjbReferenceByName(String name)
    {
       return delegate.getEjbReferenceByName(name);
    }
+   @Override
    public EJBReferencesMetaData getEjbReferences()
    {
       return delegate.getEjbReferences();
    }
+   @Override
    public JBossEnterpriseBeansMetaData getEnterpriseBeansMetaData()
    {
       return delegate.getEnterpriseBeansMetaData();
    }
+   @Override
    public EnvironmentEntriesMetaData getEnvironmentEntries()
    {
       return delegate.getEnvironmentEntries();
    }
+   @Override
    public EnvironmentEntryMetaData getEnvironmentEntryByName(String name)
    {
       return delegate.getEnvironmentEntryByName(name);
    }
+   @Override
    public ExcludeListMetaData getExcludeList()
    {
       return delegate.getExcludeList();
    }
+   @Override
    public String getId()
    {
       return delegate.getId();
    }
+   @Override
    public IgnoreDependencyMetaData getIgnoreDependency()
    {
       return delegate.getIgnoreDependency();
    }
+   @Override
    public InvokerBindingsMetaData getInvokerBindings()
    {
       return delegate.getInvokerBindings();
    }
+   @Override
    public IORSecurityConfigMetaData getIorSecurityConfig()
    {
       return delegate.getIorSecurityConfig();
    }
+   @Override
    public JBossMetaData getJBossMetaData()
    {
       return delegate.getJBossMetaData();
    }
+   @Override
    public JBossMetaData getJBossMetaDataWithCheck()
    {
       return delegate.getJBossMetaDataWithCheck();
    }
+   @Override
    public Environment getJndiEnvironmentRefsGroup()
    {
       return delegate.getJndiEnvironmentRefsGroup();
    }
+   @Override
    public String getJndiName()
    {
       return delegate.getJndiName();
    }
+   @Override
    public JndiRefsMetaData getJndiRefs()
    {
       return delegate.getJndiRefs();
    }
+   @Override
    public String getKey()
    {
       return delegate.getKey();
    }
+   @Override
    public String getLocalJndiName()
    {
       return delegate.getLocalJndiName();
    }
+   @Override
    public String getMappedName()
    {
       return delegate.getMappedName();
    }
+   @Override
    public MessageDestinationReferenceMetaData getMessageDestinationReferenceByName(
          String name)
    {
       return delegate.getMessageDestinationReferenceByName(name);
    }
+   @Override
    public MessageDestinationReferencesMetaData getMessageDestinationReferences()
    {
       return delegate.getMessageDestinationReferences();
    }
+   @Override
    public MethodAttributesMetaData getMethodAttributes()
    {
       return delegate.getMethodAttributes();
    }
+   @Override
    public MethodPermissionsMetaData getMethodPermissions()
    {
       return delegate.getMethodPermissions();
    }
+   @Override
    public Set<String> getMethodPermissions(String methodName,
          Class<?>[] params, MethodInterfaceType interfaceType)
    {
       return delegate.getMethodPermissions(methodName, params, interfaceType);
    }
+   @Override
    public int getMethodTransactionTimeout(Method method)
    {
       return delegate.getMethodTransactionTimeout(method);
    }
+   @Override
    public int getMethodTransactionTimeout(String methodName)
    {
       return delegate.getMethodTransactionTimeout(methodName);
    }
+   @Override
    public TransactionAttributeType getMethodTransactionType(Method m,
          MethodInterfaceType iface)
    {
       return delegate.getMethodTransactionType(m, iface);
    }
+   @Override
    public TransactionAttributeType getMethodTransactionType(String methodName,
          Class<?>[] params, MethodInterfaceType iface)
    {
       return delegate.getMethodTransactionType(methodName, params, iface);
    }
+   @Override
    public String getName()
    {
       return delegate.getName();
    }
+   @Override
    public PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(
          String name)
    {
       return delegate.getPersistenceContextReferenceByName(name);
    }
+   @Override
    public PersistenceContextReferencesMetaData getPersistenceContextRefs()
    {
       return delegate.getPersistenceContextRefs();
    }
+   @Override
    public PersistenceUnitReferenceMetaData getPersistenceUnitReferenceByName(
          String name)
    {
       return delegate.getPersistenceUnitReferenceByName(name);
    }
+   @Override
    public PersistenceUnitReferencesMetaData getPersistenceUnitRefs()
    {
       return delegate.getPersistenceUnitRefs();
    }
+   @Override
    public PoolConfigMetaData getPoolConfig()
    {
       return delegate.getPoolConfig();
    }
-   public PortComponent getPortComponent()
-   {
-      return delegate.getPortComponent();
-   }
+   @Override
    public LifecycleCallbacksMetaData getPostConstructs()
    {
       return delegate.getPostConstructs();
    }
+   @Override
    public LifecycleCallbacksMetaData getPreDestroys()
    {
       return delegate.getPreDestroys();
    }
+   @Override
    public ResourceEnvironmentReferenceMetaData getResourceEnvironmentReferenceByName(
          String name)
    {
       return delegate.getResourceEnvironmentReferenceByName(name);
    }
+   @Override
    public ResourceEnvironmentReferencesMetaData getResourceEnvironmentReferences()
    {
       return delegate.getResourceEnvironmentReferences();
    }
+   @Override
    public ResourceReferenceMetaData getResourceReferenceByName(String name)
    {
       return delegate.getResourceReferenceByName(name);
    }
+   @Override
    public ResourceReferencesMetaData getResourceReferences()
    {
       return delegate.getResourceReferences();
    }
+   @Override
    public String getSecurityDomain()
    {
       return delegate.getSecurityDomain();
    }
+   @Override
    public SecurityIdentityMetaData getSecurityIdentity()
    {
       return delegate.getSecurityIdentity();
    }
+   @Override
    public String getSecurityProxy()
    {
       return delegate.getSecurityProxy();
    }
+   @Override
    public SecurityRoleMetaData getSecurityRole(String roleName)
    {
       return delegate.getSecurityRole(roleName);
    }
+   @Override
    public Set<String> getSecurityRolePrincipals(String roleName)
    {
       return delegate.getSecurityRolePrincipals(roleName);
    }
+   @Override
    public SecurityRoleRefsMetaData getSecurityRoleRefs()
    {
       return delegate.getSecurityRoleRefs();
    }
+   @Override
    public ServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return delegate.getServiceReferenceByName(name);
    }
+   @Override
    public ServiceReferencesMetaData getServiceReferences()
    {
       return delegate.getServiceReferences();
    }
+   @Override
    public TransactionManagementType getTransactionType()
    {
       return delegate.getTransactionType();
    }
+   @Override
    public int hashCode()
    {
       return delegate.hashCode();
    }
+   @Override
    public boolean hasMethodPermissions(String methodName, Class<?>[] params,
          MethodInterfaceType interfaceType)
    {
       return delegate.hasMethodPermissions(methodName, params, interfaceType);
    }
+   @Override
    public boolean isBMT()
    {
       return delegate.isBMT();
    }
+   @Override
    public boolean isCMT()
    {
       return delegate.isCMT();
    }
+   @Override
    public boolean isConsumer()
    {
       return delegate.isConsumer();
    }
+   @Override
    public boolean isEntity()
    {
       return delegate.isEntity();
    }
+   @Override
    public boolean isExceptionOnRollback()
    {
       return delegate.isExceptionOnRollback();
    }
+   @Override
    public boolean isMessageDriven()
    {
       return delegate.isMessageDriven();
    }
+   @Override
    public boolean isMethodReadOnly(Method method)
    {
       return delegate.isMethodReadOnly(method);
    }
+   @Override
    public boolean isMethodReadOnly(String methodName)
    {
       return delegate.isMethodReadOnly(methodName);
    }
+   @Override
    public boolean isService()
    {
       return delegate.isService();
    }
+   @Override
    public boolean isSession()
    {
       return delegate.isSession();
    }
+   @Override
    public boolean isTimerPersistence()
    {
       return delegate.isTimerPersistence();

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	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -65,13 +65,17 @@
       // TODO Auto-generated method stub
       return null;
    }
-
+   
+   /**
+    * @deprecated JBMETA-68
+    */
    @Override
+   @Deprecated
    public String determineJndiName()
    {
       return getJndiName();
    }
-
+   
    public String getHomeJndiName()
    {
       return homeJndiName;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanGenericWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanGenericWrapper.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanGenericWrapper.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -119,11 +119,6 @@
       return delegate.determineInvokerBindings();
    }
 
-   public String determineLocalJndiName()
-   {
-      return delegate.determineLocalJndiName();
-   }
-
    public boolean equals(Object obj)
    {
       return delegate.equals(obj);

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -378,7 +378,11 @@
    {
       return getEjbName();
    }
-   
+    
+   /**
+    * @deprecated JBMETA-68
+    */
+   @Deprecated
    @Override
    public String determineJndiName()
    {

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	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -626,7 +626,10 @@
     * Determine the jndi name
     * 
     * @return the jndi name
+    * @deprecated JBMETA-68
     */
+   @Deprecated
+   @Override
    public String determineJndiName()
    {
       String name = jndiName;
@@ -646,13 +649,13 @@
       boolean remote = false;
       if (getHome() != null)
          remote = true;
-      return remote ? determineJndiName() : getLocalJndiName();
+      return remote ? getJndiName() : getLocalJndiName();
    }
    
    @Override
    protected String getDefaultInvokerJndiName()
    {
-      return determineJndiName();
+      return getJndiName();
    }
 
    /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionGenericWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionGenericWrapper.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionGenericWrapper.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -91,379 +91,453 @@
    {
       return delegate.createPolicy(loader, defaultPolicyClass);
    }
+   @Override
    public Set<String> determineAllDepends()
    {
       return delegate.determineAllDepends();
    }
+   @Override
    public String determineConfigurationName()
    {
       return delegate.determineConfigurationName();
    }
+   @Override
    public ContainerConfigurationMetaData determineContainerConfiguration()
    {
       return delegate.determineContainerConfiguration();
    }
+   @Override
    public String determineContainerName()
    {
       return delegate.determineContainerName();
    }
+   @Override
    public InvokerBindingMetaData determineInvokerBinding(String invokerName)
    {
       return delegate.determineInvokerBinding(invokerName);
    }
+   @Override
    public InvokerBindingsMetaData determineInvokerBindings()
    {
       return delegate.determineInvokerBindings();
    }
-   public String determineJndiName()
-   {
-      return delegate.determineJndiName();
-   }
-   public String determineLocalJndiName()
-   {
-      return delegate.determineLocalJndiName();
-   }
-   public String determineResolvedJndiName(String iface, DefaultJndiBindingPolicy defaultPolicy)
-   {
-      return delegate.determineResolvedJndiName(iface, defaultPolicy);
-   }
-   public String determineResolvedJndiName(String iface)
-   {
-      return delegate.determineResolvedJndiName(iface);
-   }
+   @Override
    public boolean equals(Object obj)
    {
       return delegate.equals(obj);
    }
+   @Override
    public AnnotatedEJBReferencesMetaData getAnnotatedEjbReferences()
    {
       return delegate.getAnnotatedEjbReferences();
    }
+   @Override
    public AnnotationsMetaData getAnnotations()
    {
       return delegate.getAnnotations();
    }
+   @Override
    public String getAopDomainName()
    {
       return delegate.getAopDomainName();
    }
+   @Override
    public String getConfigurationName()
    {
       return delegate.getConfigurationName();
    }
+   @Override
    public String getContainerName()
    {
       return delegate.getContainerName();
    }
+   @Override
    public String getContainerObjectNameJndiName()
    {
       return delegate.getContainerObjectNameJndiName();
    }
+   @Override
    public ContainerTransactionsMetaData getContainerTransactions()
    {
       return delegate.getContainerTransactions();
    }
+   @Override
    public String getDefaultConfigurationName()
    {
       return delegate.getDefaultConfigurationName();
    }
+   @Override
    public Set<String> getDepends()
    {
       return delegate.getDepends();
    }
+   @Override
    public DescriptionGroupMetaData getDescriptionGroup()
    {
       return delegate.getDescriptionGroup();
    }
+   @Override
    public String getEjbClass()
    {
       return delegate.getEjbClass();
    }
+   @Override
    public JBossMetaData getEjbJarMetaData()
    {
       return delegate.getEjbJarMetaData();
    }
+   @Override
    public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name)
    {
       return delegate.getEjbLocalReferenceByName(name);
    }
+   @Override
    public EJBLocalReferencesMetaData getEjbLocalReferences()
    {
       return delegate.getEjbLocalReferences();
    }
+   @Override
    public String getEjbName()
    {
       return delegate.getEjbName();
    }
+   @Override
    public EJBReferenceMetaData getEjbReferenceByName(String name)
    {
       return delegate.getEjbReferenceByName(name);
    }
+   @Override
    public EJBReferencesMetaData getEjbReferences()
    {
       return delegate.getEjbReferences();
    }
+   @Override
    public JBossEnterpriseBeansMetaData getEnterpriseBeansMetaData()
    {
       return delegate.getEnterpriseBeansMetaData();
    }
+   @Override
    public EnvironmentEntriesMetaData getEnvironmentEntries()
    {
       return delegate.getEnvironmentEntries();
    }
+   @Override
    public EnvironmentEntryMetaData getEnvironmentEntryByName(String name)
    {
       return delegate.getEnvironmentEntryByName(name);
    }
+   @Override
    public ExcludeListMetaData getExcludeList()
    {
       return delegate.getExcludeList();
    }
+   @Override
    public String getGeneratedContainerName()
    {
       return delegate.getGeneratedContainerName();
    }
+   @Override
    public String getHomeJndiName()
    {
       return delegate.getHomeJndiName();
    }
+   @Override
    public String getId()
    {
       return delegate.getId();
    }
+   @Override
    public IgnoreDependencyMetaData getIgnoreDependency()
    {
       return delegate.getIgnoreDependency();
    }
+   @Override
    public InvokerBindingsMetaData getInvokerBindings()
    {
       return delegate.getInvokerBindings();
    }
+   @Override
    public IORSecurityConfigMetaData getIorSecurityConfig()
    {
       return delegate.getIorSecurityConfig();
    }
+   @Override
    public JBossMetaData getJBossMetaData()
    {
       return delegate.getJBossMetaData();
    }
+   @Override
    public JBossMetaData getJBossMetaDataWithCheck()
    {
       return delegate.getJBossMetaDataWithCheck();
    }
+   @Override
    public String getJndiBindingPolicy()
    {
       return delegate.getJndiBindingPolicy();
    }
+   @Override
    public Environment getJndiEnvironmentRefsGroup()
    {
       return delegate.getJndiEnvironmentRefsGroup();
    }
+   @Override
    public String getJndiName()
    {
       return delegate.getJndiName();
    }
+   @Override
    public JndiRefsMetaData getJndiRefs()
    {
       return delegate.getJndiRefs();
    }
+   @Override
    public String getKey()
    {
       return delegate.getKey();
    }
+   @Override
    public String getLocalHomeJndiName()
    {
       return delegate.getLocalHomeJndiName();
    }
+   @Override
    public String getLocalJndiName()
    {
       return delegate.getLocalJndiName();
    }
+   @Override
    public String getMappedName()
    {
       return delegate.getMappedName();
    }
+   @Override
    public MessageDestinationReferenceMetaData getMessageDestinationReferenceByName(String name)
    {
       return delegate.getMessageDestinationReferenceByName(name);
    }
+   @Override
    public MessageDestinationReferencesMetaData getMessageDestinationReferences()
    {
       return delegate.getMessageDestinationReferences();
    }
+   @Override
    public MethodAttributesMetaData getMethodAttributes()
    {
       return delegate.getMethodAttributes();
    }
+   @Override
    public MethodPermissionsMetaData getMethodPermissions()
    {
       return delegate.getMethodPermissions();
    }
+   @Override
    public Set<String> getMethodPermissions(String methodName, Class<?>[] params, MethodInterfaceType interfaceType)
    {
       return delegate.getMethodPermissions(methodName, params, interfaceType);
    }
+   @Override
    public int getMethodTransactionTimeout(Method method)
    {
       return delegate.getMethodTransactionTimeout(method);
    }
+   @Override
    public int getMethodTransactionTimeout(String methodName)
    {
       return delegate.getMethodTransactionTimeout(methodName);
    }
+   @Override
    public TransactionAttributeType getMethodTransactionType(Method m, MethodInterfaceType iface)
    {
       return delegate.getMethodTransactionType(m, iface);
    }
+   @Override
    public TransactionAttributeType getMethodTransactionType(String methodName, Class<?>[] params,
          MethodInterfaceType iface)
    {
       return delegate.getMethodTransactionType(methodName, params, iface);
    }
+   @Override
    public String getName()
    {
       return delegate.getName();
    }
+   @Override
    public PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(String name)
    {
       return delegate.getPersistenceContextReferenceByName(name);
    }
+   @Override
    public PersistenceContextReferencesMetaData getPersistenceContextRefs()
    {
       return delegate.getPersistenceContextRefs();
    }
+   @Override
    public PersistenceUnitReferenceMetaData getPersistenceUnitReferenceByName(String name)
    {
       return delegate.getPersistenceUnitReferenceByName(name);
    }
+   @Override
    public PersistenceUnitReferencesMetaData getPersistenceUnitRefs()
    {
       return delegate.getPersistenceUnitRefs();
    }
+   @Override
    public PoolConfigMetaData getPoolConfig()
    {
       return delegate.getPoolConfig();
    }
+   @Override
    public PortComponent getPortComponent()
    {
       return delegate.getPortComponent();
    }
+   @Override
    public LifecycleCallbacksMetaData getPostConstructs()
    {
       return delegate.getPostConstructs();
    }
+   @Override
    public LifecycleCallbacksMetaData getPreDestroys()
    {
       return delegate.getPreDestroys();
    }
+   @Override
    public ResourceEnvironmentReferenceMetaData getResourceEnvironmentReferenceByName(String name)
    {
       return delegate.getResourceEnvironmentReferenceByName(name);
    }
+   @Override
    public ResourceEnvironmentReferencesMetaData getResourceEnvironmentReferences()
    {
       return delegate.getResourceEnvironmentReferences();
    }
+   @Override
    public ResourceReferenceMetaData getResourceReferenceByName(String name)
    {
       return delegate.getResourceReferenceByName(name);
    }
+   @Override
    public ResourceReferencesMetaData getResourceReferences()
    {
       return delegate.getResourceReferences();
    }
+   @Override
    public String getSecurityDomain()
    {
       return delegate.getSecurityDomain();
    }
+   @Override
    public SecurityIdentityMetaData getSecurityIdentity()
    {
       return delegate.getSecurityIdentity();
    }
+   @Override
    public String getSecurityProxy()
    {
       return delegate.getSecurityProxy();
    }
+   @Override
    public SecurityRoleMetaData getSecurityRole(String roleName)
    {
       return delegate.getSecurityRole(roleName);
    }
+   @Override
    public Set<String> getSecurityRolePrincipals(String roleName)
    {
       return delegate.getSecurityRolePrincipals(roleName);
    }
+   @Override
    public SecurityRoleRefsMetaData getSecurityRoleRefs()
    {
       return delegate.getSecurityRoleRefs();
    }
+   @Override
    public Map<String, Set<String>> getSecurityRolesPrincipalVersusRolesMap()
    {
       return delegate.getSecurityRolesPrincipalVersusRolesMap();
    }
+   @Override
    public ServiceReferenceMetaData getServiceReferenceByName(String name)
    {
       return delegate.getServiceReferenceByName(name);
    }
+   @Override
    public ServiceReferencesMetaData getServiceReferences()
    {
       return delegate.getServiceReferences();
    }
+   @Override
    public TransactionManagementType getTransactionType()
    {
       return delegate.getTransactionType();
    }
+   @Override
    public int hashCode()
    {
       return delegate.hashCode();
    }
+   @Override
    public boolean hasMethodPermissions(String methodName, Class<?>[] params, MethodInterfaceType interfaceType)
    {
       return delegate.hasMethodPermissions(methodName, params, interfaceType);
    }
+   @Override
    public boolean isBMT()
    {
       return delegate.isBMT();
    }
+   @Override
    public boolean isCMT()
    {
       return delegate.isCMT();
    }
+   @Override
    public boolean isConsumer()
    {
       return delegate.isConsumer();
    }
+   @Override
    public boolean isEntity()
    {
       return delegate.isEntity();
    }
+   @Override
    public boolean isExceptionOnRollback()
    {
       return delegate.isExceptionOnRollback();
    }
+   @Override
    public boolean isGeneric()
    {
       return delegate.isGeneric();
    }
+   @Override
    public boolean isMessageDriven()
    {
       return delegate.isMessageDriven();
    }
+   @Override
    public boolean isMethodReadOnly(Method method)
    {
       return delegate.isMethodReadOnly(method);
    }
+   @Override
    public boolean isMethodReadOnly(String methodName)
    {
       return delegate.isMethodReadOnly(methodName);
    }
+   @Override
    public boolean isService()
    {
       return delegate.isService();
    }
+   @Override
    public boolean isSession()
    {
       return delegate.isSession();
    }
+   @Override
    public boolean isTimerPersistence()
    {
       return delegate.isTimerPersistence();

Deleted: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionPolicyDecorator.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionPolicyDecorator.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionPolicyDecorator.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -1,1138 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2007, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.ejb.jboss;
-
-import java.lang.reflect.Method;
-import java.util.List;
-import java.util.Set;
-
-import javax.ejb.TransactionAttributeType;
-import javax.ejb.TransactionManagementType;
-
-import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy;
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DeploymentSummary;
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces;
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces.KnownInterfaceType;
-import org.jboss.metadata.ejb.spec.AroundInvokesMetaData;
-import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
-import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
-import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
-import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.spec.ExcludeListMetaData;
-import org.jboss.metadata.ejb.spec.InitMethodsMetaData;
-import org.jboss.metadata.ejb.spec.MethodInterfaceType;
-import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
-import org.jboss.metadata.ejb.spec.NamedMethodMetaData;
-import org.jboss.metadata.ejb.spec.RemoveMethodsMetaData;
-import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
-import org.jboss.metadata.ejb.spec.SessionType;
-import org.jboss.metadata.javaee.jboss.AnnotationsMetaData;
-import org.jboss.metadata.javaee.jboss.IgnoreDependencyMetaData;
-import org.jboss.metadata.javaee.jboss.JndiRefsMetaData;
-import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
-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.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.PortComponent;
-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.IdMetaData;
-import org.jboss.metadata.javaee.support.IdMetaDataImpl;
-import org.jboss.metadata.javaee.support.NamedMetaData;
-
-/**
- * Decorate a JBossSessionBeanMetaData with JNDI policy, so any getter of a JNDI
- * name will never return null.
- * 
- * Note that you should on call getters on this object.
- * 
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class JBossSessionPolicyDecorator extends JBossSessionBeanMetaData
-{
-   private static final long serialVersionUID = 1L;
-
-   private JBossSessionBeanMetaData delegate;
-
-   public JBossSessionPolicyDecorator(JBossSessionBeanMetaData delegate)
-   {
-      assert delegate != null : "delegate is null";
-      
-      this.delegate = delegate;
-   }
-   
-   protected KnownInterfaceType classifyInterface(String iface)
-   {
-      KnownInterfaceType ifaceType = KnownInterfaces.classifyInterface(iface);
-      if(ifaceType != KnownInterfaceType.UNKNOWN)
-         return ifaceType;
-      
-      // Need to compare iface against the metadata local-home/home & business locals/remotes
-      // Figure out the interface type from the metadata
-      if (delegate.getLocalHome() != null && delegate.getLocalHome().equals(iface))
-         return KnownInterfaceType.LOCAL_HOME;
-      else if (delegate.getHome() != null && delegate.getHome().equals(iface))
-         return KnownInterfaceType.REMOTE_HOME;
-      else
-      {
-         // Check business locals
-         BusinessLocalsMetaData locals = delegate.getBusinessLocals();
-         if (locals != null)
-         {
-            for (String local : locals)
-            {
-               if (local.equals(iface))
-               {
-                  return KnownInterfaceType.BUSINESS_LOCAL;
-               }
-            }
-         }
-         if (ifaceType == KnownInterfaceType.UNKNOWN)
-         {
-            // Check business remotes
-            BusinessRemotesMetaData remotes = delegate.getBusinessRemotes();
-            if (remotes != null)
-            {
-               for (String remote : remotes)
-               {
-                  if (remote.equals(iface))
-                  {
-                     return KnownInterfaceType.BUSINESS_REMOTE;
-                  }
-               }
-            }
-         }
-      }
-      
-      throw new IllegalArgumentException("Can't find interface " + iface + " in " + this);
-   }
-   
-   private EjbDeploymentSummary getEjbDeploymentSummary()
-   {
-      DeploymentSummary dsummary = getJBossMetaData().getDeploymentSummary();
-      if(dsummary == null)
-         dsummary = new DeploymentSummary();
-      return new EjbDeploymentSummary(delegate, dsummary);
-   }
-   
-   
-   private DefaultJndiBindingPolicy getDefaultJndiBindingPolicy()
-   {
-      return getDefaultJndiBindingPolicy(null);
-   }
-   
-   /**
-    * Resolve the JNDI binding policy that's to be used.
-    * 
-    * Slow method.
-    * 
-    * @return the JNDI binding policy to be used
-    */
-   private DefaultJndiBindingPolicy getDefaultJndiBindingPolicy(DefaultJndiBindingPolicy defaultPolicy)
-   {
-      String baseName = delegate.getMappedName();
-      if(baseName == null)
-         baseName = delegate.determineJndiName();
-      
-      // Obtain the Deployment Summary
-      DeploymentSummary dsummary = getJBossMetaData().getDeploymentSummary();
-      
-      // Initialize the Default JNDI Binding Policy
-      DefaultJndiBindingPolicy policy = null;
-      
-      // If Deployment Summary is defined
-      if (dsummary != null)
-      {
-         try
-         {
-            // Create a JNDI Policy from the Deployment Summary
-            policy = createPolicy(dsummary.getLoader(), null);
-         }
-         catch (Exception e)
-         {
-         }
-      }
-      if (policy == null)
-         policy = defaultPolicy;
-      if (policy == null)
-      {
-         // Use the metadata default binding policy
-         policy = new BasicJndiBindingPolicy(baseName);
-      }
-      
-      return policy;
-   }
-
-   @Deprecated
-   public String determineJndiName()
-   {
-      return getJndiName();
-   }
-
-   @Deprecated
-   public String determineLocalJndiName()
-   {
-      return getLocalJndiName();
-   }
-
-   public String determineResolvedJndiName(String iface, DefaultJndiBindingPolicy defaultPolicy)
-   {
-      DefaultJndiBindingPolicy policy = getDefaultJndiBindingPolicy(defaultPolicy);
-      
-      KnownInterfaceType ifaceType = classifyInterface(iface);
-
-      // Have the policy generate the actual name
-      String resolvedJndiName = policy.getJndiName(getEjbDeploymentSummary(), iface, ifaceType);
-
-      return resolvedJndiName;
-   }
-
-   public String determineResolvedJndiName(String iface)
-   {
-      return determineResolvedJndiName(iface, null);
-   }
-   
-   public String getHomeJndiName()
-   {
-      String s = delegate.getHomeJndiName();
-      if(s != null)
-         return s;
-      
-      return getDefaultJndiBindingPolicy().getJndiName(getEjbDeploymentSummary(), null, KnownInterfaceType.REMOTE_HOME);
-   }
-   
-   public String getJndiName()
-   {
-      String s = delegate.getJndiName();
-      if(s != null)
-         return s;
-      
-      // TODO: This is a bit of trickery, because it is beyond the responsibility of this class
-      return getMappedName();
-   }
-   
-   public String getLocalHomeJndiName()
-   {
-      String s = delegate.getLocalHomeJndiName();
-      if(s != null)
-         return s;
-      
-      return getDefaultJndiBindingPolicy().getJndiName(getEjbDeploymentSummary(), null, KnownInterfaceType.LOCAL_HOME);
-   }
-   
-   public String getLocalJndiName()
-   {
-      String s = delegate.getLocalJndiName();
-      if(s != null)
-         return s;
-      
-      return getDefaultJndiBindingPolicy().getJndiName(getEjbDeploymentSummary(), null, KnownInterfaceType.BUSINESS_LOCAL);
-   }
-   
-   public String getMappedName()
-   {
-      String s = delegate.getMappedName();
-      if(s != null)
-         return s;
-      
-      return getDefaultJndiBindingPolicy().getJndiName(getEjbDeploymentSummary(), null, KnownInterfaceType.BUSINESS_REMOTE);
-   }
-   
-   
-   /* Only delegation beyond this point */
-   
-   public void checkValid()
-   {
-      delegate.checkValid();
-   }
-
-   public IdMetaDataImpl clone()
-   {
-      throw new RuntimeException("NYI");
-   }
-
-   public DefaultJndiBindingPolicy createPolicy(ClassLoader loader,
-         Class<? extends DefaultJndiBindingPolicy> defaultPolicyClass) throws Exception
-   {
-      return delegate.createPolicy(loader, defaultPolicyClass);
-   }
-
-   public Set<String> determineAllDepends()
-   {
-      return delegate.determineAllDepends();
-   }
-
-   public ClusterConfigMetaData determineClusterConfig()
-   {
-      return delegate.determineClusterConfig();
-   }
-
-   public String determineConfigurationName()
-   {
-      return delegate.determineConfigurationName();
-   }
-
-   public ContainerConfigurationMetaData determineContainerConfiguration()
-   {
-      return delegate.determineContainerConfiguration();
-   }
-
-   public String determineContainerName()
-   {
-      return delegate.determineContainerName();
-   }
-
-   public InvokerBindingMetaData determineInvokerBinding(String invokerName)
-   {
-      return delegate.determineInvokerBinding(invokerName);
-   }
-
-   public InvokerBindingsMetaData determineInvokerBindings()
-   {
-      return delegate.determineInvokerBindings();
-   }
-
-   public boolean equals(Object obj)
-   {
-      return delegate.equals(obj);
-   }
-
-   public AnnotatedEJBReferencesMetaData getAnnotatedEjbReferences()
-   {
-      return delegate.getAnnotatedEjbReferences();
-   }
-
-   public AnnotationsMetaData getAnnotations()
-   {
-      return delegate.getAnnotations();
-   }
-
-   public String getAopDomainName()
-   {
-      return delegate.getAopDomainName();
-   }
-
-   public AroundInvokesMetaData getAroundInvokes()
-   {
-      return delegate.getAroundInvokes();
-   }
-
-   public BusinessLocalsMetaData getBusinessLocals()
-   {
-      return delegate.getBusinessLocals();
-   }
-
-   public BusinessRemotesMetaData getBusinessRemotes()
-   {
-      return delegate.getBusinessRemotes();
-   }
-
-   public CacheConfigMetaData getCacheConfig()
-   {
-      return delegate.getCacheConfig();
-   }
-
-   public ClusterConfigMetaData getClusterConfig()
-   {
-      return delegate.getClusterConfig();
-   }
-
-   public String getConfigurationName()
-   {
-      return delegate.getConfigurationName();
-   }
-
-   public String getContainerName()
-   {
-      return delegate.getContainerName();
-   }
-
-   public String getContainerObjectNameJndiName()
-   {
-      return delegate.getContainerObjectNameJndiName();
-   }
-
-   public ContainerTransactionsMetaData getContainerTransactions()
-   {
-      return delegate.getContainerTransactions();
-   }
-
-   public String getDefaultConfigurationName()
-   {
-      return delegate.getDefaultConfigurationName();
-   }
-
-   public String getDefaultInvokerName()
-   {
-      return delegate.getDefaultInvokerName();
-   }
-
-   public Set<String> getDepends()
-   {
-      return delegate.getDepends();
-   }
-
-   public DescriptionGroupMetaData getDescriptionGroup()
-   {
-      return delegate.getDescriptionGroup();
-   }
-
-   public String getEjbClass()
-   {
-      return delegate.getEjbClass();
-   }
-
-   public JBossMetaData getEjbJarMetaData()
-   {
-      return delegate.getEjbJarMetaData();
-   }
-
-   public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name)
-   {
-      return delegate.getEjbLocalReferenceByName(name);
-   }
-
-   public EJBLocalReferencesMetaData getEjbLocalReferences()
-   {
-      return delegate.getEjbLocalReferences();
-   }
-
-   public String getEjbName()
-   {
-      return delegate.getEjbName();
-   }
-
-   public EJBReferenceMetaData getEjbReferenceByName(String name)
-   {
-      return delegate.getEjbReferenceByName(name);
-   }
-
-   public EJBReferencesMetaData getEjbReferences()
-   {
-      return delegate.getEjbReferences();
-   }
-
-   public SecurityIdentityMetaData getEjbTimeoutIdentity()
-   {
-      return delegate.getEjbTimeoutIdentity();
-   }
-
-   public JBossEnterpriseBeansMetaData getEnterpriseBeansMetaData()
-   {
-      return delegate.getEnterpriseBeansMetaData();
-   }
-
-   public EnvironmentEntriesMetaData getEnvironmentEntries()
-   {
-      return delegate.getEnvironmentEntries();
-   }
-
-   public EnvironmentEntryMetaData getEnvironmentEntryByName(String name)
-   {
-      return delegate.getEnvironmentEntryByName(name);
-   }
-
-   public ExcludeListMetaData getExcludeList()
-   {
-      return delegate.getExcludeList();
-   }
-
-   public String getGeneratedContainerName()
-   {
-      return delegate.getGeneratedContainerName();
-   }
-
-   public String getHome()
-   {
-      return delegate.getHome();
-   }
-
-   public String getId()
-   {
-      return delegate.getId();
-   }
-
-   public IgnoreDependencyMetaData getIgnoreDependency()
-   {
-      return delegate.getIgnoreDependency();
-   }
-
-   public InitMethodsMetaData getInitMethods()
-   {
-      return delegate.getInitMethods();
-   }
-
-   public InvokerBindingsMetaData getInvokerBindings()
-   {
-      return delegate.getInvokerBindings();
-   }
-
-   public IORSecurityConfigMetaData getIorSecurityConfig()
-   {
-      return delegate.getIorSecurityConfig();
-   }
-
-   public JBossMetaData getJBossMetaData()
-   {
-      return delegate.getJBossMetaData();
-   }
-
-   public JBossMetaData getJBossMetaDataWithCheck()
-   {
-      return delegate.getJBossMetaDataWithCheck();
-   }
-
-   public String getJndiBindingPolicy()
-   {
-      return delegate.getJndiBindingPolicy();
-   }
-
-   public Environment getJndiEnvironmentRefsGroup()
-   {
-      return delegate.getJndiEnvironmentRefsGroup();
-   }
-
-   public JndiRefsMetaData getJndiRefs()
-   {
-      return delegate.getJndiRefs();
-   }
-
-   public String getKey()
-   {
-      return delegate.getKey();
-   }
-
-   public String getLocal()
-   {
-      return delegate.getLocal();
-   }
-
-   public String getLocalHome()
-   {
-      return delegate.getLocalHome();
-   }
-
-   public MessageDestinationReferenceMetaData getMessageDestinationReferenceByName(String name)
-   {
-      return delegate.getMessageDestinationReferenceByName(name);
-   }
-
-   public MessageDestinationReferencesMetaData getMessageDestinationReferences()
-   {
-      return delegate.getMessageDestinationReferences();
-   }
-
-   public MethodAttributesMetaData getMethodAttributes()
-   {
-      return delegate.getMethodAttributes();
-   }
-
-   public MethodPermissionsMetaData getMethodPermissions()
-   {
-      return delegate.getMethodPermissions();
-   }
-
-   public Set<String> getMethodPermissions(String methodName, Class<?>[] params, MethodInterfaceType interfaceType)
-   {
-      return delegate.getMethodPermissions(methodName, params, interfaceType);
-   }
-
-   public int getMethodTransactionTimeout(Method method)
-   {
-      return delegate.getMethodTransactionTimeout(method);
-   }
-
-   public int getMethodTransactionTimeout(String methodName)
-   {
-      return delegate.getMethodTransactionTimeout(methodName);
-   }
-
-   public TransactionAttributeType getMethodTransactionType(Method m, MethodInterfaceType iface)
-   {
-      return delegate.getMethodTransactionType(m, iface);
-   }
-
-   public TransactionAttributeType getMethodTransactionType(String methodName, Class<?>[] params,
-         MethodInterfaceType iface)
-   {
-      return delegate.getMethodTransactionType(methodName, params, iface);
-   }
-
-   public String getName()
-   {
-      return delegate.getName();
-   }
-
-   public PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(String name)
-   {
-      return delegate.getPersistenceContextReferenceByName(name);
-   }
-
-   public PersistenceContextReferencesMetaData getPersistenceContextRefs()
-   {
-      return delegate.getPersistenceContextRefs();
-   }
-
-   public PersistenceUnitReferenceMetaData getPersistenceUnitReferenceByName(String name)
-   {
-      return delegate.getPersistenceUnitReferenceByName(name);
-   }
-
-   public PersistenceUnitReferencesMetaData getPersistenceUnitRefs()
-   {
-      return delegate.getPersistenceUnitRefs();
-   }
-
-   public PoolConfigMetaData getPoolConfig()
-   {
-      return delegate.getPoolConfig();
-   }
-
-   public PortComponent getPortComponent()
-   {
-      return delegate.getPortComponent();
-   }
-
-   public LifecycleCallbacksMetaData getPostActivates()
-   {
-      return delegate.getPostActivates();
-   }
-
-   public LifecycleCallbacksMetaData getPostConstructs()
-   {
-      return delegate.getPostConstructs();
-   }
-
-   public LifecycleCallbacksMetaData getPreDestroys()
-   {
-      return delegate.getPreDestroys();
-   }
-
-   public LifecycleCallbacksMetaData getPrePassivates()
-   {
-      return delegate.getPrePassivates();
-   }
-
-   public String getRemote()
-   {
-      return delegate.getRemote();
-   }
-
-   public List<RemoteBindingMetaData> getRemoteBindings()
-   {
-      return delegate.getRemoteBindings();
-   }
-
-   public RemoveMethodsMetaData getRemoveMethods()
-   {
-      return delegate.getRemoveMethods();
-   }
-
-   public ResourceEnvironmentReferenceMetaData getResourceEnvironmentReferenceByName(String name)
-   {
-      return delegate.getResourceEnvironmentReferenceByName(name);
-   }
-
-   public ResourceEnvironmentReferencesMetaData getResourceEnvironmentReferences()
-   {
-      return delegate.getResourceEnvironmentReferences();
-   }
-
-   public ResourceReferenceMetaData getResourceReferenceByName(String name)
-   {
-      return delegate.getResourceReferenceByName(name);
-   }
-
-   public ResourceReferencesMetaData getResourceReferences()
-   {
-      return delegate.getResourceReferences();
-   }
-
-   public String getSecurityDomain()
-   {
-      return delegate.getSecurityDomain();
-   }
-
-   public SecurityIdentityMetaData getSecurityIdentity()
-   {
-      return delegate.getSecurityIdentity();
-   }
-
-   public String getSecurityProxy()
-   {
-      return delegate.getSecurityProxy();
-   }
-
-   public SecurityRoleMetaData getSecurityRole(String roleName)
-   {
-      return delegate.getSecurityRole(roleName);
-   }
-
-   public Set<String> getSecurityRolePrincipals(String roleName)
-   {
-      return delegate.getSecurityRolePrincipals(roleName);
-   }
-
-   public SecurityRoleRefsMetaData getSecurityRoleRefs()
-   {
-      return delegate.getSecurityRoleRefs();
-   }
-
-   public String getServiceEndpoint()
-   {
-      return delegate.getServiceEndpoint();
-   }
-
-   public ServiceReferenceMetaData getServiceReferenceByName(String name)
-   {
-      return delegate.getServiceReferenceByName(name);
-   }
-
-   public ServiceReferencesMetaData getServiceReferences()
-   {
-      return delegate.getServiceReferences();
-   }
-
-   public SessionType getSessionType()
-   {
-      return delegate.getSessionType();
-   }
-
-   public NamedMethodMetaData getTimeoutMethod()
-   {
-      return delegate.getTimeoutMethod();
-   }
-
-   public TransactionManagementType getTransactionType()
-   {
-      return delegate.getTransactionType();
-   }
-
-   public int hashCode()
-   {
-      return delegate.hashCode();
-   }
-
-   public boolean hasMethodPermissions(String methodName, Class<?>[] params, MethodInterfaceType interfaceType)
-   {
-      return delegate.hasMethodPermissions(methodName, params, interfaceType);
-   }
-
-   public boolean isBMT()
-   {
-      return delegate.isBMT();
-   }
-
-   public boolean isCallByValue()
-   {
-      return delegate.isCallByValue();
-   }
-
-   public boolean isClustered()
-   {
-      return delegate.isClustered();
-   }
-
-   public boolean isCMT()
-   {
-      return delegate.isCMT();
-   }
-
-   public Boolean isConcurrent()
-   {
-      return delegate.isConcurrent();
-   }
-
-   public boolean isConsumer()
-   {
-      return delegate.isConsumer();
-   }
-
-   public boolean isEntity()
-   {
-      return delegate.isEntity();
-   }
-
-   public boolean isExceptionOnRollback()
-   {
-      return delegate.isExceptionOnRollback();
-   }
-
-   public boolean isMessageDriven()
-   {
-      return delegate.isMessageDriven();
-   }
-
-   public boolean isMethodReadOnly(Method method)
-   {
-      return delegate.isMethodReadOnly(method);
-   }
-
-   public boolean isMethodReadOnly(String methodName)
-   {
-      return delegate.isMethodReadOnly(methodName);
-   }
-
-   public boolean isService()
-   {
-      return delegate.isService();
-   }
-
-   public boolean isSession()
-   {
-      return delegate.isSession();
-   }
-
-   public boolean isStateful()
-   {
-      return delegate.isStateful();
-   }
-
-   public boolean isStateless()
-   {
-      return delegate.isStateless();
-   }
-
-   public boolean isTimerPersistence()
-   {
-      return delegate.isTimerPersistence();
-   }
-
-   public void merge(IdMetaData override, IdMetaData original)
-   {
-      delegate.merge(override, original);
-   }
-
-   public void merge(IdMetaDataImpl override, IdMetaDataImpl original)
-   {
-      delegate.merge(override, original);
-   }
-
-   public void merge(JBossEnterpriseBeanMetaData override, EnterpriseBeanMetaData original, String overridenFile,
-         String overrideFile, boolean mustOverride)
-   {
-      delegate.merge(override, original, overridenFile, overrideFile, mustOverride);
-   }
-
-   public void merge(JBossEnterpriseBeanMetaData override, EnterpriseBeanMetaData original)
-   {
-      delegate.merge(override, original);
-   }
-
-   public void merge(NamedMetaData override, NamedMetaData original)
-   {
-      delegate.merge(override, original);
-   }
-
-   public void setAnnotations(AnnotationsMetaData annotations)
-   {
-      delegate.setAnnotations(annotations);
-   }
-
-   public void setAopDomainName(String aopDomainName)
-   {
-      delegate.setAopDomainName(aopDomainName);
-   }
-
-   public void setAroundInvokes(AroundInvokesMetaData aroundInvokes)
-   {
-      delegate.setAroundInvokes(aroundInvokes);
-   }
-
-   public void setBusinessLocals(BusinessLocalsMetaData businessLocals)
-   {
-      delegate.setBusinessLocals(businessLocals);
-   }
-
-   public void setBusinessRemotes(BusinessRemotesMetaData businessRemotes)
-   {
-      delegate.setBusinessRemotes(businessRemotes);
-   }
-
-   public void setCacheConfig(CacheConfigMetaData cacheConfig)
-   {
-      delegate.setCacheConfig(cacheConfig);
-   }
-
-   public void setCallByValue(boolean callByValue)
-   {
-      delegate.setCallByValue(callByValue);
-   }
-
-   public void setClusterConfig(ClusterConfigMetaData clusterConfig)
-   {
-      delegate.setClusterConfig(clusterConfig);
-   }
-
-   public void setClustered(boolean clustered)
-   {
-      delegate.setClustered(clustered);
-   }
-
-   public void setConcurrent(Boolean concurrent)
-   {
-      delegate.setConcurrent(concurrent);
-   }
-
-   public void setConfigurationName(String configurationName)
-   {
-      delegate.setConfigurationName(configurationName);
-   }
-
-   public void setContainerName(String containerName)
-   {
-      delegate.setContainerName(containerName);
-   }
-
-   public void setDepends(Set<String> depends)
-   {
-      delegate.setDepends(depends);
-   }
-
-   public void setDescriptionGroup(DescriptionGroupMetaData descriptionGroup)
-   {
-      delegate.setDescriptionGroup(descriptionGroup);
-   }
-
-   public void setEjbClass(String ejbClass)
-   {
-      delegate.setEjbClass(ejbClass);
-   }
-
-   public void setEjbName(String ejbName)
-   {
-      delegate.setEjbName(ejbName);
-   }
-
-   public void setEjbTimeoutIdentity(SecurityIdentityMetaData ejbTimeoutIdentity)
-   {
-      delegate.setEjbTimeoutIdentity(ejbTimeoutIdentity);
-   }
-
-   public void setEnterpriseBeansMetaData(JBossEnterpriseBeansMetaData enterpriseBeansMetaData)
-   {
-      delegate.setEnterpriseBeansMetaData(enterpriseBeansMetaData);
-   }
-
-   public void setExceptionOnRollback(boolean exceptionOnRollback)
-   {
-      delegate.setExceptionOnRollback(exceptionOnRollback);
-   }
-
-   public void setGeneratedContainerName(String containerName)
-   {
-      delegate.setGeneratedContainerName(containerName);
-   }
-
-   public void setHome(String home)
-   {
-      delegate.setHome(home);
-   }
-
-   public void setHomeJndiName(String homeJndiName)
-   {
-      delegate.setHomeJndiName(homeJndiName);
-   }
-
-   public void setId(String id)
-   {
-      delegate.setId(id);
-   }
-
-   public void setIgnoreDependency(IgnoreDependencyMetaData ignoreDependency)
-   {
-      delegate.setIgnoreDependency(ignoreDependency);
-   }
-
-   public void setInitMethods(InitMethodsMetaData initMethods)
-   {
-      delegate.setInitMethods(initMethods);
-   }
-
-   public void setInvokerBindings(InvokerBindingsMetaData invokers)
-   {
-      delegate.setInvokerBindings(invokers);
-   }
-
-   public void setIorSecurityConfig(IORSecurityConfigMetaData iorSecurityConfig)
-   {
-      delegate.setIorSecurityConfig(iorSecurityConfig);
-   }
-
-   public void setJndiBindingPolicy(String jndiBindingPolicy)
-   {
-      delegate.setJndiBindingPolicy(jndiBindingPolicy);
-   }
-
-   public void setJndiEnvironmentRefsGroup(Environment env)
-   {
-      delegate.setJndiEnvironmentRefsGroup(env);
-   }
-
-   public void setJndiName(String jndiName)
-   {
-      delegate.setJndiName(jndiName);
-   }
-
-   public void setJndiRefs(JndiRefsMetaData jndiRefs)
-   {
-      delegate.setJndiRefs(jndiRefs);
-   }
-
-   public void setLocal(String local)
-   {
-      delegate.setLocal(local);
-   }
-
-   public void setLocalHome(String localHome)
-   {
-      delegate.setLocalHome(localHome);
-   }
-
-   public void setLocalHomeJndiName(String localHomeJndiName)
-   {
-      delegate.setLocalHomeJndiName(localHomeJndiName);
-   }
-
-   public void setLocalJndiName(String localJndiName)
-   {
-      delegate.setLocalJndiName(localJndiName);
-   }
-
-   public void setMappedName(String mappedName)
-   {
-      delegate.setMappedName(mappedName);
-   }
-
-   public void setMethodAttributes(MethodAttributesMetaData methodAttributes)
-   {
-      delegate.setMethodAttributes(methodAttributes);
-   }
-
-   public void setName(String name)
-   {
-      delegate.setName(name);
-   }
-
-   public void setPoolConfig(PoolConfigMetaData poolConfig)
-   {
-      delegate.setPoolConfig(poolConfig);
-   }
-
-   public void setPortComponent(PortComponent portComponent)
-   {
-      delegate.setPortComponent(portComponent);
-   }
-
-   public void setPostActivates(LifecycleCallbacksMetaData postActivates)
-   {
-      delegate.setPostActivates(postActivates);
-   }
-
-   public void setPrePassivates(LifecycleCallbacksMetaData prePassivates)
-   {
-      delegate.setPrePassivates(prePassivates);
-   }
-
-   public void setRemote(String remote)
-   {
-      delegate.setRemote(remote);
-   }
-
-   public void setRemoteBindings(List<RemoteBindingMetaData> remoteBindings)
-   {
-      delegate.setRemoteBindings(remoteBindings);
-   }
-
-   public void setRemoveMethods(RemoveMethodsMetaData removeMethods)
-   {
-      delegate.setRemoveMethods(removeMethods);
-   }
-
-   public void setSecurityDomain(String securityDomain)
-   {
-      delegate.setSecurityDomain(securityDomain);
-   }
-
-   public void setSecurityIdentity(SecurityIdentityMetaData securityIdentity)
-   {
-      delegate.setSecurityIdentity(securityIdentity);
-   }
-
-   public void setSecurityProxy(String securityProxy)
-   {
-      delegate.setSecurityProxy(securityProxy);
-   }
-
-   public void setSecurityRoleRefs(SecurityRoleRefsMetaData securityRoleRefs)
-   {
-      delegate.setSecurityRoleRefs(securityRoleRefs);
-   }
-
-   public void setServiceEndpoint(String serviceEndpoint)
-   {
-      delegate.setServiceEndpoint(serviceEndpoint);
-   }
-
-   public void setSessionType(SessionType sessionType)
-   {
-      delegate.setSessionType(sessionType);
-   }
-
-   public void setTimeoutMethod(NamedMethodMetaData timeoutMethod)
-   {
-      delegate.setTimeoutMethod(timeoutMethod);
-   }
-
-   public void setTimerPersistence(boolean timerPersistence)
-   {
-      delegate.setTimerPersistence(timerPersistence);
-   }
-
-   public void setTransactionType(TransactionManagementType transactionType)
-   {
-      delegate.setTransactionType(transactionType);
-   }
-   
-   
-}

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/MethodAttributeMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/MethodAttributeMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/MethodAttributeMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.javaee.support.NamedMetaData;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaData;
+
 /**
  * MethodAttributeMetaData.
  *

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/MethodAttributesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/MethodAttributesMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/MethodAttributesMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,13 +23,11 @@
 
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.jboss.metadata.javaee.jboss.AnnotationMetaData;
-import org.jboss.metadata.javaee.jboss.AnnotationsMetaData;
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
 import org.jboss.xb.annotations.JBossXmlChild;
 
-import javax.xml.bind.annotation.XmlType;
-
 @XmlType(name="method-attributesType")
 @JBossXmlChild(name="method", type=MethodAttributeMetaData.class, unbounded=true)
 public class MethodAttributesMetaData extends AbstractMappedMetaData<MethodAttributeMetaData>

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/RemoteBindingMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/RemoteBindingMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/RemoteBindingMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,11 +21,10 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
-
-import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
+
 /**
  * RemoteBindingMetaData.
  * 
@@ -41,7 +40,7 @@
    /** The jndi name */
    private String jndiName;
    /** A runtime resolved jndi name */
-   private String resolvedJndiName;
+//   private String resolvedJndiName;
 
    /** The client bind url */
    private String clientBindUrl;
@@ -75,15 +74,15 @@
       this.jndiName = jndiName;
    }
 
-   @XmlTransient
-   public String getResolvedJndiName()
-   {
-      return resolvedJndiName;
-   }
-   public void setResolvedJndiName(String resolvedJndiName)
-   {
-      this.resolvedJndiName = resolvedJndiName;
-   }
+//   @XmlTransient
+//   public String getResolvedJndiName()
+//   {
+//      return resolvedJndiName;
+//   }
+//   public void setResolvedJndiName(String resolvedJndiName)
+//   {
+//      this.resolvedJndiName = resolvedJndiName;
+//   }
 
    /**
     * Get the clientBindUrl.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagerMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagerMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagerMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
+
 /**
  * ResourceManagerMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagersMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagersMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/ResourceManagersMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,11 +21,11 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.support.MappedMetaDataWithDescriptions;
 import org.jboss.xb.annotations.JBossXmlChild;
 
-import javax.xml.bind.annotation.XmlType;
-
 /**
  * ResourceManagersMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,11 +21,12 @@
 */
 package org.jboss.metadata.ejb.jboss;
 
-import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
-import org.jboss.metadata.javaee.support.IdMetaDataImpl;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
+import org.jboss.metadata.javaee.support.IdMetaDataImpl;
+
 /**
  * WebservicesMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,6 +21,8 @@
  */
 package org.jboss.metadata.ejb.jboss.jndipolicy.plugins;
 
+import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces;
@@ -41,61 +43,47 @@
  */
 public class BasicJndiBindingPolicy implements DefaultJndiBindingPolicy
 {
-   private String baseJndiName;
-
-   public BasicJndiBindingPolicy()
-   {
-      
-   }
-   public BasicJndiBindingPolicy(String baseJndiName)
-   {
-      this.baseJndiName = baseJndiName;
-   }
-   
-   public String getBaseJndiName()
-   {
-      return baseJndiName;
-   }
-   public void setBaseJndiName(String baseJndiName)
-   {
-      this.baseJndiName = baseJndiName;
-   }
-
    public String getDefaultLocalHomeJndiName(EjbDeploymentSummary summary)
    {
+      String baseJndiName = this.getBaseJndiName(summary);
       return baseJndiName + "/" + KnownInterfaces.LOCAL_HOME;
    }
 
    public String getDefaultLocalJndiName(EjbDeploymentSummary summary)
    {
+      String baseJndiName = this.getBaseJndiName(summary);
       return baseJndiName + "/" + KnownInterfaces.LOCAL;
    }
 
    public String getDefaultRemoteHomeJndiName(EjbDeploymentSummary summary)
    {
+      String baseJndiName = this.getBaseJndiName(summary);
       return baseJndiName + "/" + KnownInterfaces.HOME;
    }
 
    public String getDefaultRemoteJndiName(EjbDeploymentSummary summary)
    {
+      String baseJndiName = this.getBaseJndiName(summary);
       return baseJndiName + "/" + KnownInterfaces.REMOTE;
    }
 
    public String getJndiName(EjbDeploymentSummary summary)
    {
+      String baseJndiName = this.getBaseJndiName(summary);
       return baseJndiName;
    }
 
-   public String getJndiName(EjbDeploymentSummary summary, String iface,
-         KnownInterfaceType ifaceType)
+   public String getJndiName(EjbDeploymentSummary summary, String iface, KnownInterfaceType ifaceType)
    {
       String jndiName = null;
-      if(KnownInterfaces.isKnownInterface(iface))
+      if (KnownInterfaces.isKnownInterface(iface))
          iface = null;
 
-      if(ifaceType == KnownInterfaceType.UNKNOWN)
+      String baseJndiName = this.getBaseJndiName(summary);
+
+      if (ifaceType == KnownInterfaceType.UNKNOWN)
       {
-         if(iface == null)
+         if (iface == null)
             jndiName = baseJndiName;
          else
             jndiName = baseJndiName + "/" + iface;
@@ -103,48 +91,54 @@
       else
       {
          boolean is3x = summary.getBeanMD().getJBossMetaData().isEJB3x();
-         
-         if(is3x)
+
+         if (is3x)
          {
             // EJB 3
-            switch(ifaceType)
+            switch (ifaceType)
             {
                // base-name / (local|remote) - iface
-               case BUSINESS_LOCAL:
-               case BUSINESS_REMOTE:
-               case UNKNOWN:
-                  if(iface == null)
+               case BUSINESS_LOCAL :
+               case BUSINESS_REMOTE :
+               case UNKNOWN :
+                  if (iface == null)
                      jndiName = baseJndiName + "/" + ifaceType.toSuffix();
                   else
                      jndiName = baseJndiName + "/" + ifaceType.toSuffix() + "-" + iface;
-               break;
-               case LOCAL_HOME:
-                     // base-name / (local|remote)Home
-                     jndiName = baseJndiName + "/" + ifaceType.toSuffix();
                   break;
-               case REMOTE_HOME:
-                     // base-name / (local|remote)Home
-                     jndiName = baseJndiName + "/" + ifaceType.toSuffix();
+               case LOCAL_HOME :
+                  // base-name / (local|remote)Home
+                  jndiName = baseJndiName + "/" + ifaceType.toSuffix();
                   break;
+               case REMOTE_HOME :
+                  // base-name / (local|remote)Home
+                  jndiName = baseJndiName + "/" + ifaceType.toSuffix();
+                  break;
             }
          }
          else
          {
             // EJB 2.x
-            switch(ifaceType)
-            {               
+            switch (ifaceType)
+            {
                // The local home jndi name (same for getLocalJndiName and getLocalHomeJndiName)
-               case BUSINESS_LOCAL:
-               case LOCAL_HOME:
-                     // Use the bean local jndi name or generated name for ejb2.x local homes
-                     jndiName = summary.getBeanMD().determineLocalJndiName();
+               case BUSINESS_LOCAL :
+               case LOCAL_HOME :
+                  // Use the bean local jndi name or a generated name for ejb2.x local homes 
+                  jndiName = summary.getBeanMD().getLocalJndiName();
+                  if (jndiName != null && jndiName.trim().length() > 0)
+                  {
+                     return jndiName;
+                  }
+                  String ejbName = summary.getBeanMD().getEjbName();
+                  jndiName = "local/" + ejbName + '@' + System.identityHashCode(ejbName);
                   break;
-                  
+
                // The home jndi name (same for getJndiName and getHomeJndiName) 
-               case BUSINESS_REMOTE:
-               case REMOTE_HOME:
-                     // Don't append the iface suffix for ejb2.x homes
-                     jndiName = baseJndiName;
+               case BUSINESS_REMOTE :
+               case REMOTE_HOME :
+                  // Don't append the iface suffix for ejb2.x homes
+                  jndiName = baseJndiName;
                   break;
             }
          }
@@ -153,4 +147,31 @@
       return jndiName;
    }
 
+   private String getBaseJndiName(EjbDeploymentSummary summary)
+   {
+      String baseName = summary.getBeanMD().getMappedName();
+      
+      //TODO Ugly, should be using polymorphism not runtime type checks w/ casting
+      if (summary.getBeanMD().isSession())
+      {
+         if (baseName == null || baseName.trim().length() == 0)
+         {
+            baseName = ((JBossSessionBeanMetaData) summary.getBeanMD()).getJndiName();
+         }
+      }
+      if (summary.getBeanMD().isEntity())
+      {
+         if (baseName == null || baseName.trim().length() == 0)
+         {
+            baseName = ((JBossEntityBeanMetaData) summary.getBeanMD()).getJndiName();
+         }
+      }
+      
+      if (baseName == null || baseName.trim().length() == 0)
+      {
+         baseName = summary.getBeanMD().getEjbName();
+      }
+      return baseName;
+   }
+
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/EjbNameJndiBindingPolicy.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/EjbNameJndiBindingPolicy.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/EjbNameJndiBindingPolicy.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -41,35 +41,35 @@
     */
    public String getDefaultLocalHomeJndiName(EjbDeploymentSummary summary)
    {
-      return summary.getEjbName() + "LocalHome";
+      return summary.getBeanMD().getEjbName() + "LocalHome";
    }
    /**
     * @return ejb-name + "Local"
     */
    public String getDefaultLocalJndiName(EjbDeploymentSummary summary)
    {
-      return summary.getEjbName() + "Local";
+      return summary.getBeanMD().getEjbName() + "Local";
    }
    /**
     * @return ejb-name + "Home"
     */
    public String getDefaultRemoteHomeJndiName(EjbDeploymentSummary summary)
    {
-      return summary.getEjbName() + "Home";
+      return summary.getBeanMD().getEjbName() + "Home";
    }
    /**
     * @return ejb-name + "Remote"
     */
    public String getDefaultRemoteJndiName(EjbDeploymentSummary summary)
    {
-      return summary.getEjbName() + "Remote";
+      return summary.getBeanMD().getEjbName() + "Remote";
    }
    /**
     * @return ejb-name
     */
    public String getJndiName(EjbDeploymentSummary summary)
    {
-      return summary.getEjbName();
+      return summary.getBeanMD().getEjbName();
    }
    /**
     * @return ejb-name + "/" + iface
@@ -95,7 +95,7 @@
       }
       else
       {
-         jndiName = summary.getEjbName() + "/" + iface;
+         jndiName = summary.getBeanMD().getEjbName() + "/" + iface;
       }
       return jndiName;
    }

Copied: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/JBossSessionPolicyDecorator.java (from rev 75106, projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionPolicyDecorator.java)
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/JBossSessionPolicyDecorator.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/JBossSessionPolicyDecorator.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -0,0 +1,1366 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.ejb.jboss.jndipolicy.plugins;
+
+import java.lang.reflect.Method;
+import java.util.List;
+import java.util.Set;
+
+import javax.ejb.TransactionAttributeType;
+import javax.ejb.TransactionManagementType;
+
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.CacheConfigMetaData;
+import org.jboss.metadata.ejb.jboss.ClusterConfigMetaData;
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
+import org.jboss.metadata.ejb.jboss.IORSecurityConfigMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerBindingMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerBindingsMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.MethodAttributesMetaData;
+import org.jboss.metadata.ejb.jboss.PoolConfigMetaData;
+import org.jboss.metadata.ejb.jboss.RemoteBindingMetaData;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DeploymentSummary;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.ResolveableJndiNameJbossSessionBeanMetadata;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces.KnownInterfaceType;
+import org.jboss.metadata.ejb.spec.AroundInvokesMetaData;
+import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
+import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
+import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
+import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.spec.ExcludeListMetaData;
+import org.jboss.metadata.ejb.spec.InitMethodsMetaData;
+import org.jboss.metadata.ejb.spec.MethodInterfaceType;
+import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
+import org.jboss.metadata.ejb.spec.NamedMethodMetaData;
+import org.jboss.metadata.ejb.spec.RemoveMethodsMetaData;
+import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
+import org.jboss.metadata.ejb.spec.SessionType;
+import org.jboss.metadata.javaee.jboss.AnnotationsMetaData;
+import org.jboss.metadata.javaee.jboss.IgnoreDependencyMetaData;
+import org.jboss.metadata.javaee.jboss.JndiRefsMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
+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.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.PortComponent;
+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.IdMetaData;
+import org.jboss.metadata.javaee.support.IdMetaDataImpl;
+import org.jboss.metadata.javaee.support.NamedMetaData;
+import org.jboss.util.NotImplementedException;
+
+/**
+ * JBossSessionPolicyDecorator
+ * 
+ * Decorate a JBossSessionBeanMetaData with the ability to resolve JNDI Names
+ * based on a specified JNDI Binding Policy, so any getter of a JNDI
+ * name will never return null.
+ * 
+ * Note that you should on call getters on this object.
+ * 
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class JBossSessionPolicyDecorator extends JBossSessionBeanMetaData implements ResolveableJndiNameJbossSessionBeanMetadata
+{
+   private static final long serialVersionUID = 1L;
+   
+   private static final Logger log = Logger.getLogger(JBossSessionPolicyDecorator.class);
+
+   private JBossSessionBeanMetaData delegate;
+   
+   private DefaultJndiBindingPolicy jndiPolicy;
+
+   public JBossSessionPolicyDecorator(JBossSessionBeanMetaData delegate, DefaultJndiBindingPolicy jndiPolicy)
+   {
+      assert delegate != null : "delegate is null";
+      assert jndiPolicy != null : this.getClass().getSimpleName() + " requires a specified "
+            + DefaultJndiBindingPolicy.class.getSimpleName();
+      
+      this.delegate = delegate;
+      this.jndiPolicy = jndiPolicy;
+   }
+   
+   protected KnownInterfaceType classifyInterface(String iface)
+   {
+      KnownInterfaceType ifaceType = KnownInterfaces.classifyInterface(iface);
+      if(ifaceType != KnownInterfaceType.UNKNOWN)
+         return ifaceType;
+      
+      // Need to compare iface against the metadata local-home/home & business locals/remotes
+      // Figure out the interface type from the metadata
+      if (delegate.getLocalHome() != null && delegate.getLocalHome().equals(iface))
+         return KnownInterfaceType.LOCAL_HOME;
+      else if (delegate.getHome() != null && delegate.getHome().equals(iface))
+         return KnownInterfaceType.REMOTE_HOME;
+      else
+      {
+         // Check business locals
+         BusinessLocalsMetaData locals = delegate.getBusinessLocals();
+         if (locals != null)
+         {
+            for (String local : locals)
+            {
+               if (local.equals(iface))
+               {
+                  return KnownInterfaceType.BUSINESS_LOCAL;
+               }
+            }
+         }
+         if (ifaceType == KnownInterfaceType.UNKNOWN)
+         {
+            // Check business remotes
+            BusinessRemotesMetaData remotes = delegate.getBusinessRemotes();
+            if (remotes != null)
+            {
+               for (String remote : remotes)
+               {
+                  if (remote.equals(iface))
+                  {
+                     return KnownInterfaceType.BUSINESS_REMOTE;
+                  }
+               }
+            }
+         }
+      }
+      
+      throw new IllegalArgumentException("Can't find interface " + iface + " in " + this);
+   }
+   
+   private EjbDeploymentSummary getEjbDeploymentSummary()
+   {
+      DeploymentSummary dsummary = getJBossMetaData().getDeploymentSummary();
+      if(dsummary == null)
+         dsummary = new DeploymentSummary();
+      return new EjbDeploymentSummary(this.delegate, dsummary);
+   }
+   
+   /**
+    * Resolve the JNDI binding policy that's to be used.
+    * 
+    * @return the JNDI binding policy to be used
+    */
+   public DefaultJndiBindingPolicy getJndiPolicy()
+   {
+      return this.jndiPolicy;
+   }
+   
+   public void setJndiPolicy(DefaultJndiBindingPolicy policy)
+   {
+      this.jndiPolicy = policy;
+   }
+
+   /**
+    * Returns the resolved JNDI Name for the specified
+    * interface of this metadata, using the current JNDI 
+    * Binding Policy
+    * 
+    * @param iface
+    * @return
+    */
+   public String determineResolvedJndiName(String iface)
+   {
+      // Obtain the JNDI Policy
+      DefaultJndiBindingPolicy policy = this.getJndiPolicy();
+      
+      // Classify the interface
+      KnownInterfaceType ifaceType = classifyInterface(iface);
+
+      // Have the policy generate the actual name
+      String resolvedJndiName = policy.getJndiName(getEjbDeploymentSummary(), iface, ifaceType);
+      log.debug("Resolved JNDI Name for Interface " + iface + " of type " + ifaceType + " is " + resolvedJndiName);
+      
+      // Return
+      return resolvedJndiName;
+   }
+   
+   /**
+    * @deprecated For backwards-compat only; remove
+    * @see org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData#determineResolvedJndiName(java.lang.String, org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy)
+    */
+   @Override
+   @Deprecated
+   public String determineResolvedJndiName(String iface, DefaultJndiBindingPolicy defaultPolicy)
+   {
+      // Warn
+      log
+            .warn("Ignoring specified " + DefaultJndiBindingPolicy.class.getName()
+                  + " in 'determineResolvedJndiName(String,DefaultJndiBindingPolicy)'"
+                  + " JBMETA-68, this call is deprecated");
+      
+      // Redirect to proper handling
+      return this.determineResolvedJndiName(iface);
+   }
+
+   /**
+    * Returns the resolved JNDI target to which the
+    * EJB2.x Remote Home interface is to be bound
+    * 
+    * @return
+    */
+   public String determineResolvedRemoteHomeJndiName(){
+      String s = super.getHomeJndiName();
+      if(s != null)
+         return s;
+      
+      return getJndiPolicy().getJndiName(getEjbDeploymentSummary(), KnownInterfaces.HOME, KnownInterfaceType.REMOTE_HOME);
+   }
+
+   /**
+    * Returns the resolved JNDI target to which the
+    * EJB2.x Local Home interface is to be bound
+    * 
+    * @return
+    */
+   public String determineResolvedLocalHomeJndiName(){      
+      return getJndiPolicy().getJndiName(getEjbDeploymentSummary(), KnownInterfaces.LOCAL_HOME, KnownInterfaceType.LOCAL_HOME);
+   }
+
+   /**
+    * Returns the resolved JNDI target to which the
+    * default EJB3.x Remote Business interfaces are to be bound
+    * 
+    * @return
+    */
+   public String determineResolvedRemoteBusinessDefaultJndiName(){
+      // Obtain remote bindings
+      List<RemoteBindingMetaData> bindings = this.delegate.getRemoteBindings();
+      
+      // If defined, use the first remote binding as a JNDI default
+      if (bindings != null && bindings.size() > 0)
+      {
+         String jndiName = bindings.get(0).getJndiName();
+         if (jndiName != null && jndiName.length() > 0)
+         {
+            return jndiName;
+         }
+      }
+      
+      // Fall back on the mapped name
+      return this.getMappedName();
+   }
+
+   /**
+    * Returns the resolved JNDI target to which the
+    * default EJB3.x Local Business interfaces are to be bound
+    * 
+    * @return
+    */
+   public String determineResolvedLocalBusinessDefaultJndiName(){
+      String s = delegate.getLocalJndiName();
+      if (s != null && s.length() > 0)
+         return s;
+      
+      return getJndiPolicy().getJndiName(getEjbDeploymentSummary(), KnownInterfaces.LOCAL, KnownInterfaceType.BUSINESS_LOCAL);
+   }
+   
+   // --------------------------------------------------------------------------------||
+   // Overridden Implementations -----------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+   
+   @Override
+   public String getMappedName()
+   {
+      String s = delegate.getMappedName();
+      if (s != null && s.length() > 0)
+         return s;
+      
+      return getJndiPolicy().getJndiName(getEjbDeploymentSummary(), KnownInterfaces.REMOTE, KnownInterfaceType.BUSINESS_REMOTE);
+   }
+   
+   @Override
+   public String getHomeJndiName()
+   {
+      return this.determineResolvedRemoteHomeJndiName();
+   }
+   
+   @Override
+   public String getJndiName()
+   {
+      return this.determineResolvedRemoteBusinessDefaultJndiName();
+   }
+   
+   @Override
+   public String getLocalHomeJndiName()
+   {
+      return this.determineResolvedLocalHomeJndiName();
+   }
+   
+   @Override
+   public String getLocalJndiName()
+   {
+      return this.determineResolvedLocalBusinessDefaultJndiName();
+   }
+   
+   
+   /* Only delegation beyond this point */
+   
+   @Override
+   public void checkValid()
+   {
+      delegate.checkValid();
+   }
+
+   @Override
+   public IdMetaDataImpl clone()
+   {
+      throw new NotImplementedException();
+   }
+
+   @Override
+   public DefaultJndiBindingPolicy createPolicy(ClassLoader loader,
+         Class<? extends DefaultJndiBindingPolicy> defaultPolicyClass) throws Exception
+   {
+      return delegate.createPolicy(loader, defaultPolicyClass);
+   }
+
+   @Override
+   public Set<String> determineAllDepends()
+   {
+      return delegate.determineAllDepends();
+   }
+
+   @Override
+   public ClusterConfigMetaData determineClusterConfig()
+   {
+      return delegate.determineClusterConfig();
+   }
+
+   @Override
+   public String determineConfigurationName()
+   {
+      return delegate.determineConfigurationName();
+   }
+
+   @Override
+   public ContainerConfigurationMetaData determineContainerConfiguration()
+   {
+      return delegate.determineContainerConfiguration();
+   }
+
+   @Override
+   public String determineContainerName()
+   {
+      return delegate.determineContainerName();
+   }
+
+   @Override
+   public InvokerBindingMetaData determineInvokerBinding(String invokerName)
+   {
+      return delegate.determineInvokerBinding(invokerName);
+   }
+
+   @Override
+   public InvokerBindingsMetaData determineInvokerBindings()
+   {
+      return delegate.determineInvokerBindings();
+   }
+
+   @Override
+   public boolean equals(Object obj)
+   {
+      return delegate.equals(obj);
+   }
+
+   @Override
+   public AnnotatedEJBReferencesMetaData getAnnotatedEjbReferences()
+   {
+      return delegate.getAnnotatedEjbReferences();
+   }
+
+   @Override
+   public AnnotationsMetaData getAnnotations()
+   {
+      return delegate.getAnnotations();
+   }
+
+   @Override
+   public String getAopDomainName()
+   {
+      return delegate.getAopDomainName();
+   }
+
+   @Override
+   public AroundInvokesMetaData getAroundInvokes()
+   {
+      return delegate.getAroundInvokes();
+   }
+
+   @Override
+   public BusinessLocalsMetaData getBusinessLocals()
+   {
+      return delegate.getBusinessLocals();
+   }
+
+   @Override
+   public BusinessRemotesMetaData getBusinessRemotes()
+   {
+      return delegate.getBusinessRemotes();
+   }
+
+   @Override
+   public CacheConfigMetaData getCacheConfig()
+   {
+      return delegate.getCacheConfig();
+   }
+
+   @Override
+   public ClusterConfigMetaData getClusterConfig()
+   {
+      return delegate.getClusterConfig();
+   }
+
+   @Override
+   public String getConfigurationName()
+   {
+      return delegate.getConfigurationName();
+   }
+
+   @Override
+   public String getContainerName()
+   {
+      return delegate.getContainerName();
+   }
+
+   @Override
+   public String getContainerObjectNameJndiName()
+   {
+      return delegate.getContainerObjectNameJndiName();
+   }
+
+   @Override
+   public ContainerTransactionsMetaData getContainerTransactions()
+   {
+      return delegate.getContainerTransactions();
+   }
+
+   @Override
+   public String getDefaultConfigurationName()
+   {
+      return delegate.getDefaultConfigurationName();
+   }
+
+   @Override
+   public String getDefaultInvokerName()
+   {
+      return delegate.getDefaultInvokerName();
+   }
+
+   @Override
+   public Set<String> getDepends()
+   {
+      return delegate.getDepends();
+   }
+
+   @Override
+   public DescriptionGroupMetaData getDescriptionGroup()
+   {
+      return delegate.getDescriptionGroup();
+   }
+
+   @Override
+   public String getEjbClass()
+   {
+      return delegate.getEjbClass();
+   }
+
+   @Override
+   public JBossMetaData getEjbJarMetaData()
+   {
+      return delegate.getEjbJarMetaData();
+   }
+
+   @Override
+   public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name)
+   {
+      return delegate.getEjbLocalReferenceByName(name);
+   }
+
+   @Override
+   public EJBLocalReferencesMetaData getEjbLocalReferences()
+   {
+      return delegate.getEjbLocalReferences();
+   }
+
+   @Override
+   public String getEjbName()
+   {
+      return delegate.getEjbName();
+   }
+
+   @Override
+   public EJBReferenceMetaData getEjbReferenceByName(String name)
+   {
+      return delegate.getEjbReferenceByName(name);
+   }
+
+   @Override
+   public EJBReferencesMetaData getEjbReferences()
+   {
+      return delegate.getEjbReferences();
+   }
+
+   @Override
+   public SecurityIdentityMetaData getEjbTimeoutIdentity()
+   {
+      return delegate.getEjbTimeoutIdentity();
+   }
+
+   @Override
+   public JBossEnterpriseBeansMetaData getEnterpriseBeansMetaData()
+   {
+      return delegate.getEnterpriseBeansMetaData();
+   }
+
+   @Override
+   public EnvironmentEntriesMetaData getEnvironmentEntries()
+   {
+      return delegate.getEnvironmentEntries();
+   }
+
+   @Override
+   public EnvironmentEntryMetaData getEnvironmentEntryByName(String name)
+   {
+      return delegate.getEnvironmentEntryByName(name);
+   }
+
+   @Override
+   public ExcludeListMetaData getExcludeList()
+   {
+      return delegate.getExcludeList();
+   }
+
+   @Override
+   public String getGeneratedContainerName()
+   {
+      return delegate.getGeneratedContainerName();
+   }
+
+   @Override
+   public String getHome()
+   {
+      return delegate.getHome();
+   }
+
+   @Override
+   public String getId()
+   {
+      return delegate.getId();
+   }
+
+   @Override
+   public IgnoreDependencyMetaData getIgnoreDependency()
+   {
+      return delegate.getIgnoreDependency();
+   }
+
+   @Override
+   public InitMethodsMetaData getInitMethods()
+   {
+      return delegate.getInitMethods();
+   }
+
+   @Override
+   public InvokerBindingsMetaData getInvokerBindings()
+   {
+      return delegate.getInvokerBindings();
+   }
+
+   @Override
+   public IORSecurityConfigMetaData getIorSecurityConfig()
+   {
+      return delegate.getIorSecurityConfig();
+   }
+
+   @Override
+   public JBossMetaData getJBossMetaData()
+   {
+      return delegate.getJBossMetaData();
+   }
+
+   @Override
+   public JBossMetaData getJBossMetaDataWithCheck()
+   {
+      return delegate.getJBossMetaDataWithCheck();
+   }
+
+   @Override
+   public String getJndiBindingPolicy()
+   {
+      return delegate.getJndiBindingPolicy();
+   }
+
+   @Override
+   public Environment getJndiEnvironmentRefsGroup()
+   {
+      return delegate.getJndiEnvironmentRefsGroup();
+   }
+
+   @Override
+   public JndiRefsMetaData getJndiRefs()
+   {
+      return delegate.getJndiRefs();
+   }
+
+   @Override
+   public String getKey()
+   {
+      return delegate.getKey();
+   }
+
+   @Override
+   public String getLocal()
+   {
+      return delegate.getLocal();
+   }
+
+   @Override
+   public String getLocalHome()
+   {
+      return delegate.getLocalHome();
+   }
+
+   @Override
+   public MessageDestinationReferenceMetaData getMessageDestinationReferenceByName(String name)
+   {
+      return delegate.getMessageDestinationReferenceByName(name);
+   }
+
+   @Override
+   public MessageDestinationReferencesMetaData getMessageDestinationReferences()
+   {
+      return delegate.getMessageDestinationReferences();
+   }
+
+   @Override
+   public MethodAttributesMetaData getMethodAttributes()
+   {
+      return delegate.getMethodAttributes();
+   }
+
+   @Override
+   public MethodPermissionsMetaData getMethodPermissions()
+   {
+      return delegate.getMethodPermissions();
+   }
+
+   @Override
+   public Set<String> getMethodPermissions(String methodName, Class<?>[] params, MethodInterfaceType interfaceType)
+   {
+      return delegate.getMethodPermissions(methodName, params, interfaceType);
+   }
+
+   @Override
+   public int getMethodTransactionTimeout(Method method)
+   {
+      return delegate.getMethodTransactionTimeout(method);
+   }
+
+   @Override
+   public int getMethodTransactionTimeout(String methodName)
+   {
+      return delegate.getMethodTransactionTimeout(methodName);
+   }
+
+   @Override
+   public TransactionAttributeType getMethodTransactionType(Method m, MethodInterfaceType iface)
+   {
+      return delegate.getMethodTransactionType(m, iface);
+   }
+
+   @Override
+   public TransactionAttributeType getMethodTransactionType(String methodName, Class<?>[] params,
+         MethodInterfaceType iface)
+   {
+      return delegate.getMethodTransactionType(methodName, params, iface);
+   }
+
+   @Override
+   public String getName()
+   {
+      return delegate.getName();
+   }
+
+   @Override
+   public PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(String name)
+   {
+      return delegate.getPersistenceContextReferenceByName(name);
+   }
+
+   @Override
+   public PersistenceContextReferencesMetaData getPersistenceContextRefs()
+   {
+      return delegate.getPersistenceContextRefs();
+   }
+
+   @Override
+   public PersistenceUnitReferenceMetaData getPersistenceUnitReferenceByName(String name)
+   {
+      return delegate.getPersistenceUnitReferenceByName(name);
+   }
+
+   @Override
+   public PersistenceUnitReferencesMetaData getPersistenceUnitRefs()
+   {
+      return delegate.getPersistenceUnitRefs();
+   }
+
+   @Override
+   public PoolConfigMetaData getPoolConfig()
+   {
+      return delegate.getPoolConfig();
+   }
+
+   @Override
+   public PortComponent getPortComponent()
+   {
+      return delegate.getPortComponent();
+   }
+
+   @Override
+   public LifecycleCallbacksMetaData getPostActivates()
+   {
+      return delegate.getPostActivates();
+   }
+
+   @Override
+   public LifecycleCallbacksMetaData getPostConstructs()
+   {
+      return delegate.getPostConstructs();
+   }
+
+   @Override
+   public LifecycleCallbacksMetaData getPreDestroys()
+   {
+      return delegate.getPreDestroys();
+   }
+
+   @Override
+   public LifecycleCallbacksMetaData getPrePassivates()
+   {
+      return delegate.getPrePassivates();
+   }
+
+   @Override
+   public String getRemote()
+   {
+      return delegate.getRemote();
+   }
+
+   @Override
+   public List<RemoteBindingMetaData> getRemoteBindings()
+   {
+      return delegate.getRemoteBindings();
+   }
+
+   @Override
+   public RemoveMethodsMetaData getRemoveMethods()
+   {
+      return delegate.getRemoveMethods();
+   }
+
+   @Override
+   public ResourceEnvironmentReferenceMetaData getResourceEnvironmentReferenceByName(String name)
+   {
+      return delegate.getResourceEnvironmentReferenceByName(name);
+   }
+
+   @Override
+   public ResourceEnvironmentReferencesMetaData getResourceEnvironmentReferences()
+   {
+      return delegate.getResourceEnvironmentReferences();
+   }
+
+   @Override
+   public ResourceReferenceMetaData getResourceReferenceByName(String name)
+   {
+      return delegate.getResourceReferenceByName(name);
+   }
+
+   @Override
+   public ResourceReferencesMetaData getResourceReferences()
+   {
+      return delegate.getResourceReferences();
+   }
+
+   @Override
+   public String getSecurityDomain()
+   {
+      return delegate.getSecurityDomain();
+   }
+
+   @Override
+   public SecurityIdentityMetaData getSecurityIdentity()
+   {
+      return delegate.getSecurityIdentity();
+   }
+
+   @Override
+   public String getSecurityProxy()
+   {
+      return delegate.getSecurityProxy();
+   }
+
+   @Override
+   public SecurityRoleMetaData getSecurityRole(String roleName)
+   {
+      return delegate.getSecurityRole(roleName);
+   }
+
+   @Override
+   public Set<String> getSecurityRolePrincipals(String roleName)
+   {
+      return delegate.getSecurityRolePrincipals(roleName);
+   }
+
+   @Override
+   public SecurityRoleRefsMetaData getSecurityRoleRefs()
+   {
+      return delegate.getSecurityRoleRefs();
+   }
+
+   @Override
+   public String getServiceEndpoint()
+   {
+      return delegate.getServiceEndpoint();
+   }
+
+   @Override
+   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   {
+      return delegate.getServiceReferenceByName(name);
+   }
+
+   @Override
+   public ServiceReferencesMetaData getServiceReferences()
+   {
+      return delegate.getServiceReferences();
+   }
+
+   @Override
+   public SessionType getSessionType()
+   {
+      return delegate.getSessionType();
+   }
+
+   @Override
+   public NamedMethodMetaData getTimeoutMethod()
+   {
+      return delegate.getTimeoutMethod();
+   }
+
+   @Override
+   public TransactionManagementType getTransactionType()
+   {
+      return delegate.getTransactionType();
+   }
+
+   @Override
+   public int hashCode()
+   {
+      return delegate.hashCode();
+   }
+
+   @Override
+   public boolean hasMethodPermissions(String methodName, Class<?>[] params, MethodInterfaceType interfaceType)
+   {
+      return delegate.hasMethodPermissions(methodName, params, interfaceType);
+   }
+
+   @Override
+   public boolean isBMT()
+   {
+      return delegate.isBMT();
+   }
+
+   @Override
+   public boolean isCallByValue()
+   {
+      return delegate.isCallByValue();
+   }
+
+   @Override
+   public boolean isClustered()
+   {
+      return delegate.isClustered();
+   }
+
+   @Override
+   public boolean isCMT()
+   {
+      return delegate.isCMT();
+   }
+
+   @Override
+   public Boolean isConcurrent()
+   {
+      return delegate.isConcurrent();
+   }
+
+   @Override
+   public boolean isConsumer()
+   {
+      return delegate.isConsumer();
+   }
+
+   @Override
+   public boolean isEntity()
+   {
+      return delegate.isEntity();
+   }
+
+   @Override
+   public boolean isExceptionOnRollback()
+   {
+      return delegate.isExceptionOnRollback();
+   }
+
+   @Override
+   public boolean isMessageDriven()
+   {
+      return delegate.isMessageDriven();
+   }
+
+   @Override
+   public boolean isMethodReadOnly(Method method)
+   {
+      return delegate.isMethodReadOnly(method);
+   }
+
+   @Override
+   public boolean isMethodReadOnly(String methodName)
+   {
+      return delegate.isMethodReadOnly(methodName);
+   }
+
+   @Override
+   public boolean isService()
+   {
+      return delegate.isService();
+   }
+
+   @Override
+   public boolean isSession()
+   {
+      return delegate.isSession();
+   }
+
+   @Override
+   public boolean isStateful()
+   {
+      return delegate.isStateful();
+   }
+
+   @Override
+   public boolean isStateless()
+   {
+      return delegate.isStateless();
+   }
+
+   @Override
+   public boolean isTimerPersistence()
+   {
+      return delegate.isTimerPersistence();
+   }
+
+   @Override
+   public void merge(IdMetaData override, IdMetaData original)
+   {
+      delegate.merge(override, original);
+   }
+
+   @Override
+   public void merge(IdMetaDataImpl override, IdMetaDataImpl original)
+   {
+      delegate.merge(override, original);
+   }
+
+   @Override
+   public void merge(JBossEnterpriseBeanMetaData override, EnterpriseBeanMetaData original, String overridenFile,
+         String overrideFile, boolean mustOverride)
+   {
+      delegate.merge(override, original, overridenFile, overrideFile, mustOverride);
+   }
+
+   @Override
+   public void merge(JBossEnterpriseBeanMetaData override, EnterpriseBeanMetaData original)
+   {
+      delegate.merge(override, original);
+   }
+
+   @Override
+   public void merge(NamedMetaData override, NamedMetaData original)
+   {
+      delegate.merge(override, original);
+   }
+
+   @Override
+   public void setAnnotations(AnnotationsMetaData annotations)
+   {
+      delegate.setAnnotations(annotations);
+   }
+
+   @Override
+   public void setAopDomainName(String aopDomainName)
+   {
+      delegate.setAopDomainName(aopDomainName);
+   }
+
+   @Override
+   public void setAroundInvokes(AroundInvokesMetaData aroundInvokes)
+   {
+      delegate.setAroundInvokes(aroundInvokes);
+   }
+
+   @Override
+   public void setBusinessLocals(BusinessLocalsMetaData businessLocals)
+   {
+      delegate.setBusinessLocals(businessLocals);
+   }
+
+   @Override
+   public void setBusinessRemotes(BusinessRemotesMetaData businessRemotes)
+   {
+      delegate.setBusinessRemotes(businessRemotes);
+   }
+
+   @Override
+   public void setCacheConfig(CacheConfigMetaData cacheConfig)
+   {
+      delegate.setCacheConfig(cacheConfig);
+   }
+
+   @Override
+   public void setCallByValue(boolean callByValue)
+   {
+      delegate.setCallByValue(callByValue);
+   }
+
+   @Override
+   public void setClusterConfig(ClusterConfigMetaData clusterConfig)
+   {
+      delegate.setClusterConfig(clusterConfig);
+   }
+
+   @Override
+   public void setClustered(boolean clustered)
+   {
+      delegate.setClustered(clustered);
+   }
+
+   @Override
+   public void setConcurrent(Boolean concurrent)
+   {
+      delegate.setConcurrent(concurrent);
+   }
+
+   @Override
+   public void setConfigurationName(String configurationName)
+   {
+      delegate.setConfigurationName(configurationName);
+   }
+
+   @Override
+   public void setContainerName(String containerName)
+   {
+      delegate.setContainerName(containerName);
+   }
+
+   @Override
+   public void setDepends(Set<String> depends)
+   {
+      delegate.setDepends(depends);
+   }
+
+   @Override
+   public void setDescriptionGroup(DescriptionGroupMetaData descriptionGroup)
+   {
+      delegate.setDescriptionGroup(descriptionGroup);
+   }
+   
+   @Override
+   public void setEjbClass(String ejbClass)
+   {
+      delegate.setEjbClass(ejbClass);
+   }
+
+   @Override
+   public void setEjbName(String ejbName)
+   {
+      delegate.setEjbName(ejbName);
+   }
+
+   @Override
+   public void setEjbTimeoutIdentity(SecurityIdentityMetaData ejbTimeoutIdentity)
+   {
+      delegate.setEjbTimeoutIdentity(ejbTimeoutIdentity);
+   }
+
+   @Override
+   public void setEnterpriseBeansMetaData(JBossEnterpriseBeansMetaData enterpriseBeansMetaData)
+   {
+      delegate.setEnterpriseBeansMetaData(enterpriseBeansMetaData);
+   }
+
+   @Override
+   public void setExceptionOnRollback(boolean exceptionOnRollback)
+   {
+      delegate.setExceptionOnRollback(exceptionOnRollback);
+   }
+
+   @Override
+   public void setGeneratedContainerName(String containerName)
+   {
+      delegate.setGeneratedContainerName(containerName);
+   }
+
+   @Override
+   public void setHome(String home)
+   {
+      delegate.setHome(home);
+   }
+
+   @Override
+   public void setHomeJndiName(String homeJndiName)
+   {
+      delegate.setHomeJndiName(homeJndiName);
+   }
+
+   @Override
+   public void setId(String id)
+   {
+      delegate.setId(id);
+   }
+
+   @Override
+   public void setIgnoreDependency(IgnoreDependencyMetaData ignoreDependency)
+   {
+      delegate.setIgnoreDependency(ignoreDependency);
+   }
+
+   @Override
+   public void setInitMethods(InitMethodsMetaData initMethods)
+   {
+      delegate.setInitMethods(initMethods);
+   }
+
+   @Override
+   public void setInvokerBindings(InvokerBindingsMetaData invokers)
+   {
+      delegate.setInvokerBindings(invokers);
+   }
+
+   @Override
+   public void setIorSecurityConfig(IORSecurityConfigMetaData iorSecurityConfig)
+   {
+      delegate.setIorSecurityConfig(iorSecurityConfig);
+   }
+
+   @Override
+   public void setJndiBindingPolicy(String jndiBindingPolicy)
+   {
+      delegate.setJndiBindingPolicy(jndiBindingPolicy);
+   }
+
+   @Override
+   public void setJndiEnvironmentRefsGroup(Environment env)
+   {
+      delegate.setJndiEnvironmentRefsGroup(env);
+   }
+
+   @Override
+   public void setJndiName(String jndiName)
+   {
+      delegate.setJndiName(jndiName);
+   }
+
+   @Override
+   public void setJndiRefs(JndiRefsMetaData jndiRefs)
+   {
+      delegate.setJndiRefs(jndiRefs);
+   }
+
+   @Override
+   public void setLocal(String local)
+   {
+      delegate.setLocal(local);
+   }
+
+   @Override
+   public void setLocalHome(String localHome)
+   {
+      delegate.setLocalHome(localHome);
+   }
+
+   @Override
+   public void setLocalHomeJndiName(String localHomeJndiName)
+   {
+      delegate.setLocalHomeJndiName(localHomeJndiName);
+   }
+
+   @Override
+   public void setLocalJndiName(String localJndiName)
+   {
+      delegate.setLocalJndiName(localJndiName);
+   }
+   
+   @Override
+   public void setMappedName(String mappedName)
+   {
+      delegate.setMappedName(mappedName);
+   }
+
+   @Override
+   public void setMethodAttributes(MethodAttributesMetaData methodAttributes)
+   {
+      delegate.setMethodAttributes(methodAttributes);
+   }
+
+   @Override
+   public void setName(String name)
+   {
+      delegate.setName(name);
+   }
+
+   @Override
+   public void setPoolConfig(PoolConfigMetaData poolConfig)
+   {
+      delegate.setPoolConfig(poolConfig);
+   }
+
+   @Override
+   public void setPortComponent(PortComponent portComponent)
+   {
+      delegate.setPortComponent(portComponent);
+   }
+
+   @Override
+   public void setPostActivates(LifecycleCallbacksMetaData postActivates)
+   {
+      delegate.setPostActivates(postActivates);
+   }
+
+   @Override
+   public void setPrePassivates(LifecycleCallbacksMetaData prePassivates)
+   {
+      delegate.setPrePassivates(prePassivates);
+   }
+
+   @Override
+   public void setRemote(String remote)
+   {
+      delegate.setRemote(remote);
+   }
+
+   @Override
+   public void setRemoteBindings(List<RemoteBindingMetaData> remoteBindings)
+   {
+      delegate.setRemoteBindings(remoteBindings);
+   }
+
+   @Override
+   public void setRemoveMethods(RemoveMethodsMetaData removeMethods)
+   {
+      delegate.setRemoveMethods(removeMethods);
+   }
+
+   @Override
+   public void setSecurityDomain(String securityDomain)
+   {
+      delegate.setSecurityDomain(securityDomain);
+   }
+
+   @Override
+   public void setSecurityIdentity(SecurityIdentityMetaData securityIdentity)
+   {
+      delegate.setSecurityIdentity(securityIdentity);
+   }
+
+   @Override
+   public void setSecurityProxy(String securityProxy)
+   {
+      delegate.setSecurityProxy(securityProxy);
+   }
+
+   @Override
+   public void setSecurityRoleRefs(SecurityRoleRefsMetaData securityRoleRefs)
+   {
+      delegate.setSecurityRoleRefs(securityRoleRefs);
+   }
+
+   @Override
+   public void setServiceEndpoint(String serviceEndpoint)
+   {
+      delegate.setServiceEndpoint(serviceEndpoint);
+   }
+
+   @Override
+   public void setSessionType(SessionType sessionType)
+   {
+      delegate.setSessionType(sessionType);
+   }
+
+   @Override
+   public void setTimeoutMethod(NamedMethodMetaData timeoutMethod)
+   {
+      delegate.setTimeoutMethod(timeoutMethod);
+   }
+
+   @Override
+   public void setTimerPersistence(boolean timerPersistence)
+   {
+      delegate.setTimerPersistence(timerPersistence);
+   }
+
+   @Override
+   public void setTransactionType(TransactionManagementType transactionType)
+   {
+      delegate.setTransactionType(transactionType);
+   }
+}

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/JbossEntityPolicyDecorator.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/JbossEntityPolicyDecorator.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/JbossEntityPolicyDecorator.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -0,0 +1,1219 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.ejb.jboss.jndipolicy.plugins;
+
+import java.lang.reflect.Method;
+import java.util.Map;
+import java.util.Set;
+
+import javax.ejb.TransactionAttributeType;
+import javax.ejb.TransactionManagementType;
+
+import org.jboss.metadata.ejb.jboss.CacheInvalidationConfigMetaData;
+import org.jboss.metadata.ejb.jboss.ClusterConfigMetaData;
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
+import org.jboss.metadata.ejb.jboss.IORSecurityConfigMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerBindingMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerBindingsMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.MethodAttributesMetaData;
+import org.jboss.metadata.ejb.jboss.PoolConfigMetaData;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DeploymentSummary;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.ResolveableJndiNameJbossEnterpriseBeanMetadata;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces.KnownInterfaceType;
+import org.jboss.metadata.ejb.spec.CMPFieldsMetaData;
+import org.jboss.metadata.ejb.spec.ContainerTransactionsMetaData;
+import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.spec.ExcludeListMetaData;
+import org.jboss.metadata.ejb.spec.MethodInterfaceType;
+import org.jboss.metadata.ejb.spec.MethodPermissionsMetaData;
+import org.jboss.metadata.ejb.spec.PersistenceType;
+import org.jboss.metadata.ejb.spec.QueriesMetaData;
+import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
+import org.jboss.metadata.javaee.jboss.AnnotationsMetaData;
+import org.jboss.metadata.javaee.jboss.IgnoreDependencyMetaData;
+import org.jboss.metadata.javaee.jboss.JndiRefsMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
+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.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.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.IdMetaData;
+import org.jboss.metadata.javaee.support.IdMetaDataImpl;
+import org.jboss.metadata.javaee.support.NamedMetaData;
+
+/**
+ * JbossEntityPolicyDecorator
+ * 
+ * Decorate a JBossEntityBeanMetaData with the ability to resolve JNDI Names
+ * based on a specified JNDI Binding Policy, so any getter of a JNDI
+ * name will never return null.
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class JbossEntityPolicyDecorator extends JBossEntityBeanMetaData
+      implements
+         ResolveableJndiNameJbossEnterpriseBeanMetadata
+{
+
+   // --------------------------------------------------------------------------------||
+   // Class Members ------------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   private static final long serialVersionUID = 1L;
+
+   // --------------------------------------------------------------------------------||
+   // Instance Members ---------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * The Wrapped (Decorated) Metadata
+    */
+   private JBossEntityBeanMetaData delegate;
+
+   /**
+    * The JNDI Policy to apply
+    */
+   private DefaultJndiBindingPolicy jndiPolicy;
+
+   // --------------------------------------------------------------------------------||
+   // Constructor --------------------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   public JbossEntityPolicyDecorator(JBossEntityBeanMetaData delegate, DefaultJndiBindingPolicy jndiPolicy)
+   {
+      // Sanity Checks
+      assert delegate != null : "delegate is null";
+      assert jndiPolicy != null : this.getClass().getSimpleName() + " requires a specified "
+            + DefaultJndiBindingPolicy.class.getSimpleName();
+
+      // Set delegate and JNDI Policy
+      this.delegate = delegate;
+      this.jndiPolicy = jndiPolicy;
+   }
+
+   // --------------------------------------------------------------------------------||
+   // Required Implementations -------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   /**
+    * Returns the resolved JNDI Name for the specified
+    * interface of this metadata.
+    * 
+    * @param iface
+    * @return
+    */
+   public String determineResolvedJndiName(String iface)
+   {
+      return jndiPolicy.getJndiName(this.getEjbDeploymentSummary(), iface, this.classifyInterface(iface));
+   }
+   
+   // --------------------------------------------------------------------------------||
+   // Internal Helper Methods --------------------------------------------------------||
+   // --------------------------------------------------------------------------------||
+
+   protected EjbDeploymentSummary getEjbDeploymentSummary()
+   {
+      DeploymentSummary dsummary = getJBossMetaData().getDeploymentSummary();
+      if(dsummary == null)
+         dsummary = new DeploymentSummary();
+      return new EjbDeploymentSummary(delegate, dsummary);
+   }
+   
+   protected KnownInterfaceType classifyInterface(String iface)
+   {
+      KnownInterfaceType ifaceType = KnownInterfaces.classifyInterface(iface);
+      if(ifaceType != KnownInterfaceType.UNKNOWN)
+         return ifaceType;
+      
+      // Need to compare iface against the metadata local-home/home & business locals/remotes
+      // Figure out the interface type from the metadata
+      if (delegate.getLocalHome() != null && delegate.getLocalHome().equals(iface))
+         return KnownInterfaceType.LOCAL_HOME;
+      else if (delegate.getHome() != null && delegate.getHome().equals(iface))
+         return KnownInterfaceType.REMOTE_HOME;
+      
+      return KnownInterfaceType.UNKNOWN;
+   }
+
+   /*
+    * 
+    * All Delegation Below This Marker -----------------------------------------------||
+    * 
+    */
+
+   @Override
+   public void checkValid()
+   {
+      delegate.checkValid();
+   }
+
+   @Override
+   public IdMetaDataImpl clone()
+   {
+      return delegate.clone();
+   }
+
+   @Override
+   public DefaultJndiBindingPolicy createPolicy(ClassLoader loader,
+         Class<? extends DefaultJndiBindingPolicy> defaultPolicyClass) throws Exception
+   {
+      return delegate.createPolicy(loader, defaultPolicyClass);
+   }
+
+   @Override
+   public Set<String> determineAllDepends()
+   {
+      return delegate.determineAllDepends();
+   }
+
+   @Override
+   public CacheInvalidationConfigMetaData determineCacheInvalidationConfig()
+   {
+      return delegate.determineCacheInvalidationConfig();
+   }
+
+   @Override
+   public ClusterConfigMetaData determineClusterConfig()
+   {
+      return delegate.determineClusterConfig();
+   }
+
+   @Override
+   public String determineConfigurationName()
+   {
+      return delegate.determineConfigurationName();
+   }
+
+   @Override
+   public ContainerConfigurationMetaData determineContainerConfiguration()
+   {
+      return delegate.determineContainerConfiguration();
+   }
+
+   @Override
+   public String determineContainerName()
+   {
+      return delegate.determineContainerName();
+   }
+
+   @Override
+   public InvokerBindingMetaData determineInvokerBinding(String invokerName)
+   {
+      return delegate.determineInvokerBinding(invokerName);
+   }
+
+   @Override
+   public InvokerBindingsMetaData determineInvokerBindings()
+   {
+      return delegate.determineInvokerBindings();
+   }
+
+   @Override
+   public String determineJndiName()
+   {
+      return delegate.determineJndiName();
+   }
+
+   @Override
+   public boolean equals(Object obj)
+   {
+      return delegate.equals(obj);
+   }
+
+   @Override
+   public String getAbstractSchemaName()
+   {
+      return delegate.getAbstractSchemaName();
+   }
+
+   @Override
+   public AnnotatedEJBReferencesMetaData getAnnotatedEjbReferences()
+   {
+      return delegate.getAnnotatedEjbReferences();
+   }
+
+   @Override
+   public AnnotationsMetaData getAnnotations()
+   {
+      return delegate.getAnnotations();
+   }
+
+   @Override
+   public String getAopDomainName()
+   {
+      return delegate.getAopDomainName();
+   }
+
+   @Override
+   public CacheInvalidationConfigMetaData getCacheInvalidationConfig()
+   {
+      return delegate.getCacheInvalidationConfig();
+   }
+
+   @Override
+   public ClusterConfigMetaData getClusterConfig()
+   {
+      return delegate.getClusterConfig();
+   }
+
+   @Override
+   public CMPFieldsMetaData getCmpFields()
+   {
+      return delegate.getCmpFields();
+   }
+
+   @Override
+   public String getCmpVersion()
+   {
+      return delegate.getCmpVersion();
+   }
+
+   @Override
+   public String getConfigurationName()
+   {
+      return delegate.getConfigurationName();
+   }
+
+   @Override
+   public String getContainerName()
+   {
+      return delegate.getContainerName();
+   }
+
+   @Override
+   public String getContainerObjectNameJndiName()
+   {
+      return delegate.getContainerObjectNameJndiName();
+   }
+
+   @Override
+   public ContainerTransactionsMetaData getContainerTransactions()
+   {
+      return delegate.getContainerTransactions();
+   }
+
+   @Override
+   public String getDefaultConfigurationName()
+   {
+      return delegate.getDefaultConfigurationName();
+   }
+
+   @Override
+   public String getDefaultInvokerName()
+   {
+      return delegate.getDefaultInvokerName();
+   }
+
+   @Override
+   public Set<String> getDepends()
+   {
+      return delegate.getDepends();
+   }
+
+   @Override
+   public DescriptionGroupMetaData getDescriptionGroup()
+   {
+      return delegate.getDescriptionGroup();
+   }
+
+   @Override
+   public String getEjbClass()
+   {
+      return delegate.getEjbClass();
+   }
+
+   @Override
+   public JBossMetaData getEjbJarMetaData()
+   {
+      return delegate.getEjbJarMetaData();
+   }
+
+   @Override
+   public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name)
+   {
+      return delegate.getEjbLocalReferenceByName(name);
+   }
+
+   @Override
+   public EJBLocalReferencesMetaData getEjbLocalReferences()
+   {
+      return delegate.getEjbLocalReferences();
+   }
+
+   @Override
+   public String getEjbName()
+   {
+      return delegate.getEjbName();
+   }
+
+   @Override
+   public EJBReferenceMetaData getEjbReferenceByName(String name)
+   {
+      return delegate.getEjbReferenceByName(name);
+   }
+
+   @Override
+   public EJBReferencesMetaData getEjbReferences()
+   {
+      return delegate.getEjbReferences();
+   }
+
+   @Override
+   public JBossEnterpriseBeansMetaData getEnterpriseBeansMetaData()
+   {
+      return delegate.getEnterpriseBeansMetaData();
+   }
+
+   @Override
+   public EnvironmentEntriesMetaData getEnvironmentEntries()
+   {
+      return delegate.getEnvironmentEntries();
+   }
+
+   @Override
+   public EnvironmentEntryMetaData getEnvironmentEntryByName(String name)
+   {
+      return delegate.getEnvironmentEntryByName(name);
+   }
+
+   @Override
+   public ExcludeListMetaData getExcludeList()
+   {
+      return delegate.getExcludeList();
+   }
+
+   @Override
+   public String getGeneratedContainerName()
+   {
+      return delegate.getGeneratedContainerName();
+   }
+
+   @Override
+   public String getHome()
+   {
+      return delegate.getHome();
+   }
+
+   @Override
+   public String getId()
+   {
+      return delegate.getId();
+   }
+
+   @Override
+   public IgnoreDependencyMetaData getIgnoreDependency()
+   {
+      return delegate.getIgnoreDependency();
+   }
+
+   @Override
+   public InvokerBindingsMetaData getInvokerBindings()
+   {
+      return delegate.getInvokerBindings();
+   }
+
+   @Override
+   public IORSecurityConfigMetaData getIorSecurityConfig()
+   {
+      return delegate.getIorSecurityConfig();
+   }
+
+   @Override
+   public JBossMetaData getJBossMetaData()
+   {
+      return delegate.getJBossMetaData();
+   }
+
+   @Override
+   public JBossMetaData getJBossMetaDataWithCheck()
+   {
+      return delegate.getJBossMetaDataWithCheck();
+   }
+
+   @Override
+   public String getJndiBindingPolicy()
+   {
+      return delegate.getJndiBindingPolicy();
+   }
+
+   @Override
+   public Environment getJndiEnvironmentRefsGroup()
+   {
+      return delegate.getJndiEnvironmentRefsGroup();
+   }
+
+   @Override
+   public String getJndiName()
+   {
+      return delegate.getJndiName();
+   }
+
+   @Override
+   public JndiRefsMetaData getJndiRefs()
+   {
+      return delegate.getJndiRefs();
+   }
+
+   @Override
+   public String getKey()
+   {
+      return delegate.getKey();
+   }
+
+   @Override
+   public String getLocal()
+   {
+      return delegate.getLocal();
+   }
+
+   @Override
+   public String getLocalHome()
+   {
+      return delegate.getLocalHome();
+   }
+
+   @Override
+   public String getLocalJndiName()
+   {
+      return delegate.getLocalJndiName();
+   }
+
+   @Override
+   public String getMappedName()
+   {
+      return delegate.getMappedName();
+   }
+
+   @Override
+   public MessageDestinationReferenceMetaData getMessageDestinationReferenceByName(String name)
+   {
+      return delegate.getMessageDestinationReferenceByName(name);
+   }
+
+   @Override
+   public MessageDestinationReferencesMetaData getMessageDestinationReferences()
+   {
+      return delegate.getMessageDestinationReferences();
+   }
+
+   @Override
+   public MethodAttributesMetaData getMethodAttributes()
+   {
+      return delegate.getMethodAttributes();
+   }
+
+   @Override
+   public MethodPermissionsMetaData getMethodPermissions()
+   {
+      return delegate.getMethodPermissions();
+   }
+
+   @Override
+   public Set<String> getMethodPermissions(String methodName, Class<?>[] params, MethodInterfaceType interfaceType)
+   {
+      return delegate.getMethodPermissions(methodName, params, interfaceType);
+   }
+
+   @Override
+   public int getMethodTransactionTimeout(Method method)
+   {
+      return delegate.getMethodTransactionTimeout(method);
+   }
+
+   @Override
+   public int getMethodTransactionTimeout(String methodName)
+   {
+      return delegate.getMethodTransactionTimeout(methodName);
+   }
+
+   @Override
+   public TransactionAttributeType getMethodTransactionType(Method m, MethodInterfaceType iface)
+   {
+      return delegate.getMethodTransactionType(m, iface);
+   }
+
+   @Override
+   public TransactionAttributeType getMethodTransactionType(String methodName, Class<?>[] params,
+         MethodInterfaceType iface)
+   {
+      return delegate.getMethodTransactionType(methodName, params, iface);
+   }
+
+   @Override
+   public String getName()
+   {
+      return delegate.getName();
+   }
+
+   @Override
+   public PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(String name)
+   {
+      return delegate.getPersistenceContextReferenceByName(name);
+   }
+
+   @Override
+   public PersistenceContextReferencesMetaData getPersistenceContextRefs()
+   {
+      return delegate.getPersistenceContextRefs();
+   }
+
+   @Override
+   public PersistenceType getPersistenceType()
+   {
+      return delegate.getPersistenceType();
+   }
+
+   @Override
+   public PersistenceUnitReferenceMetaData getPersistenceUnitReferenceByName(String name)
+   {
+      return delegate.getPersistenceUnitReferenceByName(name);
+   }
+
+   @Override
+   public PersistenceUnitReferencesMetaData getPersistenceUnitRefs()
+   {
+      return delegate.getPersistenceUnitRefs();
+   }
+
+   @Override
+   public PoolConfigMetaData getPoolConfig()
+   {
+      return delegate.getPoolConfig();
+   }
+
+   @Override
+   public LifecycleCallbacksMetaData getPostConstructs()
+   {
+      return delegate.getPostConstructs();
+   }
+
+   @Override
+   public LifecycleCallbacksMetaData getPreDestroys()
+   {
+      return delegate.getPreDestroys();
+   }
+
+   @Override
+   public String getPrimKeyClass()
+   {
+      return delegate.getPrimKeyClass();
+   }
+
+   @Override
+   public String getPrimKeyField()
+   {
+      return delegate.getPrimKeyField();
+   }
+
+   @Override
+   public QueriesMetaData getQueries()
+   {
+      return delegate.getQueries();
+   }
+
+   @Override
+   public String getRemote()
+   {
+      return delegate.getRemote();
+   }
+
+   @Override
+   public ResourceEnvironmentReferenceMetaData getResourceEnvironmentReferenceByName(String name)
+   {
+      return delegate.getResourceEnvironmentReferenceByName(name);
+   }
+
+   @Override
+   public ResourceEnvironmentReferencesMetaData getResourceEnvironmentReferences()
+   {
+      return delegate.getResourceEnvironmentReferences();
+   }
+
+   @Override
+   public ResourceReferenceMetaData getResourceReferenceByName(String name)
+   {
+      return delegate.getResourceReferenceByName(name);
+   }
+
+   @Override
+   public ResourceReferencesMetaData getResourceReferences()
+   {
+      return delegate.getResourceReferences();
+   }
+
+   @Override
+   public String getSecurityDomain()
+   {
+      return delegate.getSecurityDomain();
+   }
+
+   @Override
+   public SecurityIdentityMetaData getSecurityIdentity()
+   {
+      return delegate.getSecurityIdentity();
+   }
+
+   @Override
+   public String getSecurityProxy()
+   {
+      return delegate.getSecurityProxy();
+   }
+
+   @Override
+   public SecurityRoleMetaData getSecurityRole(String roleName)
+   {
+      return delegate.getSecurityRole(roleName);
+   }
+
+   @Override
+   public Set<String> getSecurityRolePrincipals(String roleName)
+   {
+      return delegate.getSecurityRolePrincipals(roleName);
+   }
+
+   @Override
+   public SecurityRoleRefsMetaData getSecurityRoleRefs()
+   {
+      return delegate.getSecurityRoleRefs();
+   }
+
+   @Override
+   public Map<String, Set<String>> getSecurityRolesPrincipalVersusRolesMap()
+   {
+      return delegate.getSecurityRolesPrincipalVersusRolesMap();
+   }
+
+   @Override
+   public ServiceReferenceMetaData getServiceReferenceByName(String name)
+   {
+      return delegate.getServiceReferenceByName(name);
+   }
+
+   @Override
+   public ServiceReferencesMetaData getServiceReferences()
+   {
+      return delegate.getServiceReferences();
+   }
+
+   @Override
+   public TransactionManagementType getTransactionType()
+   {
+      return delegate.getTransactionType();
+   }
+
+   @Override
+   public int hashCode()
+   {
+      return delegate.hashCode();
+   }
+
+   @Override
+   public boolean hasMethodPermissions(String methodName, Class<?>[] params, MethodInterfaceType interfaceType)
+   {
+      return delegate.hasMethodPermissions(methodName, params, interfaceType);
+   }
+
+   @Override
+   public boolean isBMP()
+   {
+      return delegate.isBMP();
+   }
+
+   @Override
+   public boolean isBMT()
+   {
+      return delegate.isBMT();
+   }
+
+   @Override
+   public boolean isCacheInvalidation()
+   {
+      return delegate.isCacheInvalidation();
+   }
+
+   @Override
+   public boolean isCallByValue()
+   {
+      return delegate.isCallByValue();
+   }
+
+   @Override
+   public boolean isClustered()
+   {
+      return delegate.isClustered();
+   }
+
+   @Override
+   public boolean isCMP()
+   {
+      return delegate.isCMP();
+   }
+
+   @Override
+   public boolean isCMP1x()
+   {
+      return delegate.isCMP1x();
+   }
+
+   @Override
+   public boolean isCMT()
+   {
+      return delegate.isCMT();
+   }
+
+   @Override
+   public boolean isConsumer()
+   {
+      return delegate.isConsumer();
+   }
+
+   @Override
+   public boolean isEntity()
+   {
+      return delegate.isEntity();
+   }
+
+   @Override
+   public boolean isExceptionOnRollback()
+   {
+      return delegate.isExceptionOnRollback();
+   }
+
+   @Override
+   public boolean isGeneric()
+   {
+      return delegate.isGeneric();
+   }
+
+   @Override
+   public boolean isMessageDriven()
+   {
+      return delegate.isMessageDriven();
+   }
+
+   @Override
+   public boolean isMethodReadOnly(Method method)
+   {
+      return delegate.isMethodReadOnly(method);
+   }
+
+   @Override
+   public boolean isMethodReadOnly(String methodName)
+   {
+      return delegate.isMethodReadOnly(methodName);
+   }
+
+   @Override
+   public boolean isReadOnly()
+   {
+      return delegate.isReadOnly();
+   }
+
+   @Override
+   public boolean isReentrant()
+   {
+      return delegate.isReentrant();
+   }
+
+   @Override
+   public boolean isService()
+   {
+      return delegate.isService();
+   }
+
+   @Override
+   public boolean isSession()
+   {
+      return delegate.isSession();
+   }
+
+   @Override
+   public boolean isTimerPersistence()
+   {
+      return delegate.isTimerPersistence();
+   }
+
+   @Override
+   public void merge(IdMetaData override, IdMetaData original)
+   {
+      delegate.merge(override, original);
+   }
+
+   @Override
+   public void merge(IdMetaDataImpl override, IdMetaDataImpl original)
+   {
+      delegate.merge(override, original);
+   }
+
+   @Override
+   public void merge(JBossEnterpriseBeanMetaData override, EnterpriseBeanMetaData original, String overridenFile,
+         String overrideFile, boolean mustOverride)
+   {
+      delegate.merge(override, original, overridenFile, overrideFile, mustOverride);
+   }
+
+   @Override
+   public void merge(JBossEnterpriseBeanMetaData override, EnterpriseBeanMetaData original)
+   {
+      delegate.merge(override, original);
+   }
+
+   @Override
+   public void merge(JBossEnterpriseBeanMetaData overrideEjb, JBossEnterpriseBeanMetaData originalEjb)
+   {
+      delegate.merge(overrideEjb, originalEjb);
+   }
+
+   @Override
+   public void merge(NamedMetaData override, NamedMetaData original)
+   {
+      delegate.merge(override, original);
+   }
+
+   @Override
+   public JBossEnterpriseBeanMetaData newBean()
+   {
+      return delegate.newBean();
+   }
+
+   @Override
+   public void setAbstractSchemaName(String abstractSchemaName)
+   {
+      delegate.setAbstractSchemaName(abstractSchemaName);
+   }
+
+   @Override
+   public void setAnnotations(AnnotationsMetaData annotations)
+   {
+      delegate.setAnnotations(annotations);
+   }
+
+   @Override
+   public void setAopDomainName(String aopDomainName)
+   {
+      delegate.setAopDomainName(aopDomainName);
+   }
+
+   @Override
+   public void setCacheInvalidation(boolean cacheInvalidation)
+   {
+      delegate.setCacheInvalidation(cacheInvalidation);
+   }
+
+   @Override
+   public void setCacheInvalidationConfig(CacheInvalidationConfigMetaData cacheInvalidationConfig)
+   {
+      delegate.setCacheInvalidationConfig(cacheInvalidationConfig);
+   }
+
+   @Override
+   public void setCallByValue(boolean callByValue)
+   {
+      delegate.setCallByValue(callByValue);
+   }
+
+   @Override
+   public void setClusterConfig(ClusterConfigMetaData clusterConfig)
+   {
+      delegate.setClusterConfig(clusterConfig);
+   }
+
+   @Override
+   public void setClustered(boolean clustered)
+   {
+      delegate.setClustered(clustered);
+   }
+
+   @Override
+   public void setCmpFields(CMPFieldsMetaData cmpFields)
+   {
+      delegate.setCmpFields(cmpFields);
+   }
+
+   @Override
+   public void setCmpVersion(String cmpVersion)
+   {
+      delegate.setCmpVersion(cmpVersion);
+   }
+
+   @Override
+   public void setConfigurationName(String configurationName)
+   {
+      delegate.setConfigurationName(configurationName);
+   }
+
+   @Override
+   public void setContainerName(String containerName)
+   {
+      delegate.setContainerName(containerName);
+   }
+
+   @Override
+   public void setDepends(Set<String> depends)
+   {
+      delegate.setDepends(depends);
+   }
+
+   @Override
+   public void setDescriptionGroup(DescriptionGroupMetaData descriptionGroup)
+   {
+      delegate.setDescriptionGroup(descriptionGroup);
+   }
+
+   @Override
+   public void setEjbClass(String ejbClass)
+   {
+      delegate.setEjbClass(ejbClass);
+   }
+
+   @Override
+   public void setEjbName(String ejbName)
+   {
+      delegate.setEjbName(ejbName);
+   }
+
+   @Override
+   public void setEnterpriseBeansMetaData(JBossEnterpriseBeansMetaData enterpriseBeansMetaData)
+   {
+      delegate.setEnterpriseBeansMetaData(enterpriseBeansMetaData);
+   }
+
+   @Override
+   public void setExceptionOnRollback(boolean exceptionOnRollback)
+   {
+      delegate.setExceptionOnRollback(exceptionOnRollback);
+   }
+
+   @Override
+   public void setGeneratedContainerName(String containerName)
+   {
+      delegate.setGeneratedContainerName(containerName);
+   }
+
+   @Override
+   public void setHome(String home)
+   {
+      delegate.setHome(home);
+   }
+
+   @Override
+   public void setId(String id)
+   {
+      delegate.setId(id);
+   }
+
+   @Override
+   public void setIgnoreDependency(IgnoreDependencyMetaData ignoreDependency)
+   {
+      delegate.setIgnoreDependency(ignoreDependency);
+   }
+
+   @Override
+   public void setInvokerBindings(InvokerBindingsMetaData invokers)
+   {
+      delegate.setInvokerBindings(invokers);
+   }
+
+   @Override
+   public void setIorSecurityConfig(IORSecurityConfigMetaData iorSecurityConfig)
+   {
+      delegate.setIorSecurityConfig(iorSecurityConfig);
+   }
+
+   @Override
+   public void setJndiBindingPolicy(String jndiBindingPolicy)
+   {
+      delegate.setJndiBindingPolicy(jndiBindingPolicy);
+   }
+
+   @Override
+   public void setJndiEnvironmentRefsGroup(Environment env)
+   {
+      delegate.setJndiEnvironmentRefsGroup(env);
+   }
+
+   @Override
+   public void setJndiName(String jndiName)
+   {
+      delegate.setJndiName(jndiName);
+   }
+
+   @Override
+   public void setJndiRefs(JndiRefsMetaData jndiRefs)
+   {
+      delegate.setJndiRefs(jndiRefs);
+   }
+
+   @Override
+   public void setLocal(String local)
+   {
+      delegate.setLocal(local);
+   }
+
+   @Override
+   public void setLocalHome(String localHome)
+   {
+      delegate.setLocalHome(localHome);
+   }
+
+   @Override
+   public void setLocalJndiName(String localJndiName)
+   {
+      delegate.setLocalJndiName(localJndiName);
+   }
+
+   @Override
+   public void setMappedName(String mappedName)
+   {
+      delegate.setMappedName(mappedName);
+   }
+
+   @Override
+   public void setMethodAttributes(MethodAttributesMetaData methodAttributes)
+   {
+      delegate.setMethodAttributes(methodAttributes);
+   }
+
+   @Override
+   public void setName(String name)
+   {
+      delegate.setName(name);
+   }
+
+   @Override
+   public void setPersistenceType(PersistenceType persistenceType)
+   {
+      delegate.setPersistenceType(persistenceType);
+   }
+
+   @Override
+   public void setPoolConfig(PoolConfigMetaData poolConfig)
+   {
+      delegate.setPoolConfig(poolConfig);
+   }
+
+   @Override
+   public void setPrimKeyClass(String primKeyClass)
+   {
+      delegate.setPrimKeyClass(primKeyClass);
+   }
+
+   @Override
+   public void setPrimKeyField(String primKeyField)
+   {
+      delegate.setPrimKeyField(primKeyField);
+   }
+
+   @Override
+   public void setQueries(QueriesMetaData queries)
+   {
+      delegate.setQueries(queries);
+   }
+
+   @Override
+   public void setReadOnly(boolean readOnly)
+   {
+      delegate.setReadOnly(readOnly);
+   }
+
+   @Override
+   public void setReentrant(boolean reentrant)
+   {
+      delegate.setReentrant(reentrant);
+   }
+
+   @Override
+   public void setRemote(String remote)
+   {
+      delegate.setRemote(remote);
+   }
+
+   @Override
+   public void setSecurityDomain(String securityDomain)
+   {
+      delegate.setSecurityDomain(securityDomain);
+   }
+
+   @Override
+   public void setSecurityIdentity(SecurityIdentityMetaData securityIdentity)
+   {
+      delegate.setSecurityIdentity(securityIdentity);
+   }
+
+   @Override
+   public void setSecurityProxy(String securityProxy)
+   {
+      delegate.setSecurityProxy(securityProxy);
+   }
+
+   @Override
+   public void setSecurityRoleRefs(SecurityRoleRefsMetaData securityRoleRefs)
+   {
+      delegate.setSecurityRoleRefs(securityRoleRefs);
+   }
+
+   @Override
+   public void setTimerPersistence(boolean timerPersistence)
+   {
+      delegate.setTimerPersistence(timerPersistence);
+   }
+
+   @Override
+   public void setTransactionType(TransactionManagementType transactionType)
+   {
+      delegate.setTransactionType(transactionType);
+   }
+
+   @Override
+   public String toString()
+   {
+      return delegate.toString();
+   }
+
+}

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/SessionJndiBindingPolicy.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/SessionJndiBindingPolicy.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/SessionJndiBindingPolicy.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -48,7 +48,7 @@
       }
       if(name == null)
       {
-         name = beanMD.determineLocalJndiName();
+         name = beanMD.getLocalJndiName();
       }
       return name;
    }
@@ -64,7 +64,7 @@
       }
       if(name == null)
       {
-         name = beanMD.determineLocalJndiName();
+         name = beanMD.getLocalJndiName();
       }
       return name;
    }
@@ -138,7 +138,7 @@
    public String getJndiName(EjbDeploymentSummary summary, String iface,
          KnownInterfaceType ifaceType)
    {
-      return summary.getEjbName() + "/" + iface;
+      return summary.getBeanMD().getEjbName() + "/" + iface;
    }
 
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/DeploymentSummary.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/DeploymentSummary.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/DeploymentSummary.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,6 +23,8 @@
 
 import java.io.Serializable;
 
+import org.jboss.logging.Logger;
+
 /**
  * A base class for deployment scope information.
  * 
@@ -31,14 +33,17 @@
  */
 public class DeploymentSummary implements Serializable
 {
+   private static final Logger log = Logger.getLogger(DeploymentSummary.class);
+   
+   @Deprecated
+   private static final String DEPRECATION_MESSAGE_CL = "ClassLoaders are no longer bound to " + DeploymentSummary.class.getName(); 
+   
    /** The serialVersionUID */
    private static final long serialVersionUID = 1L;
    /** The simple name of the deployment unit */
    private String deploymentName;
    /** The parent deployment base name without a suffix */
    private String deploymentScopeBaseName;
-   /** An optional deployment unit class loader */
-   private transient ClassLoader loader;
 
    public DeploymentSummary()
    {
@@ -47,7 +52,6 @@
    {
       setDeploymentName(summary.getDeploymentName());
       setDeploymentScopeBaseName(summary.getDeploymentScopeBaseName());
-      setLoader(summary.getLoader());
    }
 
    public String getDeploymentName()
@@ -67,13 +71,25 @@
    {
       this.deploymentScopeBaseName = deploymentScopeBaseName;
    }
-
+   
+   /**
+    * @deprecated No longer used, will always return null
+    * @return
+    */
+   @Deprecated
    public ClassLoader getLoader()
    {
-      return loader;
+      log.warn(DeploymentSummary.DEPRECATION_MESSAGE_CL);
+      return null;
    }
+
+   /**
+    * @deprecated No longer used, takes no action
+    * @param loader
+    */
+   @Deprecated
    public void setLoader(ClassLoader loader)
    {
-      this.loader = loader;
+      log.warn(DeploymentSummary.DEPRECATION_MESSAGE_CL);
    }
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/EjbDeploymentSummary.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/EjbDeploymentSummary.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/EjbDeploymentSummary.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,6 +21,7 @@
  */
 package org.jboss.metadata.ejb.jboss.jndipolicy.spi;
 
+import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 
@@ -36,117 +37,130 @@
 {
    /** The serialVersionUID. */
    private static final long serialVersionUID = 2559283688891890756L;
+   private static final Logger log = Logger.getLogger(EjbDeploymentSummary.class);
 
    // Instance Members
-   private String ejbName;
-
-   private String beanClassName;
-
-   private boolean isLocal;
-
-   private boolean isStateful;
-
-   private boolean isHome;
-
-   private boolean isService;
+   
    private JBossEnterpriseBeanMetaData beanMD;
 
    public EjbDeploymentSummary()
    {
       
    }
+   
    public EjbDeploymentSummary(JBossEnterpriseBeanMetaData beanMD, DeploymentSummary dsummary)
    {
       super(dsummary);
-      // 
-      this.setBeanClassName(beanMD.getEjbClass());
-      this.setEjbName(beanMD.getEjbName());
-      this.setService(beanMD.isService());
-      
-      if(beanMD instanceof JBossSessionBeanMetaData)
-      {
-         JBossSessionBeanMetaData sbeanMD = (JBossSessionBeanMetaData) beanMD;
-         this.setStateful(sbeanMD.isStateful());
-         if(sbeanMD.getHome() != null && sbeanMD.getHome().length() > 0)
-            this.setHome(true);
-         if(sbeanMD.getLocal() != null && sbeanMD.getLocal().length() > 0)
-            this.setLocal(true);
-         // Is a local-home also a home?
-      }
       this.beanMD = beanMD;
    }
 
    // Accessors / Mutators
 
+   public JBossEnterpriseBeanMetaData getBeanMD()
+   {
+      return beanMD;
+   }
+
+   public void setBeanMD(JBossEnterpriseBeanMetaData beanMD)
+   {
+      this.beanMD = beanMD;
+   }
+   
+   /*
+    * DEPRECATED BELOW THIS MARKER ---------------------------------------------||
+    */
+   
+   @Deprecated
+   private static final String DEPRECATION_MESSAGE = "This field is no longer represented directly by "
+         + EjbDeploymentSummary.class.getName() + "; use the bean metadata instead.";
+   
+   @Deprecated
    public String getEjbName()
    {
-      return ejbName;
+      // Warn and redirect
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      return this.getBeanMD().getEjbName();
    }
 
+   @Deprecated
    public void setEjbName(String ejbName)
    {
-      this.ejbName = ejbName;
+      // Warn and do nothing
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
    }
 
+   @Deprecated
    public boolean isLocal()
    {
-      return isLocal;
+      // Warn
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      return false;
    }
 
+   @Deprecated
    public void setLocal(boolean isLocal)
    {
-      this.isLocal = isLocal;
+      // Warn
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
    }
 
+   @Deprecated
    public boolean isStateful()
    {
-      return isStateful;
+      // Warn and redirect
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      return this.getBeanMD().isSession() ? ((JBossSessionBeanMetaData)this.getBeanMD()).isStateful() : false;
    }
 
+   @Deprecated
    public void setStateful(boolean isStateful)
    {
-      this.isStateful = isStateful;
+      // Warn and do nothing
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
    }
 
+   @Deprecated
    public boolean isHome()
    {
-      return isHome;
+      // Warn and do nothing
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      return false;
    }
 
+   @Deprecated
    public void setHome(boolean isHome)
    {
-      this.isHome = isHome;
+      // Warn and do nothing
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
    }
 
+   @Deprecated
    public boolean isService()
    {
-      return isService;
+      // Warn and redirect
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      return this.getBeanMD().isSession() ? ((JBossSessionBeanMetaData)this.getBeanMD()).isService() : false;
    }
 
+   @Deprecated
    public void setService(boolean isService)
    {
-      this.isService = isService;
+      // Warn and do nothing
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
    }
 
-
+   @Deprecated
    public String getBeanClassName()
    {
-      return beanClassName;
+      // Warn and redirect
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
+      return this.getBeanMD().getEjbClass();
    }
 
+   @Deprecated
    public void setBeanClassName(String beanClassName)
    {
-      this.beanClassName = beanClassName;
+      // Warn and do nothing
+      log.warn(EjbDeploymentSummary.DEPRECATION_MESSAGE);
    }
-
-   
-   public JBossEnterpriseBeanMetaData getBeanMD()
-   {
-      return beanMD;
-   }
-   public void setBeanMD(JBossEnterpriseBeanMetaData beanMD)
-   {
-      this.beanMD = beanMD;
-   }
-
 }

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/JbossEnterpriseBeanJndiNameResolver.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/JbossEnterpriseBeanJndiNameResolver.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/JbossEnterpriseBeanJndiNameResolver.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -0,0 +1,85 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.ejb.jboss.jndipolicy.spi;
+
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+
+/**
+ * JbossEnterpriseBeanJndiNameResolver
+ * 
+ * Utility class to resolve target JNDI Names for Enterprise 
+ * Bean Metadata instances
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class JbossEnterpriseBeanJndiNameResolver
+{
+
+   /**
+    * Resolves the JNDI Name for the specified target interface on the
+    * specified metadata
+    * 
+    * @param md
+    * @param iface
+    * @return
+    */
+   public static String resolveJndiName(JBossEnterpriseBeanMetaData md, String iface)
+   {
+      // Ensure the metadata is able to resolve JNDI names
+      ResolveableJndiNameJbossEnterpriseBeanMetadata rmd = ensureResolvable(md);
+
+      // Resolve
+      String resolved = rmd.determineResolvedJndiName(iface);
+
+      // Return
+      return resolved;
+   }
+
+   /**
+    * Ensures that the specified Metadata is able to resolve JNDI Names and
+    * returns the casted type if so.  Otherwise a runtime error will be raised
+    * (by assertion failure if enabled or IllegalArgumentException if not)
+    * 
+    * @param md
+    * @return
+    */
+   protected static ResolveableJndiNameJbossEnterpriseBeanMetadata ensureResolvable(JBossEnterpriseBeanMetaData md)
+   {
+      // Check that castable to a JNDI Resolveable type
+      boolean resolveable = md instanceof ResolveableJndiNameJbossEnterpriseBeanMetadata;
+
+      // If resolveable, cast and return
+      if (resolveable)
+      {
+         return (ResolveableJndiNameJbossEnterpriseBeanMetadata) md;
+      }
+
+      // Throw error (by assertion if enabled) because this is not castable
+      String errorMessage = "Specified instance of " + md.getClass().getName() + " is not resolvable, required type "
+            + ResolveableJndiNameJbossEnterpriseBeanMetadata.class.getSimpleName() + " must be implemented";
+      assert resolveable : errorMessage;
+      throw new IllegalArgumentException(errorMessage);
+
+   }
+
+}

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/JbossSessionBeanJndiNameResolver.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/JbossSessionBeanJndiNameResolver.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/JbossSessionBeanJndiNameResolver.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -0,0 +1,135 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.ejb.jboss.jndipolicy.spi;
+
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+
+/**
+ * JbossSessionBeanJndiNameResolver
+ * 
+ * Utility class to resolve target JNDI Names for Session 
+ * Bean Metadata instances
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class JbossSessionBeanJndiNameResolver extends JbossEnterpriseBeanJndiNameResolver
+{
+   /**
+    * Returns the resolved JNDI target to which the
+    * EJB2.x Remote Home interface is to be bound
+    * 
+    * @return
+    */
+   public static String resolveRemoteHomeJndiName(JBossSessionBeanMetaData md)
+   {
+      // Ensure Resolveable
+      ResolveableJndiNameJbossSessionBeanMetadata rmd = ensureResolvable(md);
+
+      // Resolve
+      String resolved = rmd.determineResolvedRemoteHomeJndiName();
+
+      // Return
+      return resolved;
+   }
+
+   /**
+    * Returns the resolved JNDI target to which the
+    * EJB2.x Local Home interface is to be bound
+    * 
+    * @return
+    */
+   public static String resolveLocalHomeJndiName(JBossSessionBeanMetaData md)
+   {
+      // Ensure Resolveable
+      ResolveableJndiNameJbossSessionBeanMetadata rmd = ensureResolvable(md);
+
+      // Resolve
+      String resolved = rmd.determineResolvedLocalHomeJndiName();
+
+      // Return
+      return resolved;
+   }
+
+   /**
+    * Returns the resolved JNDI target to which the
+    * default EJB3.x Remote Business interfaces are to be bound
+    * 
+    * @return
+    */
+   public static String resolveRemoteBusinessDefaultJndiName(JBossSessionBeanMetaData md)
+   {
+      // Ensure Resolveable
+      ResolveableJndiNameJbossSessionBeanMetadata rmd = ensureResolvable(md);
+
+      // Resolve
+      String resolved = rmd.determineResolvedRemoteBusinessDefaultJndiName();
+
+      // Return
+      return resolved;
+   }
+
+   /**
+    * Returns the resolved JNDI target to which the
+    * default EJB3.x Local Business interfaces are to be bound
+    * 
+    * @return
+    */
+   public static String resolveLocalBusinessDefaultJndiName(JBossSessionBeanMetaData md)
+   {
+      // Ensure Resolveable
+      ResolveableJndiNameJbossSessionBeanMetadata rmd = ensureResolvable(md);
+
+      // Resolve
+      String resolved = rmd.determineResolvedLocalBusinessDefaultJndiName();
+
+      // Return
+      return resolved;
+   }
+
+   /**
+    * Ensures that the specified Metadata is able to resolve JNDI Names and
+    * returns the casted type if so.  Otherwise a runtime error will be raised
+    * (by assertion failure if enabled or IllegalArgumentException if not)
+    * 
+    * @param md
+    * @return
+    */
+   protected static ResolveableJndiNameJbossSessionBeanMetadata ensureResolvable(JBossSessionBeanMetaData md)
+   {
+      // Check that castable to a JNDI Resolveable type
+      boolean resolveable = md instanceof ResolveableJndiNameJbossSessionBeanMetadata;
+
+      // If resolveable, cast and return
+      if (resolveable)
+      {
+         return (ResolveableJndiNameJbossSessionBeanMetadata) md;
+      }
+
+      // Throw error (by assertion if enabled) because this is not castable
+      String errorMessage = "Specified instance of " + md.getClass().getName() + " is not resolvable, required type "
+            + ResolveableJndiNameJbossSessionBeanMetadata.class.getSimpleName() + " must be implemented";
+      assert resolveable : errorMessage;
+      throw new IllegalArgumentException(errorMessage);
+
+   }
+}

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/ResolveableJndiNameJbossEnterpriseBeanMetadata.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/ResolveableJndiNameJbossEnterpriseBeanMetadata.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/ResolveableJndiNameJbossEnterpriseBeanMetadata.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.ejb.jboss.jndipolicy.spi;
+
+/**
+ * ResolveableJndiNameJbossEnterpriseBeanMetadata
+ * 
+ * Provides a contract for transient logic used
+ * to determine resolved JNDI Names for 
+ * JBossEnterpriseBeanMeta instances
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public interface ResolveableJndiNameJbossEnterpriseBeanMetadata
+{
+
+   /**
+    * Returns the resolved JNDI Name for the specified
+    * interface of this metadata.
+    * 
+    * @param iface
+    * @return
+    */
+   public String determineResolvedJndiName(String iface);
+   
+}

Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/ResolveableJndiNameJbossSessionBeanMetadata.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/ResolveableJndiNameJbossSessionBeanMetadata.java	                        (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/spi/ResolveableJndiNameJbossSessionBeanMetadata.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.ejb.jboss.jndipolicy.spi;
+
+/**
+ * ResolveableJndiNameJbossSessionBeanMetadata
+ * 
+ * Provides a contract for transient logic used
+ * to determine resolved JNDI Names for 
+ * JBossSessionBeanMeta instances
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public interface ResolveableJndiNameJbossSessionBeanMetadata extends ResolveableJndiNameJbossEnterpriseBeanMetadata
+{
+   /**
+    * Returns the resolved JNDI target to which the
+    * EJB2.x Remote Home interface is to be bound
+    * 
+    * @return
+    */
+   public String determineResolvedRemoteHomeJndiName();
+
+   /**
+    * Returns the resolved JNDI target to which the
+    * EJB2.x Local Home interface is to be bound
+    * 
+    * @return
+    */
+   public String determineResolvedLocalHomeJndiName();
+
+   /**
+    * Returns the resolved JNDI target to which the
+    * default EJB3.x Remote Business interfaces are to be bound
+    * 
+    * @return
+    */
+   public String determineResolvedRemoteBusinessDefaultJndiName();
+
+   /**
+    * Returns the resolved JNDI target to which the
+    * default EJB3.x Local Business interfaces are to be bound
+    * 
+    * @return
+    */
+   public String determineResolvedLocalBusinessDefaultJndiName();
+}

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossEnterpriseBeansMetaDataProxy.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossEnterpriseBeansMetaDataProxy.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossEnterpriseBeansMetaDataProxy.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -30,8 +30,6 @@
 import org.jboss.metadata.ejb.spec.EjbJarMetaData;
 import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
 import org.jboss.metadata.spi.MetaData;
-import org.jboss.metadata.spi.repository.MetaDataRepository;
-import org.jboss.metadata.spi.scope.ScopeKey;
 
 /**
  * @author Scott.Stark at jboss.org

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossMetaDataProxy.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossMetaDataProxy.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/proxy/JBossMetaDataProxy.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -37,8 +37,6 @@
 import org.jboss.metadata.ejb.spec.RelationsMetaData;
 import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
 import org.jboss.metadata.spi.MetaData;
-import org.jboss.metadata.spi.repository.MetaDataRepository;
-import org.jboss.metadata.spi.scope.ScopeKey;
 
 /**
  * A JBossMetaData proxy that combines a JBossMetaData instance with a

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ActivationConfigMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ActivationConfigMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ActivationConfigMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,10 +21,11 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
+
 /**
  * ActivationConfigMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ActivationConfigPropertyMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ActivationConfigPropertyMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ActivationConfigPropertyMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,11 +21,12 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.NamedMetaData;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaData;
 
+
 /**
  * ActivationConfigPropertyMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ApplicationExceptionMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ApplicationExceptionMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/ApplicationExceptionMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.NamedMetaData;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaData;
+
 /**
  * ApplicationExceptionMetaData.
  * 

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	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/AssemblyDescriptorMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,14 +21,15 @@
 */
 package org.jboss.metadata.ejb.spec;
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
 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;
 import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImpl;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
 
 /**
  * AssemblyDescriptorMetaData.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/CMPFieldMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/CMPFieldMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/CMPFieldMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
+
 /**
  * CMPFieldMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/CMRFieldMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/CMRFieldMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/CMRFieldMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
+
 /**
  * CMRFieldMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar20MetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar20MetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar20MetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,13 +21,13 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.xb.annotations.JBossXmlSchema;
-
 import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.xb.annotations.JBossXmlSchema;
+
 /**
  * EjbJar20MetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar21MetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar21MetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar21MetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,14 +21,14 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
-import org.jboss.xb.annotations.JBossXmlSchema;
-
 import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
 /**
  * EjbJar21MetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar30MetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar30MetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EjbJar30MetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,14 +21,14 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
-import org.jboss.xb.annotations.JBossXmlSchema;
-
 import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
+import org.jboss.xb.annotations.JBossXmlSchema;
+
 /**
  * EjbJar30MetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EntityBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EntityBeanMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EntityBeanMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,10 +21,11 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
+
 /**
  * EntityBeanMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InitMethodMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InitMethodMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InitMethodMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImpl;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImpl;
+
 /**
  * InitMethodMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorBindingMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorBindingMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorBindingMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,11 +21,12 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
+
 /**
  * InterceptorBindingMetaData.
  * 

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	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,7 +21,10 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
@@ -31,8 +34,6 @@
 import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
@@ -44,11 +45,10 @@
 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;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
 
 /**
  * InterceptorMetaData.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorsMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorsMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,12 +21,12 @@
 */
 package org.jboss.metadata.ejb.spec;
 
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.support.MappedMetaDataWithDescriptions;
 import org.jboss.metadata.merge.MergeUtil;
 import org.jboss.xb.annotations.JBossXmlChild;
 
-import javax.xml.bind.annotation.XmlType;
-
 /**
  * InterceptorsMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,10 +21,11 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
+
 /**
  * MethodMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodParametersMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodParametersMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodParametersMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,10 +23,10 @@
 
 import java.util.ArrayList;
 
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.xb.annotations.JBossXmlChild;
 
-import javax.xml.bind.annotation.XmlType;
-
 /**
  * MethodParametersMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodPermissionMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodPermissionMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/MethodPermissionMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,11 +23,12 @@
 
 import java.util.Set;
 
-import org.jboss.metadata.javaee.spec.EmptyMetaData;
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.spec.EmptyMetaData;
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
+
 /**
  * MethodPermissionMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/NamedMethodMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/NamedMethodMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/NamedMethodMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.NamedMetaData;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaData;
+
 /**
  * NamedMethodMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/QueryMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/QueryMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/QueryMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,11 +21,11 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
-
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
+
 /**
  * QueryMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/QueryMethodMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/QueryMethodMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/QueryMethodMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.NamedMetaData;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.NamedMetaData;
+
 /**
  * QueryMethodMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,13 +23,13 @@
 
 import java.util.List;
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+
 import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 import org.jboss.xb.annotations.JBossXmlConstants;
 import org.jboss.xb.annotations.JBossXmlModelGroup;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-
 /**
  * RelationMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationRoleMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationRoleMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationRoleMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,12 +21,13 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.spec.EmptyMetaData;
-import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.spec.EmptyMetaData;
+import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
+
 /**
  * RelationRoleMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationRoleSourceMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationRoleSourceMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationRoleSourceMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
+
 /**
  * RelationRoleSourceMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationsMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RelationsMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,14 +23,14 @@
 
 import java.util.ArrayList;
 
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.annotation.javaee.Descriptions;
 import org.jboss.metadata.javaee.spec.DescriptionsImpl;
 import org.jboss.metadata.javaee.support.IdMetaData;
 
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
 /**
  * RelationsMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RemoveMethodMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RemoveMethodMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/RemoveMethodMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,9 +21,10 @@
 */
 package org.jboss.metadata.ejb.spec;
 
-import org.jboss.metadata.javaee.support.IdMetaDataImpl;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.support.IdMetaDataImpl;
+
 /**
  * RemoveMethodMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SecurityIdentityMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SecurityIdentityMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SecurityIdentityMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,14 +21,14 @@
 */
 package org.jboss.metadata.ejb.spec;
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.spec.EmptyMetaData;
 import org.jboss.metadata.javaee.spec.RunAsMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 import org.jboss.metadata.javaee.support.MergeableMetaData;
 
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-
 /**
  * SecurityIdentityMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SessionBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SessionBeanMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/SessionBeanMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,16 +21,16 @@
 */
 package org.jboss.metadata.ejb.spec;
 
+import javax.ejb.TransactionManagementType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
 import org.jboss.metadata.common.ejb.ITimeoutTarget;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
 import org.jboss.metadata.javaee.spec.TransactionManagementTypeAdapter;
 
-import javax.ejb.TransactionManagementType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
 /**
  * SessionBeanMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/AnnotationMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/AnnotationMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/AnnotationMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,8 +21,9 @@
 */
 package org.jboss.metadata.javaee.jboss;
 
+import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlElement;
+
 import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
 import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/AnnotationPropertyMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/AnnotationPropertyMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/AnnotationPropertyMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -22,6 +22,7 @@
 package org.jboss.metadata.javaee.jboss;
 
 import javax.xml.bind.annotation.XmlType;
+
 import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 
 /**

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	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/jboss/JBossRemoteEnvironmentRefsGroupMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,7 +23,6 @@
 
 import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
-import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
 import org.jboss.metadata.javaee.spec.PersistenceUnitReferencesMetaData;

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	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EnvironmentRefsGroupMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -25,8 +25,6 @@
 
 import javax.xml.bind.annotation.XmlElement;
 
-import org.jboss.metadata.ejb.jboss.JBossEnvironmentRefsGroupMetaData;
-import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
 import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
 import org.jboss.xb.annotations.JBossXmlModelGroup;
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceEnvironmentReferenceMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceEnvironmentReferenceMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceEnvironmentReferenceMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -26,7 +26,6 @@
 
 import org.jboss.metadata.javaee.support.MergeableMappedMetaData;
 import org.jboss.metadata.javaee.support.ResourceInjectionMetaDataWithDescriptions;
-import org.jboss.xb.annotations.JBossXmlNsPrefix;
 
 /**
  * ResourceEnvironmentReferenceMetaData.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -26,7 +26,6 @@
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
 import org.jboss.metadata.javaee.support.NamedMetaData;
 
 /**

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionTargetMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionTargetMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ResourceInjectionTargetMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -25,9 +25,7 @@
 
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.xb.annotations.JBossXmlNsPrefix;
 
-
 /**
  * ResourceInjectionTargetMetaData.
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RunAsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RunAsMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RunAsMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -24,7 +24,6 @@
 import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
-import org.jboss.xb.annotations.JBossXmlNsPrefix;
 
 /**
  * RunAsMetaData.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceHandlerChainsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceHandlerChainsMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/ServiceReferenceHandlerChainsMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -24,10 +24,8 @@
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.metadata.javaee.support.IdMetaDataImpl;
-import org.jboss.metadata.javaee.support.NonNullLinkedHashSet;
 
 /**
  * ServiceReferenceHandlerChainsMetaData.

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/jpa/spec/PersistenceMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/jpa/spec/PersistenceMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/jpa/spec/PersistenceMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -22,8 +22,9 @@
 package org.jboss.metadata.jpa.spec;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.ArrayList;
+
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlNsForm;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/jpa/spec/PersistenceUnitMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/jpa/spec/PersistenceUnitMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/jpa/spec/PersistenceUnitMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -22,10 +22,11 @@
 package org.jboss.metadata.jpa.spec;
 
 import java.io.Serializable;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
-import java.util.HashSet;
-import java.util.HashMap;
+
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/ClassLoadingMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/ClassLoadingMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/web/jboss/ClassLoadingMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -22,6 +22,7 @@
 package org.jboss.metadata.web.jboss;
 
 import java.io.Serializable;
+
 import javax.xml.bind.annotation.XmlAttribute;
 
 import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/FilterMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,7 +23,6 @@
 
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/JspConfigMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/JspConfigMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/JspConfigMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,7 +21,6 @@
  */
 package org.jboss.metadata.web.spec;
 
-import java.util.Collections;
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlElement;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/LocaleEncodingsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/LocaleEncodingsMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/LocaleEncodingsMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,7 +21,6 @@
  */
 package org.jboss.metadata.web.spec;
 
-import java.util.Collections;
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlElement;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WelcomeFileListMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WelcomeFileListMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WelcomeFileListMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,7 +21,6 @@
  */
 package org.jboss.metadata.web.spec;
 
-import java.util.Collections;
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlElement;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/JndiRef.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/JndiRef.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/JndiRef.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,8 +23,6 @@
 
 import org.jboss.logging.Logger;
 
-import org.jboss.metamodel.descriptor.InjectionTarget;
-
 /**
  * Represents a <jndi-ref> element of the jboss.xml deployment descriptor
  *

Modified: projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/PersistenceContextRef.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/PersistenceContextRef.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/PersistenceContextRef.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,8 +23,6 @@
 
 import javax.persistence.PersistenceContextType;
 
-import org.jboss.metamodel.descriptor.Ref;
-
 /**
  * Comment
  *

Modified: projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/PersistenceUnitRef.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/PersistenceUnitRef.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/PersistenceUnitRef.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,7 +21,6 @@
 */
 package org.jboss.metamodel.descriptor;
 
-import org.jboss.metamodel.descriptor.Ref;
 
 /**
  * Comment

Modified: projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,6 +23,9 @@
 
 // $Id$
 
+import java.util.ArrayList;
+import java.util.List;
+
 import javax.naming.Context;
 import javax.naming.NamingException;
 
@@ -38,9 +41,6 @@
 import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 
-import java.util.List;
-import java.util.ArrayList;
-
 /**
  * Factory for ServiceRefHandler
  * 

Modified: projects/metadata/trunk/src/main/java/org/jboss/security/SecurityRoleMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/security/SecurityRoleMetaData.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/main/java/org/jboss/security/SecurityRoleMetaData.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -23,8 +23,8 @@
 
 import java.util.Set;
 
+import org.jboss.metadata.OldMetaData;
 import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
-import org.jboss.metadata.OldMetaData;
 import org.jboss.metadata.spi.MetaData;
 
 /**

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyStatefulBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyStatefulBean.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/ext/api/MyStatefulBean.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -1,4 +1,5 @@
 package org.jboss.test.metadata.annotation.ejb3.ext.api;
+
 /*
  * JBoss, Home of Professional Open Source.
  * Copyright 2008, Red Hat Middleware LLC, and individual contributors
@@ -21,7 +22,6 @@
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 
-
 import javax.ejb.Stateful;
 
 import org.jboss.ejb3.annotation.JndiBindingPolicy;
@@ -31,17 +31,18 @@
 import org.jboss.ejb3.annotation.RemoteBindings;
 import org.jboss.ejb3.annotation.RemoteHomeBinding;
 import org.jboss.ejb3.annotation.SerializedConcurrentAccess;
-import org.jboss.ejb3.jndipolicy.DefaultJndiBindingPolicy;
-import org.jboss.ejb3.jndipolicy.Ejb3DeploymentSummary;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces.KnownInterfaceType;
 
 /**
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
  * @version $Revision$
  */
- at Stateful(name = "testStateful",
-      mappedName = "testStatefulMappedName")
+ at Stateful(name = "testStateful", mappedName = "testStatefulMappedName")
 @JndiBindingPolicy(policy = MyStatefulBean.TestJndiBindingPolicy.class)
- at RemoteBindings(value = { @RemoteBinding(jndiBinding = "testStatefulJndiRemoteBinding") })
+ at RemoteBindings(value =
+{@RemoteBinding(jndiBinding = "testStatefulJndiRemoteBinding")})
 @RemoteHomeBinding(jndiBinding = "remoteHomeBinding")
 @LocalHomeBinding(jndiBinding = "localHomeBinding")
 @LocalBinding(jndiBinding = "localBinding")
@@ -52,30 +53,34 @@
    public static class TestJndiBindingPolicy implements DefaultJndiBindingPolicy
    {
 
-      public String getDefaultLocalHomeJndiName(Ejb3DeploymentSummary summary)
+      public String getDefaultLocalHomeJndiName(EjbDeploymentSummary summary)
       {
          return null;
       }
 
-      public String getDefaultLocalJndiName(Ejb3DeploymentSummary summary)
+      public String getDefaultLocalJndiName(EjbDeploymentSummary summary)
       {
          return null;
       }
 
-      public String getDefaultRemoteHomeJndiName(Ejb3DeploymentSummary summary)
+      public String getDefaultRemoteHomeJndiName(EjbDeploymentSummary summary)
       {
          return null;
       }
 
-      public String getDefaultRemoteJndiName(Ejb3DeploymentSummary summary)
+      public String getDefaultRemoteJndiName(EjbDeploymentSummary summary)
       {
          return null;
       }
 
-      public String getJndiName(Ejb3DeploymentSummary summary)
+      public String getJndiName(EjbDeploymentSummary summary)
       {
          return null;
       }
+
+      public String getJndiName(EjbDeploymentSummary summary, String iface, KnownInterfaceType ifaceType)
+      {
+         return null;
+      }
    }
 }
-

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient14UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient14UnitTestCase.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/client/ApplicationClient14UnitTestCase.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -52,7 +52,7 @@
  * Test all entries of an application client 1.4 descriptor.
  *
  * @author Scott.Stark at jboss.org
- * @version $Revision: $
+ * @version $Revision$
  */
 public class ApplicationClient14UnitTestCase extends AbstractJavaEEEverythingTest
 {

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	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -52,12 +52,15 @@
 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.JBossSessionPolicyDecorator;
 import org.jboss.metadata.ejb.jboss.MessagePropertiesMetaData;
 import org.jboss.metadata.ejb.jboss.ProducerMetaData;
 import org.jboss.metadata.ejb.jboss.RemoteBindingMetaData;
 import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
 import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JBossSessionPolicyDecorator;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.SessionJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.JbossSessionBeanJndiNameResolver;
 import org.jboss.metadata.ejb.spec.EjbJar20MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar21MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar2xMetaData;
@@ -332,8 +335,8 @@
       assertEquals(1, jboss.getEnterpriseBeans().size());
       
       JBossSessionBeanMetaData sessionBean = (JBossSessionBeanMetaData) jboss.getEnterpriseBean("StatefulBean");
-      sessionBean = new JBossSessionPolicyDecorator(sessionBean);
-      String determinedJndiName = sessionBean.determineJndiName();
+      sessionBean = new JBossSessionPolicyDecorator(sessionBean, new BasicJndiBindingPolicy());
+      String determinedJndiName = JbossSessionBeanJndiNameResolver.resolveRemoteBusinessDefaultJndiName(sessionBean);
       boolean determinedValid = false;
       for(int i = 0; i < 2; i++)
       {
@@ -343,7 +346,7 @@
          assertEquals("clientBindUrl" + (i + 1), remoteBinding.getClientBindUrl());
          determinedValid |= jndiName.equals(determinedJndiName);
       }
-      assertTrue("determinedJndiName is one of the remote-binding values", determinedValid);
+      assertTrue("determinedJndiName is not one of the remote-binding values", determinedValid);
    }
    
    /**

Copied: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java (from rev 75454, projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResovleJndiNameDecoratorUnitTestCase.java)
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -0,0 +1,434 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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 junit.framework.TestCase;
+
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.EjbNameJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JBossSessionPolicyDecorator;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JbossEntityPolicyDecorator;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DeploymentSummary;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.JbossSessionBeanJndiNameResolver;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces;
+import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
+import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
+
+/**
+ * Tests that the JNDI Policy Decorators for Object Model 
+ * Metadata properly resolve JNDI targets according to 
+ * values expected of the given JNDI Policies
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision$
+ */
+public class ResolveJndiNameDecoratorUnitTestCase extends TestCase
+{
+
+   public void testResolvedJndiName()
+   {
+      // Obtain MD and define expected values for resolution
+      JBossSessionBeanMetaData beanMD = getDecoratedEjbMetaData();
+      String expected = "testResolvedJndiName-jndi-name/home";
+      
+      // Resolve
+      String resolved = beanMD.getHomeJndiName();
+      
+      // Test
+      assertEquals(expected, resolved);
+      
+      // Test Deprecated, backwards-compat behavior (may be removed when these methods no longer exist, JBMETA-68)
+      String resolvedDeprecated = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
+      assertEquals(expected, resolvedDeprecated);
+   }
+
+   public void testResolvedJndiNameWithMappedName()
+   {
+      // Obtain MD, set mappedName, and define expected values for resolution
+      JBossSessionBeanMetaData beanMD = getDecoratedEjbMetaData();
+      beanMD.setMappedName("testResolvedJndiName-mapped-name");
+      String expected = "testResolvedJndiName-mapped-name/home";
+      
+      // Resolve
+      String resolved = beanMD.getHomeJndiName();
+      
+      // Test
+      assertEquals(expected, resolved);
+      
+      // Test Deprecated, backwards-compat behavior (may be removed when these methods no longer exist, JBMETA-68)
+      String resolvedDeprecated = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
+      assertEquals(expected, resolvedDeprecated);
+   }
+
+   public void testResolvedJndiNames()
+   {
+      // Get Metadata
+      JBossSessionBeanMetaData beanMD = getDecoratedEjbMetaData();
+      
+      // Define expected resolved values
+      String expectedRemote = "testResolvedJndiNames-jndi-name/remote";
+      String expectedHome = "testResolvedJndiNames-jndi-name/home";
+      String expectedLocal = "testResolvedJndiNames-jndi-name/local";
+      String expectedLocalHome = "testResolvedJndiNames-jndi-name/localHome";
+      
+      // Resolve 
+      String resolvedJndiNameRemote = beanMD.getJndiName();
+      String resolvedJndiNameHome = beanMD.getHomeJndiName();
+      String resolvedJndiNameLocal = beanMD.getLocalJndiName();
+      String resolvedJndiNameLocalHome = beanMD.getLocalHomeJndiName();
+
+      // Test
+      assertEquals(expectedRemote, resolvedJndiNameRemote);
+      assertEquals(expectedHome, resolvedJndiNameHome);
+      assertEquals(expectedLocal, resolvedJndiNameLocal);
+      assertEquals(expectedLocalHome, resolvedJndiNameLocalHome);
+
+      // Test Deprecated, backwards-compat behavior (may be removed when these methods no longer exist, JBMETA-68)
+      String resolvedJndiNameRemoteD = beanMD.determineResolvedJndiName(KnownInterfaces.REMOTE, null);
+      assertEquals(expectedRemote, resolvedJndiNameRemoteD);
+      String resolvedJndiNameHomeD = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
+      assertEquals(expectedHome, resolvedJndiNameHomeD);
+      String resolvedJndiNameLocalD = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL, null);
+      assertEquals(expectedLocal, resolvedJndiNameLocalD);
+      String resolvedJndiNameLocalHomeD = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME, null);
+      assertEquals(expectedLocalHome, resolvedJndiNameLocalHomeD);
+   }
+
+   /**
+    * JBMETA-36, JBMETA-37
+    */
+   public void testResolvedJndiNamesWithKnownIfaces()
+   {
+      // Obtain MD
+      JBossSessionBeanMetaData beanMD = getDecoratedEjbMetaData();
+
+      // Define some interfaces
+      String localInterface1 = "org.jboss.ifaces.LocalIF1";
+      String localInterface2 = "org.jboss.ifaces.LocalIF2";
+      String localHomeInterface = "org.jboss.ifaces.LocalHomeIF";
+      String homeInterface = "org.jboss.ifaces.HomeIF";
+      String remoteInterface1 = "org.jboss.ifaces.RemoteIF1";
+      String remoteInterface2 = "org.jboss.ifaces.RemoteIF2";
+
+      // Manually Set Interfaces
+      beanMD.setLocal(localInterface1);
+      beanMD.setLocalHome(localHomeInterface);
+      beanMD.setHome(homeInterface);
+      beanMD.setRemote(remoteInterface1);
+      BusinessLocalsMetaData locals = new BusinessLocalsMetaData();
+      locals.add(localInterface1);
+      locals.add(localInterface2);
+      beanMD.setBusinessLocals(locals);
+      BusinessRemotesMetaData remotes = new BusinessRemotesMetaData();
+      remotes.add(remoteInterface1);
+      remotes.add(remoteInterface2);
+      beanMD.setBusinessRemotes(remotes);
+
+      // Define expected resolved values
+      String base = "testResolvedJndiNamesWithKnownIfaces-jndi-name/";
+      String expectedRemoteDefault = base + "remote";
+      String expectedRemote1 = base + "remote-org.jboss.ifaces.RemoteIF1";
+      String expectedRemote2 = base + "remote-org.jboss.ifaces.RemoteIF2";
+      String expectedHome = base + "home";
+      String expectedLocalDefault = base + "local";
+      String expectedLocal1 = base + "local-org.jboss.ifaces.LocalIF1";
+      String expectedLocal2 = base + "local-org.jboss.ifaces.LocalIF2";
+      String expectedLocalHome = base + "localHome";
+
+      // Resolve
+      String resolvedJndiNameRemoteDefaultFromMDMethod = beanMD.getJndiName();
+      String resolvedJndiNameRemoteDefaultUsingResovler = JbossSessionBeanJndiNameResolver
+            .resolveRemoteBusinessDefaultJndiName(beanMD);
+      String resolvedJndiNameRemoteDefaultUsingResovlerType = JbossSessionBeanJndiNameResolver.resolveJndiName(beanMD,
+            KnownInterfaces.REMOTE);
+      String resolvedJndiNameRemote1 = JbossSessionBeanJndiNameResolver.resolveJndiName(beanMD, remoteInterface1);
+      String resolvedJndiNameRemote2 = JbossSessionBeanJndiNameResolver.resolveJndiName(beanMD, remoteInterface2);
+      String resolvedJndiNameHomeFromMdMethod = beanMD.getHomeJndiName();
+      String resolvedJndiNameHomeUsingResolver = JbossSessionBeanJndiNameResolver.resolveRemoteHomeJndiName(beanMD);
+      String resolvedJndiNameLocalDefaultFromMDMethod = beanMD.getLocalJndiName();
+      String resolvedJndiNameLocalDefaultUsingResovler = JbossSessionBeanJndiNameResolver
+            .resolveLocalBusinessDefaultJndiName(beanMD);
+      String resolvedJndiNameLocalDefaultUsingResovlerType = JbossSessionBeanJndiNameResolver.resolveJndiName(beanMD,
+            KnownInterfaces.LOCAL);
+      String resolvedJndiNameLocal = JbossSessionBeanJndiNameResolver.resolveJndiName(beanMD, localInterface1);
+      String resolvedJndiNameLocal2 = JbossSessionBeanJndiNameResolver.resolveJndiName(beanMD, localInterface2);
+      String resolvedJndiNameLocalHomeFromMdMethod = beanMD.getLocalHomeJndiName();
+      String resolvedJndiNameLocalHomeUsingResolver = JbossSessionBeanJndiNameResolver.resolveLocalHomeJndiName(beanMD);
+
+      // Test
+      assertEquals(expectedRemoteDefault, resolvedJndiNameRemoteDefaultFromMDMethod);
+      assertEquals(expectedRemoteDefault, resolvedJndiNameRemoteDefaultUsingResovler);
+      assertEquals(expectedRemoteDefault, resolvedJndiNameRemoteDefaultUsingResovlerType);
+      assertEquals(expectedRemote1, resolvedJndiNameRemote1);
+      assertEquals(expectedRemote2, resolvedJndiNameRemote2);
+      assertEquals(expectedHome, resolvedJndiNameHomeFromMdMethod);
+      assertEquals(expectedHome, resolvedJndiNameHomeUsingResolver);
+      assertEquals(expectedLocalDefault, resolvedJndiNameLocalDefaultFromMDMethod);
+      assertEquals(expectedLocalDefault, resolvedJndiNameLocalDefaultUsingResovler);
+      assertEquals(expectedLocalDefault, resolvedJndiNameLocalDefaultUsingResovlerType);
+      assertEquals(expectedLocal1, resolvedJndiNameLocal);
+      assertEquals(expectedLocal2, resolvedJndiNameLocal2);
+      assertEquals(expectedLocalHome, resolvedJndiNameLocalHomeFromMdMethod);
+      assertEquals(expectedLocalHome, resolvedJndiNameLocalHomeUsingResolver);
+      
+      // Test Deprecated, backwards-compat behavior (may be removed when these methods no longer exist, JBMETA-68)
+      String resolvedJndiNameRemoteD = beanMD.determineResolvedJndiName(remoteInterface1, null);
+      assertEquals(expectedRemote1, resolvedJndiNameRemoteD);
+      String resolvedJndiNameRemote2D = beanMD.determineResolvedJndiName(remoteInterface2, null);
+      assertEquals(expectedRemote2, resolvedJndiNameRemote2D);
+      String resolvedJndiNameHomeD = beanMD.determineResolvedJndiName(homeInterface, null);
+      assertEquals(expectedHome, resolvedJndiNameHomeD);
+      String resolvedJndiNameLocalD = beanMD.determineResolvedJndiName(localInterface1, null);
+      assertEquals(expectedLocal1, resolvedJndiNameLocalD);
+      String resolvedJndiNameLocal2D = beanMD.determineResolvedJndiName(localInterface2, null);
+      assertEquals(expectedLocal2, resolvedJndiNameLocal2D);
+      String resolvedJndiNameLocalHomeD = beanMD.determineResolvedJndiName(localHomeInterface, null);
+      assertEquals(expectedLocalHome, resolvedJndiNameLocalHomeD);
+   }
+
+   public void testResolvedJndiNamesWithKnownIfaces2x()
+   {
+      // Get MD
+      JBossSessionBeanMetaData sbeanMD = getDecoratedEjbMetaData();
+      
+      // Manually set Version to EJB2.x
+      sbeanMD.getJBossMetaData().setEjbVersion("2.1");
+      
+      // Define Interfaces
+      String local ="org.jboss.ifaces.LocalIF";
+      String localHome = "org.jboss.ifaces.LocalHomeIF";
+      String home = "org.jboss.ifaces.HomeIF";
+      String remote = "org.jboss.ifaces.RemoteIF";
+      
+      // Manually Set Interfaces
+      sbeanMD.setLocal(local);
+      sbeanMD.setLocalHome(localHome);
+      sbeanMD.setHome(home);
+      sbeanMD.setRemote(remote);
+      
+      // Define expected values
+      String expectedRemote = "testResolvedJndiNamesWithKnownIfaces2x-jndi-name";
+      String expectedHome = "testResolvedJndiNamesWithKnownIfaces2x-jndi-name";
+      String expectedLocalHome = "local/" + sbeanMD.getEjbName() + '@' + System.identityHashCode(sbeanMD.getEjbName());
+      
+      // Resolve
+      String resolvedRemote = sbeanMD.getJndiName();
+      String resolvedHome = sbeanMD.getHomeJndiName();
+      String resolvedLocal = sbeanMD.getLocalJndiName();
+      String resolvedLocalHome = sbeanMD.getLocalHomeJndiName();
+      
+      // Test
+      assertEquals(expectedRemote, resolvedRemote);
+      assertEquals(expectedHome, resolvedHome);
+      assertEquals(resolvedRemote, resolvedHome);
+      assertEquals(expectedLocalHome, resolvedLocal);
+      assertEquals(resolvedLocal, resolvedLocalHome);
+      
+      // Test Deprecated, backwards-compat behavior (may be removed when these methods no longer exist, JBMETA-68)
+      String resolvedJndiNameD = sbeanMD.determineJndiName();
+      assertEquals(expectedRemote, resolvedJndiNameD);
+      String resolvedJndiNameHomeD = sbeanMD.determineResolvedJndiName("org.jboss.ifaces.HomeIF", null);
+      assertEquals(expectedHome, resolvedJndiNameHomeD);
+      assertEquals(expectedLocalHome, sbeanMD.determineLocalJndiName());
+      String resolvedJndiNameLocalHomeD = sbeanMD.determineResolvedJndiName("org.jboss.ifaces.LocalHomeIF", null);
+      assertEquals(sbeanMD.determineLocalJndiName(), resolvedJndiNameLocalHomeD);
+   }
+
+   /**
+    * Test resolved jndi name for an entity bean 
+    */
+   public void testResolvedJndiNamesWithKnownIfacesEntity()
+   {
+      JBossEnterpriseBeanMetaData beanMD = getEntityMetaData();
+      JBossEntityBeanMetaData sbeanMD = (JBossEntityBeanMetaData) beanMD;
+      sbeanMD.setLocal("org.jboss.ifaces.LocalIF");
+      sbeanMD.setLocalHome("org.jboss.ifaces.LocalHomeIF");
+      sbeanMD.setHome("org.jboss.ifaces.HomeIF");
+      sbeanMD.setRemote("org.jboss.ifaces.RemoteIF");
+
+      String resolvedJndiName = beanMD.determineResolvedJndiName(null, null);
+      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name", resolvedJndiName);
+      String resolvedJndiNameHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.HomeIF", null);
+      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/home", resolvedJndiNameHome);
+      String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalHomeIF", null);
+      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/localHome", resolvedJndiNameLocalHome);
+      String resolvedJndiNameIface = beanMD.determineResolvedJndiName("org.jboss.test.some.IFace", null);
+      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/org.jboss.test.some.IFace",
+            resolvedJndiNameIface);
+   }
+
+   /**
+    * Test the determineResolvedJndiName with a jndiBindingPolicy on the
+    * JBossSessionPolicyDecorator
+    * 
+    */
+   public void testResolvedJndiNamesWithMDPolicy()
+   {
+      // Get Metadata
+      JBossSessionBeanMetaData beanMD = this.getEjbMetaData();
+      
+      // Manually Decorate
+      beanMD = new JBossSessionPolicyDecorator(beanMD,new EjbNameJndiBindingPolicy());
+      
+      // Define Expected Results
+      String expectedRemote  = "testResolvedJndiNamesWithMDPolicy-ejbRemote";
+      String expectedHome  = "testResolvedJndiNamesWithMDPolicy-ejbHome";
+      String expectedLocal = "testResolvedJndiNamesWithMDPolicy-ejbLocal";
+      String expectedLocalHome = "testResolvedJndiNamesWithMDPolicy-ejbLocalHome";
+      
+      // Resolve
+      String resolvedJndiNameRemoteUsingResolver = JbossSessionBeanJndiNameResolver.resolveRemoteBusinessDefaultJndiName(beanMD);
+      String resolvedJndiNameRemoteUsingResolverType = JbossSessionBeanJndiNameResolver.resolveJndiName(beanMD,KnownInterfaces.REMOTE);
+      String resolvedJndiNameHomeUsingResolver = JbossSessionBeanJndiNameResolver.resolveRemoteHomeJndiName(beanMD);
+      String resolvedJndiNameHomeUsingResolverType = JbossSessionBeanJndiNameResolver.resolveJndiName(beanMD,KnownInterfaces.HOME);
+      String resolvedJndiNameLocalUsingResolver = JbossSessionBeanJndiNameResolver.resolveLocalBusinessDefaultJndiName(beanMD);
+      String resolvedJndiNameLocalUsingResolverType = JbossSessionBeanJndiNameResolver.resolveJndiName(beanMD,KnownInterfaces.LOCAL);      
+      String resolvedJndiNameLocalHomeUsingResolver = JbossSessionBeanJndiNameResolver.resolveLocalHomeJndiName(beanMD);
+      String resolvedJndiNameLocalHomeUsingResolverType = JbossSessionBeanJndiNameResolver.resolveJndiName(beanMD,KnownInterfaces.LOCAL_HOME);
+      
+      // Test
+      assertEquals(expectedRemote,resolvedJndiNameRemoteUsingResolver);
+      assertEquals(expectedRemote,resolvedJndiNameRemoteUsingResolverType);
+      assertEquals(expectedHome,resolvedJndiNameHomeUsingResolver);
+      assertEquals(expectedHome,resolvedJndiNameHomeUsingResolverType);
+      assertEquals(expectedLocal,resolvedJndiNameLocalUsingResolver);
+      assertEquals(expectedLocal,resolvedJndiNameLocalUsingResolverType);
+      assertEquals(expectedLocalHome,resolvedJndiNameLocalHomeUsingResolver);
+      assertEquals(expectedLocalHome,resolvedJndiNameLocalHomeUsingResolverType);
+      
+      
+      // Test Deprecated, backwards-compat behavior (may be removed when these methods no longer exist, JBMETA-68)
+      String resolvedJndiNameRemoteD = beanMD.determineResolvedJndiName(KnownInterfaces.REMOTE, null);
+      assertEquals(expectedRemote, resolvedJndiNameRemoteD);
+      String resolvedJndiNameHomeD = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
+      assertEquals(expectedHome, resolvedJndiNameHomeD);
+      String resolvedJndiNameLocalD = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL, null);
+      assertEquals(expectedLocal, resolvedJndiNameLocalD);
+      String resolvedJndiNameLocalHomeD = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME, null);
+      assertEquals(expectedLocalHome, resolvedJndiNameLocalHomeD);
+   }
+
+   /*
+    * This test has been removed, as specifying a Policy by the caller when looking for 
+    * a Resolved JNDI Name is beyond scope of the Object Model.  This should be done 
+    * when the Object is decorated, as exhibited by "testResolvedJndiNamesWithMDPolicy"
+    */
+//   /**
+//    * Test the determineResolvedJndiName with a jndiBindingPolicy passed into
+//    * determineResolvedJndiName
+//    * 
+//    */
+//   public void testResolvedJndiNamesWithExternalPolicy()
+//   {
+//      JBossEnterpriseBeanMetaData beanMD = getDecoratedEjbMetaData();
+//      EjbNameJndiBindingPolicy policy = new EjbNameJndiBindingPolicy();
+//      String resolvedJndiNameRemote = beanMD.determineResolvedJndiName(KnownInterfaces.REMOTE, policy);
+//      assertEquals("testResolvedJndiNamesWithExternalPolicy-ejbRemote", resolvedJndiNameRemote);
+//      String resolvedJndiNameHome = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, policy);
+//      assertEquals("testResolvedJndiNamesWithExternalPolicy-ejbHome", resolvedJndiNameHome);
+//      String resolvedJndiNameLocal = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL, policy);
+//      assertEquals("testResolvedJndiNamesWithExternalPolicy-ejbLocal", resolvedJndiNameLocal);
+//      String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME, policy);
+//      assertEquals("testResolvedJndiNamesWithExternalPolicy-ejbLocalHome", resolvedJndiNameLocalHome);
+//   }
+
+   /**
+    * Creates a JBossSessionBeanMetaData decorated with a BasicJndiBindingPolicy
+    */
+   protected JBossSessionBeanMetaData getDecoratedEjbMetaData()
+   {
+      // Get MD
+      JBossSessionBeanMetaData sbeanMD = this.getEjbMetaData();
+
+      // We want the meta data decorated with the JNDI binding policy.
+      sbeanMD =  new JBossSessionPolicyDecorator(sbeanMD, new BasicJndiBindingPolicy());
+      
+      // Return
+      return sbeanMD;
+   }
+   
+   /**
+    * Creates a JBossSessionBeanMetaData with associated JBossMetaData with:
+    * ejbName = getName() + "-ejb"
+    * ejbClass = "org.jboss.ejb."+ getName()
+    * jndiName = getName() + "-jndi-name"
+    * @return JBossSessionBeanMetaData
+    */
+   protected JBossSessionBeanMetaData getEjbMetaData()
+   {
+      String name = super.getName();
+      JBossMetaData jbossMetaData = new JBossMetaData();
+      jbossMetaData.setEjbVersion("3.0");
+      DeploymentSummary deploymentSummary = new DeploymentSummary();
+      deploymentSummary.setDeploymentName(name);
+      deploymentSummary.setDeploymentScopeBaseName("base");
+      jbossMetaData.setDeploymentSummary(deploymentSummary);
+      JBossSessionBeanMetaData sbeanMD = new JBossSessionBeanMetaData();
+      sbeanMD.setEjbName(name + "-ejb");
+      sbeanMD.setEjbClass("org.jboss.ejb." + name);
+      sbeanMD.setJndiName(name + "-jndi-name");
+      JBossEnterpriseBeansMetaData beans = new JBossEnterpriseBeansMetaData();
+      beans.setEjbJarMetaData(jbossMetaData);
+      beans.add(sbeanMD);
+      jbossMetaData.setEnterpriseBeans(beans);
+      
+      // Return
+      return sbeanMD;
+   }
+
+   /**
+    * Creates a JBossEntityBeanMetaData with associated JBossMetaData with:
+    * ejbName = getName() + "-ejb"
+    * ejbClass = "org.jboss.ejb."+ getName()
+    * jndiName = getName() + "-jndi-name"
+    * @return JBossEntityBeanMetaData
+    */
+   protected JBossEnterpriseBeanMetaData getEntityMetaData()
+   {
+      String name = super.getName();
+      JBossMetaData jbossMetaData = new JBossMetaData();
+      jbossMetaData.setEjbVersion("3.0");
+      DeploymentSummary deploymentSummary = new DeploymentSummary();
+      deploymentSummary.setDeploymentName(name);
+      deploymentSummary.setDeploymentScopeBaseName("base");
+      jbossMetaData.setDeploymentSummary(deploymentSummary);
+      JBossEntityBeanMetaData sbeanMD = new JBossEntityBeanMetaData();
+      sbeanMD.setEjbName(name + "-ejb");
+      sbeanMD.setEjbClass("org.jboss.ejb." + name);
+      sbeanMD.setJndiName(name + "-jndi-name");
+      JBossEnterpriseBeansMetaData beans = new JBossEnterpriseBeansMetaData();
+      beans.setEjbJarMetaData(jbossMetaData);
+      beans.add(sbeanMD);
+      jbossMetaData.setEnterpriseBeans(beans);
+      
+      // Decorate
+      sbeanMD = new JbossEntityPolicyDecorator(sbeanMD,new BasicJndiBindingPolicy());
+      
+      return sbeanMD;
+   }
+}

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolvedJndiNameUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolvedJndiNameUnitTestCase.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolvedJndiNameUnitTestCase.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -21,6 +21,8 @@
  */
 package org.jboss.test.metadata.ejb;
 
+import junit.framework.TestCase;
+
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
@@ -32,8 +34,6 @@
 import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
 import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
 
-import junit.framework.TestCase;
-
 /**
  * Tests of the JBossEnterpriseBeanMetaData.determineResolvedJndiName behavior
  * 

Deleted: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResovleJndiNameDecoratorUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResovleJndiNameDecoratorUnitTestCase.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResovleJndiNameDecoratorUnitTestCase.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -1,247 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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 junit.framework.TestCase;
-
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionPolicyDecorator;
-import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.EjbNameJndiBindingPolicy;
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DeploymentSummary;
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces;
-import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
-import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
-
-/**
- *  * Tests of the JBossSessionPolicyDecorator.determineResolvedJndiName behavior for SessionBeans
- * and JBossEnterpriseBeanMetaData.determineResolvedJndiName behavior for EntityBeans
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public class ResovleJndiNameDecoratorUnitTestCase
-extends TestCase
-{
-
-   public void testResolvedJndiName()
-   {
-      JBossEnterpriseBeanMetaData beanMD = getEjbMetaData();
-      String resolvedJndiName = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
-      assertEquals("testResolvedJndiName-jndi-name/home", resolvedJndiName);
-   }
-   public void testResolvedJndiNameWithMappedName()
-   {
-      JBossEnterpriseBeanMetaData beanMD = getEjbMetaData();
-      beanMD.setMappedName("testResolvedJndiName-mapped-name");
-      String resolvedJndiName = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
-      assertEquals("testResolvedJndiName-mapped-name/home", resolvedJndiName);
-   }
-   public void testResolvedJndiNames()
-   {
-      JBossEnterpriseBeanMetaData beanMD = getEjbMetaData();
-
-      String resolvedJndiNameRemote = beanMD.determineResolvedJndiName(KnownInterfaces.REMOTE, null);
-      assertEquals("testResolvedJndiNames-jndi-name/remote", resolvedJndiNameRemote);      
-      String resolvedJndiNameHome = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
-      assertEquals("testResolvedJndiNames-jndi-name/home", resolvedJndiNameHome);      
-      String resolvedJndiNameLocal = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL, null);
-      assertEquals("testResolvedJndiNames-jndi-name/local", resolvedJndiNameLocal);      
-      String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME, null);
-      assertEquals("testResolvedJndiNames-jndi-name/localHome", resolvedJndiNameLocalHome);      
-   }
-   /**
-    * JBMETA-36, JBMETA-37
-    */
-   public void testResolvedJndiNamesWithKnownIfaces()
-   {
-      JBossEnterpriseBeanMetaData beanMD = getEjbMetaData();
-      JBossSessionBeanMetaData sbeanMD = (JBossSessionBeanMetaData) beanMD;
-      sbeanMD.setLocal("org.jboss.ifaces.LocalIF");
-      sbeanMD.setLocalHome("org.jboss.ifaces.LocalHomeIF");
-      sbeanMD.setHome("org.jboss.ifaces.HomeIF");
-      sbeanMD.setRemote("org.jboss.ifaces.RemoteIF");
-      BusinessLocalsMetaData locals = new BusinessLocalsMetaData();
-      locals.add("org.jboss.ifaces.LocalIF");
-      locals.add("org.jboss.ifaces.LocalIF2");
-      sbeanMD.setBusinessLocals(locals);
-      BusinessRemotesMetaData remotes = new BusinessRemotesMetaData();
-      remotes.add("org.jboss.ifaces.RemoteIF");
-      remotes.add("org.jboss.ifaces.RemoteIF2");
-      sbeanMD.setBusinessRemotes(remotes);
-
-      String resolvedJndiNameRemote = beanMD.determineResolvedJndiName("org.jboss.ifaces.RemoteIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-jndi-name/remote-org.jboss.ifaces.RemoteIF", resolvedJndiNameRemote);      
-      String resolvedJndiNameRemote2 = beanMD.determineResolvedJndiName("org.jboss.ifaces.RemoteIF2", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-jndi-name/remote-org.jboss.ifaces.RemoteIF2", resolvedJndiNameRemote2);      
-      String resolvedJndiNameHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.HomeIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-jndi-name/home", resolvedJndiNameHome);      
-      String resolvedJndiNameLocal = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-jndi-name/local-org.jboss.ifaces.LocalIF", resolvedJndiNameLocal);      
-      String resolvedJndiNameLocal2 = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalIF2", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-jndi-name/local-org.jboss.ifaces.LocalIF2", resolvedJndiNameLocal2);      
-      String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalHomeIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-jndi-name/localHome", resolvedJndiNameLocalHome);            
-   }
-   public void testResolvedJndiNamesWithKnownIfaces2x()
-   {
-      JBossEnterpriseBeanMetaData beanMD = getEjbMetaData();
-      beanMD.getJBossMetaData().setEjbVersion("2.1");
-
-      JBossSessionBeanMetaData sbeanMD = (JBossSessionBeanMetaData) beanMD;
-      sbeanMD.setLocal("org.jboss.ifaces.LocalIF");
-      sbeanMD.setLocalHome("org.jboss.ifaces.LocalHomeIF");
-      sbeanMD.setHome("org.jboss.ifaces.HomeIF");
-      sbeanMD.setRemote("org.jboss.ifaces.RemoteIF");
-
-
-      String resolvedJndiName = beanMD.determineJndiName();
-      assertEquals("testResolvedJndiNamesWithKnownIfaces2x-jndi-name", resolvedJndiName);      
-      String resolvedJndiNameHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.HomeIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces2x-jndi-name", resolvedJndiNameHome);
-      
-      String expectedLocalHomeName = "local/" + beanMD.getEjbName() + '@' + System.identityHashCode(beanMD.getEjbName());
-      assertEquals(expectedLocalHomeName, beanMD.determineLocalJndiName());
-      String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalHomeIF", null);
-      assertEquals(sbeanMD.determineLocalJndiName(), resolvedJndiNameLocalHome);
-      
-   }
-
-   /**
-    * Test resolved jndi name for an entity bean 
-    */
-   public void testResolvedJndiNamesWithKnownIfacesEntity()
-   {
-      JBossEnterpriseBeanMetaData beanMD = getEntityMetaData();
-      JBossEntityBeanMetaData sbeanMD = (JBossEntityBeanMetaData) beanMD;
-      sbeanMD.setLocal("org.jboss.ifaces.LocalIF");
-      sbeanMD.setLocalHome("org.jboss.ifaces.LocalHomeIF");
-      sbeanMD.setHome("org.jboss.ifaces.HomeIF");
-      sbeanMD.setRemote("org.jboss.ifaces.RemoteIF");
-
-      String resolvedJndiName = beanMD.determineResolvedJndiName(null, null);
-      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name", resolvedJndiName);      
-      String resolvedJndiNameHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.HomeIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/home", resolvedJndiNameHome);      
-      String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalHomeIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/localHome", resolvedJndiNameLocalHome);      
-      String resolvedJndiNameIface = beanMD.determineResolvedJndiName("org.jboss.test.some.IFace", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/org.jboss.test.some.IFace", resolvedJndiNameIface);   
-   }
-
-   /**
-    * Test the determineResolvedJndiName with a jndiBindingPolicy on the
-    * JBossSessionPolicyDecorator
-    * 
-    */
-   public void testResolvedJndiNamesWithMDPolicy()
-   {
-      JBossEnterpriseBeanMetaData beanMD = getEjbMetaData();
-      beanMD.setJndiBindingPolicy(EjbNameJndiBindingPolicy.class.getName());
-      String resolvedJndiNameRemote = beanMD.determineResolvedJndiName(KnownInterfaces.REMOTE, null);
-      assertEquals("testResolvedJndiNamesWithMDPolicy-ejbRemote", resolvedJndiNameRemote);      
-      String resolvedJndiNameHome = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
-      assertEquals("testResolvedJndiNamesWithMDPolicy-ejbHome", resolvedJndiNameHome);      
-      String resolvedJndiNameLocal = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL, null);
-      assertEquals("testResolvedJndiNamesWithMDPolicy-ejbLocal", resolvedJndiNameLocal);      
-      String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME, null);
-      assertEquals("testResolvedJndiNamesWithMDPolicy-ejbLocalHome", resolvedJndiNameLocalHome);
-   }
-   /**
-    * Test the determineResolvedJndiName with a jndiBindingPolicy passed into
-    * determineResolvedJndiName
-    * 
-    */
-   public void testResolvedJndiNamesWithExternalPolicy()
-   {
-      JBossEnterpriseBeanMetaData beanMD = getEjbMetaData();
-      EjbNameJndiBindingPolicy policy = new EjbNameJndiBindingPolicy();
-      String resolvedJndiNameRemote = beanMD.determineResolvedJndiName(KnownInterfaces.REMOTE, policy);
-      assertEquals("testResolvedJndiNamesWithExternalPolicy-ejbRemote", resolvedJndiNameRemote);      
-      String resolvedJndiNameHome = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, policy);
-      assertEquals("testResolvedJndiNamesWithExternalPolicy-ejbHome", resolvedJndiNameHome);      
-      String resolvedJndiNameLocal = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL, policy);
-      assertEquals("testResolvedJndiNamesWithExternalPolicy-ejbLocal", resolvedJndiNameLocal);      
-      String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME, policy);
-      assertEquals("testResolvedJndiNamesWithExternalPolicy-ejbLocalHome", resolvedJndiNameLocalHome);            
-   }
-
-   /**
-    * Creates a JBossSessionBeanMetaData with associated JBossMetaData with:
-    * ejbName = getName() + "-ejb"
-    * ejbClass = "org.jboss.ejb."+ getName()
-    * jndiName = getName() + "-jndi-name"
-    * @return JBossSessionBeanMetaData
-    */
-   protected JBossEnterpriseBeanMetaData getEjbMetaData()
-   {
-      String name = super.getName();
-      JBossMetaData jbossMetaData = new JBossMetaData();
-      jbossMetaData.setEjbVersion("3.0");
-      DeploymentSummary deploymentSummary = new DeploymentSummary();
-      deploymentSummary.setDeploymentName(name);
-      deploymentSummary.setDeploymentScopeBaseName("base");
-      deploymentSummary.setLoader(getClass().getClassLoader());
-      jbossMetaData.setDeploymentSummary(deploymentSummary);
-      JBossSessionBeanMetaData sbeanMD = new JBossSessionBeanMetaData();
-      sbeanMD.setEjbName(name+"-ejb");
-      sbeanMD.setEjbClass("org.jboss.ejb."+name);
-      sbeanMD.setJndiName(name+"-jndi-name");
-      JBossEnterpriseBeansMetaData beans = new JBossEnterpriseBeansMetaData();
-      beans.setEjbJarMetaData(jbossMetaData);
-      beans.add(sbeanMD);
-      jbossMetaData.setEnterpriseBeans(beans);
-      
-      // We want the meta data decorated with the JNDI binding policy.
-      return new JBossSessionPolicyDecorator(sbeanMD);
-   }
-   /**
-    * Creates a JBossEntityBeanMetaData with associated JBossMetaData with:
-    * ejbName = getName() + "-ejb"
-    * ejbClass = "org.jboss.ejb."+ getName()
-    * jndiName = getName() + "-jndi-name"
-    * @return JBossEntityBeanMetaData
-    */
-   protected JBossEnterpriseBeanMetaData getEntityMetaData()
-   {
-      String name = super.getName();
-      JBossMetaData jbossMetaData = new JBossMetaData();
-      jbossMetaData.setEjbVersion("3.0");
-      DeploymentSummary deploymentSummary = new DeploymentSummary();
-      deploymentSummary.setDeploymentName(name);
-      deploymentSummary.setDeploymentScopeBaseName("base");
-      deploymentSummary.setLoader(getClass().getClassLoader());
-      jbossMetaData.setDeploymentSummary(deploymentSummary);
-      JBossEntityBeanMetaData sbeanMD = new JBossEntityBeanMetaData();
-      sbeanMD.setEjbName(name+"-ejb");
-      sbeanMD.setEjbClass("org.jboss.ejb."+name);
-      sbeanMD.setJndiName(name+"-jndi-name");
-      JBossEnterpriseBeansMetaData beans = new JBossEnterpriseBeansMetaData();
-      beans.setEjbJarMetaData(jbossMetaData);
-      beans.add(sbeanMD);
-      jbossMetaData.setEnterpriseBeans(beans);
-      return sbeanMD;
-   }
-}

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -25,7 +25,9 @@
 
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionPolicyDecorator;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JBossSessionPolicyDecorator;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.JbossSessionBeanJndiNameResolver;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces;
 import org.jboss.metadata.ejb.spec.EjbJar21MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar2xMetaData;
@@ -74,7 +76,7 @@
    
    protected void assertSessionBeans(JBossSessionBeanMetaData metaData)
    {
-      metaData = new JBossSessionPolicyDecorator(metaData);
+      metaData = new JBossSessionPolicyDecorator(metaData, new BasicJndiBindingPolicy());
       
       assertNotNull(metaData);
       
@@ -87,18 +89,18 @@
    {
       String expected = "local/" + metaData.getEjbName() + '@' + System.identityHashCode(metaData.getEjbName());
       
-      assertEquals(expected, metaData.determineLocalJndiName());
-      assertEquals(expected, metaData.getLocalHomeJndiName());
-      assertEquals(expected, metaData.getLocalJndiName());
-      assertEquals(expected, metaData.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME));
+      assertEquals(expected, JbossSessionBeanJndiNameResolver.resolveLocalBusinessDefaultJndiName(metaData));
+      assertEquals(expected, JbossSessionBeanJndiNameResolver.resolveLocalHomeJndiName(metaData));
+      assertEquals(expected, JbossSessionBeanJndiNameResolver.resolveJndiName(metaData,KnownInterfaces.LOCAL_HOME));
    }
    
    protected void assertHome(JBossSessionBeanMetaData metaData)
    {
-      assertEquals(metaData.getEjbName(), metaData.determineJndiName());
-      assertEquals(metaData.getEjbName(), metaData.getJndiName());
-      assertEquals(metaData.getEjbName(), metaData.getHomeJndiName());
-      assertEquals(metaData.getEjbName(), metaData.determineResolvedJndiName(KnownInterfaces.HOME));
+      assertEquals(metaData.getEjbName(), JbossSessionBeanJndiNameResolver
+            .resolveRemoteBusinessDefaultJndiName(metaData));
+      assertEquals(metaData.getEjbName(), JbossSessionBeanJndiNameResolver
+            .resolveRemoteHomeJndiName(metaData));
+      assertEquals(metaData.getEjbName(), JbossSessionBeanJndiNameResolver.resolveJndiName(metaData,KnownInterfaces.HOME));
    }
 }
 

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/DefaultNamingStrategyTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/DefaultNamingStrategyTestCase.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/DefaultNamingStrategyTestCase.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -24,20 +24,22 @@
 import java.lang.reflect.AnnotatedElement;
 import java.util.Collection;
 
+import junit.framework.TestCase;
+
 import org.jboss.metadata.annotation.creator.ejb.EjbJar30Creator;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
 import org.jboss.metadata.annotation.finder.DefaultAnnotationFinder;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionPolicyDecorator;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JBossSessionPolicyDecorator;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.JbossSessionBeanJndiNameResolver;
 import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
 import org.jboss.test.metadata.common.PackageScanner;
 import org.jboss.test.metadata.common.ScanPackage;
 import org.jboss.test.metadata.jbmeta42.MyStatelessLocal;
 import org.jboss.test.metadata.jbmeta42.MyStatelessRemote;
 
-import junit.framework.TestCase;
-
 /**
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
  * @version $Revision: $
@@ -68,44 +70,54 @@
       sessionBeanMetaData = (JBossSessionBeanMetaData) mergedMetaData.getEnterpriseBean("MyStatelessBean");
       
       // We want the meta data decorated with the JNDI binding policy.
-      sessionBeanMetaData = new JBossSessionPolicyDecorator(sessionBeanMetaData);
+      sessionBeanMetaData = new JBossSessionPolicyDecorator(sessionBeanMetaData, new BasicJndiBindingPolicy());
       
       assertNotNull(sessionBeanMetaData);
    }
    
    public void testBusinessLocal()
    {
-      String actual = sessionBeanMetaData.getLocalJndiName();
+      String actual = JbossSessionBeanJndiNameResolver.resolveLocalBusinessDefaultJndiName(sessionBeanMetaData);
+      String fromBean = sessionBeanMetaData.getLocalJndiName();
       assertEquals("MyStatelessBean/local", actual);
+      assertEquals(actual, fromBean);
    }
-   
+
    public void testBusinessRemote()
    {
-      String actual = sessionBeanMetaData.getJndiName();
-      assertEquals("MyStatelessBean/remote", actual);      
+      String actual = JbossSessionBeanJndiNameResolver.resolveRemoteBusinessDefaultJndiName(sessionBeanMetaData);
+      String fromBean = sessionBeanMetaData.getJndiName();
+      assertEquals("MyStatelessBean/remote", actual);
+      assertEquals(actual, fromBean);
    }
-   
+
    public void testLocalHome()
    {
-      String actual = sessionBeanMetaData.getLocalHomeJndiName();
+      String actual = JbossSessionBeanJndiNameResolver.resolveLocalHomeJndiName(sessionBeanMetaData);
+      String fromBean = sessionBeanMetaData.getLocalHomeJndiName();
       assertEquals("MyStatelessBean/localHome", actual);
+      assertEquals(actual, fromBean);
    }
-   
+
    public void testHome()
    {
-      String actual = sessionBeanMetaData.getHomeJndiName();
+      String actual = JbossSessionBeanJndiNameResolver.resolveRemoteHomeJndiName(sessionBeanMetaData);
+      String fromBean = sessionBeanMetaData.getHomeJndiName();
       assertEquals("MyStatelessBean/home", actual);
+      assertEquals(actual, fromBean);
    }
    
    public void testSpecificLocalBusinessInterface()
    {
-      String actual = sessionBeanMetaData.determineResolvedJndiName(MyStatelessLocal.class.getName());
+      String actual = JbossSessionBeanJndiNameResolver.resolveJndiName(sessionBeanMetaData, MyStatelessLocal.class
+            .getName());
       assertEquals("MyStatelessBean/local-" + MyStatelessLocal.class.getName(), actual);
    }
    
    public void testSpecificRemoteBusinessInterface()
    {
-      String actual = sessionBeanMetaData.determineResolvedJndiName(MyStatelessRemote.class.getName());
+      String actual = JbossSessionBeanJndiNameResolver.resolveJndiName(sessionBeanMetaData, MyStatelessRemote.class
+            .getName());
       assertEquals("MyStatelessBean/remote-" + MyStatelessRemote.class.getName(), actual);
    }
 }

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta58/MyDefaultJndiBindingPolicy.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta58/MyDefaultJndiBindingPolicy.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta58/MyDefaultJndiBindingPolicy.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -59,6 +59,7 @@
 
    public String getJndiName(EjbDeploymentSummary summary, String iface, KnownInterfaceType ifaceType)
    {
-      return summary.getDeploymentScopeBaseName() + "/" + summary.getDeploymentName() + "/" + summary.getEjbName() + "/" + iface;
+      return summary.getDeploymentScopeBaseName() + "/" + summary.getDeploymentName() + "/"
+            + summary.getBeanMD().getEjbName() + "/" + iface;
    }
 }

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta58/unit/DeploymentSummaryTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta58/unit/DeploymentSummaryTestCase.java	2008-07-08 05:06:49 UTC (rev 75469)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta58/unit/DeploymentSummaryTestCase.java	2008-07-08 05:07:22 UTC (rev 75470)
@@ -29,8 +29,10 @@
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaDataWrapper;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JBossSessionPolicyDecorator;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DeploymentSummary;
+import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
 import org.jboss.test.metadata.jbmeta58.MyDefaultJndiBindingPolicy;
 
 /**
@@ -58,7 +60,12 @@
       wrapper.setDeploymentSummary(deploymentSummary);
       
       DefaultJndiBindingPolicy policy = new MyDefaultJndiBindingPolicy();
-      String jndiName = wrapper.getEnterpriseBean("MyBean").determineResolvedJndiName("testInterface", policy);
+      JBossSessionBeanMetaData beanMd = (JBossSessionBeanMetaData)wrapper.getEnterpriseBean("MyBean");
+      String interfaceName = "testInterface";
+      beanMd.setBusinessRemotes(new BusinessRemotesMetaData());
+      beanMd.getBusinessRemotes().add(interfaceName);
+      JBossSessionPolicyDecorator decorator = new JBossSessionPolicyDecorator(beanMd,policy);
+      String jndiName = decorator.determineResolvedJndiName(interfaceName);
       assertEquals("someEar/someModule/MyBean/testInterface", jndiName);
    }
 }




More information about the jboss-cvs-commits mailing list