[jboss-cvs] JBossCache/src/org/jboss/cache/pojo/impl ...

Jason Thomas Greene jgreene at jboss.com
Wed Jul 18 11:21:02 EDT 2007


  User: jgreene 
  Date: 07/07/18 11:21:02

  Modified:    src/org/jboss/cache/pojo/impl   AdvisedPojoHandler.java
                        CachedType.java
  Log:
  Optomize enum fields by treating them like primitives
  
  Revision  Changes    Path
  1.9       +2 -30     JBossCache/src/org/jboss/cache/pojo/impl/AdvisedPojoHandler.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AdvisedPojoHandler.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/pojo/impl/AdvisedPojoHandler.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -b -r1.8 -r1.9
  --- AdvisedPojoHandler.java	21 Jun 2007 17:43:58 -0000	1.8
  +++ AdvisedPojoHandler.java	18 Jul 2007 15:21:02 -0000	1.9
  @@ -32,7 +32,7 @@
    *
    * @author Ben Wang
    *         Date: Aug 4, 2005
  - * @version $Id: AdvisedPojoHandler.java,v 1.8 2007/06/21 17:43:58 jgreene Exp $
  + * @version $Id: AdvisedPojoHandler.java,v 1.9 2007/07/18 15:21:02 jgreene Exp $
    */
   class AdvisedPojoHandler
   {
  @@ -61,17 +61,8 @@
         }
         catch (Exception e)
         {
  -         // Is this a case of no-default constructor, e.g., Enum? Let's try it.
  -         try
  -         {
  -            obj = loadFromOthers(fqn, clazz);
  -            if (obj == null) throw e;
  -         }
  -         catch (Exception e1)
  -         {
               throw new CacheException("failed creating instance of " + clazz.getName(), e);
            }
  -      }
         // Insert interceptor at runtime
         InstanceAdvisor advisor = ((Advised) obj)._getInstanceAdvisor();
         CacheFieldInterceptor interceptor = new CacheFieldInterceptor(pCache_, fqn, type);
  @@ -80,25 +71,6 @@
         return obj;
      }
   
  -   private Object loadFromOthers(Fqn fqn, Class clazz) throws Exception
  -   {
  -      // Try Enum first.
  -      if (clazz.isEnum())
  -      {
  -         String name = (String) pCache_.getCache().get(fqn, InternalConstant.ENUM_KEY);
  -         if (name == null)
  -         {
  -            throw new CacheException(
  -                  "AdvisedPojoHandler.loadFromOthers(): can't retrieve java.lang.Enum name field."
  -                  + " fqn: " + fqn);
  -         }
  -         Object obj = Enum.valueOf(clazz, name);
  -         return obj;
  -      }
  -
  -      return null;
  -   }
  -
      void put(Fqn fqn, Fqn referencingFqn, Object obj) throws CacheException
      {
         CachedType type = pCache_.getCachedType(obj.getClass());
  
  
  
  1.3       +2 -1      JBossCache/src/org/jboss/cache/pojo/impl/CachedType.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: CachedType.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/pojo/impl/CachedType.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- CachedType.java	18 Jul 2007 03:01:48 -0000	1.2
  +++ CachedType.java	18 Jul 2007 15:21:02 -0000	1.3
  @@ -86,7 +86,8 @@
   
      private static boolean isImmediate(Class clazz)
      {
  -      return immediates.contains(clazz);
  +	   // Treat enums as a simple type since they serialize to a simple string
  +      return immediates.contains(clazz) || Enum.class.isAssignableFrom(clazz);
      }
   
      public boolean isImmutable()
  
  
  



More information about the jboss-cvs-commits mailing list