[jboss-cvs] JBossCache/src/org/jboss/cache/interceptors ...

Manik Surtani msurtani at jboss.com
Wed Sep 13 06:38:23 EDT 2006


  User: msurtani
  Date: 06/09/13 06:38:23

  Modified:    src/org/jboss/cache/interceptors  Tag:
                        Branch_JBossCache_1_4_0
                        OptimisticNodeInterceptor.java
  Log:
  JBCACHE-767
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.21.2.2  +312 -295  JBossCache/src/org/jboss/cache/interceptors/OptimisticNodeInterceptor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: OptimisticNodeInterceptor.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/interceptors/OptimisticNodeInterceptor.java,v
  retrieving revision 1.21.2.1
  retrieving revision 1.21.2.2
  diff -u -b -r1.21.2.1 -r1.21.2.2
  --- OptimisticNodeInterceptor.java	9 Aug 2006 12:30:12 -0000	1.21.2.1
  +++ OptimisticNodeInterceptor.java	13 Sep 2006 10:38:22 -0000	1.21.2.2
  @@ -6,14 +6,20 @@
    */
   package org.jboss.cache.interceptors;
   
  -import org.jboss.cache.*;
  +import org.jboss.cache.CacheException;
  +import org.jboss.cache.DataNode;
  +import org.jboss.cache.Fqn;
  +import org.jboss.cache.GlobalTransaction;
  +import org.jboss.cache.InvocationContext;
  +import org.jboss.cache.TreeCache;
  +import org.jboss.cache.TreeNode;
   import org.jboss.cache.config.Option;
   import org.jboss.cache.factories.NodeFactory;
  -import org.jboss.cache.marshall.MethodDeclarations;
   import org.jboss.cache.marshall.JBCMethodCall;
  +import org.jboss.cache.marshall.MethodDeclarations;
  +import org.jboss.cache.optimistic.DataVersion;
   import org.jboss.cache.optimistic.TransactionWorkspace;
   import org.jboss.cache.optimistic.WorkspaceNode;
  -import org.jboss.cache.optimistic.DataVersion;
   import org.jgroups.blocks.MethodCall;
   
   import javax.transaction.Transaction;
  @@ -63,9 +69,19 @@
               // use explicit versioning
               if (ctx.getOptionOverrides() != null && ctx.getOptionOverrides().getDataVersion() != null)
               {
  -                workspace.setVersioningImplicit( false );
  +            workspace.setVersioningImplicit(false);
                   DataVersion version = ctx.getOptionOverrides().getDataVersion();
  -                workspaceNode.setVersion( version );
  +            // "fail-more-silently" patch thanks to Owen Taylor - JBCACHE-767
  +            if (workspaceNode != null)
  +            {
  +               workspaceNode.setVersion(version);
  +            }
  +            else
  +            {
  +               if (ctx.getOptionOverrides() == null || !ctx.getOptionOverrides().isFailSilently())
  +                  throw new CacheException("Unable to set node version for " + getFqn(args) + ", node is null.");
  +            }
  +
               }
   
               switch (m.getMethodId())
  @@ -106,7 +122,7 @@
           }
           else
           {
  -           switch(m.getMethodId()) 
  +         switch (m.getMethodId())
              {
                 case MethodDeclarations.getKeyValueMethodLocal_id:
                    result = getValueForKey(args, workspace);
  @@ -125,7 +141,8 @@
                     result = super.invoke(m);
                     break;
                 default:
  -                 if (log.isInfoEnabled()) log.info("read Method " + m + " called - don't know how to handle, passing on!");
  +               if (log.isInfoEnabled())
  +                  log.info("read Method " + m + " called - don't know how to handle, passing on!");
                    result = super.invoke(m);
                    break;
              }
  @@ -142,7 +159,7 @@
               TransactionWorkspace workspace, WorkspaceNode workspaceNode)
       {
   
  -        Map data = (Map)args[2];
  +      Map data = (Map) args[2];
           if (workspaceNode == null)
               return;
           workspaceNode.put(data, eraseExisitng);
  @@ -317,7 +334,7 @@
               DataNode node = cache.peek(fqn);
               if (node == null)
                   return null; // seems to happen quite a bit
  -            workspaceNode = NodeFactory.getInstance().createWorkspaceNode( node, workspace );
  +         workspaceNode = NodeFactory.getInstance().createWorkspaceNode(node, workspace);
           }
           // the node has been deleted dude!
           if (workspaceNode.isDeleted())
  
  
  



More information about the jboss-cvs-commits mailing list