[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