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:
Jonathan Ellis 2009-03-30 15:24:40 +00:00
parent 69eee12505
commit 6931092e51
2 changed files with 62 additions and 1 deletions

View File

@ -25,6 +25,9 @@ import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.cassandra.continuations.Suspendable;
import org.apache.cassandra.io.ICompactSerializer;
import org.apache.cassandra.net.Message;
@ -154,6 +157,20 @@ public class ReadMessage implements Serializable
{
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>
@ -202,7 +219,7 @@ class ReadMessageSerializer implements ICompactSerializer<ReadMessage>
{
rm = new ReadMessage(table, key, columnFamily_column, columns);
}
if( sinceTimestamp > 0 )
else if( sinceTimestamp > 0 )
{
rm = new ReadMessage(table, key, columnFamily_column, sinceTimestamp);
}

View File

@ -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;
}
}