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

Manik Surtani msurtani at jboss.com
Sat Dec 30 12:50:03 EST 2006


  User: msurtani
  Date: 06/12/30 12:50:03

  Modified:    src-50/org/jboss/cache/pojo/impl  PojoCacheDelegate.java
  Log:
  Major changes to restructure cache and node object model
  
  Revision  Changes    Path
  1.18      +62 -52    JBossCache/src-50/org/jboss/cache/pojo/impl/PojoCacheDelegate.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PojoCacheDelegate.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src-50/org/jboss/cache/pojo/impl/PojoCacheDelegate.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -b -r1.17 -r1.18
  --- PojoCacheDelegate.java	30 Dec 2006 02:53:07 -0000	1.17
  +++ PojoCacheDelegate.java	30 Dec 2006 17:50:03 -0000	1.18
  @@ -14,21 +14,20 @@
   import org.jboss.aop.advice.Interceptor;
   import org.jboss.aop.proxy.ClassProxy;
   import org.jboss.cache.CacheException;
  -import org.jboss.cache.Fqn;
   import org.jboss.cache.CacheSPI;
  +import org.jboss.cache.Fqn;
   import org.jboss.cache.Node;
  -import org.jboss.cache.Cache;
   import org.jboss.cache.config.Option;
  -import org.jboss.cache.pojo.interceptors.dynamic.AbstractCollectionInterceptor;
  -import org.jboss.cache.pojo.memory.FieldPersistentReference;
  -import org.jboss.cache.pojo.util.AopUtil;
  -import org.jboss.cache.pojo.interceptors.dynamic.BaseInterceptor;
  -import org.jboss.cache.pojo.observable.Observer;
  -import org.jboss.cache.pojo.PojoUtil;
   import org.jboss.cache.pojo.CachedType;
   import org.jboss.cache.pojo.PojoInstance;
   import org.jboss.cache.pojo.PojoReference;
  +import org.jboss.cache.pojo.PojoUtil;
   import org.jboss.cache.pojo.collection.CollectionInterceptorUtil;
  +import org.jboss.cache.pojo.interceptors.dynamic.AbstractCollectionInterceptor;
  +import org.jboss.cache.pojo.interceptors.dynamic.BaseInterceptor;
  +import org.jboss.cache.pojo.memory.FieldPersistentReference;
  +import org.jboss.cache.pojo.observable.Observer;
  +import org.jboss.cache.pojo.util.AopUtil;
   
   import java.lang.reflect.Field;
   import java.util.Collection;
  @@ -63,7 +62,7 @@
      public PojoCacheDelegate(PojoCacheImpl cache, Observer observer)
      {
         pCache_ = cache;
  -      cache_ = (CacheSPI)pCache_.getCache();
  +      cache_ = (CacheSPI) pCache_.getCache();
         internal_ = new InternalHelper(cache_);
         graphHandler_ = new ObjectGraphHandler(pCache_, internal_);
         collectionHandler_ = new CollectionClassHandler(pCache_, internal_);
  @@ -74,12 +73,12 @@
   
      public void setBulkRemove(boolean bulk)
      {
  -      bulkRemove_.set(Boolean.valueOf(bulk));
  +      bulkRemove_.set(bulk);
      }
   
      private boolean getBulkRemove()
      {
  -      return ((Boolean) bulkRemove_.get()).booleanValue();
  +      return bulkRemove_.get();
      }
   
      public Object getObject(Fqn fqn) throws CacheException
  @@ -131,7 +130,6 @@
   
      /**
       * Note that caller of this method will take care of synchronization within the <code>fqn</code> sub-tree.
  -    *
       */
      public Object putObjectII(Fqn fqn, Object obj) throws CacheException
      {
  @@ -168,18 +166,21 @@
            + internalFqn);
         }
   
  -      if( (obj instanceof Advised || obj instanceof ClassProxy) && isMultipleReferencedPut(obj))
  +      if ((obj instanceof Advised || obj instanceof ClassProxy) && isMultipleReferencedPut(obj))
         {
            // we pass in the originating fqn intentionaly
            graphHandler_.put(fqn, obj);
  -      } else if (obj instanceof Advised)
  +      }
  +      else if (obj instanceof Advised)
         {
            advisedHandler_.put(internalFqn, fqn, obj);
  -      } else if (isCollection(obj))
  +      }
  +      else if (isCollection(obj))
         {
            collectionHandler_.put(internalFqn, fqn, obj);
            //
  -      } else
  +      }
  +      else
         {
            // must be Serializable, including primitive types
            serializableHandler_.put(internalFqn, obj);
  @@ -191,8 +192,7 @@
      Fqn createInternalFqn(Fqn fqn, Object obj) throws CacheException
      {
         // Create an internal Fqn name
  -      Fqn internalFqn = AopUtil.createInternalFqn(fqn, (Cache)cache_);
  -      return internalFqn;
  +      return AopUtil.createInternalFqn(fqn, cache_);
      }
   
      Fqn setPojoReference(Fqn fqn, Object obj, Fqn internalFqn) throws CacheException
  @@ -216,12 +216,12 @@
      private void createChildNodeFirstWithoutLocking(Fqn internalFqn)
      {
         int size = internalFqn.size();
  -      Fqn f = internalFqn.getFqnChild(0, size-1);
  -      Fqn child = internalFqn.getFqnChild(size-1, size);
  +      Fqn f = internalFqn.getFqnChild(0, size - 1);
  +      Fqn child = internalFqn.getFqnChild(size - 1, size);
         Node base = cache_.getRoot().getChild(f);
  -      if(base == null)
  +      if (base == null)
         {
  -         log.debug("The node retrieved is null from fqn: " +f);
  +         log.debug("The node retrieved is null from fqn: " + f);
            return;
         }
         Option option = cache_.getInvocationContext().getOptionOverrides();
  @@ -240,7 +240,7 @@
      {
         // the class attribute is implicitly stored as an immutable read-only attribute
         PojoReference pojoReference = internal_.getPojoReference(fqn);
  -      if(pojoReference == null)
  +      if (pojoReference == null)
         {
            //  clazz and pojoReference can be not null if this node is the replicated brother node.
            if (log.isTraceEnabled())
  @@ -265,19 +265,22 @@
            return null;
         }
   
  -      if(graphHandler_.isMultipleReferenced(internalFqn))
  +      if (graphHandler_.isMultipleReferenced(internalFqn))
         {
            graphHandler_.remove(fqn, internalFqn, result);
  -      } else if (Advised.class.isAssignableFrom(clazz))
  +      }
  +      else if (Advised.class.isAssignableFrom(clazz))
         {
            advisedHandler_.remove(internalFqn, result, clazz);
            internal_.cleanUp(internalFqn);
  -      } else if (isCollectionGet(clazz))
  +      }
  +      else if (isCollectionGet(clazz))
         {
            // We need to return the original reference
            result = collectionHandler_.remove(internalFqn, result);
            internal_.cleanUp(internalFqn);
  -      } else
  +      }
  +      else
         { // Just Serializable objects. Do a brute force remove is ok.
            serializableHandler_.remove();
            internal_.cleanUp(internalFqn);
  @@ -312,7 +315,7 @@
      {
         // the class attribute is implicitly stored as an immutable read-only attribute
         PojoReference pojoReference = internal_.getPojoReference(fqn);
  -      if(pojoReference == null)
  +      if (pojoReference == null)
         {
            //  clazz and pojoReference can be not null if this node is the replicated brother node.
            return null;
  @@ -324,7 +327,7 @@
         if (log.isDebugEnabled())
         {
            log.debug("getObject(): id: " + fqn + " with a corresponding internal id: "
  -         +internalFqn);
  +                 + internalFqn);
         }
   
         /**
  @@ -344,10 +347,12 @@
         if (Advised.class.isAssignableFrom(clazz))
         {
            obj = advisedHandler_.get(internalFqn, clazz, pojoInstance);
  -      } else if(isCollectionGet(clazz))
  +      }
  +      else if (isCollectionGet(clazz))
         { // Must be Collection classes. We will use aop.ClassProxy instance instead.
            obj = collectionHandler_.get(internalFqn, clazz, pojoInstance);
  -      } else
  +      }
  +      else
         {
            // Maybe it is just a serialized object.
            obj = serializableHandler_.get(internalFqn, clazz, pojoInstance);
  @@ -359,7 +364,7 @@
   
      private boolean isCollectionGet(Class clazz)
      {
  -      if(Map.class.isAssignableFrom(clazz) || Collection.class.isAssignableFrom(clazz))
  +      if (Map.class.isAssignableFrom(clazz) || Collection.class.isAssignableFrom(clazz))
            return true;
   
         return false;
  @@ -369,7 +374,7 @@
      private boolean isMultipleReferencedPut(Object obj)
      {
         Interceptor interceptor = null;
  -      if(obj instanceof Advised)
  +      if (obj instanceof Advised)
         {
            InstanceAdvisor advisor = ((Advised) obj)._getInstanceAdvisor();
            if (advisor == null)
  @@ -377,27 +382,26 @@
   
            // Step Check for cross references
            interceptor = AopUtil.findCacheInterceptor(advisor);
  -      }else
  +      }
  +      else
         {
            interceptor = CollectionInterceptorUtil.getInterceptor((ClassProxy) obj);
         }
  -      if(interceptor == null) return false;
  +      if (interceptor == null) return false;
   
         Fqn originalFqn = null;
   
         // ah, found something. So this will be multiple referenced.
         originalFqn = ((BaseInterceptor) interceptor).getFqn();
   
  -      if (originalFqn != null) return true;
  +      return originalFqn != null;
   
  -      return false;
      }
   
      private boolean isCollection(Object obj)
      {
  -      if(obj instanceof Collection || obj instanceof Map) return true;
  +      return obj instanceof Collection || obj instanceof Map;
   
  -      return false;
      }
   
      /**
  @@ -413,9 +417,10 @@
         {
            undoInterceptorDetach(undoMap);
            return false;
  -      } else
  +      }
  +      else
         {
  -         cache_.remove(fqn); // interceptor has been removed so it is safe to do bulk remove now.
  +         cache_.removeNode(fqn); // interceptor has been removed so it is safe to do bulk remove now.
         }
         return true;
      }
  @@ -427,7 +432,8 @@
         {
            util_.detachInterceptor(advisor, interceptor, observer_);
            undoMap.put(advisor, interceptor);
  -      } else
  +      }
  +      else
         {
            undoMap.put(DETACH, interceptor);
         }
  @@ -450,7 +456,8 @@
               }
   
               advisor.appendInterceptor(interceptor);
  -         } else
  +         }
  +         else
            {
               BaseInterceptor interceptor = (BaseInterceptor) undoMap.get(obj);
               boolean copyToCache = false;
  @@ -539,7 +546,8 @@
            }
            boolean detachOnly = false;
            detachInterceptor(advisor, interceptor, detachOnly, undoMap);
  -      } else if (obj instanceof Map || obj instanceof List || obj instanceof Set)
  +      }
  +      else if (obj instanceof Map || obj instanceof List || obj instanceof Set)
         {
            // TODO Is this really necessary?
            if (!(obj instanceof ClassProxy)) return false;
  @@ -559,7 +567,8 @@
                  Object subObj = ((Map) obj).get(it.next());
                  if (pojoGraphMultipleReferenced(subObj, undoMap)) return true;
               }
  -         } else if (obj instanceof List || obj instanceof Set)
  +         }
  +         else if (obj instanceof List || obj instanceof Set)
            {
               for (Iterator it = ((Collection) obj).iterator(); it.hasNext();)
               {
  @@ -588,20 +597,21 @@
         Node root = cache_.getRoot();
         Node current = root.getChild(fqn);
   
  -      if(current == null) return;
  +      if (current == null) return;
   
         Collection<Node> col = current.getChildren();
  -      if(col == null) return;
  -      for(Node n : col)
  +      if (col == null) return;
  +      for (Node n : col)
         {
            Fqn newFqn = n.getFqn();
  -         if(InternalHelper.isInternalNode(newFqn)) continue; // skip
  +         if (InternalHelper.isInternalNode(newFqn)) continue; // skip
   
            Object pojo = getObject(newFqn);
            if (pojo != null)
            {
               map.put(newFqn, pojo);
  -         } else
  +         }
  +         else
            {
               findChildObjects(newFqn, map);
            }
  
  
  



More information about the jboss-cvs-commits mailing list