[infinispan-commits] Infinispan SVN: r1148 - in trunk: cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary and 16 other directories.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Thu Nov 12 07:50:16 EST 2009


Author: manik.surtani at jboss.com
Date: 2009-11-12 07:50:15 -0500 (Thu, 12 Nov 2009)
New Revision: 1148

Added:
   trunk/core/src/main/java/org/infinispan/commands/RemoteCommandsFactory.java
Removed:
   trunk/core/src/main/java/org/infinispan/commands/RemoteCommandFactory.java
Modified:
   trunk/cachestore/bdbje/src/test/java/org/infinispan/loaders/bdbje/BdbjeCacheStoreIntegrationVamTest.java
   trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStore.java
   trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreVamTest.java
   trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreVamTest.java
   trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreVamTest2.java
   trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreVamTest.java
   trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreVamTest2.java
   trunk/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreVamTest.java
   trunk/cachestore/s3/src/test/java/org/infinispan/loaders/s3/S3CacheStoreIntegrationVamTest.java
   trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java
   trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java
   trunk/core/src/main/java/org/infinispan/commands/control/RehashControlCommand.java
   trunk/core/src/main/java/org/infinispan/commands/package-info.java
   trunk/core/src/main/java/org/infinispan/container/package-info.java
   trunk/core/src/main/java/org/infinispan/distribution/AbstractConsistentHash.java
   trunk/core/src/main/java/org/infinispan/distribution/DistributionManager.java
   trunk/core/src/main/java/org/infinispan/distribution/LeaveTask.java
   trunk/core/src/main/java/org/infinispan/distribution/TransactionLogger.java
   trunk/core/src/main/java/org/infinispan/distribution/TransactionLoggerImpl.java
   trunk/core/src/main/java/org/infinispan/factories/EmptyConstructorFactory.java
   trunk/core/src/main/java/org/infinispan/marshall/VersionAwareMarshaller.java
   trunk/core/src/main/java/org/infinispan/marshall/exts/ReplicableCommandExternalizer.java
   trunk/core/src/main/java/org/infinispan/marshall/jboss/ConstantObjectTable.java
   trunk/core/src/main/java/org/infinispan/marshall/jboss/JBossMarshaller.java
   trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreVamTest.java
   trunk/core/src/test/java/org/infinispan/marshall/VersionAwareMarshallerTest.java
   trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallerTest.java
Log:
Better javadocs and class naming

Modified: trunk/cachestore/bdbje/src/test/java/org/infinispan/loaders/bdbje/BdbjeCacheStoreIntegrationVamTest.java
===================================================================
--- trunk/cachestore/bdbje/src/test/java/org/infinispan/loaders/bdbje/BdbjeCacheStoreIntegrationVamTest.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/cachestore/bdbje/src/test/java/org/infinispan/loaders/bdbje/BdbjeCacheStoreIntegrationVamTest.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.loaders.bdbje;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.VersionAwareMarshaller;
 import org.testng.annotations.Test;
@@ -37,7 +37,7 @@
    @Override
    protected Marshaller getMarshaller() {
       VersionAwareMarshaller marshaller = new VersionAwareMarshaller();
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
       return marshaller;
    }

Modified: trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStore.java
===================================================================
--- trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStore.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStore.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -46,7 +46,6 @@
 
    private static final Log log = LogFactory.getLog(JdbcBinaryCacheStore.class);
 
-   // TODO shouldn't we move this delimiter to a superclass, if it is the same and needs to be shared between this class and JdbcStringBasedCacheStore ?
    private final static byte BINARY_STREAM_DELIMITER = 100;
 
    private JdbcBinaryCacheStoreConfig config;

Modified: trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreVamTest.java
===================================================================
--- trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreVamTest.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreVamTest.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.loaders.jdbc.binary;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.VersionAwareMarshaller;
 import org.testng.annotations.Test;
@@ -37,7 +37,7 @@
    @Override
    protected Marshaller getMarshaller() {
       VersionAwareMarshaller marshaller = new VersionAwareMarshaller();
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
       return marshaller;
    }

Modified: trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreVamTest.java
===================================================================
--- trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreVamTest.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreVamTest.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.loaders.jdbc.mixed;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.VersionAwareMarshaller;
 import org.testng.annotations.Test;
@@ -37,7 +37,7 @@
    @Override
    protected Marshaller getMarshaller() {
       VersionAwareMarshaller marshaller = new VersionAwareMarshaller();
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
       return marshaller;
    }

Modified: trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreVamTest2.java
===================================================================
--- trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreVamTest2.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreVamTest2.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.loaders.jdbc.mixed;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.VersionAwareMarshaller;
 import org.testng.annotations.Test;
@@ -37,7 +37,7 @@
    @Override
    protected Marshaller getMarshaller() {
       VersionAwareMarshaller marshaller = new VersionAwareMarshaller();
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
       return marshaller;
    }

Modified: trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreVamTest.java
===================================================================
--- trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreVamTest.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreVamTest.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.loaders.jdbc.stringbased;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.VersionAwareMarshaller;
 import org.testng.annotations.Test;
@@ -37,7 +37,7 @@
    @Override
    protected Marshaller getMarshaller() {
       VersionAwareMarshaller marshaller = new VersionAwareMarshaller();
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
       return marshaller;
    }

Modified: trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreVamTest2.java
===================================================================
--- trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreVamTest2.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/cachestore/jdbc/src/test/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreVamTest2.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.loaders.jdbc.stringbased;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.VersionAwareMarshaller;
 import org.testng.annotations.Test;
@@ -37,7 +37,7 @@
    @Override
    protected Marshaller getMarshaller() {
       VersionAwareMarshaller marshaller = new VersionAwareMarshaller();
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
       return marshaller;
    }

Modified: trunk/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreVamTest.java
===================================================================
--- trunk/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreVamTest.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/cachestore/jdbm/src/test/java/org/infinispan/loaders/jdbm/JdbmCacheStoreVamTest.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.loaders.jdbm;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.VersionAwareMarshaller;
 import org.testng.annotations.Test;
@@ -37,7 +37,7 @@
    @Override
    protected Marshaller getMarshaller() {
       VersionAwareMarshaller marshaller = new VersionAwareMarshaller();
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
       return marshaller;
    }

Modified: trunk/cachestore/s3/src/test/java/org/infinispan/loaders/s3/S3CacheStoreIntegrationVamTest.java
===================================================================
--- trunk/cachestore/s3/src/test/java/org/infinispan/loaders/s3/S3CacheStoreIntegrationVamTest.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/cachestore/s3/src/test/java/org/infinispan/loaders/s3/S3CacheStoreIntegrationVamTest.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.loaders.s3;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.VersionAwareMarshaller;
 import org.testng.annotations.Test;
@@ -37,7 +37,7 @@
    @Override
    protected Marshaller getMarshaller() {
       VersionAwareMarshaller marshaller = new VersionAwareMarshaller();
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
       return marshaller;
    }

Modified: trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -55,6 +55,11 @@
 import java.util.Map;
 
 /**
+ * A factory to build commands, initializing and injecting dependencies accordingly.  Commands built for a specific,
+ * named cache instance cannot be reused on a different cache instance since most commands contain the cache name it
+ * was built for along with references to other named-cache scoped components.
+ *
+ * @author Manik Surtani
  * @author Mircea.Markus at jboss.com
  * @author Galder Zamarreño
  * @since 4.0
@@ -62,36 +67,123 @@
 @Scope(Scopes.NAMED_CACHE)
 public interface CommandsFactory {
 
+   /**
+    * Builds a PutKeyValueCommand
+    * @param key key to put
+    * @param value value to put
+    * @param lifespanMillis lifespan in milliseconds.  -1 if lifespan is not used.
+    * @param maxIdleTimeMillis max idle time in milliseconds.  -1 if maxIdle is not used.
+    * @return a PutKeyValueCommand
+    */
    PutKeyValueCommand buildPutKeyValueCommand(Object key, Object value, long lifespanMillis, long maxIdleTimeMillis);
 
+   /**
+    * Builds a RemoveCommand
+    * @param key key to remove
+    * @param value value to check for ina  conditional remove, or null for an unconditional remove.
+    * @return a RemoveCommand
+    */
    RemoveCommand buildRemoveCommand(Object key, Object value);
 
+   /**
+    * Builds an InvalidateCommand
+    * @param keys keys to invalidate
+    * @return an InvalidateCommand
+    */
    InvalidateCommand buildInvalidateCommand(Object... keys);
 
+   /**
+    * Builds an InvalidateFromL1Command
+    * @param keys keys to invalidate
+    * @return an InvalidateFromL1Command
+    */
    InvalidateCommand buildInvalidateFromL1Command(Object... keys);
 
+   /**
+    * Builds a ReplaceCommand
+    * @param key key to replace
+    * @param oldValue existing value to check for if conditional, null if unconditional.
+    * @param newValue value to replace with
+    * @param lifespanMillis lifespan in milliseconds.  -1 if lifespan is not used.
+    * @param maxIdleTimeMillis max idle time in milliseconds.  -1 if maxIdle is not used.
+    * @return a ReplaceCommand
+    */
    ReplaceCommand buildReplaceCommand(Object key, Object oldValue, Object newValue, long lifespanMillis, long maxIdleTimeMillis);
 
+   /**
+    * Builds a SizeCommand
+    * @return a SizeCommand
+    */
    SizeCommand buildSizeCommand();
 
+   /**
+    * Builds a GetKeyValueCommand
+    * @param key key to get
+    * @return a GetKeyValueCommand
+    */
    GetKeyValueCommand buildGetKeyValueCommand(Object key);
 
+   /**
+    * Builds a KeySetCommand
+    * @return a KeySetCommand
+    */
    KeySetCommand buildKeySetCommand();
 
+   /**
+    * Builds a ValuesCommand
+    * @return a ValuesCommand
+    */
    ValuesCommand buildValuesCommand();
 
+   /**
+    * Builds a EntrySetCommand
+    * @return a EntrySetCommand
+    */
    EntrySetCommand buildEntrySetCommand();
 
+   /**
+    * Builds a PutMapCommand
+    * @param map map containing key/value entries to put
+    * @param lifespanMillis lifespan in milliseconds.  -1 if lifespan is not used.
+    * @param maxIdleTimeMillis max idle time in milliseconds.  -1 if maxIdle is not used.
+    * @return a PutMapCommand
+    */
    PutMapCommand buildPutMapCommand(Map map, long lifespanMillis, long maxIdleTimeMillis);
 
+   /**
+    * Builds a ClearCommand
+    * @return a ClearCommand
+    */
    ClearCommand buildClearCommand();
 
+   /**
+    * Builds an EvictCommand
+    * @param key key to evict
+    * @return an EvictCommand
+    */
    EvictCommand buildEvictCommand(Object key);
 
+   /**
+    * Builds a PrepareCommand
+    * @param gtx global transaction associated with the prepare
+    * @param modifications list of modifications
+    * @param onePhaseCommit is this a one-phase or two-phase transaction?
+    * @return a PrepareCommand
+    */
    PrepareCommand buildPrepareCommand(GlobalTransaction gtx, List<WriteCommand> modifications, boolean onePhaseCommit);
 
+   /**
+    * Builds a CommitCommand
+    * @param gtx global transaction associated with the commit
+    * @return a CommitCommand
+    */
    CommitCommand buildCommitCommand(GlobalTransaction gtx);
 
+   /**
+    * Builds a RollbackCommand
+    * @param gtx global transaction associated with the rollback
+    * @return a RollbackCommand
+    */
    RollbackCommand buildRollbackCommand(GlobalTransaction gtx);
 
    /**
@@ -106,23 +198,94 @@
     */
    void initializeReplicableCommand(ReplicableCommand command);
 
+   /**
+    * Builds an RpcCommand "envelope" containing multiple ReplicableCommands
+    * @param toReplicate ReplicableCommands to include in the envelope
+    * @return a MultipleRpcCommand
+    */
    MultipleRpcCommand buildReplicateCommand(List<ReplicableCommand> toReplicate);
 
+   /**
+    * Builds a SingleRpcCommand "envelope" containing a single ReplicableCommand
+    * @param call ReplicableCommand to include in the envelope
+    * @return a SingleRpcCommand
+    */
    SingleRpcCommand buildSingleRpcCommand(ReplicableCommand call);
 
+   /**
+    * Builds a StateTransferControlCommand
+    * @param block whether to start blocking or not
+    * @return a StateTransferControlCommand
+    */
    StateTransferControlCommand buildStateTransferControlCommand(boolean block);
 
+   /**
+    * Builds a ClusteredGetCommand, which is a remote lookup command
+    * @param key key to look up
+    * @return a ClusteredGetCommand
+    */
    ClusteredGetCommand buildClusteredGetCommand(Object key);
 
+   /**
+    * Builds a LockControlCommand to control exilicit remote locking
+    * @param keys keys to lock
+    * @param implicit whether the lock command was implicit (triggered internally) or explicit (triggered by an API call)
+    * @return a LockControlCommand
+    */
    LockControlCommand buildLockControlCommand(Collection keys, boolean implicit);
 
+   /**
+    * Builds a RehashControlCommand for coordinating a rehash event.  This version of this factory method creates a simple
+    * control command with just a command type and sender.
+    * @param subtype type of RehashControlCommand
+    * @param sender sender's Address
+    * @return a RehashControlCommand
+    */
    RehashControlCommand buildRehashControlCommand(RehashControlCommand.Type subtype, Address sender);
 
-   RehashControlCommand buildRehashControlCommand(RehashControlCommand.Type subtype, Address sender, Map<Object, InternalCacheValue> state);
+   /**
+    * Builds a RehashControlCommand for coordinating a rehash event.  This version of this factory method creates a
+    * control command with a sender and a payload - a map of state to be pushed to the recipient.  The {@link org.infinispan.commands.control.RehashControlCommand.Type}
+    * of this command is {@link org.infinispan.commands.control.RehashControlCommand.Type#PUSH_STATE}.
+    *
+    * @param sender sender's Address
+    * @param state state map to be pushed to the recipient of this command
+    * @return a RehashControlCommand
+    */
+   RehashControlCommand buildRehashControlCommand(Address sender, Map<Object, InternalCacheValue> state);
 
+   /**
+    * Builds a RehashControlCommand for coordinating a rehash event.  This version of this factory method creates a
+    * control command with a sender and a payload - a transaction log of writes that occured during the generation and
+    * delivery of state.  The {@link org.infinispan.commands.control.RehashControlCommand.Type}
+    * of this command is {@link org.infinispan.commands.control.RehashControlCommand.Type#DRAIN_TX}.
+    *
+    * @param sender sender's Address
+    * @param state list of writes
+    * @return a RehashControlCommand
+    */
    RehashControlCommand buildRehashControlCommandTxLog(Address sender, List<WriteCommand> state);
 
+   /**
+    * Builds a RehashControlCommand for coordinating a rehash event.  This version of this factory method creates a
+    * control command with a sender and a payload - a transaction log of pending prepares that occured during the generation
+    * and delivery of state.  The {@link org.infinispan.commands.control.RehashControlCommand.Type}
+    * of this command is {@link org.infinispan.commands.control.RehashControlCommand.Type#DRAIN_TX_PREPARES}.
+    *
+    * @param sender sender's Address
+    * @param state list of pending prepares
+    * @return a RehashControlCommand
+    */
    RehashControlCommand buildRehashControlCommandTxLogPendingPrepares(Address sender, List<PrepareCommand> state);
 
+   /**
+    * A more generic version of this factory method that allows the setting of various fields.
+    *
+    * @param subtype type of RehashControlCommand
+    * @param sender sender's Address
+    * @param state state to push
+    * @param consistentHash consistent hash to deliver
+    * @return a RehashControlCommand
+    */
    RehashControlCommand buildRehashControlCommand(RehashControlCommand.Type subtype, Address sender, Map<Object, InternalCacheValue> state, ConsistentHash consistentHash);
 }

Modified: trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -27,6 +27,7 @@
 import org.infinispan.commands.control.StateTransferControlCommand;
 import static org.infinispan.commands.control.RehashControlCommand.Type.DRAIN_TX_PREPARES;
 import static org.infinispan.commands.control.RehashControlCommand.Type.DRAIN_TX;
+import static org.infinispan.commands.control.RehashControlCommand.Type.PUSH_STATE;
 import org.infinispan.commands.read.EntrySetCommand;
 import org.infinispan.commands.read.GetKeyValueCommand;
 import org.infinispan.commands.read.KeySetCommand;
@@ -293,8 +294,8 @@
       return buildRehashControlCommand(type, sender, null, null);
    }
 
-   public RehashControlCommand buildRehashControlCommand(RehashControlCommand.Type type, Address sender, Map<Object, InternalCacheValue> state) {
-      return buildRehashControlCommand(type, sender, state, null);
+   public RehashControlCommand buildRehashControlCommand(Address sender, Map<Object, InternalCacheValue> state) {
+      return buildRehashControlCommand(PUSH_STATE, sender, state, null);
    }
 
    public RehashControlCommand buildRehashControlCommandTxLog(Address sender, List<WriteCommand> commands) {

Deleted: trunk/core/src/main/java/org/infinispan/commands/RemoteCommandFactory.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/RemoteCommandFactory.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/commands/RemoteCommandFactory.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -1,113 +0,0 @@
-package org.infinispan.commands;
-
-import org.infinispan.CacheException;
-import org.infinispan.commands.control.LockControlCommand;
-import org.infinispan.commands.control.RehashControlCommand;
-import org.infinispan.commands.control.StateTransferControlCommand;
-import org.infinispan.commands.read.GetKeyValueCommand;
-import org.infinispan.commands.remote.ClusteredGetCommand;
-import org.infinispan.commands.remote.MultipleRpcCommand;
-import org.infinispan.commands.remote.SingleRpcCommand;
-import org.infinispan.commands.tx.CommitCommand;
-import org.infinispan.commands.tx.PrepareCommand;
-import org.infinispan.commands.tx.RollbackCommand;
-import org.infinispan.commands.write.ClearCommand;
-import org.infinispan.commands.write.InvalidateCommand;
-import org.infinispan.commands.write.InvalidateL1Command;
-import org.infinispan.commands.write.PutKeyValueCommand;
-import org.infinispan.commands.write.PutMapCommand;
-import org.infinispan.commands.write.RemoveCommand;
-import org.infinispan.commands.write.ReplaceCommand;
-import org.infinispan.factories.annotations.Inject;
-import org.infinispan.factories.scopes.Scope;
-import org.infinispan.factories.scopes.Scopes;
-import org.infinispan.remoting.transport.Transport;
-
-/**
- * Specifically used to create un-initialized {@link org.infinispan.commands.ReplicableCommand}s from a byte stream.
- *
- * @author Manik Surtani
- * @since 4.0
- */
- at Scope(Scopes.GLOBAL)
-public class RemoteCommandFactory {
-   Transport transport;
-
-   @Inject
-   public void inject(Transport transport) {
-      this.transport = transport;
-   }
-
-   /**
-    * Creates an un-initialized command.  Un-initialized in the sense that parameters will be set, but any components
-    * specific to the cache in question will not be set.
-    * <p/>
-    * You would typically set these parameters using {@link org.infinispan.commands.CommandsFactory#initializeReplicableCommand(ReplicableCommand)}
-    * <p/>
-    *
-    * @param id         id of the command
-    * @param parameters parameters to set
-    * @return a replicable command
-    */
-   public ReplicableCommand fromStream(byte id, Object[] parameters) {
-      ReplicableCommand command;
-      switch (id) {
-         case PutKeyValueCommand.COMMAND_ID:
-            command = new PutKeyValueCommand();
-            break;
-         case LockControlCommand.COMMAND_ID:
-            command = new LockControlCommand();
-            break;
-         case PutMapCommand.COMMAND_ID:
-            command = new PutMapCommand();
-            break;
-         case RemoveCommand.COMMAND_ID:
-            command = new RemoveCommand();
-            break;
-         case ReplaceCommand.COMMAND_ID:
-            command = new ReplaceCommand();
-            break;
-         case GetKeyValueCommand.COMMAND_ID:
-            command = new GetKeyValueCommand();
-            break;
-         case ClearCommand.COMMAND_ID:
-            command = new ClearCommand();
-            break;
-         case PrepareCommand.COMMAND_ID:
-            command = new PrepareCommand();
-            break;
-         case CommitCommand.COMMAND_ID:
-            command = new CommitCommand();
-            break;
-         case RollbackCommand.COMMAND_ID:
-            command = new RollbackCommand();
-            break;
-         case MultipleRpcCommand.COMMAND_ID:
-            command = new MultipleRpcCommand();
-            break;
-         case SingleRpcCommand.COMMAND_ID:
-            command = new SingleRpcCommand();
-            break;
-         case InvalidateCommand.COMMAND_ID:
-            command = new InvalidateCommand();
-            break;
-         case InvalidateL1Command.COMMAND_ID:
-            command = new InvalidateL1Command();
-            break;
-         case StateTransferControlCommand.COMMAND_ID:
-            command = new StateTransferControlCommand();
-            ((StateTransferControlCommand) command).init(transport);
-            break;
-         case ClusteredGetCommand.COMMAND_ID:
-            command = new ClusteredGetCommand();
-            break;
-         case RehashControlCommand.COMMAND_ID:
-            command = new RehashControlCommand(transport);
-            break;
-         default:
-            throw new CacheException("Unknown command id " + id + "!");
-      }
-      command.setParameters(id, parameters);
-      return command;
-   }
-}

Copied: trunk/core/src/main/java/org/infinispan/commands/RemoteCommandsFactory.java (from rev 1146, trunk/core/src/main/java/org/infinispan/commands/RemoteCommandFactory.java)
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/RemoteCommandsFactory.java	                        (rev 0)
+++ trunk/core/src/main/java/org/infinispan/commands/RemoteCommandsFactory.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -0,0 +1,119 @@
+package org.infinispan.commands;
+
+import org.infinispan.CacheException;
+import org.infinispan.commands.control.LockControlCommand;
+import org.infinispan.commands.control.RehashControlCommand;
+import org.infinispan.commands.control.StateTransferControlCommand;
+import org.infinispan.commands.read.GetKeyValueCommand;
+import org.infinispan.commands.remote.ClusteredGetCommand;
+import org.infinispan.commands.remote.MultipleRpcCommand;
+import org.infinispan.commands.remote.SingleRpcCommand;
+import org.infinispan.commands.tx.CommitCommand;
+import org.infinispan.commands.tx.PrepareCommand;
+import org.infinispan.commands.tx.RollbackCommand;
+import org.infinispan.commands.write.ClearCommand;
+import org.infinispan.commands.write.InvalidateCommand;
+import org.infinispan.commands.write.InvalidateL1Command;
+import org.infinispan.commands.write.PutKeyValueCommand;
+import org.infinispan.commands.write.PutMapCommand;
+import org.infinispan.commands.write.RemoveCommand;
+import org.infinispan.commands.write.ReplaceCommand;
+import org.infinispan.factories.annotations.Inject;
+import org.infinispan.factories.scopes.Scope;
+import org.infinispan.factories.scopes.Scopes;
+import org.infinispan.remoting.transport.Transport;
+
+/**
+ * Specifically used to create un-initialized {@link org.infinispan.commands.ReplicableCommand}s from a byte stream.
+ * This is a {@link Scopes#GLOBAL} component and doesn't have knowledge of initializing a command by injecting
+ * cache-specific components into it.
+ * <p />
+ * Usually a second step to unmarshalling a command from a byte stream (after
+ * creating an un-initialized version using this factory) is to pass the command though {@link org.infinispan.commands.CommandsFactory#initializeReplicableCommand(ReplicableCommand)}.
+ *
+ * @see org.infinispan.commands.CommandsFactory#initializeReplicableCommand(ReplicableCommand)
+ * @author Manik Surtani
+ * @since 4.0
+ */
+ at Scope(Scopes.GLOBAL)
+public class RemoteCommandsFactory {
+   Transport transport;
+
+   @Inject
+   public void inject(Transport transport) {
+      this.transport = transport;
+   }
+
+   /**
+    * Creates an un-initialized command.  Un-initialized in the sense that parameters will be set, but any components
+    * specific to the cache in question will not be set.
+    * <p/>
+    * You would typically set these parameters using {@link org.infinispan.commands.CommandsFactory#initializeReplicableCommand(ReplicableCommand)}
+    * <p/>
+    *
+    * @param id         id of the command
+    * @param parameters parameters to set
+    * @return a replicable command
+    */
+   public ReplicableCommand fromStream(byte id, Object[] parameters) {
+      ReplicableCommand command;
+      switch (id) {
+         case PutKeyValueCommand.COMMAND_ID:
+            command = new PutKeyValueCommand();
+            break;
+         case LockControlCommand.COMMAND_ID:
+            command = new LockControlCommand();
+            break;
+         case PutMapCommand.COMMAND_ID:
+            command = new PutMapCommand();
+            break;
+         case RemoveCommand.COMMAND_ID:
+            command = new RemoveCommand();
+            break;
+         case ReplaceCommand.COMMAND_ID:
+            command = new ReplaceCommand();
+            break;
+         case GetKeyValueCommand.COMMAND_ID:
+            command = new GetKeyValueCommand();
+            break;
+         case ClearCommand.COMMAND_ID:
+            command = new ClearCommand();
+            break;
+         case PrepareCommand.COMMAND_ID:
+            command = new PrepareCommand();
+            break;
+         case CommitCommand.COMMAND_ID:
+            command = new CommitCommand();
+            break;
+         case RollbackCommand.COMMAND_ID:
+            command = new RollbackCommand();
+            break;
+         case MultipleRpcCommand.COMMAND_ID:
+            command = new MultipleRpcCommand();
+            break;
+         case SingleRpcCommand.COMMAND_ID:
+            command = new SingleRpcCommand();
+            break;
+         case InvalidateCommand.COMMAND_ID:
+            command = new InvalidateCommand();
+            break;
+         case InvalidateL1Command.COMMAND_ID:
+            command = new InvalidateL1Command();
+            break;
+         case StateTransferControlCommand.COMMAND_ID:
+            command = new StateTransferControlCommand();
+            ((StateTransferControlCommand) command).init(transport);
+            break;
+         case ClusteredGetCommand.COMMAND_ID:
+            command = new ClusteredGetCommand();
+            break;
+         case RehashControlCommand.COMMAND_ID:
+            command = new RehashControlCommand(transport);
+            break;
+         default:
+            throw new CacheException("Unknown command id " + id + "!");
+      }
+      command.setParameters(id, parameters);
+      return command;
+   }
+}


Property changes on: trunk/core/src/main/java/org/infinispan/commands/RemoteCommandsFactory.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: trunk/core/src/main/java/org/infinispan/commands/control/RehashControlCommand.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/control/RehashControlCommand.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/commands/control/RehashControlCommand.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -28,7 +28,10 @@
 
 /**
  * A control command to coordinate rehashes that may occur when nodes join or leave a cluster, when DIST is used as a
- * cache mode.
+ * cache mode.  This complex command coordinates the various phases of a rehash event when a joiner joins or a leaver
+ * leaves a cluster running in "distribution" mode.
+ * <p />
+ * It may break up into several commands in future.
  *
  * @author Manik Surtani
  * @since 4.0

Modified: trunk/core/src/main/java/org/infinispan/commands/package-info.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/package-info.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/commands/package-info.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -1,4 +1,17 @@
 /**
- * Commands that operate on the cache, either locally or remotely.
+ * Commands that operate on the cache, either locally or remotely.  This package contains the entire command object
+ * model including interfaces and abstract classes.  Your starting point is probably {@link ReplicableCommand}, which
+ * represents a command that can be used in RPC calls.
+ * <p />
+ * A sub-interface, {@link VisitableCommand}, represents commands that can be visited using the <a href="http://en.wikipedia.org/wiki/Visitor_pattern">visitor pattern</a>.
+ * Most commands that relate to public {@link Cache} API methods tend to be {@link VisitableCommand}s, and hence the
+ * importance of this interface.
+ * <p />
+ * The {@link Visitor} interface is capable of visiting {@link VisitableCommand}s, and a useful abstract implementation
+ * of {@link Visitor} is {@link org.infinispan.interceptors.base.CommandInterceptor}, which allows you to create
+ * interceptors that intercept command invocations adding aspects of behavior to a given invocation.
+ *
+ * @author Manik Surtani
+ * @since 4.0
  */
 package org.infinispan.commands;
\ No newline at end of file

Modified: trunk/core/src/main/java/org/infinispan/container/package-info.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/container/package-info.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/container/package-info.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -2,5 +2,8 @@
  * Data containers which store cache entries.  This package contains different implementations of
  * containers based on their performance and ordering characteristics, as well as the entries
  * that live in the containers.
+ * <p />
+ * This package also contains the factory for creating entries, and is typically used by the {@link LockingInterceptor}
+ * to wrap an entry and put it in a thread's {@link InvocationContext}
  */
 package org.infinispan.container;
\ No newline at end of file

Modified: trunk/core/src/main/java/org/infinispan/distribution/AbstractConsistentHash.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/distribution/AbstractConsistentHash.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/distribution/AbstractConsistentHash.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -8,8 +8,13 @@
 import java.util.Map;
 
 /**
- * An abstract consistent hash implementation that handles common implementations of certain methods.
- *
+ * An abstract consistent hash implementation that handles common implementations of certain methods.  In particular,
+ * default implementations of {@link #locateAll(java.util.Collection, int)} and {@link #isKeyLocalToAddress(org.infinispan.remoting.transport.Address, Object, int)}.
+ * <p />
+ * The versions provided here are relatively inefficient in that they call {@link #locate(Object, int)} first (and
+ * sometimes in a loop).  Depending on the algorithm used, there may be more efficient ways to achieve the same results
+ * and in such cases the methods provided here should be overridden.
+ * <p />
  * @author Manik Surtani
  * @since 4.0
  */

Modified: trunk/core/src/main/java/org/infinispan/distribution/DistributionManager.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/distribution/DistributionManager.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/distribution/DistributionManager.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -46,32 +46,52 @@
    Map<Object, List<Address>> locateAll(Collection<Object> keys);
 
    /**
-    * Transforms a cache entry so it is marked for L1 rather than the primary cache data structure.
+    * Transforms a cache entry so it is marked for L1 rather than the primary cache data structure.  This should be done
+    * if it is deemed that the entry is targeted for L1 storage rather than storage in the primary data container.
     *
     * @param entry entry to transform
     */
    void transformForL1(CacheEntry entry);
 
    /**
-    * Retrieves a cache entry from a remote source
+    * Retrieves a cache entry from a remote source.  Would typically involve an RPC call using a {@link org.infinispan.commands.remote.ClusteredGetCommand}
+    * and some form of quorum of responses if the responses returned are inconsistent - often the case if there is a
+    * rehash in progress, involving nodes that the key maps to.
     *
     * @param key key to look up
     * @return an internal cache entry, or null if it cannot be located
+    * @throws Exception if something bad happens 
     */
    InternalCacheEntry retrieveFromRemoteSource(Object key) throws Exception;
 
+   /**
+    * Retrieves the consistent hash instance currently in use, which may be an instance of the configured ConsistentHash
+    * instance (which defaults to {@link org.infinispan.distribution.DefaultConsistentHash}, or an instance of
+    * {@link org.infinispan.distribution.UnionConsistentHash} if a rehash is in progress.
+    *
+    * @return a ConsistentHash instance
+    */
    ConsistentHash getConsistentHash();
 
+   /**
+    * Sets the consistent hash implementation in use.
+    * @param consistentHash consistent hash to set to
+    */
    void setConsistentHash(ConsistentHash consistentHash);
 
    /**
-    * Tests whether a given key is affected by a rehash that may be in progress.
+    * Tests whether a given key is affected by a rehash that may be in progress.  If no rehash is in progress, this method
+    * returns false.  Helps determine whether additional steps are necessary in handling an operation with a given key.
     *
     * @param key key to test
     * @return whether a key is affected by a rehash
     */
    boolean isAffectedByRehash(Object key);
 
+   /**
+    * Retrieves the transaction logger instance associated with this DistributionManager
+    * @return a TransactionLogger
+    */
    TransactionLogger getTransactionLogger();
 
    /**
@@ -91,10 +111,11 @@
    void notifyJoinComplete(Address joiner);
 
    /**
-    * This will cause all nodes to add the joiner to their UnionCH
+    * This will cause all nodes to add the joiner to their consistent hash instance (usually by creating a {@link org.infinispan.distribution.UnionConsistentHash}
     *
-    * @param joiner
-    * @param starting
+    * @param joiner address of joiner
+    * @param starting if true, the joiner is reporting that it is starting the join process.  If false, the joiner is
+    * reporting that it has completed the join process.
     */
    void informRehashOnJoin(Address joiner, boolean starting);
 
@@ -105,14 +126,38 @@
     */
    CacheStore getCacheStoreForRehashing();
 
+   /**
+    * Tests whether a rehash is in progress
+    * @return true if a rehash is in progress, false otherwise
+    */
    boolean isRehashInProgress();
 
+   /**
+    * Tests whether the current instance has completed joining the cluster
+    * @return true if join is in progress, false otherwise
+    */
    boolean isJoinComplete();
 
+   /**
+    * Applies a state map received via a RehashControlCommand.  Usually this means state has been pushed to the
+    * current node probably due to another node leaving the cluster.
+    * @param state state to apply
+    */
    void applyReceivedState(Map<Object, InternalCacheValue> state);
-   
+
+   /**
+    * A helper method that retrieves a list of nodes affected by operations on a set of keys.  This helper will in turn
+    * call {@link #locateAll(java.util.Collection)} and then combine the result addresses.
+    * @param affectedKeys keys to locate
+    * @return a list of addresses which represent a combined set of all addresses affected by the set of keys.
+    */
    List<Address> getAffectedNodes(Set<Object> affectedKeys);
 
-   void applyRemoteTxLog(List<WriteCommand> txLogCommands);
+   /**
+    * Applies an ordered list of modifications to the current node.  Typically used when state is pushed to the node
+    * (i.e., anotehr node leaves the cluster) and the transaction log needs to be flushed after pushing state.
+    * @param modifications ordered list of mods
+    */
+   void applyRemoteTxLog(List<WriteCommand> modifications);
 }
 

Modified: trunk/core/src/main/java/org/infinispan/distribution/LeaveTask.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/distribution/LeaveTask.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/distribution/LeaveTask.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -78,7 +78,7 @@
          Set<Future<Object>> pushFutures = new HashSet<Future<Object>>();
          for (Map.Entry<Address, Map<Object, InternalCacheValue>> entry : statemap.getState().entrySet()) {
             if (log.isDebugEnabled()) log.debug("Pushing {0} entries to {1}", entry.getValue().size(), entry.getKey());
-            RehashControlCommand push = cf.buildRehashControlCommand(RehashControlCommand.Type.PUSH_STATE, self, entry.getValue());
+            RehashControlCommand push = cf.buildRehashControlCommand(self, entry.getValue());
             NotifyingNotifiableFuture<Object> f = new NotifyingFutureImpl(null);
             pushFutures.add(f);
             rpcManager.invokeRemotelyInFuture(Collections.singleton(entry.getKey()), push, true, f, configuration.getRehashRpcTimeout());

Modified: trunk/core/src/main/java/org/infinispan/distribution/TransactionLogger.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/distribution/TransactionLogger.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/distribution/TransactionLogger.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -11,18 +11,39 @@
 /**
  * Typically adding a command, the following pattern would be used:
  * <p/>
- * <code> if (txLogger.logIfNeeded(cmd)) { // do NOT proceed with executing this command! } else { // proceed with
- * executing this command as per normal! } </code>
+ * <code>
+ *
+ * if (txLogger.logIfNeeded(cmd)) {
+ *     // do NOT proceed with executing this command!
+ * } else {
+ *     // proceed with executing this command as per normal!
+ * }
+ *
+ * </code>
  * <p/>
  * When draining, the following pattern should be used:
  * <p/>
- * <code> List<WriteCommand> c = null; while (txLogger.size() > THRESHOLD) { c = txLogger.drain(); applyCommands(c); } c
- * = txLogger.drainAndLock(); applyCommands(c); txLogger.unlockAndDisable(); </code>
+ * <code>
  *
+ * List&lt;WriteCommand&gt; c = null;
+ * while (txLogger.shouldDrainWithoutLock()) {
+ *     c = txLogger.drain();
+ *     applyCommands(c);
+ * }
+ *
+ * c = txLogger.drainAndLock();
+ * applyCommands(c);
+ * applyPendingPrepares(txLogger.getPendingPrepares());
+ * txLogger.unlockAndDisable();
+ * </code>
+ *
  * @author Manik Surtani
  * @since 4.0
  */
 public interface TransactionLogger {
+   /**
+    * Enables transaction logging
+    */
    void enable();
 
    /**
@@ -40,6 +61,9 @@
     */
    List<WriteCommand> drainAndLock();
 
+   /**
+    * Unlocks and disables the transaction logger.  Should <i>only</i> be called after {@link #drainAndLock()}.
+    */
    void unlockAndDisable();
 
    /**
@@ -50,10 +74,22 @@
     */
    boolean logIfNeeded(WriteCommand command);
 
+   /**
+    * Logs a PrepareCommand if needed.
+    * @param command PrepoareCommand to log
+    */
    void logIfNeeded(PrepareCommand command);
 
+   /**
+    * Logs a CommitCommand if needed.
+    * @param command CommitCommand to log
+    */
    void logIfNeeded(CommitCommand command);
 
+   /**
+    * Logs a RollbackCommand if needed.
+    * @param command RollbackCommand to log
+    */
    void logIfNeeded(RollbackCommand command);
 
    /**
@@ -64,8 +100,10 @@
     */
    boolean logIfNeeded(Collection<WriteCommand> commands);
 
-   int size();
-
+   /**
+    * Checks whether transaction logging is enabled
+    * @return true if enabled, false otherwise.
+    */
    boolean isEnabled();
 
    /**

Modified: trunk/core/src/main/java/org/infinispan/distribution/TransactionLoggerImpl.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/distribution/TransactionLoggerImpl.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/distribution/TransactionLoggerImpl.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -148,7 +148,7 @@
       return false;
    }
 
-   public int size() {
+   private int size() {
       return enabled ? 0 : commandQueue.size();
    }
 

Modified: trunk/core/src/main/java/org/infinispan/factories/EmptyConstructorFactory.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/factories/EmptyConstructorFactory.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/factories/EmptyConstructorFactory.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -1,6 +1,6 @@
 package org.infinispan.factories;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.config.ConfigurationException;
 import org.infinispan.factories.annotations.DefaultFactoryFor;
 import org.infinispan.factories.scopes.Scope;
@@ -18,7 +18,7 @@
  * @author <a href="mailto:galder.zamarreno at jboss.com">Galder Zamarreno</a>
  * @since 4.0
  */
- at DefaultFactoryFor(classes = {InboundInvocationHandler.class, CacheManagerNotifier.class, RemoteCommandFactory.class, TransactionTable.class, GlobalTransactionFactory.class})
+ at DefaultFactoryFor(classes = {InboundInvocationHandler.class, CacheManagerNotifier.class, RemoteCommandsFactory.class, TransactionTable.class, GlobalTransactionFactory.class})
 @Scope(Scopes.GLOBAL)
 public class EmptyConstructorFactory extends AbstractComponentFactory implements AutoInstantiableFactory {
    public <T> T construct(Class<T> componentType) {

Modified: trunk/core/src/main/java/org/infinispan/marshall/VersionAwareMarshaller.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/marshall/VersionAwareMarshaller.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/marshall/VersionAwareMarshaller.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.marshall;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.factories.annotations.Inject;
 import org.infinispan.factories.annotations.Start;
 import org.infinispan.factories.annotations.Stop;
@@ -57,22 +57,22 @@
 
    private final JBossMarshaller defaultMarshaller;
    private ClassLoader loader;
-   private RemoteCommandFactory remoteCommandFactory;
+   private RemoteCommandsFactory remoteCommandsFactory;
 
    public VersionAwareMarshaller() {
       defaultMarshaller = new JBossMarshaller();
    }
 
    @Inject
-   public void inject(ClassLoader loader, RemoteCommandFactory remoteCommandFactory) {
+   public void inject(ClassLoader loader, RemoteCommandsFactory remoteCommandsFactory) {
       this.loader = loader;
-      this.remoteCommandFactory = remoteCommandFactory;
+      this.remoteCommandsFactory = remoteCommandsFactory;
    }
 
    @Start(priority = 9)
    // should start before Transport component
    public void start() {
-      defaultMarshaller.start(loader, remoteCommandFactory, this);
+      defaultMarshaller.start(loader, remoteCommandsFactory, this);
    }
 
    @Stop

Modified: trunk/core/src/main/java/org/infinispan/marshall/exts/ReplicableCommandExternalizer.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/marshall/exts/ReplicableCommandExternalizer.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/marshall/exts/ReplicableCommandExternalizer.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.marshall.exts;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.commands.ReplicableCommand;
 import org.infinispan.marshall.Externalizer;
 import org.infinispan.io.UnsignedNumeric;
@@ -37,9 +37,9 @@
  * @since 4.0
  */
 public class ReplicableCommandExternalizer implements Externalizer {
-   private RemoteCommandFactory cmdFactory;
+   private RemoteCommandsFactory cmdFactory;
    
-   public void inject(RemoteCommandFactory cmdFactory) {
+   public void inject(RemoteCommandsFactory cmdFactory) {
       this.cmdFactory = cmdFactory;
    }
 

Modified: trunk/core/src/main/java/org/infinispan/marshall/jboss/ConstantObjectTable.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/marshall/jboss/ConstantObjectTable.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/marshall/jboss/ConstantObjectTable.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -27,7 +27,7 @@
 import org.infinispan.atomic.ClearOperation;
 import org.infinispan.atomic.PutOperation;
 import org.infinispan.atomic.RemoveOperation;
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.commands.control.LockControlCommand;
 import org.infinispan.commands.control.RehashControlCommand;
 import org.infinispan.commands.control.StateTransferControlCommand;
@@ -178,7 +178,7 @@
     */
    private final Map<Integer, ExternalizerAdapter> readers = new HashMap<Integer, ExternalizerAdapter>();
 
-   public void start(RemoteCommandFactory cmdFactory, org.infinispan.marshall.Marshaller ispnMarshaller) {
+   public void start(RemoteCommandsFactory cmdFactory, org.infinispan.marshall.Marshaller ispnMarshaller) {
       HashSet<Integer> ids = new HashSet<Integer>();
 
       for (Map.Entry<String, String> entry : JDK_EXTERNALIZERS.entrySet()) {

Modified: trunk/core/src/main/java/org/infinispan/marshall/jboss/JBossMarshaller.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/marshall/jboss/JBossMarshaller.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/main/java/org/infinispan/marshall/jboss/JBossMarshaller.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -22,7 +22,7 @@
 package org.infinispan.marshall.jboss;
 
 import org.infinispan.CacheException;
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.io.ByteBuffer;
 import org.infinispan.io.ExposedByteArrayOutputStream;
 import org.infinispan.marshall.AbstractMarshaller;
@@ -93,7 +93,7 @@
       }
    };
 
-   public void start(ClassLoader defaultCl, RemoteCommandFactory cmdFactory, org.infinispan.marshall.Marshaller ispnMarshaller) {
+   public void start(ClassLoader defaultCl, RemoteCommandsFactory cmdFactory, org.infinispan.marshall.Marshaller ispnMarshaller) {
       if (log.isDebugEnabled()) log.debug("Using JBoss Marshalling");
       this.defaultCl = defaultCl;
       try {
@@ -207,7 +207,7 @@
       return in.readObject();
    }
 
-   private ConstantObjectTable createCustomObjectTable(RemoteCommandFactory cmdFactory, org.infinispan.marshall.Marshaller ispnMarshaller) {
+   private ConstantObjectTable createCustomObjectTable(RemoteCommandsFactory cmdFactory, org.infinispan.marshall.Marshaller ispnMarshaller) {
       ConstantObjectTable objectTable = new ConstantObjectTable();
       objectTable.start(cmdFactory, ispnMarshaller);
       return objectTable;

Modified: trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreVamTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreVamTest.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/test/java/org/infinispan/loaders/file/FileCacheStoreVamTest.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -21,7 +21,7 @@
  */
 package org.infinispan.loaders.file;
 
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.marshall.Marshaller;
 import org.infinispan.marshall.VersionAwareMarshaller;
 import org.testng.annotations.Test;
@@ -37,7 +37,7 @@
    @Override
    protected Marshaller getMarshaller() {
       VersionAwareMarshaller marshaller = new VersionAwareMarshaller();
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
       return marshaller;
    }

Modified: trunk/core/src/test/java/org/infinispan/marshall/VersionAwareMarshallerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/marshall/VersionAwareMarshallerTest.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/test/java/org/infinispan/marshall/VersionAwareMarshallerTest.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -25,7 +25,7 @@
 import org.infinispan.atomic.AtomicHashMap;
 import org.infinispan.atomic.AtomicHashMapDelta;
 import org.infinispan.atomic.NullDelta;
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.commands.ReplicableCommand;
 import org.infinispan.commands.control.StateTransferControlCommand;
 import org.infinispan.commands.read.GetKeyValueCommand;
@@ -95,7 +95,7 @@
 
    @BeforeTest
    public void setUp() {
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
    }
 

Modified: trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallerTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallerTest.java	2009-11-12 12:37:01 UTC (rev 1147)
+++ trunk/core/src/test/java/org/infinispan/marshall/jboss/JBossMarshallerTest.java	2009-11-12 12:50:15 UTC (rev 1148)
@@ -22,12 +22,8 @@
  */
 package org.infinispan.marshall.jboss;
 
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-
 import org.infinispan.CacheException;
-import org.infinispan.commands.RemoteCommandFactory;
+import org.infinispan.commands.RemoteCommandsFactory;
 import org.infinispan.marshall.Ids;
 import org.infinispan.marshall.Marshallable;
 import org.infinispan.marshall.Marshaller;
@@ -37,6 +33,10 @@
 import org.testng.annotations.AfterTest;
 import org.testng.annotations.BeforeTest;
 
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
 /**
  * Test the behaivour of JBoss Marshalling based {@link Marshaller} implementation 
  * which is {@link JBossMarshaller}}. This class should contain methods that exercise
@@ -50,7 +50,7 @@
 
    @BeforeTest
    public void setUp() {
-      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory());
+      marshaller.inject(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory());
       marshaller.start();
    }
 
@@ -63,7 +63,7 @@
       JBossMarshaller jbmarshaller = new JBossMarshaller();
       ConstantObjectTable.MARSHALLABLES.add(DuplicateIdClass.class.getName());
       try {
-         jbmarshaller.start(Thread.currentThread().getContextClassLoader(), new RemoteCommandFactory(), marshaller);
+         jbmarshaller.start(Thread.currentThread().getContextClassLoader(), new RemoteCommandsFactory(), marshaller);
          assert false : "Should have thrown a CacheException reporting the duplicate id";
       } catch (CacheException ce) {
       } finally {



More information about the infinispan-commits mailing list