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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Aug 12 07:31:23 EDT 2008


Author: wolfc
Date: 2008-08-12 07:31:23 -0400 (Tue, 12 Aug 2008)
New Revision: 76984

Added:
   projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/SameMethodNameBean.java
   projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/SameMethodNameSuper.java
Modified:
   projects/ejb3/trunk/metadata/pom.xml
   projects/ejb3/trunk/metadata/src/main/java/org/jboss/ejb3/metadata/MetaDataBridge.java
   projects/ejb3/trunk/metadata/src/main/java/org/jboss/ejb3/metadata/plugins/loader/BridgedMetaDataLoader.java
   projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/BeanInterceptorMetaDataBridge.java
   projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/EnvironmentInterceptorMetaDataBridge.java
   projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/InterceptorMetaDataBridge.java
   projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/unit/InterceptorTestCase.java
   projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/securitydomain/SecurityDomainMetaDataBridge.java
   projects/ejb3/trunk/metadata/src/test/resources/interceptor/ejb-jar.xml
Log:
EJBTHREE-1459: pass the Method to the meta data bridge for method annotation resolving

Modified: projects/ejb3/trunk/metadata/pom.xml
===================================================================
--- projects/ejb3/trunk/metadata/pom.xml	2008-08-12 11:29:36 UTC (rev 76983)
+++ projects/ejb3/trunk/metadata/pom.xml	2008-08-12 11:31:23 UTC (rev 76984)
@@ -10,7 +10,7 @@
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>jboss-ejb3-metadata</artifactId>
-  <version>0.12.3-SNAPSHOT</version>
+  <version>0.13.0-SNAPSHOT</version>
   <packaging>jar</packaging>
   <name>JBoss EJB 3.0 Meta Data bridge</name>
   <url>http://www.jboss.org</url>
@@ -38,6 +38,11 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-mdr</artifactId>
+      <version>2.0.0.Beta16</version>
+    </dependency>
+    <dependency>
       <groupId>org.jboss.metadata</groupId>
       <artifactId>jboss-metadata</artifactId>
     </dependency>

Modified: projects/ejb3/trunk/metadata/src/main/java/org/jboss/ejb3/metadata/MetaDataBridge.java
===================================================================
--- projects/ejb3/trunk/metadata/src/main/java/org/jboss/ejb3/metadata/MetaDataBridge.java	2008-08-12 11:29:36 UTC (rev 76983)
+++ projects/ejb3/trunk/metadata/src/main/java/org/jboss/ejb3/metadata/MetaDataBridge.java	2008-08-12 11:31:23 UTC (rev 76984)
@@ -22,12 +22,13 @@
 package org.jboss.ejb3.metadata;
 
 import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
 
 /**
- * Comment
+ * Retrieve an annotation based on a piece of meta data.
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public interface MetaDataBridge<M>
 {
@@ -49,9 +50,8 @@
     * @param annotationClass
     * @param metaData
     * @param classLoader
-    * @param methodName
-    * @param parameterNames
+    * @param method
     * @return                   the annotation of null if not found
     */
-   <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, M metaData, ClassLoader classLoader, String methodName, String ... parameterNames);
+   <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, M metaData, ClassLoader classLoader, Method method);
 }

Modified: projects/ejb3/trunk/metadata/src/main/java/org/jboss/ejb3/metadata/plugins/loader/BridgedMetaDataLoader.java
===================================================================
--- projects/ejb3/trunk/metadata/src/main/java/org/jboss/ejb3/metadata/plugins/loader/BridgedMetaDataLoader.java	2008-08-12 11:29:36 UTC (rev 76983)
+++ projects/ejb3/trunk/metadata/src/main/java/org/jboss/ejb3/metadata/plugins/loader/BridgedMetaDataLoader.java	2008-08-12 11:31:23 UTC (rev 76984)
@@ -22,6 +22,7 @@
 package org.jboss.ejb3.metadata.plugins.loader;
 
 import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -39,7 +40,7 @@
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class BridgedMetaDataLoader<M> extends AbstractMetaDataLoader
 {
@@ -53,6 +54,8 @@
       /** The signature */
       private MethodSignature signature;
       
+      private Method method;
+      
       /**
        * Create a new MethodMetaDataRetrieval.
        * 
@@ -61,6 +64,9 @@
       public MethodMetaDataRetrieval(MethodSignature methodSignature)
       {
          this.signature = methodSignature;
+         this.method = signature.getMethod();
+         
+         assert this.method != null : "methodSignature.method is null";
       }
 
       public <T extends Annotation> AnnotationItem<T> retrieveAnnotation(Class<T> annotationType)
@@ -70,7 +76,7 @@
          
          for(MetaDataBridge<M> bridge : bridges)
          {
-            T annotation = bridge.retrieveAnnotation(annotationType, metaData, classLoader, signature.getName(), signature.getParameters());
+            T annotation = bridge.retrieveAnnotation(annotationType, metaData, classLoader, method);
             if(annotation != null)
                return new SimpleAnnotationItem<T>(annotation);
          }

Modified: projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/BeanInterceptorMetaDataBridge.java
===================================================================
--- projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/BeanInterceptorMetaDataBridge.java	2008-08-12 11:29:36 UTC (rev 76983)
+++ projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/BeanInterceptorMetaDataBridge.java	2008-08-12 11:31:23 UTC (rev 76984)
@@ -22,6 +22,7 @@
 package org.jboss.ejb3.test.metadata.interceptor;
 
 import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
 
 import javax.interceptor.AroundInvoke;
 import javax.interceptor.Interceptors;
@@ -41,7 +42,7 @@
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class BeanInterceptorMetaDataBridge extends EnvironmentInterceptorMetaDataBridge<JBossEnterpriseBeanMetaData> implements MetaDataBridge<JBossEnterpriseBeanMetaData>
 {
@@ -101,7 +102,7 @@
    }
 
    @Override
-   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader, String methodName, String... parameterNames)
+   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader, Method method)
    {
       if(annotationClass == AroundInvoke.class)
       {
@@ -114,11 +115,11 @@
             aroundInvokes = ((JBossSessionBeanMetaData) beanMetaData).getAroundInvokes();
          if(aroundInvokes != null)
          {
-            Annotation annotation = getAroundInvokeAnnotation(aroundInvokes, methodName);
+            Annotation annotation = getAroundInvokeAnnotation(aroundInvokes, method);
             if(annotation != null)
                return annotationClass.cast(annotation);
          }
       }
-      return super.retrieveAnnotation(annotationClass, beanMetaData, classLoader, methodName, parameterNames);
+      return super.retrieveAnnotation(annotationClass, beanMetaData, classLoader, method);
    }
 }

Modified: projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/EnvironmentInterceptorMetaDataBridge.java
===================================================================
--- projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/EnvironmentInterceptorMetaDataBridge.java	2008-08-12 11:29:36 UTC (rev 76983)
+++ projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/EnvironmentInterceptorMetaDataBridge.java	2008-08-12 11:31:23 UTC (rev 76984)
@@ -22,6 +22,7 @@
 package org.jboss.ejb3.test.metadata.interceptor;
 
 import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
@@ -32,15 +33,17 @@
 import org.jboss.ejb3.annotation.impl.PreDestroyImpl;
 import org.jboss.ejb3.metadata.MetaDataBridge;
 import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.spec.AroundInvokeMetaData;
 import org.jboss.metadata.ejb.spec.AroundInvokesMetaData;
 import org.jboss.metadata.javaee.spec.Environment;
+import org.jboss.metadata.javaee.spec.LifecycleCallbackMetaData;
 import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
 
 /**
  * Does only interceptor stuff.
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class EnvironmentInterceptorMetaDataBridge<M extends Environment> implements MetaDataBridge<M>
 {
@@ -62,47 +65,63 @@
       }
    }
    
-   protected AroundInvoke getAroundInvokeAnnotation(AroundInvokesMetaData callbacks, String methodName)
+   protected AroundInvoke getAroundInvokeAnnotation(AroundInvokesMetaData callbacks, Method method)
    {
       if(callbacks == null || callbacks.isEmpty())
          return null;
       
       assert callbacks.size() == 1;
-      String callbackMethodName = callbacks.get(0).getMethodName();
-      if(methodName.equals(callbackMethodName))
-         return new AroundInvokeImpl();
+      AroundInvokeMetaData callback = callbacks.get(0);
+      if(isEmpty(callback.getClassName()) || callback.getClassName().equals(method.getDeclaringClass().getName()))
+      {
+         String callbackMethodName = callback.getMethodName();
+         if(method.getName().equals(callbackMethodName))
+            return new AroundInvokeImpl();
+      }
       return null;
    }
    
-   private <T extends Annotation> T getLifeCycleAnnotation(LifecycleCallbacksMetaData callbacks, Class<T> annotationImplType, String methodName)
+   private <T extends Annotation> T getLifeCycleAnnotation(LifecycleCallbacksMetaData callbacks, Class<T> annotationImplType, Method method)
    {
       if(callbacks == null || callbacks.isEmpty())
          return null;
       
       assert callbacks.size() == 1;
-      // TODO: callbacks[0].className
-      String callbackMethodName = callbacks.get(0).getMethodName();
-      if(methodName.equals(callbackMethodName))
-         return createAnnotationImpl(annotationImplType);
+      LifecycleCallbackMetaData callback = callbacks.get(0);
+      if(isEmpty(callback.getClassName()) || callback.getClassName().equals(method.getDeclaringClass().getName()))
+      {
+         String callbackMethodName = callback.getMethodName();
+         if(method.getName().equals(callbackMethodName))
+            return createAnnotationImpl(annotationImplType);
+      }
       return null;
    }
    
+   private boolean isEmpty(String s)
+   {
+      if(s == null)
+         return true;
+      if(s.length() == 0)
+         return true;
+      return false;
+   }
+   
    public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, M metaData, ClassLoader classLoader)
    {
       return null;
    }
 
-   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, M metaData, ClassLoader classLoader, String methodName, String... parameterNames)
+   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, M metaData, ClassLoader classLoader, Method method)
    {
       if(annotationClass == PostConstruct.class)
       {
-         PostConstruct lifeCycleAnnotation = getLifeCycleAnnotation(metaData.getPostConstructs(), PostConstructImpl.class, methodName);
+         PostConstruct lifeCycleAnnotation = getLifeCycleAnnotation(metaData.getPostConstructs(), PostConstructImpl.class, method);
          if(lifeCycleAnnotation != null)
             return annotationClass.cast(lifeCycleAnnotation);
       }
       else if(annotationClass == PreDestroy.class)
       {
-         PreDestroy lifeCycleAnnotation = getLifeCycleAnnotation(metaData.getPreDestroys(), PreDestroyImpl.class, methodName);
+         PreDestroy lifeCycleAnnotation = getLifeCycleAnnotation(metaData.getPreDestroys(), PreDestroyImpl.class, method);
          if(lifeCycleAnnotation != null)
             return annotationClass.cast(lifeCycleAnnotation);
       }

Modified: projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/InterceptorMetaDataBridge.java
===================================================================
--- projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/InterceptorMetaDataBridge.java	2008-08-12 11:29:36 UTC (rev 76983)
+++ projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/InterceptorMetaDataBridge.java	2008-08-12 11:31:23 UTC (rev 76984)
@@ -22,6 +22,7 @@
 package org.jboss.ejb3.test.metadata.interceptor;
 
 import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
 
 import javax.interceptor.AroundInvoke;
 
@@ -33,7 +34,7 @@
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class InterceptorMetaDataBridge extends EnvironmentInterceptorMetaDataBridge<InterceptorMetaData> implements MetaDataBridge<InterceptorMetaData>
 {
@@ -46,14 +47,14 @@
    }
 
    @Override
-   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, InterceptorMetaData interceptorMetaData, ClassLoader classLoader, String methodName, String... parameterNames)
+   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, InterceptorMetaData interceptorMetaData, ClassLoader classLoader, Method method)
    {
       if(annotationClass == AroundInvoke.class)
       {
-         Annotation annotation = getAroundInvokeAnnotation(interceptorMetaData.getAroundInvokes(), methodName);
+         Annotation annotation = getAroundInvokeAnnotation(interceptorMetaData.getAroundInvokes(), method);
          if(annotation != null)
             return annotationClass.cast(annotation);
       }
-      return super.retrieveAnnotation(annotationClass, interceptorMetaData, classLoader, methodName, parameterNames);
+      return super.retrieveAnnotation(annotationClass, interceptorMetaData, classLoader, method);
    }
 }

Added: projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/SameMethodNameBean.java
===================================================================
--- projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/SameMethodNameBean.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/SameMethodNameBean.java	2008-08-12 11:31:23 UTC (rev 76984)
@@ -0,0 +1,35 @@
+/*
+ * 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.ejb3.test.metadata.interceptor;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class SameMethodNameBean extends SameMethodNameSuper
+{
+   // make sure this is the same name as in super
+   protected void postConstruct()
+   {
+      
+   }
+}

Added: projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/SameMethodNameSuper.java
===================================================================
--- projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/SameMethodNameSuper.java	                        (rev 0)
+++ projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/SameMethodNameSuper.java	2008-08-12 11:31:23 UTC (rev 76984)
@@ -0,0 +1,36 @@
+/*
+ * 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.ejb3.test.metadata.interceptor;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class SameMethodNameSuper
+{
+   // private, so it's not really overridden
+   @SuppressWarnings("unused")
+   private void postConstruct()
+   {
+      
+   }
+}

Modified: projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/unit/InterceptorTestCase.java
===================================================================
--- projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/unit/InterceptorTestCase.java	2008-08-12 11:29:36 UTC (rev 76983)
+++ projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/interceptor/unit/InterceptorTestCase.java	2008-08-12 11:31:23 UTC (rev 76984)
@@ -41,6 +41,8 @@
 import org.jboss.ejb3.test.metadata.interceptor.InterceptedBean;
 import org.jboss.ejb3.test.metadata.interceptor.InterceptorComponentMetaDataLoaderFactory;
 import org.jboss.ejb3.test.metadata.interceptor.InterceptorMetaDataBridge;
+import org.jboss.ejb3.test.metadata.interceptor.SameMethodNameBean;
+import org.jboss.ejb3.test.metadata.interceptor.SameMethodNameSuper;
 import org.jboss.ejb3.test.metadata.securitydomain.SecurityDomainBean;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
@@ -58,7 +60,7 @@
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class InterceptorTestCase extends TestCase
 {
@@ -143,4 +145,33 @@
       Method beanAroundInvoke = InterceptedBean.class.getMethod("aroundInvoke", InvocationContext.class);
       assertTrue(repository.hasAnnotation(beanAroundInvoke, AroundInvoke.class));
    }
+   
+   public void testSameMethodName() throws Exception
+   {
+      // Bootstrap metadata
+      UnmarshallerFactory unmarshallerFactory = UnmarshallerFactory.newInstance();
+      Unmarshaller unmarshaller = unmarshallerFactory.newUnmarshaller();
+      URL url = Thread.currentThread().getContextClassLoader().getResource("interceptor/ejb-jar.xml");
+      EjbJar30MetaData ejbJarMetaData = (EjbJar30MetaData) unmarshaller.unmarshal(url.toString(), schemaResolverForClass(EjbJar30MetaData.class));
+      JBoss50MetaData metaData = new JBoss50MetaData();
+      metaData.merge(null, ejbJarMetaData);
+      
+      JBossEnterpriseBeanMetaData beanMetaData = metaData.getEnterpriseBean("SameMethodNameBean");
+      assertNotNull("beanMetaData is null", beanMetaData);
+      
+      // Bootstrap meta data bridge
+      String canonicalObjectName = "Not important";
+      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+      AnnotationRepositoryToMetaData repository = new AnnotationRepositoryToMetaData(SecurityDomainBean.class, beanMetaData, canonicalObjectName, classLoader);
+      List<MetaDataBridge<InterceptorMetaData>> interceptorBridges = new ArrayList<MetaDataBridge<InterceptorMetaData>>();
+      interceptorBridges.add(new InterceptorMetaDataBridge());
+      repository.addComponentMetaDataLoaderFactory(new InterceptorComponentMetaDataLoaderFactory(interceptorBridges));
+      repository.addMetaDataBridge(new BeanInterceptorMetaDataBridge());
+      
+      Method superPostConstruct = SameMethodNameSuper.class.getDeclaredMethod("postConstruct");
+      assertTrue(repository.hasAnnotation(superPostConstruct, PostConstruct.class));
+      
+      Method beanPostConstruct = SameMethodNameBean.class.getDeclaredMethod("postConstruct");
+      assertFalse("Bean method has PostConstruct annotation, but none defined in xml", repository.hasAnnotation(beanPostConstruct, PostConstruct.class));
+   }
 }

Modified: projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/securitydomain/SecurityDomainMetaDataBridge.java
===================================================================
--- projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/securitydomain/SecurityDomainMetaDataBridge.java	2008-08-12 11:29:36 UTC (rev 76983)
+++ projects/ejb3/trunk/metadata/src/test/java/org/jboss/ejb3/test/metadata/securitydomain/SecurityDomainMetaDataBridge.java	2008-08-12 11:31:23 UTC (rev 76984)
@@ -22,6 +22,7 @@
 package org.jboss.ejb3.test.metadata.securitydomain;
 
 import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
 
 import org.jboss.ejb3.annotation.SecurityDomain;
 import org.jboss.ejb3.annotation.impl.SecurityDomainImpl;
@@ -33,7 +34,7 @@
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class SecurityDomainMetaDataBridge implements MetaDataBridge<JBossEnterpriseBeanMetaData>
 {
@@ -50,7 +51,7 @@
       return null;
    }
 
-   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader, String methodName, String... parameterNames)
+   public <A extends Annotation> A retrieveAnnotation(Class<A> annotationClass, JBossEnterpriseBeanMetaData beanMetaData, ClassLoader classLoader, Method method)
    {
       return null;
    }

Modified: projects/ejb3/trunk/metadata/src/test/resources/interceptor/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/metadata/src/test/resources/interceptor/ejb-jar.xml	2008-08-12 11:29:36 UTC (rev 76983)
+++ projects/ejb3/trunk/metadata/src/test/resources/interceptor/ejb-jar.xml	2008-08-12 11:31:23 UTC (rev 76984)
@@ -13,6 +13,13 @@
     			<method-name>aroundInvoke</method-name>
     		</around-invoke>
     	</session>
+    	<session>
+    	   <ejb-name>SameMethodNameBean</ejb-name>
+    	   <post-construct>
+    	      <lifecycle-callback-class>org.jboss.ejb3.test.metadata.interceptor.SameMethodNameSuper</lifecycle-callback-class>
+    	      <lifecycle-callback-method>postConstruct</lifecycle-callback-method>
+    	   </post-construct>
+    	</session>
     </enterprise-beans>
     <interceptors>
 		<interceptor>




More information about the jboss-cvs-commits mailing list