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()