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 2010/02/08 16:57:47 UTC
svn commit: r907705 [3/5] - in /incubator/cassandra/trunk: ./ interface/
interface/thrift/gen-java/org/apache/cassandra/thrift/
interface/thrift/gen-py/ interface/thrift/gen-py/cassandra/
src/java/org/apache/cassandra/service/ src/java/org/apache/cassa...
Modified: incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java?rev=907705&r1=907704&r2=907705&view=diff
==============================================================================
--- incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java (original)
+++ incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java Mon Feb 8 15:57:45 2010
@@ -21,6 +21,6 @@
public class Constants {
- public static final String VERSION = "2.0.0";
+ public static final String VERSION = "2.1.0";
}
Added: incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java?rev=907705&view=auto
==============================================================================
--- incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java (added)
+++ incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java Mon Feb 8 15:57:45 2010
@@ -0,0 +1,522 @@
+/**
+ * Autogenerated by Thrift
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ */
+package org.apache.cassandra.thrift;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.thrift.*;
+import org.apache.thrift.meta_data.*;
+import org.apache.thrift.protocol.*;
+
+public class TokenRange implements TBase<TokenRange._Fields>, java.io.Serializable, Cloneable, Comparable<TokenRange> {
+ private static final TStruct STRUCT_DESC = new TStruct("TokenRange");
+
+ private static final TField START_TOKEN_FIELD_DESC = new TField("start_token", TType.STRING, (short)1);
+ private static final TField END_TOKEN_FIELD_DESC = new TField("end_token", TType.STRING, (short)2);
+ private static final TField ENDPOINTS_FIELD_DESC = new TField("endpoints", TType.LIST, (short)3);
+
+ public String start_token;
+ public String end_token;
+ public List<String> endpoints;
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ public enum _Fields implements TFieldIdEnum {
+ START_TOKEN((short)1, "start_token"),
+ END_TOKEN((short)2, "end_token"),
+ ENDPOINTS((short)3, "endpoints");
+
+ private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byId.put((int)field._thriftId, field);
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ return byId.get(fieldId);
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+
+ public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
+ put(_Fields.START_TOKEN, new FieldMetaData("start_token", TFieldRequirementType.REQUIRED,
+ new FieldValueMetaData(TType.STRING)));
+ put(_Fields.END_TOKEN, new FieldMetaData("end_token", TFieldRequirementType.REQUIRED,
+ new FieldValueMetaData(TType.STRING)));
+ put(_Fields.ENDPOINTS, new FieldMetaData("endpoints", TFieldRequirementType.REQUIRED,
+ new ListMetaData(TType.LIST,
+ new FieldValueMetaData(TType.STRING))));
+ }});
+
+ static {
+ FieldMetaData.addStructMetaDataMap(TokenRange.class, metaDataMap);
+ }
+
+ public TokenRange() {
+ }
+
+ public TokenRange(
+ String start_token,
+ String end_token,
+ List<String> endpoints)
+ {
+ this();
+ this.start_token = start_token;
+ this.end_token = end_token;
+ this.endpoints = endpoints;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public TokenRange(TokenRange other) {
+ if (other.isSetStart_token()) {
+ this.start_token = other.start_token;
+ }
+ if (other.isSetEnd_token()) {
+ this.end_token = other.end_token;
+ }
+ if (other.isSetEndpoints()) {
+ List<String> __this__endpoints = new ArrayList<String>();
+ for (String other_element : other.endpoints) {
+ __this__endpoints.add(other_element);
+ }
+ this.endpoints = __this__endpoints;
+ }
+ }
+
+ public TokenRange deepCopy() {
+ return new TokenRange(this);
+ }
+
+ @Deprecated
+ public TokenRange clone() {
+ return new TokenRange(this);
+ }
+
+ public String getStart_token() {
+ return this.start_token;
+ }
+
+ public TokenRange setStart_token(String start_token) {
+ this.start_token = start_token;
+ return this;
+ }
+
+ public void unsetStart_token() {
+ this.start_token = null;
+ }
+
+ /** Returns true if field start_token is set (has been asigned a value) and false otherwise */
+ public boolean isSetStart_token() {
+ return this.start_token != null;
+ }
+
+ public void setStart_tokenIsSet(boolean value) {
+ if (!value) {
+ this.start_token = null;
+ }
+ }
+
+ public String getEnd_token() {
+ return this.end_token;
+ }
+
+ public TokenRange setEnd_token(String end_token) {
+ this.end_token = end_token;
+ return this;
+ }
+
+ public void unsetEnd_token() {
+ this.end_token = null;
+ }
+
+ /** Returns true if field end_token is set (has been asigned a value) and false otherwise */
+ public boolean isSetEnd_token() {
+ return this.end_token != null;
+ }
+
+ public void setEnd_tokenIsSet(boolean value) {
+ if (!value) {
+ this.end_token = null;
+ }
+ }
+
+ public int getEndpointsSize() {
+ return (this.endpoints == null) ? 0 : this.endpoints.size();
+ }
+
+ public java.util.Iterator<String> getEndpointsIterator() {
+ return (this.endpoints == null) ? null : this.endpoints.iterator();
+ }
+
+ public void addToEndpoints(String elem) {
+ if (this.endpoints == null) {
+ this.endpoints = new ArrayList<String>();
+ }
+ this.endpoints.add(elem);
+ }
+
+ public List<String> getEndpoints() {
+ return this.endpoints;
+ }
+
+ public TokenRange setEndpoints(List<String> endpoints) {
+ this.endpoints = endpoints;
+ return this;
+ }
+
+ public void unsetEndpoints() {
+ this.endpoints = null;
+ }
+
+ /** Returns true if field endpoints is set (has been asigned a value) and false otherwise */
+ public boolean isSetEndpoints() {
+ return this.endpoints != null;
+ }
+
+ public void setEndpointsIsSet(boolean value) {
+ if (!value) {
+ this.endpoints = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case START_TOKEN:
+ if (value == null) {
+ unsetStart_token();
+ } else {
+ setStart_token((String)value);
+ }
+ break;
+
+ case END_TOKEN:
+ if (value == null) {
+ unsetEnd_token();
+ } else {
+ setEnd_token((String)value);
+ }
+ break;
+
+ case ENDPOINTS:
+ if (value == null) {
+ unsetEndpoints();
+ } else {
+ setEndpoints((List<String>)value);
+ }
+ break;
+
+ }
+ }
+
+ public void setFieldValue(int fieldID, Object value) {
+ setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case START_TOKEN:
+ return getStart_token();
+
+ case END_TOKEN:
+ return getEnd_token();
+
+ case ENDPOINTS:
+ return getEndpoints();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ public Object getFieldValue(int fieldId) {
+ return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ switch (field) {
+ case START_TOKEN:
+ return isSetStart_token();
+ case END_TOKEN:
+ return isSetEnd_token();
+ case ENDPOINTS:
+ return isSetEndpoints();
+ }
+ throw new IllegalStateException();
+ }
+
+ public boolean isSet(int fieldID) {
+ return isSet(_Fields.findByThriftIdOrThrow(fieldID));
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof TokenRange)
+ return this.equals((TokenRange)that);
+ return false;
+ }
+
+ public boolean equals(TokenRange that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_start_token = true && this.isSetStart_token();
+ boolean that_present_start_token = true && that.isSetStart_token();
+ if (this_present_start_token || that_present_start_token) {
+ if (!(this_present_start_token && that_present_start_token))
+ return false;
+ if (!this.start_token.equals(that.start_token))
+ return false;
+ }
+
+ boolean this_present_end_token = true && this.isSetEnd_token();
+ boolean that_present_end_token = true && that.isSetEnd_token();
+ if (this_present_end_token || that_present_end_token) {
+ if (!(this_present_end_token && that_present_end_token))
+ return false;
+ if (!this.end_token.equals(that.end_token))
+ return false;
+ }
+
+ boolean this_present_endpoints = true && this.isSetEndpoints();
+ boolean that_present_endpoints = true && that.isSetEndpoints();
+ if (this_present_endpoints || that_present_endpoints) {
+ if (!(this_present_endpoints && that_present_endpoints))
+ return false;
+ if (!this.endpoints.equals(that.endpoints))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return 0;
+ }
+
+ public int compareTo(TokenRange other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+ TokenRange typedOther = (TokenRange)other;
+
+ lastComparison = Boolean.valueOf(isSetStart_token()).compareTo(isSetStart_token());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = TBaseHelper.compareTo(start_token, typedOther.start_token);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = Boolean.valueOf(isSetEnd_token()).compareTo(isSetEnd_token());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = TBaseHelper.compareTo(end_token, typedOther.end_token);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = Boolean.valueOf(isSetEndpoints()).compareTo(isSetEndpoints());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ lastComparison = TBaseHelper.compareTo(endpoints, typedOther.endpoints);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ return 0;
+ }
+
+ public void read(TProtocol iprot) throws TException {
+ TField field;
+ iprot.readStructBegin();
+ while (true)
+ {
+ field = iprot.readFieldBegin();
+ if (field.type == TType.STOP) {
+ break;
+ }
+ _Fields fieldId = _Fields.findByThriftId(field.id);
+ if (fieldId == null) {
+ TProtocolUtil.skip(iprot, field.type);
+ } else {
+ switch (fieldId) {
+ case START_TOKEN:
+ if (field.type == TType.STRING) {
+ this.start_token = iprot.readString();
+ } else {
+ TProtocolUtil.skip(iprot, field.type);
+ }
+ break;
+ case END_TOKEN:
+ if (field.type == TType.STRING) {
+ this.end_token = iprot.readString();
+ } else {
+ TProtocolUtil.skip(iprot, field.type);
+ }
+ break;
+ case ENDPOINTS:
+ if (field.type == TType.LIST) {
+ {
+ TList _list12 = iprot.readListBegin();
+ this.endpoints = new ArrayList<String>(_list12.size);
+ for (int _i13 = 0; _i13 < _list12.size; ++_i13)
+ {
+ String _elem14;
+ _elem14 = iprot.readString();
+ this.endpoints.add(_elem14);
+ }
+ iprot.readListEnd();
+ }
+ } else {
+ TProtocolUtil.skip(iprot, field.type);
+ }
+ break;
+ }
+ iprot.readFieldEnd();
+ }
+ }
+ iprot.readStructEnd();
+
+ // check for required fields of primitive type, which can't be checked in the validate method
+ validate();
+ }
+
+ public void write(TProtocol oprot) throws TException {
+ validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (this.start_token != null) {
+ oprot.writeFieldBegin(START_TOKEN_FIELD_DESC);
+ oprot.writeString(this.start_token);
+ oprot.writeFieldEnd();
+ }
+ if (this.end_token != null) {
+ oprot.writeFieldBegin(END_TOKEN_FIELD_DESC);
+ oprot.writeString(this.end_token);
+ oprot.writeFieldEnd();
+ }
+ if (this.endpoints != null) {
+ oprot.writeFieldBegin(ENDPOINTS_FIELD_DESC);
+ {
+ oprot.writeListBegin(new TList(TType.STRING, this.endpoints.size()));
+ for (String _iter15 : this.endpoints)
+ {
+ oprot.writeString(_iter15);
+ }
+ oprot.writeListEnd();
+ }
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("TokenRange(");
+ boolean first = true;
+
+ sb.append("start_token:");
+ if (this.start_token == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.start_token);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("end_token:");
+ if (this.end_token == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.end_token);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("endpoints:");
+ if (this.endpoints == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.endpoints);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws TException {
+ // check for required fields
+ if (start_token == null) {
+ throw new TProtocolException("Required field 'start_token' was not present! Struct: " + toString());
+ }
+ if (end_token == null) {
+ throw new TProtocolException("Required field 'end_token' was not present! Struct: " + toString());
+ }
+ if (endpoints == null) {
+ throw new TProtocolException("Required field 'endpoints' was not present! Struct: " + toString());
+ }
+ }
+
+}
+
Propchange: incubator/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/cassandra/trunk/interface/thrift/gen-py/__init__.py
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/thrift/gen-py/__init__.py?rev=907705&view=auto
==============================================================================
(empty)
Propchange: incubator/cassandra/trunk/interface/thrift/gen-py/__init__.py
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/cassandra/trunk/interface/thrift/gen-py/cassandra/Cassandra-remote
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/interface/thrift/gen-py/cassandra/Cassandra-remote?rev=907705&view=auto
==============================================================================
--- incubator/cassandra/trunk/interface/thrift/gen-py/cassandra/Cassandra-remote (added)
+++ incubator/cassandra/trunk/interface/thrift/gen-py/cassandra/Cassandra-remote Mon Feb 8 15:57:45 2010
@@ -0,0 +1,198 @@
+#!/usr/bin/env python
+#
+# Autogenerated by Thrift
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+
+import sys
+import pprint
+from urlparse import urlparse
+from thrift.transport import TTransport
+from thrift.transport import TSocket
+from thrift.transport import THttpClient
+from thrift.protocol import TBinaryProtocol
+
+import Cassandra
+from ttypes import *
+
+if len(sys.argv) <= 1 or sys.argv[1] == '--help':
+ print ''
+ print 'Usage: ' + sys.argv[0] + ' [-h host:port] [-u url] [-f[ramed]] function [arg1 [arg2...]]'
+ print ''
+ print 'Functions:'
+ print ' void login(string keyspace, AuthenticationRequest auth_request)'
+ print ' ColumnOrSuperColumn get(string keyspace, string key, ColumnPath column_path, ConsistencyLevel consistency_level)'
+ print ' get_slice(string keyspace, string key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)'
+ print ' multiget(string keyspace, keys, ColumnPath column_path, ConsistencyLevel consistency_level)'
+ print ' multiget_slice(string keyspace, keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level)'
+ print ' i32 get_count(string keyspace, string key, ColumnParent column_parent, ConsistencyLevel consistency_level)'
+ print ' get_range_slice(string keyspace, ColumnParent column_parent, SlicePredicate predicate, string start_key, string finish_key, i32 row_count, ConsistencyLevel consistency_level)'
+ print ' void insert(string keyspace, string key, ColumnPath column_path, string value, i64 timestamp, ConsistencyLevel consistency_level)'
+ print ' void batch_insert(string keyspace, string key, cfmap, ConsistencyLevel consistency_level)'
+ print ' void remove(string keyspace, string key, ColumnPath column_path, i64 timestamp, ConsistencyLevel consistency_level)'
+ print ' void batch_mutate(string keyspace, mutation_map, ConsistencyLevel consistency_level)'
+ print ' string get_string_property(string property)'
+ print ' get_string_list_property(string property)'
+ print ' describe_keyspaces()'
+ print ' string describe_cluster_name()'
+ print ' string describe_version()'
+ print ' describe_ring(string keyspace)'
+ print ' describe_keyspace(string keyspace)'
+ print ''
+ sys.exit(0)
+
+pp = pprint.PrettyPrinter(indent = 2)
+host = 'localhost'
+port = 9090
+uri = ''
+framed = False
+http = False
+argi = 1
+
+if sys.argv[argi] == '-h':
+ parts = sys.argv[argi+1].split(':')
+ host = parts[0]
+ port = int(parts[1])
+ argi += 2
+
+if sys.argv[argi] == '-u':
+ url = urlparse(sys.argv[argi+1])
+ parts = url[1].split(':')
+ host = parts[0]
+ if len(parts) > 1:
+ port = int(parts[1])
+ else:
+ port = 80
+ uri = url[2]
+ http = True
+ argi += 2
+
+if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed':
+ framed = True
+ argi += 1
+
+cmd = sys.argv[argi]
+args = sys.argv[argi+1:]
+
+if http:
+ transport = THttpClient.THttpClient(host, port, uri)
+else:
+ socket = TSocket.TSocket(host, port)
+ if framed:
+ transport = TTransport.TFramedTransport(socket)
+ else:
+ transport = TTransport.TBufferedTransport(socket)
+protocol = TBinaryProtocol.TBinaryProtocol(transport)
+client = Cassandra.Client(protocol)
+transport.open()
+
+if cmd == 'login':
+ if len(args) != 2:
+ print 'login requires 2 args'
+ sys.exit(1)
+ pp.pprint(client.login(args[0],eval(args[1]),))
+
+elif cmd == 'get':
+ if len(args) != 4:
+ print 'get requires 4 args'
+ sys.exit(1)
+ pp.pprint(client.get(args[0],args[1],eval(args[2]),eval(args[3]),))
+
+elif cmd == 'get_slice':
+ if len(args) != 5:
+ print 'get_slice requires 5 args'
+ sys.exit(1)
+ pp.pprint(client.get_slice(args[0],args[1],eval(args[2]),eval(args[3]),eval(args[4]),))
+
+elif cmd == 'multiget':
+ if len(args) != 4:
+ print 'multiget requires 4 args'
+ sys.exit(1)
+ pp.pprint(client.multiget(args[0],eval(args[1]),eval(args[2]),eval(args[3]),))
+
+elif cmd == 'multiget_slice':
+ if len(args) != 5:
+ print 'multiget_slice requires 5 args'
+ sys.exit(1)
+ pp.pprint(client.multiget_slice(args[0],eval(args[1]),eval(args[2]),eval(args[3]),eval(args[4]),))
+
+elif cmd == 'get_count':
+ if len(args) != 4:
+ print 'get_count requires 4 args'
+ sys.exit(1)
+ pp.pprint(client.get_count(args[0],args[1],eval(args[2]),eval(args[3]),))
+
+elif cmd == 'get_range_slice':
+ if len(args) != 7:
+ print 'get_range_slice requires 7 args'
+ sys.exit(1)
+ pp.pprint(client.get_range_slice(args[0],eval(args[1]),eval(args[2]),args[3],args[4],eval(args[5]),eval(args[6]),))
+
+elif cmd == 'insert':
+ if len(args) != 6:
+ print 'insert requires 6 args'
+ sys.exit(1)
+ pp.pprint(client.insert(args[0],args[1],eval(args[2]),args[3],eval(args[4]),eval(args[5]),))
+
+elif cmd == 'batch_insert':
+ if len(args) != 4:
+ print 'batch_insert requires 4 args'
+ sys.exit(1)
+ pp.pprint(client.batch_insert(args[0],args[1],eval(args[2]),eval(args[3]),))
+
+elif cmd == 'remove':
+ if len(args) != 5:
+ print 'remove requires 5 args'
+ sys.exit(1)
+ pp.pprint(client.remove(args[0],args[1],eval(args[2]),eval(args[3]),eval(args[4]),))
+
+elif cmd == 'batch_mutate':
+ if len(args) != 3:
+ print 'batch_mutate requires 3 args'
+ sys.exit(1)
+ pp.pprint(client.batch_mutate(args[0],eval(args[1]),eval(args[2]),))
+
+elif cmd == 'get_string_property':
+ if len(args) != 1:
+ print 'get_string_property requires 1 args'
+ sys.exit(1)
+ pp.pprint(client.get_string_property(args[0],))
+
+elif cmd == 'get_string_list_property':
+ if len(args) != 1:
+ print 'get_string_list_property requires 1 args'
+ sys.exit(1)
+ pp.pprint(client.get_string_list_property(args[0],))
+
+elif cmd == 'describe_keyspaces':
+ if len(args) != 0:
+ print 'describe_keyspaces requires 0 args'
+ sys.exit(1)
+ pp.pprint(client.describe_keyspaces())
+
+elif cmd == 'describe_cluster_name':
+ if len(args) != 0:
+ print 'describe_cluster_name requires 0 args'
+ sys.exit(1)
+ pp.pprint(client.describe_cluster_name())
+
+elif cmd == 'describe_version':
+ if len(args) != 0:
+ print 'describe_version requires 0 args'
+ sys.exit(1)
+ pp.pprint(client.describe_version())
+
+elif cmd == 'describe_ring':
+ if len(args) != 1:
+ print 'describe_ring requires 1 args'
+ sys.exit(1)
+ pp.pprint(client.describe_ring(args[0],))
+
+elif cmd == 'describe_keyspace':
+ if len(args) != 1:
+ print 'describe_keyspace requires 1 args'
+ sys.exit(1)
+ pp.pprint(client.describe_keyspace(args[0],))
+
+transport.close()