[jboss-cvs] JBossAS SVN: r62423 - in trunk/ejb3/src: main/org/jboss/ejb3/interceptor and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 19 13:21:34 EDT 2007


Author: wolfc
Date: 2007-04-19 13:21:34 -0400 (Thu, 19 Apr 2007)
New Revision: 62423

Modified:
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBRegistrationDeployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/interceptor/InterceptorInfoRepository.java
   trunk/ejb3/src/resources/META-INF/ejb3-deployers-beans.xml
Log:
EJBTHREE-947: added option to the deployer

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBRegistrationDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBRegistrationDeployer.java	2007-04-19 15:18:53 UTC (rev 62422)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBRegistrationDeployer.java	2007-04-19 17:21:34 UTC (rev 62423)
@@ -28,6 +28,7 @@
 import org.jboss.ejb3.DeploymentScope;
 import org.jboss.ejb3.Ejb3Deployment;
 import org.jboss.ejb3.EJB3Deployer;
+import org.jboss.ejb3.interceptor.InterceptorInfoRepository;
 import org.jboss.kernel.Kernel;
 import org.jboss.virtual.VirtualFile;
 import org.jboss.logging.Logger;
@@ -113,6 +114,16 @@
       this.defaultPersistenceProperties = defaultPersistenceProperties;
    }
 
+   public boolean getRelaxedSignatureChecking()
+   {
+      return InterceptorInfoRepository.getRelaxedSignatureChecking();
+   }
+   
+   public void setRelaxedSignatureChecking(boolean b)
+   {
+      InterceptorInfoRepository.setRelaxedSignatureChecking(b);
+   }
+   
    public void deploy(DeploymentUnit unit) throws DeploymentException
    {
       try

Modified: trunk/ejb3/src/main/org/jboss/ejb3/interceptor/InterceptorInfoRepository.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/interceptor/InterceptorInfoRepository.java	2007-04-19 15:18:53 UTC (rev 62422)
+++ trunk/ejb3/src/main/org/jboss/ejb3/interceptor/InterceptorInfoRepository.java	2007-04-19 17:21:34 UTC (rev 62423)
@@ -73,6 +73,8 @@
    
    private InterceptorSorter sorter = new InterceptorSorter();
 
+   private static boolean relaxedSignatureChecking = false;
+   
    public InterceptorInfoRepository()
    {
    }
@@ -508,6 +510,16 @@
       }
    }
 
+   private static boolean checkForRuntimeExceptions(Class<?> exceptions[])
+   {
+      boolean isRuntime = true;
+      for(Class<?> exceptionClass : exceptions)
+      {
+         isRuntime &= RuntimeException.class.isAssignableFrom(exceptionClass);
+      }
+      return isRuntime;
+   }
+   
    public static boolean checkValidBusinessSignature(Method method)
    {
       int modifiers = method.getModifiers();
@@ -559,13 +571,32 @@
             return true;
       }
       else if (!Modifier.isStatic(modifiers) && method.getReturnType().equals(Void.TYPE)
-            && method.getParameterTypes().length == 0 && method.getExceptionTypes().length == 0)
+            && method.getParameterTypes().length == 0)
       {
-         return true;
+         if(relaxedSignatureChecking)
+         {
+            return checkForRuntimeExceptions(method.getExceptionTypes());
+         }
+         else
+         {
+            return method.getExceptionTypes().length == 0;
+         }
       }
       return false;
    }
 
+   public static boolean getRelaxedSignatureChecking()
+   {
+      return relaxedSignatureChecking;
+   }
+   
+   public static void setRelaxedSignatureChecking(boolean b)
+   {
+      relaxedSignatureChecking = b;
+      
+      log.trace("EJBTHREE-947: relaxed signature checking set to " + b);
+   }
+   
    public static String simpleType(Class type)
    {
       Class ret = type;
@@ -752,7 +783,7 @@
                }
                
                throw new RuntimeException("@" + ann.annotationType().getName()
-                       + " annotated method has the wrong signature - " + method);
+                       + " annotated method has the wrong signature - " + method + " (EJB3 12.4)");
             }
             return method;
          }

Modified: trunk/ejb3/src/resources/META-INF/ejb3-deployers-beans.xml
===================================================================
--- trunk/ejb3/src/resources/META-INF/ejb3-deployers-beans.xml	2007-04-19 15:18:53 UTC (rev 62422)
+++ trunk/ejb3/src/resources/META-INF/ejb3-deployers-beans.xml	2007-04-19 17:21:34 UTC (rev 62423)
@@ -106,6 +106,7 @@
             <value>servlets-webdav.jar</value>
          </set>
       </property>
+      <property name="relaxedSignatureChecking">true</property>
       <depends>AspectLibrary</depends>
    </bean>
    <bean name="EJBStage2Deployer" class="org.jboss.ejb3.deployers.EJBStage2Deployer">




More information about the jboss-cvs-commits mailing list