changeset 41:1214cf906f1e

commit
author shoshi
date Tue, 18 Jan 2011 19:04:28 +0900
parents a2e384c93533
children ba136d01f304
files src/treecms/proto/cassandra/CassBrowser.java src/treecms/proto/cassandra/test/CassGetSliceTest.java src/treecms/proto/cassandra/test/CassStringTest.java
diffstat 3 files changed, 112 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/src/treecms/proto/cassandra/CassBrowser.java	Thu Jan 13 01:21:53 2011 +0900
+++ b/src/treecms/proto/cassandra/CassBrowser.java	Tue Jan 18 19:04:28 2011 +0900
@@ -13,16 +13,11 @@
 import org.apache.cassandra.thrift.ColumnOrSuperColumn;
 import org.apache.cassandra.thrift.ColumnPath;
 import org.apache.cassandra.thrift.ConsistencyLevel;
-import org.apache.cassandra.thrift.TimedOutException;
-import org.apache.cassandra.thrift.UnavailableException;
 
 public class CassBrowser implements Browser
 {
 	public static void main(String _args[])throws Exception
 	{
-		CassBrowser bw = CassBrowser.createInstance("localhost","9160");
-		System.out.println(bw.m_cassandra.describe_cluster_name());
-		System.out.println(bw.m_cassandra.describe_version());
 	}
 	
 	private Cassandra.Client m_cassandra;
@@ -47,14 +42,17 @@
 		TTransport tr = new TFramedTransport(new TSocket(m_host,Integer.parseInt(m_port)));
 		TProtocol proto = new TBinaryProtocol(tr);
 		m_cassandra = new Cassandra.Client(proto);
+		
 		tr.open();
 	}
 	
-	public static CassBrowser createInstance(String _host,String _port)
+	public static CassBrowser createInstance(String _host,String _port,String _ks,String _cf)
 	{
 		CassBrowser browser = null;
 		try{
 			browser = new CassBrowser(_host,_port);
+			browser.m_keySpace = _ks;
+			browser.m_colFamily = _cf;
 		}catch(Exception _err){
 			_err.printStackTrace();
 		}
@@ -63,10 +61,10 @@
 	
 	public String getColumn(NodeID _id,String _colName)
 	{
-		return getColumn(_id,_colName,true);
+		return getColumn(_id.toString(),_colName,true);
 	}
 	
-	private String getColumn(NodeID _id,String _colName,boolean _retry)
+	private String getColumn(String _row,String _colName,boolean _retry)
 	{
 		ColumnPath path = new ColumnPath();
 		path.column_family = m_colFamily;
@@ -75,42 +73,24 @@
 		String value = null;
 		try{
 			ColumnOrSuperColumn column;
-			column = m_cassandra.get(m_keySpace,_id.toString(),path,ConsistencyLevel.ONE);
+			column = m_cassandra.get(m_keySpace,_row,path,ConsistencyLevel.ONE);
 			value = column.column.toString();
-		}catch(UnavailableException _e){
-			_e.printStackTrace();
-		}catch(TimedOutException _e){
-			_e.printStackTrace();
 		}catch(Exception _e){
 			_e.printStackTrace();
-			return null;
-		}finally{
-			if(_retry){
-				try{
-					connect();
-					value = getColumn(_id,_colName,false);
-				}catch(TTransportException _e) {
-					_e.printStackTrace();
-				}
-			}
 		}
 		
 		return value;
 	}
 	
-	public void setKeyspace(String _keySpace)
+	public CassNode createNode(String _id)
 	{
-		m_keySpace = _keySpace;
-	}
-	
-	public void setColumnFamily(String _colFamily)
-	{
-		m_colFamily = _colFamily;
+		return null;
 	}
 
 	@Override
 	public Node useContents()
 	{
+		String rootID;
 		return null;
 	}
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/treecms/proto/cassandra/test/CassGetSliceTest.java	Tue Jan 18 19:04:28 2011 +0900
@@ -0,0 +1,89 @@
+package treecms.proto.cassandra.test;
+
+import java.util.List;
+
+import org.apache.cassandra.thrift.Cassandra;
+import org.apache.cassandra.thrift.ColumnOrSuperColumn;
+import org.apache.cassandra.thrift.ColumnParent;
+import org.apache.cassandra.thrift.ColumnPath;
+import org.apache.cassandra.thrift.ConsistencyLevel;
+import org.apache.cassandra.thrift.InvalidRequestException;
+import org.apache.cassandra.thrift.KeySlice;
+import org.apache.cassandra.thrift.NotFoundException;
+import org.apache.cassandra.thrift.SlicePredicate;
+import org.apache.cassandra.thrift.SliceRange;
+import org.apache.cassandra.thrift.TimedOutException;
+import org.apache.cassandra.thrift.UnavailableException;
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TBinaryProtocol;
+import org.apache.thrift.protocol.TProtocol;
+import org.apache.thrift.transport.TSocket;
+import org.apache.thrift.transport.TTransport;
+
+public class CassGetSliceTest
+{
+	public static void main(String _args[])throws Exception
+	{
+		Cassandra.Client client;
+		
+		String host = "localhost";
+		int port = 9160;
+		
+		TTransport tr = new TSocket(host,port);
+		TProtocol proto = new TBinaryProtocol(tr);
+		client = new Cassandra.Client(proto);
+		
+		tr.open();
+		
+		System.out.println("ClusterName = "+client.describe_cluster_name());
+		testGetRangeSlice(client);
+		
+		tr.close();
+	}
+	
+	public static void testGet(Cassandra.Client _client) throws InvalidRequestException, NotFoundException, UnavailableException, TimedOutException, TException
+	{
+		ColumnPath path = new ColumnPath();
+		path.column_family = "TreeCMSCF01";
+		path.column = "value".getBytes();
+		
+		ColumnOrSuperColumn value = _client.get("TreeCMSKS","uuid@01",path,ConsistencyLevel.ONE);
+		
+		System.out.println(new String(value.column.getValue()));
+	}
+	
+	public static void testGetSlice(Cassandra.Client _client) throws InvalidRequestException, NotFoundException, UnavailableException, TimedOutException, TException
+	{
+		SliceRange sliceRange = new SliceRange();
+		sliceRange.setStart(new byte[0]);
+		sliceRange.setFinish(new byte[0]);
+		
+		SlicePredicate slicePredicate = new SlicePredicate();
+		slicePredicate.setSlice_range(sliceRange);
+		
+		List<ColumnOrSuperColumn> values = _client.get_slice("TreeCMSKS","uuid@01",new ColumnParent("TreeCMSCF01"),slicePredicate,ConsistencyLevel.ONE);
+		
+		for(ColumnOrSuperColumn value : values){
+			System.out.println(new String(value.column.getName())+":"+new String(value.column.getValue()));
+		}
+	}
+	
+	public static void testGetRangeSlice(Cassandra.Client _client) throws InvalidRequestException, NotFoundException, UnavailableException, TimedOutException, TException
+	{
+		SliceRange sliceRange = new SliceRange();
+		sliceRange.setStart(new byte[0]);
+		sliceRange.setFinish(new byte[0]);
+		
+		SlicePredicate slicePredicate = new SlicePredicate();
+		slicePredicate.setSlice_range(sliceRange);
+		
+		List<KeySlice> values = _client.get_range_slice("TreeCMSKS",new ColumnParent("TreeCMSCF02"),slicePredicate,"hogehoge","hogehogea",100,ConsistencyLevel.ONE);
+		
+		for(KeySlice key : values){
+			System.out.println(new String(key.getKey()));
+			for(ColumnOrSuperColumn column : key.getColumns()){
+				System.out.println("\t"+new String(column.column.getName())+":"+new String(column.column.getValue()));
+			}
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/treecms/proto/cassandra/test/CassStringTest.java	Tue Jan 18 19:04:28 2011 +0900
@@ -0,0 +1,13 @@
+package treecms.proto.cassandra.test;
+
+public class CassStringTest
+{
+	public static void main(String _args[])
+	{
+		String key1 = "hogehoge";
+		String key2 = "fuga";
+		
+		System.out.println(key1.compareTo(key2));
+		System.out.println(key2.compareTo(key1));
+	}
+}