mirror of https://github.com/apache/cassandra
clean up patch and test from Sandeep Tata fixing #21
git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@760006 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
69eee12505
commit
6931092e51
|
|
@ -25,6 +25,9 @@ import java.io.IOException;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
import org.apache.cassandra.continuations.Suspendable;
|
import org.apache.cassandra.continuations.Suspendable;
|
||||||
import org.apache.cassandra.io.ICompactSerializer;
|
import org.apache.cassandra.io.ICompactSerializer;
|
||||||
import org.apache.cassandra.net.Message;
|
import org.apache.cassandra.net.Message;
|
||||||
|
|
@ -154,6 +157,20 @@ public class ReadMessage implements Serializable
|
||||||
{
|
{
|
||||||
return columns_;
|
return columns_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return "ReadMessage(" +
|
||||||
|
"table='" + table_ + '\'' +
|
||||||
|
", key='" + key_ + '\'' +
|
||||||
|
", columnFamily_column='" + columnFamily_column_ + '\'' +
|
||||||
|
", start=" + start_ +
|
||||||
|
", count=" + count_ +
|
||||||
|
", sinceTimestamp=" + sinceTimestamp_ +
|
||||||
|
", columns=[" + StringUtils.join(columns_, ", ") + "]" +
|
||||||
|
", isDigestQuery=" + isDigestQuery_ +
|
||||||
|
')';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ReadMessageSerializer implements ICompactSerializer<ReadMessage>
|
class ReadMessageSerializer implements ICompactSerializer<ReadMessage>
|
||||||
|
|
@ -202,7 +219,7 @@ class ReadMessageSerializer implements ICompactSerializer<ReadMessage>
|
||||||
{
|
{
|
||||||
rm = new ReadMessage(table, key, columnFamily_column, columns);
|
rm = new ReadMessage(table, key, columnFamily_column, columns);
|
||||||
}
|
}
|
||||||
if( sinceTimestamp > 0 )
|
else if( sinceTimestamp > 0 )
|
||||||
{
|
{
|
||||||
rm = new ReadMessage(table, key, columnFamily_column, sinceTimestamp);
|
rm = new ReadMessage(table, key, columnFamily_column, sinceTimestamp);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
package org.apache.cassandra.db;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.apache.cassandra.io.DataInputBuffer;
|
||||||
|
import org.apache.cassandra.io.DataOutputBuffer;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
public class ReadMessageTest
|
||||||
|
{
|
||||||
|
@Test
|
||||||
|
public void testMakeReadMessage()
|
||||||
|
{
|
||||||
|
ArrayList<String> colList = new ArrayList<String>();
|
||||||
|
colList.add("col1");
|
||||||
|
colList.add("col2");
|
||||||
|
|
||||||
|
ReadMessage rm = new ReadMessage("Table1", "row1", "foo", colList);
|
||||||
|
ReadMessage rm2 = serializeAndDeserializeReadMessage(rm);
|
||||||
|
|
||||||
|
assert rm2.toString().equals(rm.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
private ReadMessage serializeAndDeserializeReadMessage(ReadMessage rm)
|
||||||
|
{
|
||||||
|
ReadMessage rm2 = null;
|
||||||
|
ReadMessageSerializer rms = (ReadMessageSerializer) ReadMessage.serializer();
|
||||||
|
DataOutputBuffer dos = new DataOutputBuffer();
|
||||||
|
DataInputBuffer dis = new DataInputBuffer();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
rms.serialize(rm, dos);
|
||||||
|
dis.reset(dos.getData(), dos.getLength());
|
||||||
|
rm2 = rms.deserialize(dis);
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
return rm2;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue