Mercurial > hg > Members > shoshi > TreeCMSv1
view src/treecms/proto/cassandra/CassBrowser.java @ 41:1214cf906f1e
commit
author | shoshi |
---|---|
date | Tue, 18 Jan 2011 19:04:28 +0900 |
parents | a2e384c93533 |
children | cc66b6933d44 |
line wrap: on
line source
package treecms.proto.cassandra; import treecms.proto.api.Browser; import treecms.proto.api.Node; import treecms.proto.api.NodeID; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TFramedTransport; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransportException; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.cassandra.thrift.Cassandra; import org.apache.cassandra.thrift.ColumnOrSuperColumn; import org.apache.cassandra.thrift.ColumnPath; import org.apache.cassandra.thrift.ConsistencyLevel; public class CassBrowser implements Browser { public static void main(String _args[])throws Exception { } private Cassandra.Client m_cassandra; private String m_host,m_port; private String m_keySpace,m_colFamily; private CassBrowser(String _host,String _port) throws TTransportException { m_host = _host; m_port = _port; m_cassandra = null; connect(); } public synchronized void connect() throws TTransportException { if(m_cassandra != null && m_cassandra.getOutputProtocol().getTransport().isOpen()){ return; } 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,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(); } return browser; } public String getColumn(NodeID _id,String _colName) { return getColumn(_id.toString(),_colName,true); } private String getColumn(String _row,String _colName,boolean _retry) { ColumnPath path = new ColumnPath(); path.column_family = m_colFamily; path.column = _colName.getBytes(); String value = null; try{ ColumnOrSuperColumn column; column = m_cassandra.get(m_keySpace,_row,path,ConsistencyLevel.ONE); value = column.column.toString(); }catch(Exception _e){ _e.printStackTrace(); } return value; } public CassNode createNode(String _id) { return null; } @Override public Node useContents() { String rootID; return null; } }