Author: peter_firmstone
Date: Wed Jun  5 22:12:42 2013
New Revision: 1490046

URL: http://svn.apache.org/r1490046
Log:
Minor fixes for synchronization and other minor tidy ups.

Modified:
    
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/ConsumingWatcher.java
    
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java
    
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OutriggerServerImpl.java
    
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/TxnMonitorTask.java
    river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/TypeTree.java

Modified: 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/ConsumingWatcher.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/ConsumingWatcher.java?rev=1490046&r1=1490045&r2=1490046&view=diff
==============================================================================
--- 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/ConsumingWatcher.java
 (original)
+++ 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/ConsumingWatcher.java
 Wed Jun  5 22:12:42 2013
@@ -17,9 +17,7 @@
  */
 package com.sun.jini.outrigger;
 
-import java.util.Map;
 import java.util.Set;
-import java.util.WeakHashMap;
 import net.jini.core.transaction.TransactionException;
 import net.jini.space.InternalSpaceException;
 

Modified: 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java?rev=1490046&r1=1490045&r2=1490046&view=diff
==============================================================================
--- 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java
 (original)
+++ 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OperationJournal.java
 Wed Jun  5 22:12:42 2013
@@ -17,8 +17,8 @@
  */
 package com.sun.jini.outrigger;
 
-import java.util.SortedSet;
 import java.util.Iterator;
+import java.util.SortedSet;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -209,31 +209,33 @@ class OperationJournal extends Thread {
             */
 
            // Skip if payload is not an EntryTransition
-           Object payload = current.payload;
-           while (true) {
-               if (current == end) {
-                   /* This is the last one...still need to return 
-                    * it's payload if applicable.
-                    */
-                   current = null;
-                   if (payload instanceof EntryTransition)     
-                       // Might be null, but that's ok
-                       return (EntryTransition)payload;
-                   
-                   return null;
-               }
-
-               current = current.getNext();        
-               assert current != null : "Iteration when off end";
-
-               if ((payload != null) && 
-                   (payload instanceof EntryTransition)) 
-               {
-                   return (EntryTransition)payload;
-               }                   
-
-               payload = current.payload;
-           }
+            synchronized (this){
+                Object payload = current.payload;
+                while (true) {
+                    if (current == end) {
+                        /* This is the last one...still need to return 
+                         * it's payload if applicable.
+                         */
+                        current = null;
+                        if (payload instanceof EntryTransition)        
+                            // Might be null, but that's ok
+                            return (EntryTransition)payload;
+
+                        return null;
+                    }
+
+                    current = current.getNext();           
+                    assert current != null : "Iteration when off end";
+
+                    if ((payload != null) && 
+                        (payload instanceof EntryTransition)) 
+                    {
+                        return (EntryTransition)payload;
+                    }              
+
+                    payload = current.payload;
+                }
+            }
        }       
 
        /**
@@ -248,25 +250,27 @@ class OperationJournal extends Thread {
         *         <code>watcherRegistered</code> has been called.
         */
        void watcherRegistered() {
-           if (end != null)
-               throw new IllegalStateException(
-                   "watcherRegistered() called more than once");
-
-           end = lastProcessed(current);
-
-           if (current == end) {
-               /* Noting has been processed since we were created.
-                * There are no elements in the iteration.
-                */
-               current = null;
-               return;
-           }
-
-           /* Skip the tail when we were created, we don't
-            * need to return it since it was in the journal before
-            * we were created.
-            */
-           current = current.getNext();
+            synchronized (this){
+                if (end != null)
+                    throw new IllegalStateException(
+                        "watcherRegistered() called more than once");
+            
+                end = lastProcessed(current);
+
+                if (current == end) {
+                    /* Noting has been processed since we were created.
+                     * There are no elements in the iteration.
+                     */
+                    current = null;
+                    return;
+                }
+
+                /* Skip the tail when we were created, we don't
+                 * need to return it since it was in the journal before
+                 * we were created.
+                 */
+                current = current.getNext();
+            }
        }
 
        /**
@@ -279,7 +283,7 @@ class OperationJournal extends Thread {
         * @throws IllegalStateException if 
         *         <code>watcherRegistered</code> has been called.
         */
-       long currentOrdinalAtCreation() {
+       synchronized long currentOrdinalAtCreation() {
            if (end != null)
                throw new IllegalStateException(
                    "watcherRegistered() has been called");
@@ -347,9 +351,7 @@ class OperationJournal extends Thread {
      * @param node The node to post.
      */
     private synchronized void post(JournalNode node) {
-        synchronized (tail){
-            tail.next = node;
-        }
+        tail.setNext(node);
         tail = node;
         notifyAll();
     }
@@ -399,9 +401,11 @@ class OperationJournal extends Thread {
     /**
      * Terminate queue processing.
      */
-    synchronized void terminate() {
+    void terminate() {
        dead = true;
-       notifyAll();
+        synchronized (this){
+            notifyAll();
+        }
     }
 
     /**
@@ -444,9 +448,8 @@ class OperationJournal extends Thread {
                        watchers.allMatches(t, ordinal);
                    final long now = System.currentTimeMillis();
 
-                   for (Iterator<TransitionWatcher> i=set.iterator(); 
i.hasNext() && !dead; ) {
-                       final TransitionWatcher watcher = 
-                           i.next();
+                   for (Iterator<TransitionWatcher> i = set.iterator(); 
i.hasNext() && !dead; ) {
+                       final TransitionWatcher watcher = i.next();
                        watcher.process(t, now);
                    }
                } else if (payload instanceof CaughtUpMarker) {

Modified: 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OutriggerServerImpl.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OutriggerServerImpl.java?rev=1490046&r1=1490045&r2=1490046&view=diff
==============================================================================
--- 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OutriggerServerImpl.java
 (original)
+++ 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OutriggerServerImpl.java
 Wed Jun  5 22:12:42 2013
@@ -94,7 +94,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.Stack;
-import java.util.WeakHashMap;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.logging.Level;

Modified: 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/TxnMonitorTask.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/TxnMonitorTask.java?rev=1490046&r1=1490045&r2=1490046&view=diff
==============================================================================
--- 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/TxnMonitorTask.java
 (original)
+++ 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/TxnMonitorTask.java
 Wed Jun  5 22:12:42 2013
@@ -249,9 +249,9 @@ class TxnMonitorTask extends RetryTask
        if (queries == null || queries.size() == 0)
            return;
        Collection<Txn> sibling = Collections.nCopies(1, txn);
-       Iterator it = queries.keySet().iterator();
+       Iterator<QueryWatcher> it = queries.keySet().iterator();
        while (it.hasNext()) {
-           QueryWatcher query = (QueryWatcher)it.next();
+           QueryWatcher query = it.next();
            if (query != null)  // from a weak map, so might be null
                monitor.add(query, sibling);
        }
@@ -333,7 +333,7 @@ class TxnMonitorTask extends RetryTask
 
                if (logger.isLoggable(Level.FINEST)) {
                    logger.log(Level.FINEST, "{0} foundNeed = {1}", 
-                              new Object[]{this, new Boolean(foundNeed)});
+                              new Object[]{this, Boolean.valueOf(foundNeed)});
                }
 
                if (!foundNeed)         // nobody wants it

Modified: 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/TypeTree.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/TypeTree.java?rev=1490046&r1=1490045&r2=1490046&view=diff
==============================================================================
--- river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/TypeTree.java 
(original)
+++ river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/TypeTree.java 
Wed Jun  5 22:12:42 2013
@@ -17,17 +17,12 @@
  */
 package com.sun.jini.outrigger;
 
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
 import java.util.NoSuchElementException;
 import java.util.Random;
 import java.util.Set;
-import java.util.Vector;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ConcurrentSkipListSet;


Reply via email to