[jbosscache-commits] JBoss Cache SVN: r6870 - in core/branches/flat/src/main/java/org/jboss/starobrno: commands and 4 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Wed Oct 8 08:42:02 EDT 2008


Author: manik.surtani at jboss.com
Date: 2008-10-08 08:42:02 -0400 (Wed, 08 Oct 2008)
New Revision: 6870

Modified:
   core/branches/flat/src/main/java/org/jboss/starobrno/DataContainer.java
   core/branches/flat/src/main/java/org/jboss/starobrno/UnsortedDataContainer.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/AbstractVisitor.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/TransactionBoundaryCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/Visitor.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/GetKeyValueCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/GravitateDataCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/SizeCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/CommitCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/PrepareCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/RollbackCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/ClearCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/EvictCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/PutKeyValueCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/PutMapCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/RemoveCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/ReplaceCommand.java
   core/branches/flat/src/main/java/org/jboss/starobrno/mvcc/EntryImpl.java
Log:
Fixed stuff

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/DataContainer.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/DataContainer.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/DataContainer.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -41,4 +41,8 @@
    boolean exists(Entry<K, V> entry);
 
    int size();
+
+   void clear();
+
+   void removeEntry(K key);
 }

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/UnsortedDataContainer.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/UnsortedDataContainer.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/UnsortedDataContainer.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -65,4 +65,14 @@
    {
       return data.size();
    }
+
+   public void clear()
+   {
+      data.clear();
+   }
+
+   public void removeEntry(K key)
+   {
+      data.remove(key);
+   }
 }

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/AbstractVisitor.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/AbstractVisitor.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/AbstractVisitor.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -21,8 +21,19 @@
  */
 package org.jboss.starobrno.commands;
 
+import org.jboss.starobrno.commands.read.GetKeyValueCommand;
+import org.jboss.starobrno.commands.read.GravitateDataCommand;
+import org.jboss.starobrno.commands.read.SizeCommand;
+import org.jboss.starobrno.commands.tx.CommitCommand;
+import org.jboss.starobrno.commands.tx.PrepareCommand;
+import org.jboss.starobrno.commands.tx.RollbackCommand;
+import org.jboss.starobrno.commands.write.ClearCommand;
+import org.jboss.starobrno.commands.write.EvictCommand;
+import org.jboss.starobrno.commands.write.PutKeyValueCommand;
+import org.jboss.starobrno.commands.write.PutMapCommand;
+import org.jboss.starobrno.commands.write.RemoveCommand;
+import org.jboss.starobrno.commands.write.ReplaceCommand;
 import org.jboss.starobrno.context.InvocationContext;
-import org.jboss.starobrno.commands.write.PutKeyValueCommand;
 
 import java.util.Collection;
 
@@ -35,12 +46,73 @@
  */
 public abstract class AbstractVisitor implements Visitor
 {
+   // write commands
+
    public Object visitPutKeyValueCommand(InvocationContext ctx, PutKeyValueCommand command) throws Throwable
    {
       return handleDefault(ctx, command);
    }
 
+   public Object visitRemoveCommand(InvocationContext ctx, RemoveCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
 
+   public Object visitReplaceCommand(InvocationContext ctx, ReplaceCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
+
+   public Object visitClearCommand(InvocationContext ctx, ClearCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
+
+   public Object visitPutMapCommand(InvocationContext ctx, PutMapCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
+
+   public Object visitEvictCommand(InvocationContext ctx, EvictCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
+
+   // read commands
+
+   public Object visitSizeCommand(InvocationContext ctx, SizeCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
+
+   public Object visitGetKeyValueCommand(InvocationContext ctx, GetKeyValueCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
+
+   public Object visitGravitateDataCommand(InvocationContext ctx, GravitateDataCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
+
+   // tx commands
+
+   public Object visitPrepareCommand(InvocationContext ctx, PrepareCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
+
+   public Object visitRollbackCommand(InvocationContext ctx, RollbackCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
+
+   public Object visitCommitCommand(InvocationContext ctx, CommitCommand command) throws Throwable
+   {
+      return handleDefault(ctx, command);
+   }
+
+
    /**
     * A default handler for all commands visited.  This is called for any visit method called, unless a visit command is
     * appropriately overridden.

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/TransactionBoundaryCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/TransactionBoundaryCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/TransactionBoundaryCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -29,7 +29,7 @@
  * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
  * @since 3.0
  */
-public interface TransactionBoundaryCommand extends ReplicableCommand
+public interface TransactionBoundaryCommand extends VisitableCommand
 {
    GlobalTransaction getGlobalTransaction();
 

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/Visitor.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/Visitor.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/Visitor.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -21,20 +21,50 @@
  */
 package org.jboss.starobrno.commands;
 
+import org.jboss.starobrno.commands.read.GetKeyValueCommand;
+import org.jboss.starobrno.commands.read.GravitateDataCommand;
+import org.jboss.starobrno.commands.read.SizeCommand;
+import org.jboss.starobrno.commands.tx.CommitCommand;
+import org.jboss.starobrno.commands.tx.PrepareCommand;
+import org.jboss.starobrno.commands.tx.RollbackCommand;
+import org.jboss.starobrno.commands.write.ClearCommand;
+import org.jboss.starobrno.commands.write.EvictCommand;
+import org.jboss.starobrno.commands.write.PutKeyValueCommand;
+import org.jboss.starobrno.commands.write.PutMapCommand;
+import org.jboss.starobrno.commands.write.RemoveCommand;
+import org.jboss.starobrno.commands.write.ReplaceCommand;
 import org.jboss.starobrno.context.InvocationContext;
-import org.jboss.starobrno.commands.write.*;
 
 public interface Visitor
 {
+   // write commands
+
    Object visitPutKeyValueCommand(InvocationContext ctx, PutKeyValueCommand command) throws Throwable;
 
-   Object visitRemoveCommand(InvocationContext ctx, RemoveCommand removeCommand);
+   Object visitRemoveCommand(InvocationContext ctx, RemoveCommand command) throws Throwable;
 
-   Object visitReplaceCommand(InvocationContext ctx, ReplaceCommand replaceCommand);
+   Object visitReplaceCommand(InvocationContext ctx, ReplaceCommand command) throws Throwable;
 
-   Object visitClearCommand(InvocationContext ctx, ClearCommand clearCommand);
+   Object visitClearCommand(InvocationContext ctx, ClearCommand command) throws Throwable;
 
-   Object visitPutMapCommand(InvocationContext ctx, PutMapCommand putMapCommand);
+   Object visitPutMapCommand(InvocationContext ctx, PutMapCommand command) throws Throwable;
 
-   Object visitEvictCommand(InvocationContext ctx, Visitor visitor);
+   Object visitEvictCommand(InvocationContext ctx, EvictCommand command) throws Throwable;
+
+   // read commands
+
+   Object visitSizeCommand(InvocationContext ctx, SizeCommand command) throws Throwable;
+
+   Object visitGetKeyValueCommand(InvocationContext ctx, GetKeyValueCommand command) throws Throwable;
+
+   Object visitGravitateDataCommand(InvocationContext ctx, GravitateDataCommand command) throws Throwable;
+
+   // tx commands
+
+   Object visitPrepareCommand(InvocationContext ctx, PrepareCommand command) throws Throwable;
+
+   Object visitRollbackCommand(InvocationContext ctx, RollbackCommand command) throws Throwable;
+
+   Object visitCommitCommand(InvocationContext ctx, CommitCommand command) throws Throwable;
+
 }
\ No newline at end of file

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/GetKeyValueCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/GetKeyValueCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/GetKeyValueCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -24,7 +24,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.notifications.Notifier;
-import org.jboss.starobrno.commands.DataCommand;
 import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.context.InvocationContext;
 import org.jboss.starobrno.mvcc.MVCCEntry;
@@ -35,9 +34,8 @@
  * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
  * @since 3.0
  */
-public class GetKeyValueCommand implements DataCommand
+public class GetKeyValueCommand extends AbstractDataCommand
 {
-   protected Object key;
    public static final int METHOD_ID = 26;
    private static final Log log = LogFactory.getLog(GetKeyValueCommand.class);
    private static final boolean trace = log.isTraceEnabled();
@@ -49,19 +47,9 @@
       this.notifier = notifier;
    }
 
-   public Object getKey()
-   {
-      return key;
-   }
-
-   public void setKey(Object key)
-   {
-      this.key = key;
-   }
-
    public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
    {
-      return null;  //TODO: Autogenerated.  Implement me properly
+      return visitor.visitGetKeyValueCommand(ctx, this);
    }
 
    public Object perform(InvocationContext ctx) throws Throwable
@@ -89,14 +77,4 @@
    {
       return METHOD_ID;
    }
-
-   public Object[] getParameters()
-   {
-      return new Object[]{key};
-   }
-
-   public void setParameters(int commandId, Object[] parameters)
-   {
-      this.key = parameters[0];
-   }
 }

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/GravitateDataCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/GravitateDataCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/GravitateDataCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -26,7 +26,6 @@
 import org.jboss.cache.CacheSPI;
 import org.jboss.cache.buddyreplication.BuddyFqnTransformer;
 import org.jboss.starobrno.DataContainer;
-import org.jboss.starobrno.commands.DataCommand;
 import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.context.InvocationContext;
 import org.jgroups.Address;
@@ -40,7 +39,7 @@
  * @author Manik Surtani
  * @since 2.2.0
  */
-public class GravitateDataCommand implements DataCommand
+public class GravitateDataCommand extends AbstractDataCommand
 {
    public static final int METHOD_ID = 35;
 
@@ -54,7 +53,6 @@
    private static final Log log = LogFactory.getLog(GravitateDataCommand.class);
    private static final boolean trace = log.isTraceEnabled();
    private BuddyFqnTransformer buddyFqnTransformer;
-   private Object key;
    private DataContainer dataContainer;
 
    public GravitateDataCommand(Object key, boolean searchSubtrees, Address localAddress)
@@ -201,9 +199,7 @@
 //   }
    public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
    {
-      // TODO implement me
-      return null;
-//      return visitor.visitGravitateDataCommand(ctx, this);
+      return visitor.visitGravitateDataCommand(ctx, this);
    }
 
    public int getCommandId()
@@ -216,11 +212,13 @@
       return searchSubtrees;
    }
 
+   @Override
    public Object[] getParameters()
    {
       return new Object[]{key, searchSubtrees};
    }
 
+   @Override
    public void setParameters(int commandId, Object[] args)
    {
       key = args[0];
@@ -257,9 +255,4 @@
             ", searchSubtrees=" + searchSubtrees +
             '}';
    }
-
-   public Object getKey()
-   {
-      return null;  //TODO: Autogenerated.  Implement me properly
-   }
 }

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/SizeCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/SizeCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/read/SizeCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -43,7 +43,7 @@
 
    public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
    {
-      return null;  //TODO: Autogenerated.  Implement me properly
+      return visitor.visitSizeCommand(ctx, this);
    }
 
    public Object perform(InvocationContext ctx) throws Throwable

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/CommitCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/CommitCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/CommitCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -46,9 +46,7 @@
 
    public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
    {
-      // TODO - implement me
-      return null;
-//      return visitor.visitCommitCommand(ctx, this);
+      return visitor.visitCommitCommand(ctx, this);
    }
 
    public int getCommandId()

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/PrepareCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/PrepareCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/PrepareCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -65,9 +65,7 @@
 
    public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
    {
-      // TODO - implement me
-      return null;
-//      return visitor.visitPrepareCommand(ctx, this);
+      return visitor.visitPrepareCommand(ctx, this);
    }
 
    public List<WriteCommand> getModifications()

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/RollbackCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/RollbackCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/tx/RollbackCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -46,9 +46,7 @@
 
    public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
    {
-      // TODO - implement me
-      return null;
-//      return visitor.visitRollbackCommand(ctx, this);
+      return visitor.visitRollbackCommand(ctx, this);
    }
 
    public int getCommandId()

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/ClearCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/ClearCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/ClearCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -24,15 +24,14 @@
 import org.jboss.starobrno.commands.VisitableCommand;
 import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.context.InvocationContext;
-import org.jboss.util.NotImplementedException;
+import org.jboss.starobrno.mvcc.MVCCEntry;
 
 /**
  * @author Mircea.Markus at jboss.com
  */
 public class ClearCommand implements VisitableCommand
 {
-   public static final Object[] params = new Object[0];
-
+   private static final Object[] params = new Object[0];
    public static final int METHOD_ID = 17;
 
    public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
@@ -42,7 +41,12 @@
 
    public Object perform(InvocationContext ctx) throws Throwable
    {
-      throw new NotImplementedException("Not Implemented");//todo implement
+      for (MVCCEntry e : ctx.getLookedUpEntries().values())
+      {
+         e.setDeleted(true);
+         e.setValid(false);
+      }
+      return null;
    }
 
    public Object[] getParameters()

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/EvictCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/EvictCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/EvictCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -21,10 +21,10 @@
  */
 package org.jboss.starobrno.commands.write;
 
+import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.commands.read.AbstractDataCommand;
-import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.context.InvocationContext;
-import org.jboss.util.NotImplementedException;
+import org.jboss.starobrno.mvcc.MVCCEntry;
 
 /**
  * @author Mircea.Markus at jboss.com
@@ -35,12 +35,22 @@
 
    public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
    {
-      return visitor.visitEvictCommand(ctx, visitor);
+      return visitor.visitEvictCommand(ctx, this);
    }
 
    public Object perform(InvocationContext ctx) throws Throwable
    {
-      throw new NotImplementedException("Not Implemented");//todo implement
+      // TODO: notification?!??
+      if (key == null) throw new NullPointerException("Key is null!!");
+
+      MVCCEntry e = ctx.lookupEntry(key);
+      if (e != null && !e.isNullEntry())
+      {
+         e.setDeleted(true);
+         e.setValid(false);
+      }
+
+      return null;
    }
 
    public int getCommandId()

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/PutKeyValueCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/PutKeyValueCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/PutKeyValueCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -21,10 +21,10 @@
  */
 package org.jboss.starobrno.commands.write;
 
+import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.commands.read.AbstractDataCommand;
-import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.context.InvocationContext;
-import org.jboss.util.NotImplementedException;
+import org.jboss.starobrno.mvcc.MVCCEntry;
 
 /**
  * Implements functionality defined by {@link org.jboss.cache.Cache#put(org.jboss.cache.Fqn, Object, Object)}.
@@ -45,7 +45,8 @@
 
    public Object perform(InvocationContext ctx) throws Throwable
    {
-      throw new NotImplementedException("Not Implemented");//todo implement
+      MVCCEntry e = ctx.lookupEntry(key);
+      return e.setValue(value);
    }
 
    public int getCommandId()
@@ -55,7 +56,7 @@
 
    public Object[] getParameters()
    {
-      return new Object[] {key, value};
+      return new Object[]{key, value};
    }
 
    public void setParameters(int commandId, Object[] parameters)

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/PutMapCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/PutMapCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/PutMapCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -24,9 +24,10 @@
 import org.jboss.starobrno.commands.VisitableCommand;
 import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.context.InvocationContext;
-import org.jboss.util.NotImplementedException;
+import org.jboss.starobrno.mvcc.MVCCEntry;
 
 import java.util.Map;
+import java.util.Map.Entry;
 
 /**
  * @author Mircea.Markus at jboss.com
@@ -35,7 +36,7 @@
 {
    public static final int METHOD_ID = 2000;
 
-   private Map map;
+   private Map<Object, Object> map;
 
    public PutMapCommand(Map map)
    {
@@ -53,7 +54,12 @@
 
    public Object perform(InvocationContext ctx) throws Throwable
    {
-      throw new NotImplementedException("Not Implemented");//todo implement
+      for (Entry<Object, Object> e : map.entrySet())
+      {
+         MVCCEntry me = ctx.lookupEntry(e.getKey());
+         if (e != null) e.setValue(e.getValue());
+      }
+      return null;
    }
 
    public int getCommandId()
@@ -63,7 +69,7 @@
 
    public Object[] getParameters()
    {
-      return new Object[] {map};
+      return new Object[]{map};
    }
 
    public void setParameters(int commandId, Object[] parameters)

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/RemoveCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/RemoveCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/RemoveCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -21,10 +21,10 @@
  */
 package org.jboss.starobrno.commands.write;
 
+import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.commands.read.AbstractDataCommand;
-import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.context.InvocationContext;
-import org.jboss.util.NotImplementedException;
+import org.jboss.starobrno.mvcc.MVCCEntry;
 
 
 /**
@@ -41,7 +41,11 @@
 
    public Object perform(InvocationContext ctx) throws Throwable
    {
-      throw new NotImplementedException("Not Implemented");//todo implement
+      MVCCEntry e = ctx.lookupEntry(key);
+      if (e == null || e.isNullEntry()) return false;
+      e.setDeleted(true);
+      e.setValid(false);
+      return true;
    }
 
    public int getCommandId()

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/ReplaceCommand.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/ReplaceCommand.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/commands/write/ReplaceCommand.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -21,10 +21,10 @@
  */
 package org.jboss.starobrno.commands.write;
 
+import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.commands.read.AbstractDataCommand;
-import org.jboss.starobrno.commands.Visitor;
 import org.jboss.starobrno.context.InvocationContext;
-import org.jboss.util.NotImplementedException;
+import org.jboss.starobrno.mvcc.MVCCEntry;
 
 
 /**
@@ -55,7 +55,14 @@
 
    public Object perform(InvocationContext ctx) throws Throwable
    {
-      throw new NotImplementedException("Not Implemented");//todo implement
+      MVCCEntry e = ctx.lookupEntry(key);
+      if (e == null || e.isNullEntry()) return false;
+      if (oldValue.equals(e.getValue()))
+      {
+         e.setValue(newValue);
+         return true;
+      }
+      return false;
    }
 
    public int getCommandId()
@@ -65,7 +72,7 @@
 
    public Object[] getParameters()
    {
-      return new Object[] {key, oldValue, newValue};
+      return new Object[]{key, oldValue, newValue};
    }
 
    public void setParameters(int commandId, Object[] parameters)

Modified: core/branches/flat/src/main/java/org/jboss/starobrno/mvcc/EntryImpl.java
===================================================================
--- core/branches/flat/src/main/java/org/jboss/starobrno/mvcc/EntryImpl.java	2008-10-08 11:53:03 UTC (rev 6869)
+++ core/branches/flat/src/main/java/org/jboss/starobrno/mvcc/EntryImpl.java	2008-10-08 12:42:02 UTC (rev 6870)
@@ -92,4 +92,9 @@
             ", value=" + value +
             '}';
    }
+
+   public void setKey(K key)
+   {
+      this.key = key;
+   }
 }




More information about the jbosscache-commits mailing list