[jboss-cvs] jboss-seam/src/main/org/jboss/seam ...

Norman Richards norman.richards at jboss.com
Tue Jun 19 17:36:38 EDT 2007


  User: nrichards
  Date: 07/06/19 17:36:38

  Modified:    src/main/org/jboss/seam  Seam.java
  Log:
  JBSEAM-955
  
  Revision  Changes    Path
  1.32      +57 -41    jboss-seam/src/main/org/jboss/seam/Seam.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Seam.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/Seam.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -b -r1.31 -r1.32
  --- Seam.java	3 Jun 2007 23:02:25 -0000	1.31
  +++ Seam.java	19 Jun 2007 21:36:38 -0000	1.32
  @@ -1,4 +1,4 @@
  -//$Id: Seam.java,v 1.31 2007/06/03 23:02:25 gavin Exp $
  +//$Id: Seam.java,v 1.32 2007/06/19 21:36:38 nrichards Exp $
   package org.jboss.seam;
   
   import static org.jboss.seam.ComponentType.ENTITY_BEAN;
  @@ -23,6 +23,8 @@
   import org.jboss.seam.contexts.Contexts;
   import org.jboss.seam.contexts.Lifecycle;
   import org.jboss.seam.core.ServletSession;
  +import org.jboss.seam.init.DeploymentDescriptorInfo;
  +import org.jboss.seam.init.DeploymentDescriptorInfo.EjbInfo;
   import org.jboss.seam.util.Strings;
   
   /**
  @@ -33,6 +35,7 @@
    */
   public class Seam
   {
  +   private static DeploymentDescriptorInfo deploymentInfo = new DeploymentDescriptorInfo();
      
      private static final Map<Class, String> COMPONENT_NAME_CACHE = new ConcurrentHashMap<Class, String>();
   
  @@ -63,24 +66,20 @@
       */
      public static ComponentType getComponentType(Class<?> clazz)
      {
  -      if ( clazz.isAnnotationPresent(STATEFUL) )
  -      {
  +      if (clazz.isAnnotationPresent(STATEFUL)) {
            return STATEFUL_SESSION_BEAN;
  -      }
  -      else if ( clazz.isAnnotationPresent(STATELESS) )
  -      {
  +      } else if (clazz.isAnnotationPresent(STATELESS)) {
            return STATELESS_SESSION_BEAN;
  -      }
  -      else if ( clazz.isAnnotationPresent(MESSAGE_DRIVEN) )
  -      {
  +      } else if (clazz.isAnnotationPresent(MESSAGE_DRIVEN)) {
            return MESSAGE_DRIVEN_BEAN;
  -      }
  -      else if ( clazz.isAnnotationPresent(Entity.class) )
  -      {
  +      } else if (clazz.isAnnotationPresent(Entity.class)) {
            return ENTITY_BEAN;
  +      } else {          
  +          EjbInfo info = deploymentInfo.getBeanByClass(clazz.getName());
  +          if (info != null) {
  +              return info.getBeanType();
         }
  -      else 
  -      {
  +          
            return JAVA_BEAN;
         }      
      }
  @@ -163,20 +162,34 @@
      
      public static String getEjbName(Class<?> clazz)
      {
  -      switch ( getComponentType(clazz) )
  -      {
  +       switch (getComponentType(clazz)) {
            case ENTITY_BEAN:
            case JAVA_BEAN:
               return null;
            case STATEFUL_SESSION_BEAN:
  -            String statefulName = name( clazz.getAnnotation(STATEFUL) );
  +               if (clazz.isAnnotationPresent(STATEFUL)) {
  +                   String statefulName = name(clazz.getAnnotation(STATEFUL));
               return statefulName.equals("") ? unqualifyClassName(clazz) : statefulName;
  +               } else {
  +                   EjbInfo info = deploymentInfo.getBeanByClass(clazz.getName()); 
  +                   return info.getName();                   
  +               }
            case STATELESS_SESSION_BEAN:
  -            String statelessName = name( clazz.getAnnotation(STATELESS) );
  +               if (clazz.isAnnotationPresent(STATELESS)) {
  +                   String statelessName = name(clazz.getAnnotation(STATELESS));
               return statelessName.equals("") ? unqualifyClassName(clazz) : statelessName;
  +               } else {
  +                   EjbInfo info = deploymentInfo.getBeanByClass(clazz.getName()); 
  +                   return info.getName();
  +               }
            case MESSAGE_DRIVEN_BEAN:
  -            String mdName = name( clazz.getAnnotation(MESSAGE_DRIVEN) );
  +               if (clazz.isAnnotationPresent(MESSAGE_DRIVEN)) {
  +                   String mdName = name(clazz.getAnnotation(MESSAGE_DRIVEN));
               return mdName.equals("") ? unqualifyClassName(clazz) : mdName;
  +               } else {
  +                   EjbInfo info = deploymentInfo.getBeanByClass(clazz.getName()); 
  +                   return info.getName();
  +               }
            default:
               throw new IllegalArgumentException();
         }
  @@ -256,6 +269,9 @@
         return (pkg != null ? pkg.getImplementationVersion() : null);      
      }
      
  +       
  +   
  +   
      public static void clearComponentNameCache()
      {
         COMPONENT_NAME_CACHE.clear();
  
  
  



More information about the jboss-cvs-commits mailing list