From d849c697a57453f535e28e2372eb79ee5dc641ef Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Wed, 14 Jul 2010 02:47:03 +0000 Subject: [PATCH] upgrade to latest thrift. patch by Nate McCall; reviewed by jbellis for CASSANDRA-1266 git-svn-id: https://svn.apache.org/repos/asf/cassandra/trunk@963928 13f79535-47bb-0310-9956-ffa450edef68 --- .../thrift/AuthenticationException.java | 25 +- .../thrift/AuthenticationRequest.java | 43 +- .../thrift/AuthorizationException.java | 25 +- .../apache/cassandra/thrift/Cassandra.java | 3263 +++++++++++++---- .../org/apache/cassandra/thrift/CfDef.java | 97 +- .../org/apache/cassandra/thrift/Clock.java | 25 +- .../org/apache/cassandra/thrift/Column.java | 49 +- .../apache/cassandra/thrift/ColumnDef.java | 49 +- .../cassandra/thrift/ColumnOrSuperColumn.java | 33 +- .../apache/cassandra/thrift/ColumnParent.java | 33 +- .../apache/cassandra/thrift/ColumnPath.java | 41 +- .../org/apache/cassandra/thrift/Deletion.java | 41 +- .../apache/cassandra/thrift/IndexClause.java | 37 +- .../cassandra/thrift/IndexExpression.java | 41 +- .../thrift/InvalidRequestException.java | 25 +- .../org/apache/cassandra/thrift/KeyCount.java | 33 +- .../org/apache/cassandra/thrift/KeyRange.java | 57 +- .../org/apache/cassandra/thrift/KeySlice.java | 31 +- .../org/apache/cassandra/thrift/KsDef.java | 43 +- .../org/apache/cassandra/thrift/Mutation.java | 33 +- .../cassandra/thrift/NotFoundException.java | 17 +- .../apache/cassandra/thrift/RowPredicate.java | 37 +- .../cassandra/thrift/SlicePredicate.java | 31 +- .../apache/cassandra/thrift/SliceRange.java | 49 +- .../apache/cassandra/thrift/SuperColumn.java | 31 +- .../cassandra/thrift/TimedOutException.java | 17 +- .../apache/cassandra/thrift/TokenRange.java | 37 +- .../thrift/UnavailableException.java | 17 +- lib/libthrift-r917130.jar | Bin 188158 -> 0 bytes lib/libthrift-r959516.jar | Bin 0 -> 214739 bytes ...hrift-r917130.txt => libthrift-r959516.txt | 0 31 files changed, 3073 insertions(+), 1187 deletions(-) delete mode 100755 lib/libthrift-r917130.jar create mode 100644 lib/libthrift-r959516.jar rename lib/licenses/libthrift-r917130.txt => libthrift-r959516.txt (100%) diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationException.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationException.java index a4384dd155..9e1fc66ae0 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationException.java @@ -41,13 +41,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** * invalid authentication request (invalid keyspace, user does not exist, or credentials invalid) */ -public class AuthenticationException extends Exception implements TBase, java.io.Serializable, Cloneable, Comparable { +public class AuthenticationException extends Exception implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("AuthenticationException"); private static final TField WHY_FIELD_DESC = new TField("why", TType.STRING, (short)1); @@ -58,12 +60,10 @@ public class AuthenticationException extends Exception implements TBase byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -72,7 +72,12 @@ public class AuthenticationException extends Exception implements TBase metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.WHY, new FieldMetaData("why", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.WHY, new FieldMetaData("why", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(AuthenticationException.class, metaDataMap); } @@ -257,7 +262,7 @@ public class AuthenticationException extends Exception implements TBase, java.io.Serializable, Cloneable { +public class AuthenticationRequest implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("AuthenticationRequest"); private static final TField CREDENTIALS_FIELD_DESC = new TField("credentials", TType.MAP, (short)1); @@ -58,12 +60,10 @@ public class AuthenticationRequest implements TBase byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -72,7 +72,12 @@ public class AuthenticationRequest implements TBase metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.CREDENTIALS, new FieldMetaData("credentials", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.CREDENTIALS, new FieldMetaData("credentials", TFieldRequirementType.REQUIRED, new MapMetaData(TType.MAP, new FieldValueMetaData(TType.STRING), new FieldValueMetaData(TType.STRING)))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(AuthenticationRequest.class, metaDataMap); } @@ -270,6 +275,26 @@ public class AuthenticationRequest implements TBase, java.io.Serializable, Cloneable, Comparable { +public class AuthorizationException extends Exception implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("AuthorizationException"); private static final TField WHY_FIELD_DESC = new TField("why", TType.STRING, (short)1); @@ -58,12 +60,10 @@ public class AuthorizationException extends Exception implements TBase byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -72,7 +72,12 @@ public class AuthorizationException extends Exception implements TBase metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.WHY, new FieldMetaData("why", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.WHY, new FieldMetaData("why", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(AuthorizationException.class, metaDataMap); } @@ -257,7 +262,7 @@ public class AuthorizationException extends Exception implements TBase resultHandler) throws TException; + + public void set_keyspace(String keyspace, AsyncMethodCallback resultHandler) throws TException; + + public void get(byte[] key, ColumnPath column_path, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void get_slice(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void multiget_slice(List keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void get_count(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void multiget_count(String keyspace, List keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void get_range_slices(ColumnParent column_parent, SlicePredicate predicate, KeyRange range, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void scan(ColumnParent column_parent, RowPredicate row_predicate, SlicePredicate column_predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void scan_count(ColumnParent column_parent, RowPredicate row_predicate, SlicePredicate column_predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void insert(byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void remove(byte[] key, ColumnPath column_path, Clock clock, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void batch_mutate(Map>> mutation_map, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException; + + public void truncate(String cfname, AsyncMethodCallback resultHandler) throws TException; + + public void check_schema_agreement(AsyncMethodCallback resultHandler) throws TException; + + public void describe_keyspaces(AsyncMethodCallback resultHandler) throws TException; + + public void describe_cluster_name(AsyncMethodCallback resultHandler) throws TException; + + public void describe_version(AsyncMethodCallback resultHandler) throws TException; + + public void describe_ring(String keyspace, AsyncMethodCallback resultHandler) throws TException; + + public void describe_keyspace(String keyspace, AsyncMethodCallback resultHandler) throws TException; + + public void describe_splits(String keyspace, String cfName, String start_token, String end_token, int keys_per_split, AsyncMethodCallback resultHandler) throws TException; + + public void system_add_column_family(CfDef cf_def, AsyncMethodCallback resultHandler) throws TException; + + public void system_drop_column_family(String column_family, AsyncMethodCallback resultHandler) throws TException; + + public void system_rename_column_family(String old_name, String new_name, AsyncMethodCallback resultHandler) throws TException; + + public void system_add_keyspace(KsDef ks_def, AsyncMethodCallback resultHandler) throws TException; + + public void system_drop_keyspace(String keyspace, AsyncMethodCallback resultHandler) throws TException; + + public void system_rename_keyspace(String old_name, String new_name, AsyncMethodCallback resultHandler) throws TException; + + } + + public static class Client implements TServiceClient, Iface { + public static class Factory implements TServiceClientFactory { + public Factory() {} + public Client getClient(TProtocol prot) { + return new Client(prot); + } + public Client getClient(TProtocol iprot, TProtocol oprot) { + return new Client(iprot, oprot); + } + } + public Client(TProtocol prot) { this(prot, prot); @@ -321,9 +391,9 @@ public class Cassandra { public void send_login(AuthenticationRequest auth_request) throws TException { - oprot_.writeMessageBegin(new TMessage("login", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("login", TMessageType.CALL, ++seqid_)); login_args args = new login_args(); - args.auth_request = auth_request; + args.setAuth_request(auth_request); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -337,6 +407,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "login failed: out of sequence response"); + } login_result result = new login_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -360,9 +433,9 @@ public class Cassandra { public void send_set_keyspace(String keyspace) throws TException { - oprot_.writeMessageBegin(new TMessage("set_keyspace", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("set_keyspace", TMessageType.CALL, ++seqid_)); set_keyspace_args args = new set_keyspace_args(); - args.keyspace = keyspace; + args.setKeyspace(keyspace); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -376,6 +449,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "set_keyspace failed: out of sequence response"); + } set_keyspace_result result = new set_keyspace_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -393,11 +469,11 @@ public class Cassandra { public void send_get(byte[] key, ColumnPath column_path, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("get", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("get", TMessageType.CALL, ++seqid_)); get_args args = new get_args(); - args.key = key; - args.column_path = column_path; - args.consistency_level = consistency_level; + args.setKey(key); + args.setColumn_path(column_path); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -411,6 +487,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "get failed: out of sequence response"); + } get_result result = new get_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -440,12 +519,12 @@ public class Cassandra { public void send_get_slice(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("get_slice", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("get_slice", TMessageType.CALL, ++seqid_)); get_slice_args args = new get_slice_args(); - args.key = key; - args.column_parent = column_parent; - args.predicate = predicate; - args.consistency_level = consistency_level; + args.setKey(key); + args.setColumn_parent(column_parent); + args.setPredicate(predicate); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -459,6 +538,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "get_slice failed: out of sequence response"); + } get_slice_result result = new get_slice_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -485,12 +567,12 @@ public class Cassandra { public void send_multiget_slice(List keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("multiget_slice", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("multiget_slice", TMessageType.CALL, ++seqid_)); multiget_slice_args args = new multiget_slice_args(); - args.keys = keys; - args.column_parent = column_parent; - args.predicate = predicate; - args.consistency_level = consistency_level; + args.setKeys(keys); + args.setColumn_parent(column_parent); + args.setPredicate(predicate); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -504,6 +586,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "multiget_slice failed: out of sequence response"); + } multiget_slice_result result = new multiget_slice_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -530,12 +615,12 @@ public class Cassandra { public void send_get_count(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("get_count", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("get_count", TMessageType.CALL, ++seqid_)); get_count_args args = new get_count_args(); - args.key = key; - args.column_parent = column_parent; - args.predicate = predicate; - args.consistency_level = consistency_level; + args.setKey(key); + args.setColumn_parent(column_parent); + args.setPredicate(predicate); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -549,6 +634,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "get_count failed: out of sequence response"); + } get_count_result result = new get_count_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -575,13 +663,13 @@ public class Cassandra { public void send_multiget_count(String keyspace, List keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("multiget_count", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("multiget_count", TMessageType.CALL, ++seqid_)); multiget_count_args args = new multiget_count_args(); - args.keyspace = keyspace; - args.keys = keys; - args.column_parent = column_parent; - args.predicate = predicate; - args.consistency_level = consistency_level; + args.setKeyspace(keyspace); + args.setKeys(keys); + args.setColumn_parent(column_parent); + args.setPredicate(predicate); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -595,6 +683,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "multiget_count failed: out of sequence response"); + } multiget_count_result result = new multiget_count_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -621,12 +712,12 @@ public class Cassandra { public void send_get_range_slices(ColumnParent column_parent, SlicePredicate predicate, KeyRange range, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("get_range_slices", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("get_range_slices", TMessageType.CALL, ++seqid_)); get_range_slices_args args = new get_range_slices_args(); - args.column_parent = column_parent; - args.predicate = predicate; - args.range = range; - args.consistency_level = consistency_level; + args.setColumn_parent(column_parent); + args.setPredicate(predicate); + args.setRange(range); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -640,6 +731,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "get_range_slices failed: out of sequence response"); + } get_range_slices_result result = new get_range_slices_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -666,12 +760,12 @@ public class Cassandra { public void send_scan(ColumnParent column_parent, RowPredicate row_predicate, SlicePredicate column_predicate, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("scan", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("scan", TMessageType.CALL, ++seqid_)); scan_args args = new scan_args(); - args.column_parent = column_parent; - args.row_predicate = row_predicate; - args.column_predicate = column_predicate; - args.consistency_level = consistency_level; + args.setColumn_parent(column_parent); + args.setRow_predicate(row_predicate); + args.setColumn_predicate(column_predicate); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -685,6 +779,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "scan failed: out of sequence response"); + } scan_result result = new scan_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -711,12 +808,12 @@ public class Cassandra { public void send_scan_count(ColumnParent column_parent, RowPredicate row_predicate, SlicePredicate column_predicate, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("scan_count", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("scan_count", TMessageType.CALL, ++seqid_)); scan_count_args args = new scan_count_args(); - args.column_parent = column_parent; - args.row_predicate = row_predicate; - args.column_predicate = column_predicate; - args.consistency_level = consistency_level; + args.setColumn_parent(column_parent); + args.setRow_predicate(row_predicate); + args.setColumn_predicate(column_predicate); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -730,6 +827,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "scan_count failed: out of sequence response"); + } scan_count_result result = new scan_count_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -756,12 +856,12 @@ public class Cassandra { public void send_insert(byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("insert", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("insert", TMessageType.CALL, ++seqid_)); insert_args args = new insert_args(); - args.key = key; - args.column_parent = column_parent; - args.column = column; - args.consistency_level = consistency_level; + args.setKey(key); + args.setColumn_parent(column_parent); + args.setColumn(column); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -775,6 +875,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "insert failed: out of sequence response"); + } insert_result result = new insert_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -798,12 +901,12 @@ public class Cassandra { public void send_remove(byte[] key, ColumnPath column_path, Clock clock, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("remove", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("remove", TMessageType.CALL, ++seqid_)); remove_args args = new remove_args(); - args.key = key; - args.column_path = column_path; - args.clock = clock; - args.consistency_level = consistency_level; + args.setKey(key); + args.setColumn_path(column_path); + args.setClock(clock); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -817,6 +920,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "remove failed: out of sequence response"); + } remove_result result = new remove_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -840,10 +946,10 @@ public class Cassandra { public void send_batch_mutate(Map>> mutation_map, ConsistencyLevel consistency_level) throws TException { - oprot_.writeMessageBegin(new TMessage("batch_mutate", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("batch_mutate", TMessageType.CALL, ++seqid_)); batch_mutate_args args = new batch_mutate_args(); - args.mutation_map = mutation_map; - args.consistency_level = consistency_level; + args.setMutation_map(mutation_map); + args.setConsistency_level(consistency_level); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -857,6 +963,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "batch_mutate failed: out of sequence response"); + } batch_mutate_result result = new batch_mutate_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -880,9 +989,9 @@ public class Cassandra { public void send_truncate(String cfname) throws TException { - oprot_.writeMessageBegin(new TMessage("truncate", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("truncate", TMessageType.CALL, ++seqid_)); truncate_args args = new truncate_args(); - args.cfname = cfname; + args.setCfname(cfname); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -896,6 +1005,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "truncate failed: out of sequence response"); + } truncate_result result = new truncate_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -916,7 +1028,7 @@ public class Cassandra { public void send_check_schema_agreement() throws TException { - oprot_.writeMessageBegin(new TMessage("check_schema_agreement", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("check_schema_agreement", TMessageType.CALL, ++seqid_)); check_schema_agreement_args args = new check_schema_agreement_args(); args.write(oprot_); oprot_.writeMessageEnd(); @@ -931,6 +1043,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "check_schema_agreement failed: out of sequence response"); + } check_schema_agreement_result result = new check_schema_agreement_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -951,7 +1066,7 @@ public class Cassandra { public void send_describe_keyspaces() throws TException { - oprot_.writeMessageBegin(new TMessage("describe_keyspaces", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("describe_keyspaces", TMessageType.CALL, ++seqid_)); describe_keyspaces_args args = new describe_keyspaces_args(); args.write(oprot_); oprot_.writeMessageEnd(); @@ -966,6 +1081,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "describe_keyspaces failed: out of sequence response"); + } describe_keyspaces_result result = new describe_keyspaces_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -983,7 +1101,7 @@ public class Cassandra { public void send_describe_cluster_name() throws TException { - oprot_.writeMessageBegin(new TMessage("describe_cluster_name", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("describe_cluster_name", TMessageType.CALL, ++seqid_)); describe_cluster_name_args args = new describe_cluster_name_args(); args.write(oprot_); oprot_.writeMessageEnd(); @@ -998,6 +1116,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "describe_cluster_name failed: out of sequence response"); + } describe_cluster_name_result result = new describe_cluster_name_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1015,7 +1136,7 @@ public class Cassandra { public void send_describe_version() throws TException { - oprot_.writeMessageBegin(new TMessage("describe_version", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("describe_version", TMessageType.CALL, ++seqid_)); describe_version_args args = new describe_version_args(); args.write(oprot_); oprot_.writeMessageEnd(); @@ -1030,6 +1151,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "describe_version failed: out of sequence response"); + } describe_version_result result = new describe_version_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1047,9 +1171,9 @@ public class Cassandra { public void send_describe_ring(String keyspace) throws TException { - oprot_.writeMessageBegin(new TMessage("describe_ring", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("describe_ring", TMessageType.CALL, ++seqid_)); describe_ring_args args = new describe_ring_args(); - args.keyspace = keyspace; + args.setKeyspace(keyspace); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -1063,6 +1187,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "describe_ring failed: out of sequence response"); + } describe_ring_result result = new describe_ring_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1083,9 +1210,9 @@ public class Cassandra { public void send_describe_keyspace(String keyspace) throws TException { - oprot_.writeMessageBegin(new TMessage("describe_keyspace", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("describe_keyspace", TMessageType.CALL, ++seqid_)); describe_keyspace_args args = new describe_keyspace_args(); - args.keyspace = keyspace; + args.setKeyspace(keyspace); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -1099,6 +1226,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "describe_keyspace failed: out of sequence response"); + } describe_keyspace_result result = new describe_keyspace_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1119,13 +1249,13 @@ public class Cassandra { public void send_describe_splits(String keyspace, String cfName, String start_token, String end_token, int keys_per_split) throws TException { - oprot_.writeMessageBegin(new TMessage("describe_splits", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("describe_splits", TMessageType.CALL, ++seqid_)); describe_splits_args args = new describe_splits_args(); - args.keyspace = keyspace; - args.cfName = cfName; - args.start_token = start_token; - args.end_token = end_token; - args.keys_per_split = keys_per_split; + args.setKeyspace(keyspace); + args.setCfName(cfName); + args.setStart_token(start_token); + args.setEnd_token(end_token); + args.setKeys_per_split(keys_per_split); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -1139,6 +1269,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "describe_splits failed: out of sequence response"); + } describe_splits_result result = new describe_splits_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1156,9 +1289,9 @@ public class Cassandra { public void send_system_add_column_family(CfDef cf_def) throws TException { - oprot_.writeMessageBegin(new TMessage("system_add_column_family", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("system_add_column_family", TMessageType.CALL, ++seqid_)); system_add_column_family_args args = new system_add_column_family_args(); - args.cf_def = cf_def; + args.setCf_def(cf_def); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -1172,6 +1305,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "system_add_column_family failed: out of sequence response"); + } system_add_column_family_result result = new system_add_column_family_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1192,9 +1328,9 @@ public class Cassandra { public void send_system_drop_column_family(String column_family) throws TException { - oprot_.writeMessageBegin(new TMessage("system_drop_column_family", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("system_drop_column_family", TMessageType.CALL, ++seqid_)); system_drop_column_family_args args = new system_drop_column_family_args(); - args.column_family = column_family; + args.setColumn_family(column_family); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -1208,6 +1344,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "system_drop_column_family failed: out of sequence response"); + } system_drop_column_family_result result = new system_drop_column_family_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1228,10 +1367,10 @@ public class Cassandra { public void send_system_rename_column_family(String old_name, String new_name) throws TException { - oprot_.writeMessageBegin(new TMessage("system_rename_column_family", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("system_rename_column_family", TMessageType.CALL, ++seqid_)); system_rename_column_family_args args = new system_rename_column_family_args(); - args.old_name = old_name; - args.new_name = new_name; + args.setOld_name(old_name); + args.setNew_name(new_name); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -1245,6 +1384,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "system_rename_column_family failed: out of sequence response"); + } system_rename_column_family_result result = new system_rename_column_family_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1265,9 +1407,9 @@ public class Cassandra { public void send_system_add_keyspace(KsDef ks_def) throws TException { - oprot_.writeMessageBegin(new TMessage("system_add_keyspace", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("system_add_keyspace", TMessageType.CALL, ++seqid_)); system_add_keyspace_args args = new system_add_keyspace_args(); - args.ks_def = ks_def; + args.setKs_def(ks_def); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -1281,6 +1423,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "system_add_keyspace failed: out of sequence response"); + } system_add_keyspace_result result = new system_add_keyspace_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1301,9 +1446,9 @@ public class Cassandra { public void send_system_drop_keyspace(String keyspace) throws TException { - oprot_.writeMessageBegin(new TMessage("system_drop_keyspace", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("system_drop_keyspace", TMessageType.CALL, ++seqid_)); system_drop_keyspace_args args = new system_drop_keyspace_args(); - args.keyspace = keyspace; + args.setKeyspace(keyspace); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -1317,6 +1462,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "system_drop_keyspace failed: out of sequence response"); + } system_drop_keyspace_result result = new system_drop_keyspace_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1337,10 +1485,10 @@ public class Cassandra { public void send_system_rename_keyspace(String old_name, String new_name) throws TException { - oprot_.writeMessageBegin(new TMessage("system_rename_keyspace", TMessageType.CALL, seqid_)); + oprot_.writeMessageBegin(new TMessage("system_rename_keyspace", TMessageType.CALL, ++seqid_)); system_rename_keyspace_args args = new system_rename_keyspace_args(); - args.old_name = old_name; - args.new_name = new_name; + args.setOld_name(old_name); + args.setNew_name(new_name); args.write(oprot_); oprot_.writeMessageEnd(); oprot_.getTransport().flush(); @@ -1354,6 +1502,9 @@ public class Cassandra { iprot_.readMessageEnd(); throw x; } + if (msg.seqid != seqid_) { + throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "system_rename_keyspace failed: out of sequence response"); + } system_rename_keyspace_result result = new system_rename_keyspace_result(); result.read(iprot_); iprot_.readMessageEnd(); @@ -1367,6 +1518,961 @@ public class Cassandra { } } + public static class AsyncClient extends TAsyncClient implements AsyncIface { + public static class Factory implements TAsyncClientFactory { + private TAsyncClientManager clientManager; + private TProtocolFactory protocolFactory; + public Factory(TAsyncClientManager clientManager, TProtocolFactory protocolFactory) { + this.clientManager = clientManager; + this.protocolFactory = protocolFactory; + } + public AsyncClient getAsyncClient(TNonblockingTransport transport) { + return new AsyncClient(protocolFactory, clientManager, transport); + } + } + + public AsyncClient(TProtocolFactory protocolFactory, TAsyncClientManager clientManager, TNonblockingTransport transport) { + super(protocolFactory, clientManager, transport); + } + + public void login(AuthenticationRequest auth_request, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + login_call method_call = new login_call(auth_request, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class login_call extends TAsyncMethodCall { + private AuthenticationRequest auth_request; + public login_call(AuthenticationRequest auth_request, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.auth_request = auth_request; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("login", TMessageType.CALL, 0)); + login_args args = new login_args(); + args.setAuth_request(auth_request); + args.write(prot); + prot.writeMessageEnd(); + } + + public AccessLevel getResult() throws AuthenticationException, AuthorizationException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_login(); + } + } + + public void set_keyspace(String keyspace, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + set_keyspace_call method_call = new set_keyspace_call(keyspace, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class set_keyspace_call extends TAsyncMethodCall { + private String keyspace; + public set_keyspace_call(String keyspace, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.keyspace = keyspace; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("set_keyspace", TMessageType.CALL, 0)); + set_keyspace_args args = new set_keyspace_args(); + args.setKeyspace(keyspace); + args.write(prot); + prot.writeMessageEnd(); + } + + public void getResult() throws InvalidRequestException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + (new Client(prot)).recv_set_keyspace(); + } + } + + public void get(byte[] key, ColumnPath column_path, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + get_call method_call = new get_call(key, column_path, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class get_call extends TAsyncMethodCall { + private byte[] key; + private ColumnPath column_path; + private ConsistencyLevel consistency_level; + public get_call(byte[] key, ColumnPath column_path, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.key = key; + this.column_path = column_path; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("get", TMessageType.CALL, 0)); + get_args args = new get_args(); + args.setKey(key); + args.setColumn_path(column_path); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public ColumnOrSuperColumn getResult() throws InvalidRequestException, NotFoundException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_get(); + } + } + + public void get_slice(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + get_slice_call method_call = new get_slice_call(key, column_parent, predicate, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class get_slice_call extends TAsyncMethodCall { + private byte[] key; + private ColumnParent column_parent; + private SlicePredicate predicate; + private ConsistencyLevel consistency_level; + public get_slice_call(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.key = key; + this.column_parent = column_parent; + this.predicate = predicate; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("get_slice", TMessageType.CALL, 0)); + get_slice_args args = new get_slice_args(); + args.setKey(key); + args.setColumn_parent(column_parent); + args.setPredicate(predicate); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public List getResult() throws InvalidRequestException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_get_slice(); + } + } + + public void multiget_slice(List keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + multiget_slice_call method_call = new multiget_slice_call(keys, column_parent, predicate, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class multiget_slice_call extends TAsyncMethodCall { + private List keys; + private ColumnParent column_parent; + private SlicePredicate predicate; + private ConsistencyLevel consistency_level; + public multiget_slice_call(List keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.keys = keys; + this.column_parent = column_parent; + this.predicate = predicate; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("multiget_slice", TMessageType.CALL, 0)); + multiget_slice_args args = new multiget_slice_args(); + args.setKeys(keys); + args.setColumn_parent(column_parent); + args.setPredicate(predicate); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public Map> getResult() throws InvalidRequestException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_multiget_slice(); + } + } + + public void get_count(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + get_count_call method_call = new get_count_call(key, column_parent, predicate, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class get_count_call extends TAsyncMethodCall { + private byte[] key; + private ColumnParent column_parent; + private SlicePredicate predicate; + private ConsistencyLevel consistency_level; + public get_count_call(byte[] key, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.key = key; + this.column_parent = column_parent; + this.predicate = predicate; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("get_count", TMessageType.CALL, 0)); + get_count_args args = new get_count_args(); + args.setKey(key); + args.setColumn_parent(column_parent); + args.setPredicate(predicate); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public int getResult() throws InvalidRequestException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_get_count(); + } + } + + public void multiget_count(String keyspace, List keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + multiget_count_call method_call = new multiget_count_call(keyspace, keys, column_parent, predicate, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class multiget_count_call extends TAsyncMethodCall { + private String keyspace; + private List keys; + private ColumnParent column_parent; + private SlicePredicate predicate; + private ConsistencyLevel consistency_level; + public multiget_count_call(String keyspace, List keys, ColumnParent column_parent, SlicePredicate predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.keyspace = keyspace; + this.keys = keys; + this.column_parent = column_parent; + this.predicate = predicate; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("multiget_count", TMessageType.CALL, 0)); + multiget_count_args args = new multiget_count_args(); + args.setKeyspace(keyspace); + args.setKeys(keys); + args.setColumn_parent(column_parent); + args.setPredicate(predicate); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public Map getResult() throws InvalidRequestException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_multiget_count(); + } + } + + public void get_range_slices(ColumnParent column_parent, SlicePredicate predicate, KeyRange range, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + get_range_slices_call method_call = new get_range_slices_call(column_parent, predicate, range, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class get_range_slices_call extends TAsyncMethodCall { + private ColumnParent column_parent; + private SlicePredicate predicate; + private KeyRange range; + private ConsistencyLevel consistency_level; + public get_range_slices_call(ColumnParent column_parent, SlicePredicate predicate, KeyRange range, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.column_parent = column_parent; + this.predicate = predicate; + this.range = range; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("get_range_slices", TMessageType.CALL, 0)); + get_range_slices_args args = new get_range_slices_args(); + args.setColumn_parent(column_parent); + args.setPredicate(predicate); + args.setRange(range); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public List getResult() throws InvalidRequestException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_get_range_slices(); + } + } + + public void scan(ColumnParent column_parent, RowPredicate row_predicate, SlicePredicate column_predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + scan_call method_call = new scan_call(column_parent, row_predicate, column_predicate, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class scan_call extends TAsyncMethodCall { + private ColumnParent column_parent; + private RowPredicate row_predicate; + private SlicePredicate column_predicate; + private ConsistencyLevel consistency_level; + public scan_call(ColumnParent column_parent, RowPredicate row_predicate, SlicePredicate column_predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.column_parent = column_parent; + this.row_predicate = row_predicate; + this.column_predicate = column_predicate; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("scan", TMessageType.CALL, 0)); + scan_args args = new scan_args(); + args.setColumn_parent(column_parent); + args.setRow_predicate(row_predicate); + args.setColumn_predicate(column_predicate); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public List getResult() throws InvalidRequestException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_scan(); + } + } + + public void scan_count(ColumnParent column_parent, RowPredicate row_predicate, SlicePredicate column_predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + scan_count_call method_call = new scan_count_call(column_parent, row_predicate, column_predicate, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class scan_count_call extends TAsyncMethodCall { + private ColumnParent column_parent; + private RowPredicate row_predicate; + private SlicePredicate column_predicate; + private ConsistencyLevel consistency_level; + public scan_count_call(ColumnParent column_parent, RowPredicate row_predicate, SlicePredicate column_predicate, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.column_parent = column_parent; + this.row_predicate = row_predicate; + this.column_predicate = column_predicate; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("scan_count", TMessageType.CALL, 0)); + scan_count_args args = new scan_count_args(); + args.setColumn_parent(column_parent); + args.setRow_predicate(row_predicate); + args.setColumn_predicate(column_predicate); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public List getResult() throws InvalidRequestException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_scan_count(); + } + } + + public void insert(byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + insert_call method_call = new insert_call(key, column_parent, column, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class insert_call extends TAsyncMethodCall { + private byte[] key; + private ColumnParent column_parent; + private Column column; + private ConsistencyLevel consistency_level; + public insert_call(byte[] key, ColumnParent column_parent, Column column, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.key = key; + this.column_parent = column_parent; + this.column = column; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("insert", TMessageType.CALL, 0)); + insert_args args = new insert_args(); + args.setKey(key); + args.setColumn_parent(column_parent); + args.setColumn(column); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public void getResult() throws InvalidRequestException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + (new Client(prot)).recv_insert(); + } + } + + public void remove(byte[] key, ColumnPath column_path, Clock clock, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + remove_call method_call = new remove_call(key, column_path, clock, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class remove_call extends TAsyncMethodCall { + private byte[] key; + private ColumnPath column_path; + private Clock clock; + private ConsistencyLevel consistency_level; + public remove_call(byte[] key, ColumnPath column_path, Clock clock, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.key = key; + this.column_path = column_path; + this.clock = clock; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("remove", TMessageType.CALL, 0)); + remove_args args = new remove_args(); + args.setKey(key); + args.setColumn_path(column_path); + args.setClock(clock); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public void getResult() throws InvalidRequestException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + (new Client(prot)).recv_remove(); + } + } + + public void batch_mutate(Map>> mutation_map, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + batch_mutate_call method_call = new batch_mutate_call(mutation_map, consistency_level, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class batch_mutate_call extends TAsyncMethodCall { + private Map>> mutation_map; + private ConsistencyLevel consistency_level; + public batch_mutate_call(Map>> mutation_map, ConsistencyLevel consistency_level, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.mutation_map = mutation_map; + this.consistency_level = consistency_level; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("batch_mutate", TMessageType.CALL, 0)); + batch_mutate_args args = new batch_mutate_args(); + args.setMutation_map(mutation_map); + args.setConsistency_level(consistency_level); + args.write(prot); + prot.writeMessageEnd(); + } + + public void getResult() throws InvalidRequestException, UnavailableException, TimedOutException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + (new Client(prot)).recv_batch_mutate(); + } + } + + public void truncate(String cfname, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + truncate_call method_call = new truncate_call(cfname, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class truncate_call extends TAsyncMethodCall { + private String cfname; + public truncate_call(String cfname, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.cfname = cfname; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("truncate", TMessageType.CALL, 0)); + truncate_args args = new truncate_args(); + args.setCfname(cfname); + args.write(prot); + prot.writeMessageEnd(); + } + + public void getResult() throws InvalidRequestException, UnavailableException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + (new Client(prot)).recv_truncate(); + } + } + + public void check_schema_agreement(AsyncMethodCallback resultHandler) throws TException { + checkReady(); + check_schema_agreement_call method_call = new check_schema_agreement_call(resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class check_schema_agreement_call extends TAsyncMethodCall { + public check_schema_agreement_call(AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("check_schema_agreement", TMessageType.CALL, 0)); + check_schema_agreement_args args = new check_schema_agreement_args(); + args.write(prot); + prot.writeMessageEnd(); + } + + public Map> getResult() throws InvalidRequestException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_check_schema_agreement(); + } + } + + public void describe_keyspaces(AsyncMethodCallback resultHandler) throws TException { + checkReady(); + describe_keyspaces_call method_call = new describe_keyspaces_call(resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class describe_keyspaces_call extends TAsyncMethodCall { + public describe_keyspaces_call(AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("describe_keyspaces", TMessageType.CALL, 0)); + describe_keyspaces_args args = new describe_keyspaces_args(); + args.write(prot); + prot.writeMessageEnd(); + } + + public Set getResult() throws TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_describe_keyspaces(); + } + } + + public void describe_cluster_name(AsyncMethodCallback resultHandler) throws TException { + checkReady(); + describe_cluster_name_call method_call = new describe_cluster_name_call(resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class describe_cluster_name_call extends TAsyncMethodCall { + public describe_cluster_name_call(AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("describe_cluster_name", TMessageType.CALL, 0)); + describe_cluster_name_args args = new describe_cluster_name_args(); + args.write(prot); + prot.writeMessageEnd(); + } + + public String getResult() throws TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_describe_cluster_name(); + } + } + + public void describe_version(AsyncMethodCallback resultHandler) throws TException { + checkReady(); + describe_version_call method_call = new describe_version_call(resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class describe_version_call extends TAsyncMethodCall { + public describe_version_call(AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("describe_version", TMessageType.CALL, 0)); + describe_version_args args = new describe_version_args(); + args.write(prot); + prot.writeMessageEnd(); + } + + public String getResult() throws TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_describe_version(); + } + } + + public void describe_ring(String keyspace, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + describe_ring_call method_call = new describe_ring_call(keyspace, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class describe_ring_call extends TAsyncMethodCall { + private String keyspace; + public describe_ring_call(String keyspace, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.keyspace = keyspace; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("describe_ring", TMessageType.CALL, 0)); + describe_ring_args args = new describe_ring_args(); + args.setKeyspace(keyspace); + args.write(prot); + prot.writeMessageEnd(); + } + + public List getResult() throws InvalidRequestException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_describe_ring(); + } + } + + public void describe_keyspace(String keyspace, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + describe_keyspace_call method_call = new describe_keyspace_call(keyspace, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class describe_keyspace_call extends TAsyncMethodCall { + private String keyspace; + public describe_keyspace_call(String keyspace, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.keyspace = keyspace; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("describe_keyspace", TMessageType.CALL, 0)); + describe_keyspace_args args = new describe_keyspace_args(); + args.setKeyspace(keyspace); + args.write(prot); + prot.writeMessageEnd(); + } + + public Map> getResult() throws NotFoundException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_describe_keyspace(); + } + } + + public void describe_splits(String keyspace, String cfName, String start_token, String end_token, int keys_per_split, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + describe_splits_call method_call = new describe_splits_call(keyspace, cfName, start_token, end_token, keys_per_split, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class describe_splits_call extends TAsyncMethodCall { + private String keyspace; + private String cfName; + private String start_token; + private String end_token; + private int keys_per_split; + public describe_splits_call(String keyspace, String cfName, String start_token, String end_token, int keys_per_split, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.keyspace = keyspace; + this.cfName = cfName; + this.start_token = start_token; + this.end_token = end_token; + this.keys_per_split = keys_per_split; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("describe_splits", TMessageType.CALL, 0)); + describe_splits_args args = new describe_splits_args(); + args.setKeyspace(keyspace); + args.setCfName(cfName); + args.setStart_token(start_token); + args.setEnd_token(end_token); + args.setKeys_per_split(keys_per_split); + args.write(prot); + prot.writeMessageEnd(); + } + + public List getResult() throws TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_describe_splits(); + } + } + + public void system_add_column_family(CfDef cf_def, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + system_add_column_family_call method_call = new system_add_column_family_call(cf_def, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class system_add_column_family_call extends TAsyncMethodCall { + private CfDef cf_def; + public system_add_column_family_call(CfDef cf_def, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.cf_def = cf_def; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("system_add_column_family", TMessageType.CALL, 0)); + system_add_column_family_args args = new system_add_column_family_args(); + args.setCf_def(cf_def); + args.write(prot); + prot.writeMessageEnd(); + } + + public String getResult() throws InvalidRequestException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_system_add_column_family(); + } + } + + public void system_drop_column_family(String column_family, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + system_drop_column_family_call method_call = new system_drop_column_family_call(column_family, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class system_drop_column_family_call extends TAsyncMethodCall { + private String column_family; + public system_drop_column_family_call(String column_family, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.column_family = column_family; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("system_drop_column_family", TMessageType.CALL, 0)); + system_drop_column_family_args args = new system_drop_column_family_args(); + args.setColumn_family(column_family); + args.write(prot); + prot.writeMessageEnd(); + } + + public String getResult() throws InvalidRequestException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_system_drop_column_family(); + } + } + + public void system_rename_column_family(String old_name, String new_name, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + system_rename_column_family_call method_call = new system_rename_column_family_call(old_name, new_name, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class system_rename_column_family_call extends TAsyncMethodCall { + private String old_name; + private String new_name; + public system_rename_column_family_call(String old_name, String new_name, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.old_name = old_name; + this.new_name = new_name; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("system_rename_column_family", TMessageType.CALL, 0)); + system_rename_column_family_args args = new system_rename_column_family_args(); + args.setOld_name(old_name); + args.setNew_name(new_name); + args.write(prot); + prot.writeMessageEnd(); + } + + public String getResult() throws InvalidRequestException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_system_rename_column_family(); + } + } + + public void system_add_keyspace(KsDef ks_def, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + system_add_keyspace_call method_call = new system_add_keyspace_call(ks_def, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class system_add_keyspace_call extends TAsyncMethodCall { + private KsDef ks_def; + public system_add_keyspace_call(KsDef ks_def, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.ks_def = ks_def; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("system_add_keyspace", TMessageType.CALL, 0)); + system_add_keyspace_args args = new system_add_keyspace_args(); + args.setKs_def(ks_def); + args.write(prot); + prot.writeMessageEnd(); + } + + public String getResult() throws InvalidRequestException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_system_add_keyspace(); + } + } + + public void system_drop_keyspace(String keyspace, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + system_drop_keyspace_call method_call = new system_drop_keyspace_call(keyspace, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class system_drop_keyspace_call extends TAsyncMethodCall { + private String keyspace; + public system_drop_keyspace_call(String keyspace, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.keyspace = keyspace; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("system_drop_keyspace", TMessageType.CALL, 0)); + system_drop_keyspace_args args = new system_drop_keyspace_args(); + args.setKeyspace(keyspace); + args.write(prot); + prot.writeMessageEnd(); + } + + public String getResult() throws InvalidRequestException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_system_drop_keyspace(); + } + } + + public void system_rename_keyspace(String old_name, String new_name, AsyncMethodCallback resultHandler) throws TException { + checkReady(); + system_rename_keyspace_call method_call = new system_rename_keyspace_call(old_name, new_name, resultHandler, this, protocolFactory, transport); + manager.call(method_call); + } + + public static class system_rename_keyspace_call extends TAsyncMethodCall { + private String old_name; + private String new_name; + public system_rename_keyspace_call(String old_name, String new_name, AsyncMethodCallback resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException { + super(client, protocolFactory, transport, resultHandler, false); + this.old_name = old_name; + this.new_name = new_name; + } + + public void write_args(TProtocol prot) throws TException { + prot.writeMessageBegin(new TMessage("system_rename_keyspace", TMessageType.CALL, 0)); + system_rename_keyspace_args args = new system_rename_keyspace_args(); + args.setOld_name(old_name); + args.setNew_name(new_name); + args.write(prot); + prot.writeMessageEnd(); + } + + public String getResult() throws InvalidRequestException, TException { + if (getState() != State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array()); + TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_system_rename_keyspace(); + } + } + + } + public static class Processor implements TProcessor { private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName()); public Processor(Iface iface) @@ -2457,7 +3563,7 @@ public class Cassandra { } - public static class login_args implements TBase, java.io.Serializable, Cloneable { + public static class login_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("login_args"); private static final TField AUTH_REQUEST_FIELD_DESC = new TField("auth_request", TType.STRUCT, (short)1); @@ -2468,12 +3574,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { AUTH_REQUEST((short)1, "auth_request"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -2482,7 +3586,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // AUTH_REQUEST + return AUTH_REQUEST; + default: + return null; + } } /** @@ -2521,12 +3630,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.AUTH_REQUEST, new FieldMetaData("auth_request", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, AuthenticationRequest.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.AUTH_REQUEST, new FieldMetaData("auth_request", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, AuthenticationRequest.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(login_args.class, metaDataMap); } @@ -2655,6 +3764,26 @@ public class Cassandra { return 0; } + public int compareTo(login_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + login_args typedOther = (login_args)other; + + lastComparison = Boolean.valueOf(isSetAuth_request()).compareTo(typedOther.isSetAuth_request()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetAuth_request()) { lastComparison = TBaseHelper.compareTo(this.auth_request, typedOther.auth_request); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + public void read(TProtocol iprot) throws TException { TField field; iprot.readStructBegin(); @@ -2722,7 +3851,7 @@ public class Cassandra { } - public static class login_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class login_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("login_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.I32, (short)0); @@ -2747,12 +3876,10 @@ public class Cassandra { AUTHNX((short)1, "authnx"), AUTHZX((short)2, "authzx"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -2761,7 +3888,16 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // AUTHNX + return AUTHNX; + case 2: // AUTHZX + return AUTHZX; + default: + return null; + } } /** @@ -2800,16 +3936,16 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new EnumMetaData(TType.ENUM, AccessLevel.class))); - put(_Fields.AUTHNX, new FieldMetaData("authnx", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.AUTHZX, new FieldMetaData("authzx", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new EnumMetaData(TType.ENUM, AccessLevel.class))); + tmpMap.put(_Fields.AUTHNX, new FieldMetaData("authnx", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.AUTHZX, new FieldMetaData("authzx", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(login_result.class, metaDataMap); } @@ -3060,7 +4196,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -3069,7 +4205,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetAuthnx()) { lastComparison = TBaseHelper.compareTo(authnx, typedOther.authnx); + if (isSetAuthnx()) { lastComparison = TBaseHelper.compareTo(this.authnx, typedOther.authnx); if (lastComparison != 0) { return lastComparison; } @@ -3078,7 +4214,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetAuthzx()) { lastComparison = TBaseHelper.compareTo(authzx, typedOther.authzx); + if (isSetAuthzx()) { lastComparison = TBaseHelper.compareTo(this.authzx, typedOther.authzx); if (lastComparison != 0) { return lastComparison; } @@ -3188,7 +4324,7 @@ public class Cassandra { } - public static class set_keyspace_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class set_keyspace_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("set_keyspace_args"); private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1); @@ -3199,12 +4335,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { KEYSPACE((short)1, "keyspace"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -3213,7 +4347,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEYSPACE + return KEYSPACE; + default: + return null; + } } /** @@ -3252,12 +4391,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(set_keyspace_args.class, metaDataMap); } @@ -3398,7 +4537,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(keyspace, typedOther.keyspace); + if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(this.keyspace, typedOther.keyspace); if (lastComparison != 0) { return lastComparison; } @@ -3472,7 +4611,7 @@ public class Cassandra { } - public static class set_keyspace_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class set_keyspace_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("set_keyspace_result"); private static final TField IRE_FIELD_DESC = new TField("ire", TType.STRUCT, (short)1); @@ -3483,12 +4622,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { IRE((short)1, "ire"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -3497,7 +4634,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // IRE + return IRE; + default: + return null; + } } /** @@ -3536,12 +4678,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(set_keyspace_result.class, metaDataMap); } @@ -3682,7 +4824,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -3753,7 +4895,7 @@ public class Cassandra { } - public static class get_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class get_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("get_args"); private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)1); @@ -3778,12 +4920,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)3, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -3792,7 +4932,16 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEY + return KEY; + case 2: // COLUMN_PATH + return COLUMN_PATH; + case 3: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -3831,16 +4980,16 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.COLUMN_PATH, new FieldMetaData("column_path", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, ColumnPath.class))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, - new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.COLUMN_PATH, new FieldMetaData("column_path", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, ColumnPath.class))); + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, + new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(get_args.class, metaDataMap); } @@ -4094,7 +5243,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKey()) { lastComparison = TBaseHelper.compareTo(key, typedOther.key); + if (isSetKey()) { lastComparison = TBaseHelper.compareTo(this.key, typedOther.key); if (lastComparison != 0) { return lastComparison; } @@ -4103,7 +5252,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_path()) { lastComparison = TBaseHelper.compareTo(column_path, typedOther.column_path); + if (isSetColumn_path()) { lastComparison = TBaseHelper.compareTo(this.column_path, typedOther.column_path); if (lastComparison != 0) { return lastComparison; } @@ -4112,7 +5261,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(consistency_level, typedOther.consistency_level); + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); if (lastComparison != 0) { return lastComparison; } @@ -4238,7 +5387,7 @@ public class Cassandra { } - public static class get_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class get_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("get_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRUCT, (short)0); @@ -4261,12 +5410,10 @@ public class Cassandra { UE((short)3, "ue"), TE((short)4, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -4275,7 +5422,20 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + case 2: // NFE + return NFE; + case 3: // UE + return UE; + case 4: // TE + return TE; + default: + return null; + } } /** @@ -4314,20 +5474,20 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.NFE, new FieldMetaData("nfe", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class))); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.NFE, new FieldMetaData("nfe", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(get_result.class, metaDataMap); } @@ -4672,7 +5832,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -4681,7 +5841,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -4690,7 +5850,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetNfe()) { lastComparison = TBaseHelper.compareTo(nfe, typedOther.nfe); + if (isSetNfe()) { lastComparison = TBaseHelper.compareTo(this.nfe, typedOther.nfe); if (lastComparison != 0) { return lastComparison; } @@ -4699,7 +5859,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetUe()) { lastComparison = TBaseHelper.compareTo(ue, typedOther.ue); + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); if (lastComparison != 0) { return lastComparison; } @@ -4708,7 +5868,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetTe()) { lastComparison = TBaseHelper.compareTo(te, typedOther.te); + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); if (lastComparison != 0) { return lastComparison; } @@ -4859,7 +6019,7 @@ public class Cassandra { } - public static class get_slice_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class get_slice_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("get_slice_args"); private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)1); @@ -4887,12 +6047,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)4, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -4901,7 +6059,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEY + return KEY; + case 2: // COLUMN_PARENT + return COLUMN_PARENT; + case 3: // PREDICATE + return PREDICATE; + case 4: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -4940,18 +6109,18 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, ColumnParent.class))); - put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, SlicePredicate.class))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, - new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, ColumnParent.class))); + tmpMap.put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, SlicePredicate.class))); + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, + new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(get_slice_args.class, metaDataMap); } @@ -5256,7 +6425,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKey()) { lastComparison = TBaseHelper.compareTo(key, typedOther.key); + if (isSetKey()) { lastComparison = TBaseHelper.compareTo(this.key, typedOther.key); if (lastComparison != 0) { return lastComparison; } @@ -5265,7 +6434,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(column_parent, typedOther.column_parent); + if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(this.column_parent, typedOther.column_parent); if (lastComparison != 0) { return lastComparison; } @@ -5274,7 +6443,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(predicate, typedOther.predicate); + if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(this.predicate, typedOther.predicate); if (lastComparison != 0) { return lastComparison; } @@ -5283,7 +6452,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(consistency_level, typedOther.consistency_level); + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); if (lastComparison != 0) { return lastComparison; } @@ -5433,7 +6602,7 @@ public class Cassandra { } - public static class get_slice_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class get_slice_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("get_slice_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); @@ -5453,12 +6622,10 @@ public class Cassandra { UE((short)2, "ue"), TE((short)3, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -5467,7 +6634,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + case 2: // UE + return UE; + case 3: // TE + return TE; + default: + return null; + } } /** @@ -5506,19 +6684,19 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class)))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(get_slice_result.class, metaDataMap); } @@ -5831,7 +7009,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -5840,7 +7018,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -5849,7 +7027,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetUe()) { lastComparison = TBaseHelper.compareTo(ue, typedOther.ue); + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); if (lastComparison != 0) { return lastComparison; } @@ -5858,7 +7036,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetTe()) { lastComparison = TBaseHelper.compareTo(te, typedOther.te); + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); if (lastComparison != 0) { return lastComparison; } @@ -6006,7 +7184,7 @@ public class Cassandra { } - public static class multiget_slice_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class multiget_slice_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("multiget_slice_args"); private static final TField KEYS_FIELD_DESC = new TField("keys", TType.LIST, (short)1); @@ -6034,12 +7212,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)4, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -6048,7 +7224,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEYS + return KEYS; + case 2: // COLUMN_PARENT + return COLUMN_PARENT; + case 3: // PREDICATE + return PREDICATE; + case 4: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -6087,19 +7274,19 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEYS, new FieldMetaData("keys", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEYS, new FieldMetaData("keys", TFieldRequirementType.REQUIRED, new ListMetaData(TType.LIST, new FieldValueMetaData(TType.STRING)))); - put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, new StructMetaData(TType.STRUCT, ColumnParent.class))); - put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.REQUIRED, new StructMetaData(TType.STRUCT, SlicePredicate.class))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(multiget_slice_args.class, metaDataMap); } @@ -6424,7 +7611,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKeys()) { lastComparison = TBaseHelper.compareTo(keys, typedOther.keys); + if (isSetKeys()) { lastComparison = TBaseHelper.compareTo(this.keys, typedOther.keys); if (lastComparison != 0) { return lastComparison; } @@ -6433,7 +7620,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(column_parent, typedOther.column_parent); + if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(this.column_parent, typedOther.column_parent); if (lastComparison != 0) { return lastComparison; } @@ -6442,7 +7629,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(predicate, typedOther.predicate); + if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(this.predicate, typedOther.predicate); if (lastComparison != 0) { return lastComparison; } @@ -6451,7 +7638,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(consistency_level, typedOther.consistency_level); + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); if (lastComparison != 0) { return lastComparison; } @@ -6613,7 +7800,7 @@ public class Cassandra { } - public static class multiget_slice_result implements TBase, java.io.Serializable, Cloneable { + public static class multiget_slice_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("multiget_slice_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.MAP, (short)0); @@ -6633,12 +7820,10 @@ public class Cassandra { UE((short)2, "ue"), TE((short)3, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -6647,7 +7832,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + case 2: // UE + return UE; + case 3: // TE + return TE; + default: + return null; + } } /** @@ -6686,21 +7882,21 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new MapMetaData(TType.MAP, new FieldValueMetaData(TType.STRING), new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class))))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(multiget_slice_result.class, metaDataMap); } @@ -7009,6 +8205,53 @@ public class Cassandra { return 0; } + public int compareTo(multiget_slice_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + multiget_slice_result typedOther = (multiget_slice_result)other; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetIre()).compareTo(typedOther.isSetIre()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetUe()).compareTo(typedOther.isSetUe()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTe()).compareTo(typedOther.isSetTe()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + public void read(TProtocol iprot) throws TException { TField field; iprot.readStructBegin(); @@ -7169,7 +8412,7 @@ public class Cassandra { } - public static class get_count_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class get_count_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("get_count_args"); private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)1); @@ -7197,12 +8440,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)4, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -7211,7 +8452,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEY + return KEY; + case 2: // COLUMN_PARENT + return COLUMN_PARENT; + case 3: // PREDICATE + return PREDICATE; + case 4: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -7250,18 +8502,18 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, ColumnParent.class))); - put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, SlicePredicate.class))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, - new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, ColumnParent.class))); + tmpMap.put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, SlicePredicate.class))); + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, + new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(get_count_args.class, metaDataMap); } @@ -7566,7 +8818,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKey()) { lastComparison = TBaseHelper.compareTo(key, typedOther.key); + if (isSetKey()) { lastComparison = TBaseHelper.compareTo(this.key, typedOther.key); if (lastComparison != 0) { return lastComparison; } @@ -7575,7 +8827,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(column_parent, typedOther.column_parent); + if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(this.column_parent, typedOther.column_parent); if (lastComparison != 0) { return lastComparison; } @@ -7584,7 +8836,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(predicate, typedOther.predicate); + if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(this.predicate, typedOther.predicate); if (lastComparison != 0) { return lastComparison; } @@ -7593,7 +8845,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(consistency_level, typedOther.consistency_level); + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); if (lastComparison != 0) { return lastComparison; } @@ -7743,7 +8995,7 @@ public class Cassandra { } - public static class get_count_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class get_count_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("get_count_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.I32, (short)0); @@ -7763,12 +9015,10 @@ public class Cassandra { UE((short)2, "ue"), TE((short)3, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -7777,7 +9027,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + case 2: // UE + return UE; + case 3: // TE + return TE; + default: + return null; + } } /** @@ -7818,18 +9079,18 @@ public class Cassandra { private static final int __SUCCESS_ISSET_ID = 0; private BitSet __isset_bit_vector = new BitSet(1); - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.I32))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(get_count_result.class, metaDataMap); } @@ -8123,7 +9384,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -8132,7 +9393,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -8141,7 +9402,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetUe()) { lastComparison = TBaseHelper.compareTo(ue, typedOther.ue); + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); if (lastComparison != 0) { return lastComparison; } @@ -8150,7 +9411,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetTe()) { lastComparison = TBaseHelper.compareTo(te, typedOther.te); + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); if (lastComparison != 0) { return lastComparison; } @@ -8277,7 +9538,7 @@ public class Cassandra { } - public static class multiget_count_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class multiget_count_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("multiget_count_args"); private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1); @@ -8308,12 +9569,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)5, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -8322,7 +9581,20 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEYSPACE + return KEYSPACE; + case 2: // KEYS + return KEYS; + case 3: // COLUMN_PARENT + return COLUMN_PARENT; + case 4: // PREDICATE + return PREDICATE; + case 5: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -8361,21 +9633,21 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.KEYS, new FieldMetaData("keys", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.KEYS, new FieldMetaData("keys", TFieldRequirementType.REQUIRED, new ListMetaData(TType.LIST, new FieldValueMetaData(TType.STRING)))); - put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, new StructMetaData(TType.STRUCT, ColumnParent.class))); - put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.REQUIRED, new StructMetaData(TType.STRUCT, SlicePredicate.class))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(multiget_count_args.class, metaDataMap); } @@ -8751,7 +10023,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(keyspace, typedOther.keyspace); + if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(this.keyspace, typedOther.keyspace); if (lastComparison != 0) { return lastComparison; } @@ -8760,7 +10032,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKeys()) { lastComparison = TBaseHelper.compareTo(keys, typedOther.keys); + if (isSetKeys()) { lastComparison = TBaseHelper.compareTo(this.keys, typedOther.keys); if (lastComparison != 0) { return lastComparison; } @@ -8769,7 +10041,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(column_parent, typedOther.column_parent); + if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(this.column_parent, typedOther.column_parent); if (lastComparison != 0) { return lastComparison; } @@ -8778,7 +10050,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(predicate, typedOther.predicate); + if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(this.predicate, typedOther.predicate); if (lastComparison != 0) { return lastComparison; } @@ -8787,7 +10059,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(consistency_level, typedOther.consistency_level); + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); if (lastComparison != 0) { return lastComparison; } @@ -8972,7 +10244,7 @@ public class Cassandra { } - public static class multiget_count_result implements TBase, java.io.Serializable, Cloneable { + public static class multiget_count_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("multiget_count_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.MAP, (short)0); @@ -8992,12 +10264,10 @@ public class Cassandra { UE((short)2, "ue"), TE((short)3, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -9006,7 +10276,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + case 2: // UE + return UE; + case 3: // TE + return TE; + default: + return null; + } } /** @@ -9045,20 +10326,20 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new MapMetaData(TType.MAP, new FieldValueMetaData(TType.STRING), new FieldValueMetaData(TType.I32)))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(multiget_count_result.class, metaDataMap); } @@ -9364,6 +10645,53 @@ public class Cassandra { return 0; } + public int compareTo(multiget_count_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + multiget_count_result typedOther = (multiget_count_result)other; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetIre()).compareTo(typedOther.isSetIre()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetUe()).compareTo(typedOther.isSetUe()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTe()).compareTo(typedOther.isSetTe()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + public void read(TProtocol iprot) throws TException { TField field; iprot.readStructBegin(); @@ -9506,7 +10834,7 @@ public class Cassandra { } - public static class get_range_slices_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class get_range_slices_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("get_range_slices_args"); private static final TField COLUMN_PARENT_FIELD_DESC = new TField("column_parent", TType.STRUCT, (short)1); @@ -9534,12 +10862,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)4, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -9548,7 +10874,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // COLUMN_PARENT + return COLUMN_PARENT; + case 2: // PREDICATE + return PREDICATE; + case 3: // RANGE + return RANGE; + case 4: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -9587,18 +10924,18 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, ColumnParent.class))); - put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, SlicePredicate.class))); - put(_Fields.RANGE, new FieldMetaData("range", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, KeyRange.class))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, - new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, ColumnParent.class))); + tmpMap.put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, SlicePredicate.class))); + tmpMap.put(_Fields.RANGE, new FieldMetaData("range", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, KeyRange.class))); + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, + new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(get_range_slices_args.class, metaDataMap); } @@ -9902,7 +11239,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(column_parent, typedOther.column_parent); + if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(this.column_parent, typedOther.column_parent); if (lastComparison != 0) { return lastComparison; } @@ -9911,7 +11248,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(predicate, typedOther.predicate); + if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(this.predicate, typedOther.predicate); if (lastComparison != 0) { return lastComparison; } @@ -9920,7 +11257,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetRange()) { lastComparison = TBaseHelper.compareTo(range, typedOther.range); + if (isSetRange()) { lastComparison = TBaseHelper.compareTo(this.range, typedOther.range); if (lastComparison != 0) { return lastComparison; } @@ -9929,7 +11266,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(consistency_level, typedOther.consistency_level); + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); if (lastComparison != 0) { return lastComparison; } @@ -10075,7 +11412,7 @@ public class Cassandra { } - public static class get_range_slices_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class get_range_slices_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("get_range_slices_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); @@ -10095,12 +11432,10 @@ public class Cassandra { UE((short)2, "ue"), TE((short)3, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -10109,7 +11444,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + case 2: // UE + return UE; + case 3: // TE + return TE; + default: + return null; + } } /** @@ -10148,19 +11494,19 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, KeySlice.class)))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(get_range_slices_result.class, metaDataMap); } @@ -10473,7 +11819,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -10482,7 +11828,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -10491,7 +11837,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetUe()) { lastComparison = TBaseHelper.compareTo(ue, typedOther.ue); + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); if (lastComparison != 0) { return lastComparison; } @@ -10500,7 +11846,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetTe()) { lastComparison = TBaseHelper.compareTo(te, typedOther.te); + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); if (lastComparison != 0) { return lastComparison; } @@ -10648,7 +11994,7 @@ public class Cassandra { } - public static class scan_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class scan_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("scan_args"); private static final TField COLUMN_PARENT_FIELD_DESC = new TField("column_parent", TType.STRUCT, (short)1); @@ -10676,12 +12022,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)4, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -10690,7 +12034,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // COLUMN_PARENT + return COLUMN_PARENT; + case 2: // ROW_PREDICATE + return ROW_PREDICATE; + case 3: // COLUMN_PREDICATE + return COLUMN_PREDICATE; + case 4: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -10729,18 +12084,18 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, ColumnParent.class))); - put(_Fields.ROW_PREDICATE, new FieldMetaData("row_predicate", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, RowPredicate.class))); - put(_Fields.COLUMN_PREDICATE, new FieldMetaData("column_predicate", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, SlicePredicate.class))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, - new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, ColumnParent.class))); + tmpMap.put(_Fields.ROW_PREDICATE, new FieldMetaData("row_predicate", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, RowPredicate.class))); + tmpMap.put(_Fields.COLUMN_PREDICATE, new FieldMetaData("column_predicate", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, SlicePredicate.class))); + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, + new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(scan_args.class, metaDataMap); } @@ -11044,7 +12399,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(column_parent, typedOther.column_parent); + if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(this.column_parent, typedOther.column_parent); if (lastComparison != 0) { return lastComparison; } @@ -11053,7 +12408,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetRow_predicate()) { lastComparison = TBaseHelper.compareTo(row_predicate, typedOther.row_predicate); + if (isSetRow_predicate()) { lastComparison = TBaseHelper.compareTo(this.row_predicate, typedOther.row_predicate); if (lastComparison != 0) { return lastComparison; } @@ -11062,7 +12417,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_predicate()) { lastComparison = TBaseHelper.compareTo(column_predicate, typedOther.column_predicate); + if (isSetColumn_predicate()) { lastComparison = TBaseHelper.compareTo(this.column_predicate, typedOther.column_predicate); if (lastComparison != 0) { return lastComparison; } @@ -11071,7 +12426,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(consistency_level, typedOther.consistency_level); + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); if (lastComparison != 0) { return lastComparison; } @@ -11217,7 +12572,7 @@ public class Cassandra { } - public static class scan_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class scan_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("scan_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); @@ -11237,12 +12592,10 @@ public class Cassandra { UE((short)2, "ue"), TE((short)3, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -11251,7 +12604,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + case 2: // UE + return UE; + case 3: // TE + return TE; + default: + return null; + } } /** @@ -11290,19 +12654,19 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, KeySlice.class)))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(scan_result.class, metaDataMap); } @@ -11615,7 +12979,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -11624,7 +12988,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -11633,7 +12997,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetUe()) { lastComparison = TBaseHelper.compareTo(ue, typedOther.ue); + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); if (lastComparison != 0) { return lastComparison; } @@ -11642,7 +13006,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetTe()) { lastComparison = TBaseHelper.compareTo(te, typedOther.te); + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); if (lastComparison != 0) { return lastComparison; } @@ -11790,7 +13154,7 @@ public class Cassandra { } - public static class scan_count_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class scan_count_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("scan_count_args"); private static final TField COLUMN_PARENT_FIELD_DESC = new TField("column_parent", TType.STRUCT, (short)1); @@ -11818,12 +13182,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)4, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -11832,7 +13194,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // COLUMN_PARENT + return COLUMN_PARENT; + case 2: // ROW_PREDICATE + return ROW_PREDICATE; + case 3: // COLUMN_PREDICATE + return COLUMN_PREDICATE; + case 4: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -11871,18 +13244,18 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, ColumnParent.class))); - put(_Fields.ROW_PREDICATE, new FieldMetaData("row_predicate", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, RowPredicate.class))); - put(_Fields.COLUMN_PREDICATE, new FieldMetaData("column_predicate", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, SlicePredicate.class))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, - new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, ColumnParent.class))); + tmpMap.put(_Fields.ROW_PREDICATE, new FieldMetaData("row_predicate", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, RowPredicate.class))); + tmpMap.put(_Fields.COLUMN_PREDICATE, new FieldMetaData("column_predicate", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, SlicePredicate.class))); + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, + new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(scan_count_args.class, metaDataMap); } @@ -12186,7 +13559,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(column_parent, typedOther.column_parent); + if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(this.column_parent, typedOther.column_parent); if (lastComparison != 0) { return lastComparison; } @@ -12195,7 +13568,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetRow_predicate()) { lastComparison = TBaseHelper.compareTo(row_predicate, typedOther.row_predicate); + if (isSetRow_predicate()) { lastComparison = TBaseHelper.compareTo(this.row_predicate, typedOther.row_predicate); if (lastComparison != 0) { return lastComparison; } @@ -12204,7 +13577,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_predicate()) { lastComparison = TBaseHelper.compareTo(column_predicate, typedOther.column_predicate); + if (isSetColumn_predicate()) { lastComparison = TBaseHelper.compareTo(this.column_predicate, typedOther.column_predicate); if (lastComparison != 0) { return lastComparison; } @@ -12213,7 +13586,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(consistency_level, typedOther.consistency_level); + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); if (lastComparison != 0) { return lastComparison; } @@ -12359,7 +13732,7 @@ public class Cassandra { } - public static class scan_count_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class scan_count_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("scan_count_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); @@ -12379,12 +13752,10 @@ public class Cassandra { UE((short)2, "ue"), TE((short)3, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -12393,7 +13764,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + case 2: // UE + return UE; + case 3: // TE + return TE; + default: + return null; + } } /** @@ -12432,19 +13814,19 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, KeyCount.class)))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(scan_count_result.class, metaDataMap); } @@ -12757,7 +14139,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -12766,7 +14148,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -12775,7 +14157,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetUe()) { lastComparison = TBaseHelper.compareTo(ue, typedOther.ue); + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); if (lastComparison != 0) { return lastComparison; } @@ -12784,7 +14166,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetTe()) { lastComparison = TBaseHelper.compareTo(te, typedOther.te); + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); if (lastComparison != 0) { return lastComparison; } @@ -12932,7 +14314,7 @@ public class Cassandra { } - public static class insert_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class insert_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("insert_args"); private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)1); @@ -12960,12 +14342,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)4, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -12974,7 +14354,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEY + return KEY; + case 2: // COLUMN_PARENT + return COLUMN_PARENT; + case 3: // COLUMN + return COLUMN; + case 4: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -13013,18 +14404,18 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, ColumnParent.class))); - put(_Fields.COLUMN, new FieldMetaData("column", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, Column.class))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, - new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.COLUMN_PARENT, new FieldMetaData("column_parent", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, ColumnParent.class))); + tmpMap.put(_Fields.COLUMN, new FieldMetaData("column", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, Column.class))); + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, + new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(insert_args.class, metaDataMap); } @@ -13329,7 +14720,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKey()) { lastComparison = TBaseHelper.compareTo(key, typedOther.key); + if (isSetKey()) { lastComparison = TBaseHelper.compareTo(this.key, typedOther.key); if (lastComparison != 0) { return lastComparison; } @@ -13338,7 +14729,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(column_parent, typedOther.column_parent); + if (isSetColumn_parent()) { lastComparison = TBaseHelper.compareTo(this.column_parent, typedOther.column_parent); if (lastComparison != 0) { return lastComparison; } @@ -13347,7 +14738,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn()) { lastComparison = TBaseHelper.compareTo(column, typedOther.column); + if (isSetColumn()) { lastComparison = TBaseHelper.compareTo(this.column, typedOther.column); if (lastComparison != 0) { return lastComparison; } @@ -13356,7 +14747,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(consistency_level, typedOther.consistency_level); + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); if (lastComparison != 0) { return lastComparison; } @@ -13506,7 +14897,7 @@ public class Cassandra { } - public static class insert_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class insert_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("insert_result"); private static final TField IRE_FIELD_DESC = new TField("ire", TType.STRUCT, (short)1); @@ -13523,12 +14914,10 @@ public class Cassandra { UE((short)2, "ue"), TE((short)3, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -13537,7 +14926,16 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // IRE + return IRE; + case 2: // UE + return UE; + case 3: // TE + return TE; + default: + return null; + } } /** @@ -13576,16 +14974,16 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(insert_result.class, metaDataMap); } @@ -13828,7 +15226,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -13837,7 +15235,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetUe()) { lastComparison = TBaseHelper.compareTo(ue, typedOther.ue); + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); if (lastComparison != 0) { return lastComparison; } @@ -13846,7 +15244,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetTe()) { lastComparison = TBaseHelper.compareTo(te, typedOther.te); + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); if (lastComparison != 0) { return lastComparison; } @@ -13957,7 +15355,7 @@ public class Cassandra { } - public static class remove_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class remove_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("remove_args"); private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)1); @@ -13985,12 +15383,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)4, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -13999,7 +15395,18 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEY + return KEY; + case 2: // COLUMN_PATH + return COLUMN_PATH; + case 3: // CLOCK + return CLOCK; + case 4: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -14038,18 +15445,18 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.COLUMN_PATH, new FieldMetaData("column_path", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, ColumnPath.class))); - put(_Fields.CLOCK, new FieldMetaData("clock", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, Clock.class))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.DEFAULT, - new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.COLUMN_PATH, new FieldMetaData("column_path", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, ColumnPath.class))); + tmpMap.put(_Fields.CLOCK, new FieldMetaData("clock", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, Clock.class))); + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.DEFAULT, + new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(remove_args.class, metaDataMap); } @@ -14354,7 +15761,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKey()) { lastComparison = TBaseHelper.compareTo(key, typedOther.key); + if (isSetKey()) { lastComparison = TBaseHelper.compareTo(this.key, typedOther.key); if (lastComparison != 0) { return lastComparison; } @@ -14363,7 +15770,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_path()) { lastComparison = TBaseHelper.compareTo(column_path, typedOther.column_path); + if (isSetColumn_path()) { lastComparison = TBaseHelper.compareTo(this.column_path, typedOther.column_path); if (lastComparison != 0) { return lastComparison; } @@ -14372,7 +15779,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetClock()) { lastComparison = TBaseHelper.compareTo(clock, typedOther.clock); + if (isSetClock()) { lastComparison = TBaseHelper.compareTo(this.clock, typedOther.clock); if (lastComparison != 0) { return lastComparison; } @@ -14381,7 +15788,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(consistency_level, typedOther.consistency_level); + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); if (lastComparison != 0) { return lastComparison; } @@ -14528,7 +15935,7 @@ public class Cassandra { } - public static class remove_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class remove_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("remove_result"); private static final TField IRE_FIELD_DESC = new TField("ire", TType.STRUCT, (short)1); @@ -14545,12 +15952,10 @@ public class Cassandra { UE((short)2, "ue"), TE((short)3, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -14559,7 +15964,16 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // IRE + return IRE; + case 2: // UE + return UE; + case 3: // TE + return TE; + default: + return null; + } } /** @@ -14598,16 +16012,16 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(remove_result.class, metaDataMap); } @@ -14850,7 +16264,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -14859,7 +16273,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetUe()) { lastComparison = TBaseHelper.compareTo(ue, typedOther.ue); + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); if (lastComparison != 0) { return lastComparison; } @@ -14868,7 +16282,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetTe()) { lastComparison = TBaseHelper.compareTo(te, typedOther.te); + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); if (lastComparison != 0) { return lastComparison; } @@ -14979,7 +16393,7 @@ public class Cassandra { } - public static class batch_mutate_args implements TBase, java.io.Serializable, Cloneable { + public static class batch_mutate_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("batch_mutate_args"); private static final TField MUTATION_MAP_FIELD_DESC = new TField("mutation_map", TType.MAP, (short)1); @@ -15001,12 +16415,10 @@ public class Cassandra { */ CONSISTENCY_LEVEL((short)2, "consistency_level"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -15015,7 +16427,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // MUTATION_MAP + return MUTATION_MAP; + case 2: // CONSISTENCY_LEVEL + return CONSISTENCY_LEVEL; + default: + return null; + } } /** @@ -15054,19 +16473,19 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.MUTATION_MAP, new FieldMetaData("mutation_map", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.MUTATION_MAP, new FieldMetaData("mutation_map", TFieldRequirementType.REQUIRED, new MapMetaData(TType.MAP, new FieldValueMetaData(TType.STRING), new MapMetaData(TType.MAP, new FieldValueMetaData(TType.STRING), new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, Mutation.class)))))); - put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.CONSISTENCY_LEVEL, new FieldMetaData("consistency_level", TFieldRequirementType.REQUIRED, new EnumMetaData(TType.ENUM, ConsistencyLevel.class))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(batch_mutate_args.class, metaDataMap); } @@ -15294,6 +16713,35 @@ public class Cassandra { return 0; } + public int compareTo(batch_mutate_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + batch_mutate_args typedOther = (batch_mutate_args)other; + + lastComparison = Boolean.valueOf(isSetMutation_map()).compareTo(typedOther.isSetMutation_map()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetMutation_map()) { lastComparison = TBaseHelper.compareTo(this.mutation_map, typedOther.mutation_map); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetConsistency_level()).compareTo(typedOther.isSetConsistency_level()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetConsistency_level()) { lastComparison = TBaseHelper.compareTo(this.consistency_level, typedOther.consistency_level); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + public void read(TProtocol iprot) throws TException { TField field; iprot.readStructBegin(); @@ -15441,7 +16889,7 @@ public class Cassandra { } - public static class batch_mutate_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class batch_mutate_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("batch_mutate_result"); private static final TField IRE_FIELD_DESC = new TField("ire", TType.STRUCT, (short)1); @@ -15458,12 +16906,10 @@ public class Cassandra { UE((short)2, "ue"), TE((short)3, "te"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -15472,7 +16918,16 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // IRE + return IRE; + case 2: // UE + return UE; + case 3: // TE + return TE; + default: + return null; + } } /** @@ -15511,16 +16966,16 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.TE, new FieldMetaData("te", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(batch_mutate_result.class, metaDataMap); } @@ -15763,7 +17218,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -15772,7 +17227,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetUe()) { lastComparison = TBaseHelper.compareTo(ue, typedOther.ue); + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); if (lastComparison != 0) { return lastComparison; } @@ -15781,7 +17236,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetTe()) { lastComparison = TBaseHelper.compareTo(te, typedOther.te); + if (isSetTe()) { lastComparison = TBaseHelper.compareTo(this.te, typedOther.te); if (lastComparison != 0) { return lastComparison; } @@ -15892,7 +17347,7 @@ public class Cassandra { } - public static class truncate_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class truncate_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("truncate_args"); private static final TField CFNAME_FIELD_DESC = new TField("cfname", TType.STRING, (short)1); @@ -15903,12 +17358,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { CFNAME((short)1, "cfname"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -15917,7 +17370,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // CFNAME + return CFNAME; + default: + return null; + } } /** @@ -15956,12 +17414,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.CFNAME, new FieldMetaData("cfname", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.CFNAME, new FieldMetaData("cfname", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(truncate_args.class, metaDataMap); } @@ -16102,7 +17560,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetCfname()) { lastComparison = TBaseHelper.compareTo(cfname, typedOther.cfname); + if (isSetCfname()) { lastComparison = TBaseHelper.compareTo(this.cfname, typedOther.cfname); if (lastComparison != 0) { return lastComparison; } @@ -16176,7 +17634,7 @@ public class Cassandra { } - public static class truncate_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class truncate_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("truncate_result"); private static final TField IRE_FIELD_DESC = new TField("ire", TType.STRUCT, (short)1); @@ -16190,12 +17648,10 @@ public class Cassandra { IRE((short)1, "ire"), UE((short)2, "ue"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -16204,7 +17660,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // IRE + return IRE; + case 2: // UE + return UE; + default: + return null; + } } /** @@ -16243,14 +17706,14 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + tmpMap.put(_Fields.UE, new FieldMetaData("ue", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(truncate_result.class, metaDataMap); } @@ -16442,7 +17905,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -16451,7 +17914,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetUe()) { lastComparison = TBaseHelper.compareTo(ue, typedOther.ue); + if (isSetUe()) { lastComparison = TBaseHelper.compareTo(this.ue, typedOther.ue); if (lastComparison != 0) { return lastComparison; } @@ -16542,7 +18005,7 @@ public class Cassandra { } - public static class check_schema_agreement_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class check_schema_agreement_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("check_schema_agreement_args"); @@ -16551,12 +18014,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { ; - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -16565,7 +18026,10 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + default: + return null; + } } /** @@ -16601,10 +18065,10 @@ public class Cassandra { return _fieldName; } } - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(check_schema_agreement_args.class, metaDataMap); } @@ -16732,7 +18196,7 @@ public class Cassandra { } - public static class check_schema_agreement_result implements TBase, java.io.Serializable, Cloneable { + public static class check_schema_agreement_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("check_schema_agreement_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.MAP, (short)0); @@ -16746,12 +18210,10 @@ public class Cassandra { SUCCESS((short)0, "success"), IRE((short)1, "ire"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -16760,7 +18222,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + default: + return null; + } } /** @@ -16799,17 +18268,17 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new MapMetaData(TType.MAP, new FieldValueMetaData(TType.STRING), new ListMetaData(TType.LIST, new FieldValueMetaData(TType.STRING))))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(check_schema_agreement_result.class, metaDataMap); } @@ -17015,6 +18484,35 @@ public class Cassandra { return 0; } + public int compareTo(check_schema_agreement_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + check_schema_agreement_result typedOther = (check_schema_agreement_result)other; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetIre()).compareTo(typedOther.isSetIre()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + public void read(TProtocol iprot) throws TException { TField field; iprot.readStructBegin(); @@ -17134,7 +18632,7 @@ public class Cassandra { } - public static class describe_keyspaces_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class describe_keyspaces_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_keyspaces_args"); @@ -17143,12 +18641,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { ; - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -17157,7 +18653,10 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + default: + return null; + } } /** @@ -17193,10 +18692,10 @@ public class Cassandra { return _fieldName; } } - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_keyspaces_args.class, metaDataMap); } @@ -17324,7 +18823,7 @@ public class Cassandra { } - public static class describe_keyspaces_result implements TBase, java.io.Serializable, Cloneable { + public static class describe_keyspaces_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_keyspaces_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.SET, (short)0); @@ -17335,12 +18834,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { SUCCESS((short)0, "success"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -17349,7 +18846,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + default: + return null; + } } /** @@ -17388,13 +18890,13 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new SetMetaData(TType.SET, new FieldValueMetaData(TType.STRING)))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_keyspaces_result.class, metaDataMap); } @@ -17542,6 +19044,26 @@ public class Cassandra { return 0; } + public int compareTo(describe_keyspaces_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + describe_keyspaces_result typedOther = (describe_keyspaces_result)other; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + public void read(TProtocol iprot) throws TException { TField field; iprot.readStructBegin(); @@ -17621,7 +19143,7 @@ public class Cassandra { } - public static class describe_cluster_name_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class describe_cluster_name_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_cluster_name_args"); @@ -17630,12 +19152,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { ; - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -17644,7 +19164,10 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + default: + return null; + } } /** @@ -17680,10 +19203,10 @@ public class Cassandra { return _fieldName; } } - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_cluster_name_args.class, metaDataMap); } @@ -17811,7 +19334,7 @@ public class Cassandra { } - public static class describe_cluster_name_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class describe_cluster_name_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_cluster_name_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRING, (short)0); @@ -17822,12 +19345,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { SUCCESS((short)0, "success"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -17836,7 +19357,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + default: + return null; + } } /** @@ -17875,12 +19401,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_cluster_name_result.class, metaDataMap); } @@ -18021,7 +19547,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -18091,7 +19617,7 @@ public class Cassandra { } - public static class describe_version_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class describe_version_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_version_args"); @@ -18100,12 +19626,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { ; - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -18114,7 +19638,10 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + default: + return null; + } } /** @@ -18150,10 +19677,10 @@ public class Cassandra { return _fieldName; } } - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_version_args.class, metaDataMap); } @@ -18281,7 +19808,7 @@ public class Cassandra { } - public static class describe_version_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class describe_version_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_version_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRING, (short)0); @@ -18292,12 +19819,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { SUCCESS((short)0, "success"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -18306,7 +19831,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + default: + return null; + } } /** @@ -18345,12 +19875,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_version_result.class, metaDataMap); } @@ -18491,7 +20021,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -18561,7 +20091,7 @@ public class Cassandra { } - public static class describe_ring_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class describe_ring_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_ring_args"); private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1); @@ -18572,12 +20102,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { KEYSPACE((short)1, "keyspace"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -18586,7 +20114,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEYSPACE + return KEYSPACE; + default: + return null; + } } /** @@ -18625,12 +20158,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_ring_args.class, metaDataMap); } @@ -18771,7 +20304,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(keyspace, typedOther.keyspace); + if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(this.keyspace, typedOther.keyspace); if (lastComparison != 0) { return lastComparison; } @@ -18845,7 +20378,7 @@ public class Cassandra { } - public static class describe_ring_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class describe_ring_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_ring_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); @@ -18859,12 +20392,10 @@ public class Cassandra { SUCCESS((short)0, "success"), IRE((short)1, "ire"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -18873,7 +20404,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + default: + return null; + } } /** @@ -18912,15 +20450,15 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, TokenRange.class)))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_ring_result.class, metaDataMap); } @@ -19131,7 +20669,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -19140,7 +20678,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -19248,7 +20786,7 @@ public class Cassandra { } - public static class describe_keyspace_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class describe_keyspace_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_keyspace_args"); private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1); @@ -19259,12 +20797,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { KEYSPACE((short)1, "keyspace"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -19273,7 +20809,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEYSPACE + return KEYSPACE; + default: + return null; + } } /** @@ -19312,12 +20853,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_keyspace_args.class, metaDataMap); } @@ -19458,7 +20999,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(keyspace, typedOther.keyspace); + if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(this.keyspace, typedOther.keyspace); if (lastComparison != 0) { return lastComparison; } @@ -19532,7 +21073,7 @@ public class Cassandra { } - public static class describe_keyspace_result implements TBase, java.io.Serializable, Cloneable { + public static class describe_keyspace_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_keyspace_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.MAP, (short)0); @@ -19546,12 +21087,10 @@ public class Cassandra { SUCCESS((short)0, "success"), NFE((short)1, "nfe"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -19560,7 +21099,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // NFE + return NFE; + default: + return null; + } } /** @@ -19599,18 +21145,18 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new MapMetaData(TType.MAP, new FieldValueMetaData(TType.STRING), new MapMetaData(TType.MAP, new FieldValueMetaData(TType.STRING), new FieldValueMetaData(TType.STRING))))); - put(_Fields.NFE, new FieldMetaData("nfe", TFieldRequirementType.DEFAULT, + tmpMap.put(_Fields.NFE, new FieldMetaData("nfe", TFieldRequirementType.DEFAULT, new FieldValueMetaData(TType.STRUCT))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_keyspace_result.class, metaDataMap); } @@ -19824,6 +21370,35 @@ public class Cassandra { return 0; } + public int compareTo(describe_keyspace_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + describe_keyspace_result typedOther = (describe_keyspace_result)other; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetNfe()).compareTo(typedOther.isSetNfe()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetNfe()) { lastComparison = TBaseHelper.compareTo(this.nfe, typedOther.nfe); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + public void read(TProtocol iprot) throws TException { TField field; iprot.readStructBegin(); @@ -19946,7 +21521,7 @@ public class Cassandra { } - public static class describe_splits_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class describe_splits_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_splits_args"); private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1); @@ -19969,12 +21544,10 @@ public class Cassandra { END_TOKEN((short)4, "end_token"), KEYS_PER_SPLIT((short)5, "keys_per_split"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -19983,7 +21556,20 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEYSPACE + return KEYSPACE; + case 2: // CF_NAME + return CF_NAME; + case 3: // START_TOKEN + return START_TOKEN; + case 4: // END_TOKEN + return END_TOKEN; + case 5: // KEYS_PER_SPLIT + return KEYS_PER_SPLIT; + default: + return null; + } } /** @@ -20024,20 +21610,20 @@ public class Cassandra { private static final int __KEYS_PER_SPLIT_ISSET_ID = 0; private BitSet __isset_bit_vector = new BitSet(1); - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.CF_NAME, new FieldMetaData("cfName", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - 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.KEYS_PER_SPLIT, new FieldMetaData("keys_per_split", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.I32))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.CF_NAME, new FieldMetaData("cfName", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.START_TOKEN, new FieldMetaData("start_token", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.END_TOKEN, new FieldMetaData("end_token", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.KEYS_PER_SPLIT, new FieldMetaData("keys_per_split", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.I32))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_splits_args.class, metaDataMap); } @@ -20382,7 +21968,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(keyspace, typedOther.keyspace); + if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(this.keyspace, typedOther.keyspace); if (lastComparison != 0) { return lastComparison; } @@ -20391,7 +21977,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetCfName()) { lastComparison = TBaseHelper.compareTo(cfName, typedOther.cfName); + if (isSetCfName()) { lastComparison = TBaseHelper.compareTo(this.cfName, typedOther.cfName); if (lastComparison != 0) { return lastComparison; } @@ -20400,7 +21986,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetStart_token()) { lastComparison = TBaseHelper.compareTo(start_token, typedOther.start_token); + if (isSetStart_token()) { lastComparison = TBaseHelper.compareTo(this.start_token, typedOther.start_token); if (lastComparison != 0) { return lastComparison; } @@ -20409,7 +21995,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetEnd_token()) { lastComparison = TBaseHelper.compareTo(end_token, typedOther.end_token); + if (isSetEnd_token()) { lastComparison = TBaseHelper.compareTo(this.end_token, typedOther.end_token); if (lastComparison != 0) { return lastComparison; } @@ -20418,7 +22004,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKeys_per_split()) { lastComparison = TBaseHelper.compareTo(keys_per_split, typedOther.keys_per_split); + if (isSetKeys_per_split()) { lastComparison = TBaseHelper.compareTo(this.keys_per_split, typedOther.keys_per_split); if (lastComparison != 0) { return lastComparison; } @@ -20580,7 +22166,7 @@ public class Cassandra { } - public static class describe_splits_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class describe_splits_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("describe_splits_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); @@ -20591,12 +22177,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { SUCCESS((short)0, "success"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -20605,7 +22189,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + default: + return null; + } } /** @@ -20644,13 +22233,13 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, new ListMetaData(TType.LIST, new FieldValueMetaData(TType.STRING)))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(describe_splits_result.class, metaDataMap); } @@ -20810,7 +22399,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -20897,7 +22486,7 @@ public class Cassandra { } - public static class system_add_column_family_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_add_column_family_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_add_column_family_args"); private static final TField CF_DEF_FIELD_DESC = new TField("cf_def", TType.STRUCT, (short)1); @@ -20908,12 +22497,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { CF_DEF((short)1, "cf_def"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -20922,7 +22509,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // CF_DEF + return CF_DEF; + default: + return null; + } } /** @@ -20961,12 +22553,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.CF_DEF, new FieldMetaData("cf_def", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, CfDef.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.CF_DEF, new FieldMetaData("cf_def", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, CfDef.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_add_column_family_args.class, metaDataMap); } @@ -21107,7 +22699,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetCf_def()) { lastComparison = TBaseHelper.compareTo(cf_def, typedOther.cf_def); + if (isSetCf_def()) { lastComparison = TBaseHelper.compareTo(this.cf_def, typedOther.cf_def); if (lastComparison != 0) { return lastComparison; } @@ -21182,7 +22774,7 @@ public class Cassandra { } - public static class system_add_column_family_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_add_column_family_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_add_column_family_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRING, (short)0); @@ -21196,12 +22788,10 @@ public class Cassandra { SUCCESS((short)0, "success"), IRE((short)1, "ire"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -21210,7 +22800,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + default: + return null; + } } /** @@ -21249,14 +22846,14 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRING))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_add_column_family_result.class, metaDataMap); } @@ -21448,7 +23045,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -21457,7 +23054,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -21547,7 +23144,7 @@ public class Cassandra { } - public static class system_drop_column_family_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_drop_column_family_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_drop_column_family_args"); private static final TField COLUMN_FAMILY_FIELD_DESC = new TField("column_family", TType.STRING, (short)1); @@ -21558,12 +23155,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { COLUMN_FAMILY((short)1, "column_family"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -21572,7 +23167,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // COLUMN_FAMILY + return COLUMN_FAMILY; + default: + return null; + } } /** @@ -21611,12 +23211,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_drop_column_family_args.class, metaDataMap); } @@ -21757,7 +23357,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_family()) { lastComparison = TBaseHelper.compareTo(column_family, typedOther.column_family); + if (isSetColumn_family()) { lastComparison = TBaseHelper.compareTo(this.column_family, typedOther.column_family); if (lastComparison != 0) { return lastComparison; } @@ -21831,7 +23431,7 @@ public class Cassandra { } - public static class system_drop_column_family_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_drop_column_family_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_drop_column_family_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRING, (short)0); @@ -21845,12 +23445,10 @@ public class Cassandra { SUCCESS((short)0, "success"), IRE((short)1, "ire"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -21859,7 +23457,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + default: + return null; + } } /** @@ -21898,14 +23503,14 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRING))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_drop_column_family_result.class, metaDataMap); } @@ -22097,7 +23702,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -22106,7 +23711,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -22196,7 +23801,7 @@ public class Cassandra { } - public static class system_rename_column_family_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_rename_column_family_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_rename_column_family_args"); private static final TField OLD_NAME_FIELD_DESC = new TField("old_name", TType.STRING, (short)1); @@ -22210,12 +23815,10 @@ public class Cassandra { OLD_NAME((short)1, "old_name"), NEW_NAME((short)2, "new_name"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -22224,7 +23827,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // OLD_NAME + return OLD_NAME; + case 2: // NEW_NAME + return NEW_NAME; + default: + return null; + } } /** @@ -22263,14 +23873,14 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.OLD_NAME, new FieldMetaData("old_name", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.NEW_NAME, new FieldMetaData("new_name", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.OLD_NAME, new FieldMetaData("old_name", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.NEW_NAME, new FieldMetaData("new_name", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_rename_column_family_args.class, metaDataMap); } @@ -22462,7 +24072,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetOld_name()) { lastComparison = TBaseHelper.compareTo(old_name, typedOther.old_name); + if (isSetOld_name()) { lastComparison = TBaseHelper.compareTo(this.old_name, typedOther.old_name); if (lastComparison != 0) { return lastComparison; } @@ -22471,7 +24081,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetNew_name()) { lastComparison = TBaseHelper.compareTo(new_name, typedOther.new_name); + if (isSetNew_name()) { lastComparison = TBaseHelper.compareTo(this.new_name, typedOther.new_name); if (lastComparison != 0) { return lastComparison; } @@ -22568,7 +24178,7 @@ public class Cassandra { } - public static class system_rename_column_family_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_rename_column_family_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_rename_column_family_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRING, (short)0); @@ -22582,12 +24192,10 @@ public class Cassandra { SUCCESS((short)0, "success"), IRE((short)1, "ire"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -22596,7 +24204,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + default: + return null; + } } /** @@ -22635,14 +24250,14 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRING))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_rename_column_family_result.class, metaDataMap); } @@ -22834,7 +24449,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -22843,7 +24458,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -22933,7 +24548,7 @@ public class Cassandra { } - public static class system_add_keyspace_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_add_keyspace_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_add_keyspace_args"); private static final TField KS_DEF_FIELD_DESC = new TField("ks_def", TType.STRUCT, (short)1); @@ -22944,12 +24559,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { KS_DEF((short)1, "ks_def"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -22958,7 +24571,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KS_DEF + return KS_DEF; + default: + return null; + } } /** @@ -22997,12 +24615,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KS_DEF, new FieldMetaData("ks_def", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, KsDef.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KS_DEF, new FieldMetaData("ks_def", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, KsDef.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_add_keyspace_args.class, metaDataMap); } @@ -23143,7 +24761,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKs_def()) { lastComparison = TBaseHelper.compareTo(ks_def, typedOther.ks_def); + if (isSetKs_def()) { lastComparison = TBaseHelper.compareTo(this.ks_def, typedOther.ks_def); if (lastComparison != 0) { return lastComparison; } @@ -23218,7 +24836,7 @@ public class Cassandra { } - public static class system_add_keyspace_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_add_keyspace_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_add_keyspace_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRING, (short)0); @@ -23232,12 +24850,10 @@ public class Cassandra { SUCCESS((short)0, "success"), IRE((short)1, "ire"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -23246,7 +24862,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + default: + return null; + } } /** @@ -23285,14 +24908,14 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRING))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_add_keyspace_result.class, metaDataMap); } @@ -23484,7 +25107,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -23493,7 +25116,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -23583,7 +25206,7 @@ public class Cassandra { } - public static class system_drop_keyspace_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_drop_keyspace_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_drop_keyspace_args"); private static final TField KEYSPACE_FIELD_DESC = new TField("keyspace", TType.STRING, (short)1); @@ -23594,12 +25217,10 @@ public class Cassandra { public enum _Fields implements TFieldIdEnum { KEYSPACE((short)1, "keyspace"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -23608,7 +25229,12 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEYSPACE + return KEYSPACE; + default: + return null; + } } /** @@ -23647,12 +25273,12 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEYSPACE, new FieldMetaData("keyspace", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_drop_keyspace_args.class, metaDataMap); } @@ -23793,7 +25419,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(keyspace, typedOther.keyspace); + if (isSetKeyspace()) { lastComparison = TBaseHelper.compareTo(this.keyspace, typedOther.keyspace); if (lastComparison != 0) { return lastComparison; } @@ -23867,7 +25493,7 @@ public class Cassandra { } - public static class system_drop_keyspace_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_drop_keyspace_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_drop_keyspace_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRING, (short)0); @@ -23881,12 +25507,10 @@ public class Cassandra { SUCCESS((short)0, "success"), IRE((short)1, "ire"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -23895,7 +25519,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + default: + return null; + } } /** @@ -23934,14 +25565,14 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRING))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_drop_keyspace_result.class, metaDataMap); } @@ -24133,7 +25764,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -24142,7 +25773,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } @@ -24232,7 +25863,7 @@ public class Cassandra { } - public static class system_rename_keyspace_args implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_rename_keyspace_args implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_rename_keyspace_args"); private static final TField OLD_NAME_FIELD_DESC = new TField("old_name", TType.STRING, (short)1); @@ -24246,12 +25877,10 @@ public class Cassandra { OLD_NAME((short)1, "old_name"), NEW_NAME((short)2, "new_name"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -24260,7 +25889,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // OLD_NAME + return OLD_NAME; + case 2: // NEW_NAME + return NEW_NAME; + default: + return null; + } } /** @@ -24299,14 +25935,14 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.OLD_NAME, new FieldMetaData("old_name", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.NEW_NAME, new FieldMetaData("new_name", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.OLD_NAME, new FieldMetaData("old_name", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.NEW_NAME, new FieldMetaData("new_name", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_rename_keyspace_args.class, metaDataMap); } @@ -24498,7 +26134,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetOld_name()) { lastComparison = TBaseHelper.compareTo(old_name, typedOther.old_name); + if (isSetOld_name()) { lastComparison = TBaseHelper.compareTo(this.old_name, typedOther.old_name); if (lastComparison != 0) { return lastComparison; } @@ -24507,7 +26143,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetNew_name()) { lastComparison = TBaseHelper.compareTo(new_name, typedOther.new_name); + if (isSetNew_name()) { lastComparison = TBaseHelper.compareTo(this.new_name, typedOther.new_name); if (lastComparison != 0) { return lastComparison; } @@ -24604,7 +26240,7 @@ public class Cassandra { } - public static class system_rename_keyspace_result implements TBase, java.io.Serializable, Cloneable, Comparable { + public static class system_rename_keyspace_result implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("system_rename_keyspace_result"); private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.STRING, (short)0); @@ -24618,12 +26254,10 @@ public class Cassandra { SUCCESS((short)0, "success"), IRE((short)1, "ire"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -24632,7 +26266,14 @@ public class Cassandra { * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // IRE + return IRE; + default: + return null; + } } /** @@ -24671,14 +26312,14 @@ public class Cassandra { // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRING))); - put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, - new FieldValueMetaData(TType.STRUCT))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.IRE, new FieldMetaData("ire", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(system_rename_keyspace_result.class, metaDataMap); } @@ -24870,7 +26511,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(success, typedOther.success); + if (isSetSuccess()) { lastComparison = TBaseHelper.compareTo(this.success, typedOther.success); if (lastComparison != 0) { return lastComparison; } @@ -24879,7 +26520,7 @@ public class Cassandra { if (lastComparison != 0) { return lastComparison; } - if (isSetIre()) { lastComparison = TBaseHelper.compareTo(ire, typedOther.ire); + if (isSetIre()) { lastComparison = TBaseHelper.compareTo(this.ire, typedOther.ire); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java index 4873dce1ac..8b2f851ae5 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java @@ -41,10 +41,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; -public class CfDef implements TBase, java.io.Serializable, Cloneable, Comparable { +public class CfDef implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("CfDef"); private static final TField TABLE_FIELD_DESC = new TField("table", TType.STRING, (short)1); @@ -91,12 +93,10 @@ public class CfDef implements TBase, java.io.Serializable, Clonea READ_REPAIR_CHANCE((short)12, "read_repair_chance"), COLUMN_METADATA((short)13, "column_metadata"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -105,7 +105,36 @@ public class CfDef implements TBase, java.io.Serializable, Clonea * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // TABLE + return TABLE; + case 2: // NAME + return NAME; + case 3: // COLUMN_TYPE + return COLUMN_TYPE; + case 4: // CLOCK_TYPE + return CLOCK_TYPE; + case 5: // COMPARATOR_TYPE + return COMPARATOR_TYPE; + case 6: // SUBCOMPARATOR_TYPE + return SUBCOMPARATOR_TYPE; + case 7: // RECONCILER + return RECONCILER; + case 8: // COMMENT + return COMMENT; + case 9: // ROW_CACHE_SIZE + return ROW_CACHE_SIZE; + case 10: // PRELOAD_ROW_CACHE + return PRELOAD_ROW_CACHE; + case 11: // KEY_CACHE_SIZE + return KEY_CACHE_SIZE; + case 12: // READ_REPAIR_CHANCE + return READ_REPAIR_CHANCE; + case 13: // COLUMN_METADATA + return COLUMN_METADATA; + default: + return null; + } } /** @@ -149,37 +178,37 @@ public class CfDef implements TBase, java.io.Serializable, Clonea private static final int __READ_REPAIR_CHANCE_ISSET_ID = 3; private BitSet __isset_bit_vector = new BitSet(4); - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.TABLE, new FieldMetaData("table", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.TABLE, new FieldMetaData("table", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.COLUMN_TYPE, new FieldMetaData("column_type", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.COLUMN_TYPE, new FieldMetaData("column_type", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); - put(_Fields.CLOCK_TYPE, new FieldMetaData("clock_type", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.CLOCK_TYPE, new FieldMetaData("clock_type", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); - put(_Fields.COMPARATOR_TYPE, new FieldMetaData("comparator_type", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.COMPARATOR_TYPE, new FieldMetaData("comparator_type", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); - put(_Fields.SUBCOMPARATOR_TYPE, new FieldMetaData("subcomparator_type", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.SUBCOMPARATOR_TYPE, new FieldMetaData("subcomparator_type", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); - put(_Fields.RECONCILER, new FieldMetaData("reconciler", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.RECONCILER, new FieldMetaData("reconciler", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); - put(_Fields.COMMENT, new FieldMetaData("comment", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.COMMENT, new FieldMetaData("comment", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); - put(_Fields.ROW_CACHE_SIZE, new FieldMetaData("row_cache_size", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.ROW_CACHE_SIZE, new FieldMetaData("row_cache_size", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.DOUBLE))); - put(_Fields.PRELOAD_ROW_CACHE, new FieldMetaData("preload_row_cache", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.PRELOAD_ROW_CACHE, new FieldMetaData("preload_row_cache", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.BOOL))); - put(_Fields.KEY_CACHE_SIZE, new FieldMetaData("key_cache_size", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.KEY_CACHE_SIZE, new FieldMetaData("key_cache_size", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.DOUBLE))); - put(_Fields.READ_REPAIR_CHANCE, new FieldMetaData("read_repair_chance", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.READ_REPAIR_CHANCE, new FieldMetaData("read_repair_chance", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.DOUBLE))); - put(_Fields.COLUMN_METADATA, new FieldMetaData("column_metadata", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.COLUMN_METADATA, new FieldMetaData("column_metadata", TFieldRequirementType.OPTIONAL, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, ColumnDef.class)))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(CfDef.class, metaDataMap); } @@ -939,7 +968,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetTable()) { lastComparison = TBaseHelper.compareTo(table, typedOther.table); + if (isSetTable()) { lastComparison = TBaseHelper.compareTo(this.table, typedOther.table); if (lastComparison != 0) { return lastComparison; } @@ -948,7 +977,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetName()) { lastComparison = TBaseHelper.compareTo(name, typedOther.name); + if (isSetName()) { lastComparison = TBaseHelper.compareTo(this.name, typedOther.name); if (lastComparison != 0) { return lastComparison; } @@ -957,7 +986,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_type()) { lastComparison = TBaseHelper.compareTo(column_type, typedOther.column_type); + if (isSetColumn_type()) { lastComparison = TBaseHelper.compareTo(this.column_type, typedOther.column_type); if (lastComparison != 0) { return lastComparison; } @@ -966,7 +995,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetClock_type()) { lastComparison = TBaseHelper.compareTo(clock_type, typedOther.clock_type); + if (isSetClock_type()) { lastComparison = TBaseHelper.compareTo(this.clock_type, typedOther.clock_type); if (lastComparison != 0) { return lastComparison; } @@ -975,7 +1004,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetComparator_type()) { lastComparison = TBaseHelper.compareTo(comparator_type, typedOther.comparator_type); + if (isSetComparator_type()) { lastComparison = TBaseHelper.compareTo(this.comparator_type, typedOther.comparator_type); if (lastComparison != 0) { return lastComparison; } @@ -984,7 +1013,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetSubcomparator_type()) { lastComparison = TBaseHelper.compareTo(subcomparator_type, typedOther.subcomparator_type); + if (isSetSubcomparator_type()) { lastComparison = TBaseHelper.compareTo(this.subcomparator_type, typedOther.subcomparator_type); if (lastComparison != 0) { return lastComparison; } @@ -993,7 +1022,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetReconciler()) { lastComparison = TBaseHelper.compareTo(reconciler, typedOther.reconciler); + if (isSetReconciler()) { lastComparison = TBaseHelper.compareTo(this.reconciler, typedOther.reconciler); if (lastComparison != 0) { return lastComparison; } @@ -1002,7 +1031,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetComment()) { lastComparison = TBaseHelper.compareTo(comment, typedOther.comment); + if (isSetComment()) { lastComparison = TBaseHelper.compareTo(this.comment, typedOther.comment); if (lastComparison != 0) { return lastComparison; } @@ -1011,7 +1040,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetRow_cache_size()) { lastComparison = TBaseHelper.compareTo(row_cache_size, typedOther.row_cache_size); + if (isSetRow_cache_size()) { lastComparison = TBaseHelper.compareTo(this.row_cache_size, typedOther.row_cache_size); if (lastComparison != 0) { return lastComparison; } @@ -1020,7 +1049,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetPreload_row_cache()) { lastComparison = TBaseHelper.compareTo(preload_row_cache, typedOther.preload_row_cache); + if (isSetPreload_row_cache()) { lastComparison = TBaseHelper.compareTo(this.preload_row_cache, typedOther.preload_row_cache); if (lastComparison != 0) { return lastComparison; } @@ -1029,7 +1058,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetKey_cache_size()) { lastComparison = TBaseHelper.compareTo(key_cache_size, typedOther.key_cache_size); + if (isSetKey_cache_size()) { lastComparison = TBaseHelper.compareTo(this.key_cache_size, typedOther.key_cache_size); if (lastComparison != 0) { return lastComparison; } @@ -1038,7 +1067,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetRead_repair_chance()) { lastComparison = TBaseHelper.compareTo(read_repair_chance, typedOther.read_repair_chance); + if (isSetRead_repair_chance()) { lastComparison = TBaseHelper.compareTo(this.read_repair_chance, typedOther.read_repair_chance); if (lastComparison != 0) { return lastComparison; } @@ -1047,7 +1076,7 @@ public class CfDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_metadata()) { lastComparison = TBaseHelper.compareTo(column_metadata, typedOther.column_metadata); + if (isSetColumn_metadata()) { lastComparison = TBaseHelper.compareTo(this.column_metadata, typedOther.column_metadata); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/Clock.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/Clock.java index 94ccfeaac5..68a1cbf9a7 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Clock.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Clock.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -51,7 +53,7 @@ import org.apache.thrift.protocol.*; * highest timestamp is the one whose value the system will converge to. No other assumptions * are made about what the timestamp represents, but using microseconds-since-epoch is customary. */ -public class Clock implements TBase, java.io.Serializable, Cloneable, Comparable { +public class Clock implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("Clock"); private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)1); @@ -62,12 +64,10 @@ public class Clock implements TBase, java.io.Serializable, Clonea public enum _Fields implements TFieldIdEnum { TIMESTAMP((short)1, "timestamp"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -76,7 +76,12 @@ public class Clock implements TBase, java.io.Serializable, Clonea * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // TIMESTAMP + return TIMESTAMP; + default: + return null; + } } /** @@ -117,12 +122,12 @@ public class Clock implements TBase, java.io.Serializable, Clonea private static final int __TIMESTAMP_ISSET_ID = 0; private BitSet __isset_bit_vector = new BitSet(1); - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.I64))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.I64))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(Clock.class, metaDataMap); } @@ -263,7 +268,7 @@ public class Clock implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetTimestamp()) { lastComparison = TBaseHelper.compareTo(timestamp, typedOther.timestamp); + if (isSetTimestamp()) { lastComparison = TBaseHelper.compareTo(this.timestamp, typedOther.timestamp); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java index 06ff3e1df3..eab397c0b7 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -51,7 +53,7 @@ import org.apache.thrift.protocol.*; * @param clock. The clock is used for conflict detection/resolution when two columns with same name need to be compared. * @param ttl. An optional, positive delay (in seconds) after which the column will be automatically deleted. */ -public class Column implements TBase, java.io.Serializable, Cloneable, Comparable { +public class Column implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("Column"); private static final TField NAME_FIELD_DESC = new TField("name", TType.STRING, (short)1); @@ -71,12 +73,10 @@ public class Column implements TBase, java.io.Serializable, Clon CLOCK((short)3, "clock"), TTL((short)4, "ttl"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -85,7 +85,18 @@ public class Column implements TBase, java.io.Serializable, Clon * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // NAME + return NAME; + case 2: // VALUE + return VALUE; + case 3: // CLOCK + return CLOCK; + case 4: // TTL + return TTL; + default: + return null; + } } /** @@ -126,18 +137,18 @@ public class Column implements TBase, java.io.Serializable, Clon private static final int __TTL_ISSET_ID = 0; private BitSet __isset_bit_vector = new BitSet(1); - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.VALUE, new FieldMetaData("value", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.CLOCK, new FieldMetaData("clock", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, Clock.class))); - put(_Fields.TTL, new FieldMetaData("ttl", TFieldRequirementType.OPTIONAL, - new FieldValueMetaData(TType.I32))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.VALUE, new FieldMetaData("value", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.CLOCK, new FieldMetaData("clock", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, Clock.class))); + tmpMap.put(_Fields.TTL, new FieldMetaData("ttl", TFieldRequirementType.OPTIONAL, + new FieldValueMetaData(TType.I32))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(Column.class, metaDataMap); } @@ -430,7 +441,7 @@ public class Column implements TBase, java.io.Serializable, Clon if (lastComparison != 0) { return lastComparison; } - if (isSetName()) { lastComparison = TBaseHelper.compareTo(name, typedOther.name); + if (isSetName()) { lastComparison = TBaseHelper.compareTo(this.name, typedOther.name); if (lastComparison != 0) { return lastComparison; } @@ -439,7 +450,7 @@ public class Column implements TBase, java.io.Serializable, Clon if (lastComparison != 0) { return lastComparison; } - if (isSetValue()) { lastComparison = TBaseHelper.compareTo(value, typedOther.value); + if (isSetValue()) { lastComparison = TBaseHelper.compareTo(this.value, typedOther.value); if (lastComparison != 0) { return lastComparison; } @@ -448,7 +459,7 @@ public class Column implements TBase, java.io.Serializable, Clon if (lastComparison != 0) { return lastComparison; } - if (isSetClock()) { lastComparison = TBaseHelper.compareTo(clock, typedOther.clock); + if (isSetClock()) { lastComparison = TBaseHelper.compareTo(this.clock, typedOther.clock); if (lastComparison != 0) { return lastComparison; } @@ -457,7 +468,7 @@ public class Column implements TBase, java.io.Serializable, Clon if (lastComparison != 0) { return lastComparison; } - if (isSetTtl()) { lastComparison = TBaseHelper.compareTo(ttl, typedOther.ttl); + if (isSetTtl()) { lastComparison = TBaseHelper.compareTo(this.ttl, typedOther.ttl); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnDef.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnDef.java index 3091033cfe..2784867b29 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnDef.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnDef.java @@ -41,10 +41,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; -public class ColumnDef implements TBase, java.io.Serializable, Cloneable, Comparable { +public class ColumnDef implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("ColumnDef"); private static final TField NAME_FIELD_DESC = new TField("name", TType.STRING, (short)1); @@ -72,12 +74,10 @@ public class ColumnDef implements TBase, java.io.Serializable INDEX_TYPE((short)3, "index_type"), INDEX_NAME((short)4, "index_name"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -86,7 +86,18 @@ public class ColumnDef implements TBase, java.io.Serializable * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // NAME + return NAME; + case 2: // VALIDATION_CLASS + return VALIDATION_CLASS; + case 3: // INDEX_TYPE + return INDEX_TYPE; + case 4: // INDEX_NAME + return INDEX_NAME; + default: + return null; + } } /** @@ -125,18 +136,18 @@ public class ColumnDef implements TBase, java.io.Serializable // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.VALIDATION_CLASS, new FieldMetaData("validation_class", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.INDEX_TYPE, new FieldMetaData("index_type", TFieldRequirementType.OPTIONAL, - new EnumMetaData(TType.ENUM, IndexType.class))); - put(_Fields.INDEX_NAME, new FieldMetaData("index_name", TFieldRequirementType.OPTIONAL, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.VALIDATION_CLASS, new FieldMetaData("validation_class", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.INDEX_TYPE, new FieldMetaData("index_type", TFieldRequirementType.OPTIONAL, + new EnumMetaData(TType.ENUM, IndexType.class))); + tmpMap.put(_Fields.INDEX_NAME, new FieldMetaData("index_name", TFieldRequirementType.OPTIONAL, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(ColumnDef.class, metaDataMap); } @@ -435,7 +446,7 @@ public class ColumnDef implements TBase, java.io.Serializable if (lastComparison != 0) { return lastComparison; } - if (isSetName()) { lastComparison = TBaseHelper.compareTo(name, typedOther.name); + if (isSetName()) { lastComparison = TBaseHelper.compareTo(this.name, typedOther.name); if (lastComparison != 0) { return lastComparison; } @@ -444,7 +455,7 @@ public class ColumnDef implements TBase, java.io.Serializable if (lastComparison != 0) { return lastComparison; } - if (isSetValidation_class()) { lastComparison = TBaseHelper.compareTo(validation_class, typedOther.validation_class); + if (isSetValidation_class()) { lastComparison = TBaseHelper.compareTo(this.validation_class, typedOther.validation_class); if (lastComparison != 0) { return lastComparison; } @@ -453,7 +464,7 @@ public class ColumnDef implements TBase, java.io.Serializable if (lastComparison != 0) { return lastComparison; } - if (isSetIndex_type()) { lastComparison = TBaseHelper.compareTo(index_type, typedOther.index_type); + if (isSetIndex_type()) { lastComparison = TBaseHelper.compareTo(this.index_type, typedOther.index_type); if (lastComparison != 0) { return lastComparison; } @@ -462,7 +473,7 @@ public class ColumnDef implements TBase, java.io.Serializable if (lastComparison != 0) { return lastComparison; } - if (isSetIndex_name()) { lastComparison = TBaseHelper.compareTo(index_name, typedOther.index_name); + if (isSetIndex_name()) { lastComparison = TBaseHelper.compareTo(this.index_name, typedOther.index_name); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnOrSuperColumn.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnOrSuperColumn.java index 328ca0317e..69f0d3c2fa 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnOrSuperColumn.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnOrSuperColumn.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -54,7 +56,7 @@ import org.apache.thrift.protocol.*; * @param column. The Column returned by get() or get_slice(). * @param super_column. The SuperColumn returned by get() or get_slice(). */ -public class ColumnOrSuperColumn implements TBase, java.io.Serializable, Cloneable, Comparable { +public class ColumnOrSuperColumn implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("ColumnOrSuperColumn"); private static final TField COLUMN_FIELD_DESC = new TField("column", TType.STRUCT, (short)1); @@ -68,12 +70,10 @@ public class ColumnOrSuperColumn implements TBase, COLUMN((short)1, "column"), SUPER_COLUMN((short)2, "super_column"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -82,7 +82,14 @@ public class ColumnOrSuperColumn implements TBase, * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // COLUMN + return COLUMN; + case 2: // SUPER_COLUMN + return SUPER_COLUMN; + default: + return null; + } } /** @@ -121,14 +128,14 @@ public class ColumnOrSuperColumn implements TBase, // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.COLUMN, new FieldMetaData("column", TFieldRequirementType.OPTIONAL, - new StructMetaData(TType.STRUCT, Column.class))); - put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, - new StructMetaData(TType.STRUCT, SuperColumn.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.COLUMN, new FieldMetaData("column", TFieldRequirementType.OPTIONAL, + new StructMetaData(TType.STRUCT, Column.class))); + tmpMap.put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, + new StructMetaData(TType.STRUCT, SuperColumn.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(ColumnOrSuperColumn.class, metaDataMap); } @@ -311,7 +318,7 @@ public class ColumnOrSuperColumn implements TBase, if (lastComparison != 0) { return lastComparison; } - if (isSetColumn()) { lastComparison = TBaseHelper.compareTo(column, typedOther.column); + if (isSetColumn()) { lastComparison = TBaseHelper.compareTo(this.column, typedOther.column); if (lastComparison != 0) { return lastComparison; } @@ -320,7 +327,7 @@ public class ColumnOrSuperColumn implements TBase, if (lastComparison != 0) { return lastComparison; } - if (isSetSuper_column()) { lastComparison = TBaseHelper.compareTo(super_column, typedOther.super_column); + if (isSetSuper_column()) { lastComparison = TBaseHelper.compareTo(this.super_column, typedOther.super_column); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnParent.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnParent.java index 0d3730f602..12cdb5cda4 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnParent.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnParent.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -50,7 +52,7 @@ import org.apache.thrift.protocol.*; * * See also ColumnPath */ -public class ColumnParent implements TBase, java.io.Serializable, Cloneable, Comparable { +public class ColumnParent implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("ColumnParent"); private static final TField COLUMN_FAMILY_FIELD_DESC = new TField("column_family", TType.STRING, (short)3); @@ -64,12 +66,10 @@ public class ColumnParent implements TBase, java.io.Serial COLUMN_FAMILY((short)3, "column_family"), SUPER_COLUMN((short)4, "super_column"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -78,7 +78,14 @@ public class ColumnParent implements TBase, java.io.Serial * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 3: // COLUMN_FAMILY + return COLUMN_FAMILY; + case 4: // SUPER_COLUMN + return SUPER_COLUMN; + default: + return null; + } } /** @@ -117,14 +124,14 @@ public class ColumnParent implements TBase, java.io.Serial // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(ColumnParent.class, metaDataMap); } @@ -315,7 +322,7 @@ public class ColumnParent implements TBase, java.io.Serial if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_family()) { lastComparison = TBaseHelper.compareTo(column_family, typedOther.column_family); + if (isSetColumn_family()) { lastComparison = TBaseHelper.compareTo(this.column_family, typedOther.column_family); if (lastComparison != 0) { return lastComparison; } @@ -324,7 +331,7 @@ public class ColumnParent implements TBase, java.io.Serial if (lastComparison != 0) { return lastComparison; } - if (isSetSuper_column()) { lastComparison = TBaseHelper.compareTo(super_column, typedOther.super_column); + if (isSetSuper_column()) { lastComparison = TBaseHelper.compareTo(this.super_column, typedOther.super_column); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnPath.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnPath.java index a89548b226..3350a0993e 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnPath.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnPath.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -54,7 +56,7 @@ import org.apache.thrift.protocol.*; * @param super_column. The super column name. * @param column. The column name. */ -public class ColumnPath implements TBase, java.io.Serializable, Cloneable, Comparable { +public class ColumnPath implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("ColumnPath"); private static final TField COLUMN_FAMILY_FIELD_DESC = new TField("column_family", TType.STRING, (short)3); @@ -71,12 +73,10 @@ public class ColumnPath implements TBase, java.io.Serializab SUPER_COLUMN((short)4, "super_column"), COLUMN((short)5, "column"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -85,7 +85,16 @@ public class ColumnPath implements TBase, java.io.Serializab * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 3: // COLUMN_FAMILY + return COLUMN_FAMILY; + case 4: // SUPER_COLUMN + return SUPER_COLUMN; + case 5: // COLUMN + return COLUMN; + default: + return null; + } } /** @@ -124,16 +133,16 @@ public class ColumnPath implements TBase, java.io.Serializab // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, - new FieldValueMetaData(TType.STRING))); - put(_Fields.COLUMN, new FieldMetaData("column", TFieldRequirementType.OPTIONAL, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.COLUMN_FAMILY, new FieldMetaData("column_family", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.COLUMN, new FieldMetaData("column", TFieldRequirementType.OPTIONAL, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(ColumnPath.class, metaDataMap); } @@ -374,7 +383,7 @@ public class ColumnPath implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_family()) { lastComparison = TBaseHelper.compareTo(column_family, typedOther.column_family); + if (isSetColumn_family()) { lastComparison = TBaseHelper.compareTo(this.column_family, typedOther.column_family); if (lastComparison != 0) { return lastComparison; } @@ -383,7 +392,7 @@ public class ColumnPath implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetSuper_column()) { lastComparison = TBaseHelper.compareTo(super_column, typedOther.super_column); + if (isSetSuper_column()) { lastComparison = TBaseHelper.compareTo(this.super_column, typedOther.super_column); if (lastComparison != 0) { return lastComparison; } @@ -392,7 +401,7 @@ public class ColumnPath implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetColumn()) { lastComparison = TBaseHelper.compareTo(column, typedOther.column); + if (isSetColumn()) { lastComparison = TBaseHelper.compareTo(this.column, typedOther.column); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/Deletion.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/Deletion.java index d21829a6f5..463437274d 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Deletion.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Deletion.java @@ -41,10 +41,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; -public class Deletion implements TBase, java.io.Serializable, Cloneable, Comparable { +public class Deletion implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("Deletion"); private static final TField CLOCK_FIELD_DESC = new TField("clock", TType.STRUCT, (short)1); @@ -61,12 +63,10 @@ public class Deletion implements TBase, java.io.Serializable, SUPER_COLUMN((short)2, "super_column"), PREDICATE((short)3, "predicate"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -75,7 +75,16 @@ public class Deletion implements TBase, java.io.Serializable, * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // CLOCK + return CLOCK; + case 2: // SUPER_COLUMN + return SUPER_COLUMN; + case 3: // PREDICATE + return PREDICATE; + default: + return null; + } } /** @@ -114,16 +123,16 @@ public class Deletion implements TBase, java.io.Serializable, // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.CLOCK, new FieldMetaData("clock", TFieldRequirementType.REQUIRED, - new StructMetaData(TType.STRUCT, Clock.class))); - put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, - new FieldValueMetaData(TType.STRING))); - put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.OPTIONAL, - new StructMetaData(TType.STRUCT, SlicePredicate.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.CLOCK, new FieldMetaData("clock", TFieldRequirementType.REQUIRED, + new StructMetaData(TType.STRUCT, Clock.class))); + tmpMap.put(_Fields.SUPER_COLUMN, new FieldMetaData("super_column", TFieldRequirementType.OPTIONAL, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.PREDICATE, new FieldMetaData("predicate", TFieldRequirementType.OPTIONAL, + new StructMetaData(TType.STRUCT, SlicePredicate.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(Deletion.class, metaDataMap); } @@ -363,7 +372,7 @@ public class Deletion implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetClock()) { lastComparison = TBaseHelper.compareTo(clock, typedOther.clock); + if (isSetClock()) { lastComparison = TBaseHelper.compareTo(this.clock, typedOther.clock); if (lastComparison != 0) { return lastComparison; } @@ -372,7 +381,7 @@ public class Deletion implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetSuper_column()) { lastComparison = TBaseHelper.compareTo(super_column, typedOther.super_column); + if (isSetSuper_column()) { lastComparison = TBaseHelper.compareTo(this.super_column, typedOther.super_column); if (lastComparison != 0) { return lastComparison; } @@ -381,7 +390,7 @@ public class Deletion implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(predicate, typedOther.predicate); + if (isSetPredicate()) { lastComparison = TBaseHelper.compareTo(this.predicate, typedOther.predicate); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexClause.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexClause.java index 015e03b375..1ea5f56393 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexClause.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexClause.java @@ -41,10 +41,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; -public class IndexClause implements TBase, java.io.Serializable, Cloneable, Comparable { +public class IndexClause implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("IndexClause"); private static final TField EXPRESSIONS_FIELD_DESC = new TField("expressions", TType.LIST, (short)1); @@ -61,12 +63,10 @@ public class IndexClause implements TBase, java.io.Serializ COUNT((short)2, "count"), START_KEY((short)3, "start_key"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -75,7 +75,16 @@ public class IndexClause implements TBase, java.io.Serializ * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // EXPRESSIONS + return EXPRESSIONS; + case 2: // COUNT + return COUNT; + case 3: // START_KEY + return START_KEY; + default: + return null; + } } /** @@ -116,17 +125,17 @@ public class IndexClause implements TBase, java.io.Serializ private static final int __COUNT_ISSET_ID = 0; private BitSet __isset_bit_vector = new BitSet(1); - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.EXPRESSIONS, new FieldMetaData("expressions", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.EXPRESSIONS, new FieldMetaData("expressions", TFieldRequirementType.REQUIRED, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, IndexExpression.class)))); - put(_Fields.COUNT, new FieldMetaData("count", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.COUNT, new FieldMetaData("count", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.I32))); - put(_Fields.START_KEY, new FieldMetaData("start_key", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.START_KEY, new FieldMetaData("start_key", TFieldRequirementType.OPTIONAL, new FieldValueMetaData(TType.STRING))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(IndexClause.class, metaDataMap); } @@ -389,7 +398,7 @@ public class IndexClause implements TBase, java.io.Serializ if (lastComparison != 0) { return lastComparison; } - if (isSetExpressions()) { lastComparison = TBaseHelper.compareTo(expressions, typedOther.expressions); + if (isSetExpressions()) { lastComparison = TBaseHelper.compareTo(this.expressions, typedOther.expressions); if (lastComparison != 0) { return lastComparison; } @@ -398,7 +407,7 @@ public class IndexClause implements TBase, java.io.Serializ if (lastComparison != 0) { return lastComparison; } - if (isSetCount()) { lastComparison = TBaseHelper.compareTo(count, typedOther.count); + if (isSetCount()) { lastComparison = TBaseHelper.compareTo(this.count, typedOther.count); if (lastComparison != 0) { return lastComparison; } @@ -407,7 +416,7 @@ public class IndexClause implements TBase, java.io.Serializ if (lastComparison != 0) { return lastComparison; } - if (isSetStart_key()) { lastComparison = TBaseHelper.compareTo(start_key, typedOther.start_key); + if (isSetStart_key()) { lastComparison = TBaseHelper.compareTo(this.start_key, typedOther.start_key); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexExpression.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexExpression.java index d7f27a1b2b..81a215d869 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexExpression.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexExpression.java @@ -41,10 +41,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; -public class IndexExpression implements TBase, java.io.Serializable, Cloneable, Comparable { +public class IndexExpression implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("IndexExpression"); private static final TField COLUMN_NAME_FIELD_DESC = new TField("column_name", TType.STRING, (short)1); @@ -69,12 +71,10 @@ public class IndexExpression implements TBase, java.io. OP((short)2, "op"), VALUE((short)3, "value"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -83,7 +83,16 @@ public class IndexExpression implements TBase, java.io. * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // COLUMN_NAME + return COLUMN_NAME; + case 2: // OP + return OP; + case 3: // VALUE + return VALUE; + default: + return null; + } } /** @@ -122,16 +131,16 @@ public class IndexExpression implements TBase, java.io. // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.COLUMN_NAME, new FieldMetaData("column_name", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.OP, new FieldMetaData("op", TFieldRequirementType.REQUIRED, - new EnumMetaData(TType.ENUM, IndexOperator.class))); - put(_Fields.VALUE, new FieldMetaData("value", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.COLUMN_NAME, new FieldMetaData("column_name", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.OP, new FieldMetaData("op", TFieldRequirementType.REQUIRED, + new EnumMetaData(TType.ENUM, IndexOperator.class))); + tmpMap.put(_Fields.VALUE, new FieldMetaData("value", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(IndexExpression.class, metaDataMap); } @@ -384,7 +393,7 @@ public class IndexExpression implements TBase, java.io. if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_name()) { lastComparison = TBaseHelper.compareTo(column_name, typedOther.column_name); + if (isSetColumn_name()) { lastComparison = TBaseHelper.compareTo(this.column_name, typedOther.column_name); if (lastComparison != 0) { return lastComparison; } @@ -393,7 +402,7 @@ public class IndexExpression implements TBase, java.io. if (lastComparison != 0) { return lastComparison; } - if (isSetOp()) { lastComparison = TBaseHelper.compareTo(op, typedOther.op); + if (isSetOp()) { lastComparison = TBaseHelper.compareTo(this.op, typedOther.op); if (lastComparison != 0) { return lastComparison; } @@ -402,7 +411,7 @@ public class IndexExpression implements TBase, java.io. if (lastComparison != 0) { return lastComparison; } - if (isSetValue()) { lastComparison = TBaseHelper.compareTo(value, typedOther.value); + if (isSetValue()) { lastComparison = TBaseHelper.compareTo(this.value, typedOther.value); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java index ba1350df0a..155fa634a1 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java @@ -41,14 +41,16 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** * Invalid request could mean keyspace or column family does not exist, required parameters are missing, or a parameter is malformed. * why contains an associated error message. */ -public class InvalidRequestException extends Exception implements TBase, java.io.Serializable, Cloneable, Comparable { +public class InvalidRequestException extends Exception implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("InvalidRequestException"); private static final TField WHY_FIELD_DESC = new TField("why", TType.STRING, (short)1); @@ -59,12 +61,10 @@ public class InvalidRequestException extends Exception implements TBase byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -73,7 +73,12 @@ public class InvalidRequestException extends Exception implements TBase metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.WHY, new FieldMetaData("why", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.WHY, new FieldMetaData("why", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(InvalidRequestException.class, metaDataMap); } @@ -258,7 +263,7 @@ public class InvalidRequestException extends Exception implements TBase, java.io.Serializable, Cloneable, Comparable { +public class KeyCount implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("KeyCount"); private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)1); @@ -58,12 +60,10 @@ public class KeyCount implements TBase, java.io.Serializable, KEY((short)1, "key"), COUNT((short)2, "count"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -72,7 +72,14 @@ public class KeyCount implements TBase, java.io.Serializable, * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEY + return KEY; + case 2: // COUNT + return COUNT; + default: + return null; + } } /** @@ -113,14 +120,14 @@ public class KeyCount implements TBase, java.io.Serializable, private static final int __COUNT_ISSET_ID = 0; private BitSet __isset_bit_vector = new BitSet(1); - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.STRING))); - put(_Fields.COUNT, new FieldMetaData("count", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.I32))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.COUNT, new FieldMetaData("count", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.I32))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(KeyCount.class, metaDataMap); } @@ -313,7 +320,7 @@ public class KeyCount implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetKey()) { lastComparison = TBaseHelper.compareTo(key, typedOther.key); + if (isSetKey()) { lastComparison = TBaseHelper.compareTo(this.key, typedOther.key); if (lastComparison != 0) { return lastComparison; } @@ -322,7 +329,7 @@ public class KeyCount implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetCount()) { lastComparison = TBaseHelper.compareTo(count, typedOther.count); + if (isSetCount()) { lastComparison = TBaseHelper.compareTo(this.count, typedOther.count); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyRange.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyRange.java index 6d514e2354..d46b9a954f 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyRange.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyRange.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -52,7 +54,7 @@ import org.apache.thrift.protocol.*; * one-element range, but a range from tokenY to tokenY is the * full ring. */ -public class KeyRange implements TBase, java.io.Serializable, Cloneable, Comparable { +public class KeyRange implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("KeyRange"); private static final TField START_KEY_FIELD_DESC = new TField("start_key", TType.STRING, (short)1); @@ -75,12 +77,10 @@ public class KeyRange implements TBase, java.io.Serializable, END_TOKEN((short)4, "end_token"), COUNT((short)5, "count"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -89,7 +89,20 @@ public class KeyRange implements TBase, java.io.Serializable, * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // START_KEY + return START_KEY; + case 2: // END_KEY + return END_KEY; + case 3: // START_TOKEN + return START_TOKEN; + case 4: // END_TOKEN + return END_TOKEN; + case 5: // COUNT + return COUNT; + default: + return null; + } } /** @@ -130,20 +143,20 @@ public class KeyRange implements TBase, java.io.Serializable, private static final int __COUNT_ISSET_ID = 0; private BitSet __isset_bit_vector = new BitSet(1); - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.START_KEY, new FieldMetaData("start_key", TFieldRequirementType.OPTIONAL, - new FieldValueMetaData(TType.STRING))); - put(_Fields.END_KEY, new FieldMetaData("end_key", TFieldRequirementType.OPTIONAL, - new FieldValueMetaData(TType.STRING))); - put(_Fields.START_TOKEN, new FieldMetaData("start_token", TFieldRequirementType.OPTIONAL, - new FieldValueMetaData(TType.STRING))); - put(_Fields.END_TOKEN, new FieldMetaData("end_token", TFieldRequirementType.OPTIONAL, - new FieldValueMetaData(TType.STRING))); - put(_Fields.COUNT, new FieldMetaData("count", TFieldRequirementType.REQUIRED, - new FieldValueMetaData(TType.I32))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.START_KEY, new FieldMetaData("start_key", TFieldRequirementType.OPTIONAL, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.END_KEY, new FieldMetaData("end_key", TFieldRequirementType.OPTIONAL, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.START_TOKEN, new FieldMetaData("start_token", TFieldRequirementType.OPTIONAL, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.END_TOKEN, new FieldMetaData("end_token", TFieldRequirementType.OPTIONAL, + new FieldValueMetaData(TType.STRING))); + tmpMap.put(_Fields.COUNT, new FieldMetaData("count", TFieldRequirementType.REQUIRED, + new FieldValueMetaData(TType.I32))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(KeyRange.class, metaDataMap); } @@ -484,7 +497,7 @@ public class KeyRange implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetStart_key()) { lastComparison = TBaseHelper.compareTo(start_key, typedOther.start_key); + if (isSetStart_key()) { lastComparison = TBaseHelper.compareTo(this.start_key, typedOther.start_key); if (lastComparison != 0) { return lastComparison; } @@ -493,7 +506,7 @@ public class KeyRange implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetEnd_key()) { lastComparison = TBaseHelper.compareTo(end_key, typedOther.end_key); + if (isSetEnd_key()) { lastComparison = TBaseHelper.compareTo(this.end_key, typedOther.end_key); if (lastComparison != 0) { return lastComparison; } @@ -502,7 +515,7 @@ public class KeyRange implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetStart_token()) { lastComparison = TBaseHelper.compareTo(start_token, typedOther.start_token); + if (isSetStart_token()) { lastComparison = TBaseHelper.compareTo(this.start_token, typedOther.start_token); if (lastComparison != 0) { return lastComparison; } @@ -511,7 +524,7 @@ public class KeyRange implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetEnd_token()) { lastComparison = TBaseHelper.compareTo(end_token, typedOther.end_token); + if (isSetEnd_token()) { lastComparison = TBaseHelper.compareTo(this.end_token, typedOther.end_token); if (lastComparison != 0) { return lastComparison; } @@ -520,7 +533,7 @@ public class KeyRange implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetCount()) { lastComparison = TBaseHelper.compareTo(count, typedOther.count); + if (isSetCount()) { lastComparison = TBaseHelper.compareTo(this.count, typedOther.count); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/KeySlice.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/KeySlice.java index 646cda9119..9611bd1e50 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/KeySlice.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/KeySlice.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -51,7 +53,7 @@ import org.apache.thrift.protocol.*; * @param columns. List of data represented by the key. Typically, the list is pared down to only the columns specified by * a SlicePredicate. */ -public class KeySlice implements TBase, java.io.Serializable, Cloneable, Comparable { +public class KeySlice implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("KeySlice"); private static final TField KEY_FIELD_DESC = new TField("key", TType.STRING, (short)1); @@ -65,12 +67,10 @@ public class KeySlice implements TBase, java.io.Serializable, KEY((short)1, "key"), COLUMNS((short)2, "columns"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -79,7 +79,14 @@ public class KeySlice implements TBase, java.io.Serializable, * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEY + return KEY; + case 2: // COLUMNS + return COLUMNS; + default: + return null; + } } /** @@ -118,15 +125,15 @@ public class KeySlice implements TBase, java.io.Serializable, // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEY, new FieldMetaData("key", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.COLUMNS, new FieldMetaData("columns", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.COLUMNS, new FieldMetaData("columns", TFieldRequirementType.REQUIRED, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class)))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(KeySlice.class, metaDataMap); } @@ -338,7 +345,7 @@ public class KeySlice implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetKey()) { lastComparison = TBaseHelper.compareTo(key, typedOther.key); + if (isSetKey()) { lastComparison = TBaseHelper.compareTo(this.key, typedOther.key); if (lastComparison != 0) { return lastComparison; } @@ -347,7 +354,7 @@ public class KeySlice implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetColumns()) { lastComparison = TBaseHelper.compareTo(columns, typedOther.columns); + if (isSetColumns()) { lastComparison = TBaseHelper.compareTo(this.columns, typedOther.columns); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/KsDef.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/KsDef.java index 0ba3820913..4a12251be0 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/KsDef.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/KsDef.java @@ -41,10 +41,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; -public class KsDef implements TBase, java.io.Serializable, Cloneable, Comparable { +public class KsDef implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("KsDef"); private static final TField NAME_FIELD_DESC = new TField("name", TType.STRING, (short)1); @@ -64,12 +66,10 @@ public class KsDef implements TBase, java.io.Serializable, Clonea REPLICATION_FACTOR((short)3, "replication_factor"), CF_DEFS((short)5, "cf_defs"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -78,7 +78,18 @@ public class KsDef implements TBase, java.io.Serializable, Clonea * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // NAME + return NAME; + case 2: // STRATEGY_CLASS + return STRATEGY_CLASS; + case 3: // REPLICATION_FACTOR + return REPLICATION_FACTOR; + case 5: // CF_DEFS + return CF_DEFS; + default: + return null; + } } /** @@ -119,19 +130,19 @@ public class KsDef implements TBase, java.io.Serializable, Clonea private static final int __REPLICATION_FACTOR_ISSET_ID = 0; private BitSet __isset_bit_vector = new BitSet(1); - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.STRATEGY_CLASS, new FieldMetaData("strategy_class", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.STRATEGY_CLASS, new FieldMetaData("strategy_class", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.REPLICATION_FACTOR, new FieldMetaData("replication_factor", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.REPLICATION_FACTOR, new FieldMetaData("replication_factor", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.I32))); - put(_Fields.CF_DEFS, new FieldMetaData("cf_defs", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.CF_DEFS, new FieldMetaData("cf_defs", TFieldRequirementType.REQUIRED, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, CfDef.class)))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(KsDef.class, metaDataMap); } @@ -444,7 +455,7 @@ public class KsDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetName()) { lastComparison = TBaseHelper.compareTo(name, typedOther.name); + if (isSetName()) { lastComparison = TBaseHelper.compareTo(this.name, typedOther.name); if (lastComparison != 0) { return lastComparison; } @@ -453,7 +464,7 @@ public class KsDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetStrategy_class()) { lastComparison = TBaseHelper.compareTo(strategy_class, typedOther.strategy_class); + if (isSetStrategy_class()) { lastComparison = TBaseHelper.compareTo(this.strategy_class, typedOther.strategy_class); if (lastComparison != 0) { return lastComparison; } @@ -462,7 +473,7 @@ public class KsDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetReplication_factor()) { lastComparison = TBaseHelper.compareTo(replication_factor, typedOther.replication_factor); + if (isSetReplication_factor()) { lastComparison = TBaseHelper.compareTo(this.replication_factor, typedOther.replication_factor); if (lastComparison != 0) { return lastComparison; } @@ -471,7 +482,7 @@ public class KsDef implements TBase, java.io.Serializable, Clonea if (lastComparison != 0) { return lastComparison; } - if (isSetCf_defs()) { lastComparison = TBaseHelper.compareTo(cf_defs, typedOther.cf_defs); + if (isSetCf_defs()) { lastComparison = TBaseHelper.compareTo(this.cf_defs, typedOther.cf_defs); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/Mutation.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/Mutation.java index b89cdad38e..57cdab9d6b 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Mutation.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Mutation.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -49,7 +51,7 @@ import org.apache.thrift.protocol.*; * @param column_or_supercolumn. An insert to a column or supercolumn * @param deletion. A deletion of a column or supercolumn */ -public class Mutation implements TBase, java.io.Serializable, Cloneable, Comparable { +public class Mutation implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("Mutation"); private static final TField COLUMN_OR_SUPERCOLUMN_FIELD_DESC = new TField("column_or_supercolumn", TType.STRUCT, (short)1); @@ -63,12 +65,10 @@ public class Mutation implements TBase, java.io.Serializable, COLUMN_OR_SUPERCOLUMN((short)1, "column_or_supercolumn"), DELETION((short)2, "deletion"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -77,7 +77,14 @@ public class Mutation implements TBase, java.io.Serializable, * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // COLUMN_OR_SUPERCOLUMN + return COLUMN_OR_SUPERCOLUMN; + case 2: // DELETION + return DELETION; + default: + return null; + } } /** @@ -116,14 +123,14 @@ public class Mutation implements TBase, java.io.Serializable, // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.COLUMN_OR_SUPERCOLUMN, new FieldMetaData("column_or_supercolumn", TFieldRequirementType.OPTIONAL, - new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class))); - put(_Fields.DELETION, new FieldMetaData("deletion", TFieldRequirementType.OPTIONAL, - new StructMetaData(TType.STRUCT, Deletion.class))); - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.COLUMN_OR_SUPERCOLUMN, new FieldMetaData("column_or_supercolumn", TFieldRequirementType.OPTIONAL, + new StructMetaData(TType.STRUCT, ColumnOrSuperColumn.class))); + tmpMap.put(_Fields.DELETION, new FieldMetaData("deletion", TFieldRequirementType.OPTIONAL, + new StructMetaData(TType.STRUCT, Deletion.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(Mutation.class, metaDataMap); } @@ -306,7 +313,7 @@ public class Mutation implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_or_supercolumn()) { lastComparison = TBaseHelper.compareTo(column_or_supercolumn, typedOther.column_or_supercolumn); + if (isSetColumn_or_supercolumn()) { lastComparison = TBaseHelper.compareTo(this.column_or_supercolumn, typedOther.column_or_supercolumn); if (lastComparison != 0) { return lastComparison; } @@ -315,7 +322,7 @@ public class Mutation implements TBase, java.io.Serializable, if (lastComparison != 0) { return lastComparison; } - if (isSetDeletion()) { lastComparison = TBaseHelper.compareTo(deletion, typedOther.deletion); + if (isSetDeletion()) { lastComparison = TBaseHelper.compareTo(this.deletion, typedOther.deletion); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java index 585a027b73..cf70f8d3db 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java @@ -41,13 +41,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** * A specific column was requested that does not exist. */ -public class NotFoundException extends Exception implements TBase, java.io.Serializable, Cloneable, Comparable { +public class NotFoundException extends Exception implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("NotFoundException"); @@ -56,12 +58,10 @@ public class NotFoundException extends Exception implements TBase byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -70,7 +70,10 @@ public class NotFoundException extends Exception implements TBase metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(NotFoundException.class, metaDataMap); } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/RowPredicate.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/RowPredicate.java index a2dd5a3b6f..cab740ba6b 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/RowPredicate.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/RowPredicate.java @@ -41,10 +41,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; -public class RowPredicate implements TBase, java.io.Serializable, Cloneable, Comparable { +public class RowPredicate implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("RowPredicate"); private static final TField KEYS_FIELD_DESC = new TField("keys", TType.LIST, (short)1); @@ -61,12 +63,10 @@ public class RowPredicate implements TBase, java.io.Serial KEY_RANGE((short)2, "key_range"), INDEX_CLAUSE((short)3, "index_clause"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -75,7 +75,16 @@ public class RowPredicate implements TBase, java.io.Serial * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // KEYS + return KEYS; + case 2: // KEY_RANGE + return KEY_RANGE; + case 3: // INDEX_CLAUSE + return INDEX_CLAUSE; + default: + return null; + } } /** @@ -114,17 +123,17 @@ public class RowPredicate implements TBase, java.io.Serial // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.KEYS, new FieldMetaData("keys", TFieldRequirementType.OPTIONAL, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.KEYS, new FieldMetaData("keys", TFieldRequirementType.OPTIONAL, new ListMetaData(TType.LIST, new FieldValueMetaData(TType.STRING)))); - put(_Fields.KEY_RANGE, new FieldMetaData("key_range", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.KEY_RANGE, new FieldMetaData("key_range", TFieldRequirementType.OPTIONAL, new StructMetaData(TType.STRUCT, KeyRange.class))); - put(_Fields.INDEX_CLAUSE, new FieldMetaData("index_clause", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.INDEX_CLAUSE, new FieldMetaData("index_clause", TFieldRequirementType.OPTIONAL, new StructMetaData(TType.STRUCT, IndexClause.class))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(RowPredicate.class, metaDataMap); } @@ -377,7 +386,7 @@ public class RowPredicate implements TBase, java.io.Serial if (lastComparison != 0) { return lastComparison; } - if (isSetKeys()) { lastComparison = TBaseHelper.compareTo(keys, typedOther.keys); + if (isSetKeys()) { lastComparison = TBaseHelper.compareTo(this.keys, typedOther.keys); if (lastComparison != 0) { return lastComparison; } @@ -386,7 +395,7 @@ public class RowPredicate implements TBase, java.io.Serial if (lastComparison != 0) { return lastComparison; } - if (isSetKey_range()) { lastComparison = TBaseHelper.compareTo(key_range, typedOther.key_range); + if (isSetKey_range()) { lastComparison = TBaseHelper.compareTo(this.key_range, typedOther.key_range); if (lastComparison != 0) { return lastComparison; } @@ -395,7 +404,7 @@ public class RowPredicate implements TBase, java.io.Serial if (lastComparison != 0) { return lastComparison; } - if (isSetIndex_clause()) { lastComparison = TBaseHelper.compareTo(index_clause, typedOther.index_clause); + if (isSetIndex_clause()) { lastComparison = TBaseHelper.compareTo(this.index_clause, typedOther.index_clause); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/SlicePredicate.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/SlicePredicate.java index c5c91728bc..914d023a4c 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/SlicePredicate.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/SlicePredicate.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -56,7 +58,7 @@ import org.apache.thrift.protocol.*; * and 'Jim' you can pass those column names as a list to fetch all three at once. * @param slice_range. A SliceRange describing how to range, order, and/or limit the slice. */ -public class SlicePredicate implements TBase, java.io.Serializable, Cloneable, Comparable { +public class SlicePredicate implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("SlicePredicate"); private static final TField COLUMN_NAMES_FIELD_DESC = new TField("column_names", TType.LIST, (short)1); @@ -70,12 +72,10 @@ public class SlicePredicate implements TBase, java.io.Se COLUMN_NAMES((short)1, "column_names"), SLICE_RANGE((short)2, "slice_range"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -84,7 +84,14 @@ public class SlicePredicate implements TBase, java.io.Se * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // COLUMN_NAMES + return COLUMN_NAMES; + case 2: // SLICE_RANGE + return SLICE_RANGE; + default: + return null; + } } /** @@ -123,15 +130,15 @@ public class SlicePredicate implements TBase, java.io.Se // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.COLUMN_NAMES, new FieldMetaData("column_names", TFieldRequirementType.OPTIONAL, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.COLUMN_NAMES, new FieldMetaData("column_names", TFieldRequirementType.OPTIONAL, new ListMetaData(TType.LIST, new FieldValueMetaData(TType.STRING)))); - put(_Fields.SLICE_RANGE, new FieldMetaData("slice_range", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.SLICE_RANGE, new FieldMetaData("slice_range", TFieldRequirementType.OPTIONAL, new StructMetaData(TType.STRUCT, SliceRange.class))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(SlicePredicate.class, metaDataMap); } @@ -335,7 +342,7 @@ public class SlicePredicate implements TBase, java.io.Se if (lastComparison != 0) { return lastComparison; } - if (isSetColumn_names()) { lastComparison = TBaseHelper.compareTo(column_names, typedOther.column_names); + if (isSetColumn_names()) { lastComparison = TBaseHelper.compareTo(this.column_names, typedOther.column_names); if (lastComparison != 0) { return lastComparison; } @@ -344,7 +351,7 @@ public class SlicePredicate implements TBase, java.io.Se if (lastComparison != 0) { return lastComparison; } - if (isSetSlice_range()) { lastComparison = TBaseHelper.compareTo(slice_range, typedOther.slice_range); + if (isSetSlice_range()) { lastComparison = TBaseHelper.compareTo(this.slice_range, typedOther.slice_range); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/SliceRange.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/SliceRange.java index ca7c476d96..54947307df 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/SliceRange.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/SliceRange.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -61,7 +63,7 @@ import org.apache.thrift.protocol.*; * of the next instead of increasing 'count' arbitrarily large. * @param bitmasks. A list of OR-ed binary AND masks applied to the result set. */ -public class SliceRange implements TBase, java.io.Serializable, Cloneable, Comparable { +public class SliceRange implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("SliceRange"); private static final TField START_FIELD_DESC = new TField("start", TType.STRING, (short)1); @@ -84,12 +86,10 @@ public class SliceRange implements TBase, java.io.Serializab COUNT((short)4, "count"), BITMASKS((short)5, "bitmasks"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -98,7 +98,20 @@ public class SliceRange implements TBase, java.io.Serializab * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // START + return START; + case 2: // FINISH + return FINISH; + case 3: // REVERSED + return REVERSED; + case 4: // COUNT + return COUNT; + case 5: // BITMASKS + return BITMASKS; + default: + return null; + } } /** @@ -140,21 +153,21 @@ public class SliceRange implements TBase, java.io.Serializab private static final int __COUNT_ISSET_ID = 1; private BitSet __isset_bit_vector = new BitSet(2); - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.START, new FieldMetaData("start", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.START, new FieldMetaData("start", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.FINISH, new FieldMetaData("finish", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.FINISH, new FieldMetaData("finish", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.REVERSED, new FieldMetaData("reversed", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.REVERSED, new FieldMetaData("reversed", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.BOOL))); - put(_Fields.COUNT, new FieldMetaData("count", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.COUNT, new FieldMetaData("count", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.I32))); - put(_Fields.BITMASKS, new FieldMetaData("bitmasks", TFieldRequirementType.OPTIONAL, + tmpMap.put(_Fields.BITMASKS, new FieldMetaData("bitmasks", TFieldRequirementType.OPTIONAL, new ListMetaData(TType.LIST, new FieldValueMetaData(TType.STRING)))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(SliceRange.class, metaDataMap); } @@ -522,7 +535,7 @@ public class SliceRange implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetStart()) { lastComparison = TBaseHelper.compareTo(start, typedOther.start); + if (isSetStart()) { lastComparison = TBaseHelper.compareTo(this.start, typedOther.start); if (lastComparison != 0) { return lastComparison; } @@ -531,7 +544,7 @@ public class SliceRange implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetFinish()) { lastComparison = TBaseHelper.compareTo(finish, typedOther.finish); + if (isSetFinish()) { lastComparison = TBaseHelper.compareTo(this.finish, typedOther.finish); if (lastComparison != 0) { return lastComparison; } @@ -540,7 +553,7 @@ public class SliceRange implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetReversed()) { lastComparison = TBaseHelper.compareTo(reversed, typedOther.reversed); + if (isSetReversed()) { lastComparison = TBaseHelper.compareTo(this.reversed, typedOther.reversed); if (lastComparison != 0) { return lastComparison; } @@ -549,7 +562,7 @@ public class SliceRange implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetCount()) { lastComparison = TBaseHelper.compareTo(count, typedOther.count); + if (isSetCount()) { lastComparison = TBaseHelper.compareTo(this.count, typedOther.count); if (lastComparison != 0) { return lastComparison; } @@ -558,7 +571,7 @@ public class SliceRange implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetBitmasks()) { lastComparison = TBaseHelper.compareTo(bitmasks, typedOther.bitmasks); + if (isSetBitmasks()) { lastComparison = TBaseHelper.compareTo(this.bitmasks, typedOther.bitmasks); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java index 807cb119d3..051c070510 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java @@ -41,7 +41,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** @@ -50,7 +52,7 @@ import org.apache.thrift.protocol.*; * @param columns. A collection of standard Columns. The columns within a super column are defined in an adhoc manner. * Columns within a super column do not have to have matching structures (similarly named child columns). */ -public class SuperColumn implements TBase, java.io.Serializable, Cloneable, Comparable { +public class SuperColumn implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("SuperColumn"); private static final TField NAME_FIELD_DESC = new TField("name", TType.STRING, (short)1); @@ -64,12 +66,10 @@ public class SuperColumn implements TBase, java.io.Serializ NAME((short)1, "name"), COLUMNS((short)2, "columns"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -78,7 +78,14 @@ public class SuperColumn implements TBase, java.io.Serializ * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // NAME + return NAME; + case 2: // COLUMNS + return COLUMNS; + default: + return null; + } } /** @@ -117,15 +124,15 @@ public class SuperColumn implements TBase, java.io.Serializ // isset id assignments - public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.NAME, new FieldMetaData("name", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.COLUMNS, new FieldMetaData("columns", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.COLUMNS, new FieldMetaData("columns", TFieldRequirementType.REQUIRED, new ListMetaData(TType.LIST, new StructMetaData(TType.STRUCT, Column.class)))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(SuperColumn.class, metaDataMap); } @@ -337,7 +344,7 @@ public class SuperColumn implements TBase, java.io.Serializ if (lastComparison != 0) { return lastComparison; } - if (isSetName()) { lastComparison = TBaseHelper.compareTo(name, typedOther.name); + if (isSetName()) { lastComparison = TBaseHelper.compareTo(this.name, typedOther.name); if (lastComparison != 0) { return lastComparison; } @@ -346,7 +353,7 @@ public class SuperColumn implements TBase, java.io.Serializ if (lastComparison != 0) { return lastComparison; } - if (isSetColumns()) { lastComparison = TBaseHelper.compareTo(columns, typedOther.columns); + if (isSetColumns()) { lastComparison = TBaseHelper.compareTo(this.columns, typedOther.columns); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/TimedOutException.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/TimedOutException.java index f751c29796..063b32405a 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/TimedOutException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/TimedOutException.java @@ -41,13 +41,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** * RPC timeout was exceeded. either a node failed mid-operation, or load was too high, or the requested op was too large. */ -public class TimedOutException extends Exception implements TBase, java.io.Serializable, Cloneable, Comparable { +public class TimedOutException extends Exception implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("TimedOutException"); @@ -56,12 +58,10 @@ public class TimedOutException extends Exception implements TBase byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -70,7 +70,10 @@ public class TimedOutException extends Exception implements TBase metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(TimedOutException.class, metaDataMap); } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java index d2e5c17bb6..7124c5b3dd 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java @@ -41,10 +41,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; -public class TokenRange implements TBase, java.io.Serializable, Cloneable, Comparable { +public class TokenRange implements TBase, java.io.Serializable, Cloneable { 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); @@ -61,12 +63,10 @@ public class TokenRange implements TBase, java.io.Serializab END_TOKEN((short)2, "end_token"), ENDPOINTS((short)3, "endpoints"); - private static final Map byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -75,7 +75,16 @@ public class TokenRange implements TBase, java.io.Serializab * Find the _Fields constant that matches fieldId, or null if its not found. */ public static _Fields findByThriftId(int fieldId) { - return byId.get(fieldId); + switch(fieldId) { + case 1: // START_TOKEN + return START_TOKEN; + case 2: // END_TOKEN + return END_TOKEN; + case 3: // ENDPOINTS + return ENDPOINTS; + default: + return null; + } } /** @@ -114,17 +123,17 @@ public class TokenRange implements TBase, java.io.Serializab // 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, + public static final Map<_Fields, FieldMetaData> metaDataMap; + static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.START_TOKEN, new FieldMetaData("start_token", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.END_TOKEN, new FieldMetaData("end_token", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.END_TOKEN, new FieldMetaData("end_token", TFieldRequirementType.REQUIRED, new FieldValueMetaData(TType.STRING))); - put(_Fields.ENDPOINTS, new FieldMetaData("endpoints", TFieldRequirementType.REQUIRED, + tmpMap.put(_Fields.ENDPOINTS, new FieldMetaData("endpoints", TFieldRequirementType.REQUIRED, new ListMetaData(TType.LIST, new FieldValueMetaData(TType.STRING)))); - }}); - - static { + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(TokenRange.class, metaDataMap); } @@ -386,7 +395,7 @@ public class TokenRange implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetStart_token()) { lastComparison = TBaseHelper.compareTo(start_token, typedOther.start_token); + if (isSetStart_token()) { lastComparison = TBaseHelper.compareTo(this.start_token, typedOther.start_token); if (lastComparison != 0) { return lastComparison; } @@ -395,7 +404,7 @@ public class TokenRange implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetEnd_token()) { lastComparison = TBaseHelper.compareTo(end_token, typedOther.end_token); + if (isSetEnd_token()) { lastComparison = TBaseHelper.compareTo(this.end_token, typedOther.end_token); if (lastComparison != 0) { return lastComparison; } @@ -404,7 +413,7 @@ public class TokenRange implements TBase, java.io.Serializab if (lastComparison != 0) { return lastComparison; } - if (isSetEndpoints()) { lastComparison = TBaseHelper.compareTo(endpoints, typedOther.endpoints); + if (isSetEndpoints()) { lastComparison = TBaseHelper.compareTo(this.endpoints, typedOther.endpoints); if (lastComparison != 0) { return lastComparison; } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/UnavailableException.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/UnavailableException.java index 37a0ae73b0..be1e94cce1 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/UnavailableException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/UnavailableException.java @@ -41,13 +41,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.thrift.*; +import org.apache.thrift.async.*; import org.apache.thrift.meta_data.*; +import org.apache.thrift.transport.*; import org.apache.thrift.protocol.*; /** * Not all the replicas required could be created and/or read. */ -public class UnavailableException extends Exception implements TBase, java.io.Serializable, Cloneable, Comparable { +public class UnavailableException extends Exception implements TBase, java.io.Serializable, Cloneable { private static final TStruct STRUCT_DESC = new TStruct("UnavailableException"); @@ -56,12 +58,10 @@ public class UnavailableException extends Exception implements TBase byId = new HashMap(); private static final Map byName = new HashMap(); static { for (_Fields field : EnumSet.allOf(_Fields.class)) { - byId.put((int)field._thriftId, field); byName.put(field.getFieldName(), field); } } @@ -70,7 +70,10 @@ public class UnavailableException extends Exception implements TBase metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{ - }}); - + public static final Map<_Fields, FieldMetaData> metaDataMap; static { + Map<_Fields, FieldMetaData> tmpMap = new EnumMap<_Fields, FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); FieldMetaData.addStructMetaDataMap(UnavailableException.class, metaDataMap); } diff --git a/lib/libthrift-r917130.jar b/lib/libthrift-r917130.jar deleted file mode 100755 index 896cdb2af89a584045397509881ac79c11513cbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188158 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 z 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

`vMLyzmsrGwx0{I*u) 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 diff --git a/lib/libthrift-r959516.jar b/lib/libthrift-r959516.jar new file mode 100644 index 0000000000000000000000000000000000000000..dda8e88144a5d1d4c359aa53d3c045cc6678b2b6 GIT binary patch literal 214739 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

^w=)-~zG$x{Q7vwd_eP@Pb4%~gD)K4e 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