You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2009/05/15 22:41:06 UTC

svn commit: r775321 - /incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SliceByRangeReadCommand.java

Author: jbellis
Date: Fri May 15 20:41:05 2009
New Revision: 775321

URL: http://svn.apache.org/viewvc?rev=775321&view=rev
Log:
omitted to add Sandeep's SBRRC.java in last commit

Added:
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SliceByRangeReadCommand.java

Added: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SliceByRangeReadCommand.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SliceByRangeReadCommand.java?rev=775321&view=auto
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SliceByRangeReadCommand.java (added)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/SliceByRangeReadCommand.java Fri May 15 20:41:05 2009
@@ -0,0 +1,86 @@
+package org.apache.cassandra.db;
+
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+public class SliceByRangeReadCommand extends ReadCommand {
+
+	
+	public final String columnFamily;
+	public final String startColumn;
+	public final String endColumn;
+	public final int count;
+	
+	public SliceByRangeReadCommand(String table, String key, String columnFamily, String startCol, String endCol, int count)
+	{
+		super(table, key, CMD_TYPE_GET_SLICE_BY_RANGE);
+		this.columnFamily = columnFamily;
+		this.startColumn = startCol;
+		this.endColumn = endCol;
+		this.count = count;
+	}
+	
+	@Override
+	public ReadCommand copy() 
+	{
+		ReadCommand readCommand= new SliceByRangeReadCommand(table, key, columnFamily, startColumn, endColumn,count);
+		readCommand.setDigestQuery(isDigestQuery());
+		return readCommand;
+	}
+
+	@Override
+	public String getColumnFamilyName() 
+	{
+		return columnFamily;
+	}
+
+	@Override
+	public Row getRow(Table table) throws IOException 
+	{
+		return table.getRow(key, columnFamily, startColumn, endColumn, count);
+	}
+	
+	@Override
+    public String toString()
+    {
+        return "GetSliceByNamesReadMessage(" +
+               "table='" + table + '\'' +
+               ", key='" + key + '\'' +
+               ", columnFamily='" + columnFamily + '\'' +
+               ", startColumn=" + startColumn +
+               ", endColumn=" + endColumn +
+               ')';
+    }
+}
+
+class SliceByRangeReadCommandSerializer extends ReadCommandSerializer
+{
+	@Override
+	public void serialize(ReadCommand rm, DataOutputStream dos) throws IOException
+	{
+		SliceByRangeReadCommand realRM = (SliceByRangeReadCommand)rm;
+		dos.writeBoolean(realRM.isDigestQuery());
+		dos.writeUTF(realRM.table);
+		dos.writeUTF(realRM.key);
+		dos.writeUTF(realRM.columnFamily);
+		dos.writeUTF(realRM.startColumn);
+		dos.writeUTF(realRM.endColumn);
+		dos.writeInt(realRM.count);
+	}
+
+	@Override
+	public ReadCommand deserialize(DataInputStream dis) throws IOException
+	{
+		boolean isDigest = dis.readBoolean();
+		String table = dis.readUTF();
+		String key = dis.readUTF();
+		String columnFamily = dis.readUTF();
+		String startColumn = dis.readUTF();
+		String endColumn = dis.readUTF();
+		int count = dis.readInt();
+		SliceByRangeReadCommand rm = new SliceByRangeReadCommand(table, key, columnFamily, startColumn, endColumn, count);
+		rm.setDigestQuery(isDigest);
+		return rm;
+	}
+}
\ No newline at end of file