From b153d45644b1af0e645fcb3cdc1c835949289e41 Mon Sep 17 00:00:00 2001 From: Jake Luciani Date: Mon, 14 Jan 2013 15:14:04 -0500 Subject: [PATCH] Upgrade thrift version to 0.9.0 Patch by jfarrell; reviewed by tjake for CASSANDRA-3719 --- CHANGES.txt | 2 +- build.xml | 2 +- .../thrift/AuthenticationException.java | 133 +- .../thrift/AuthenticationRequest.java | 189 +- .../thrift/AuthorizationException.java | 133 +- .../apache/cassandra/thrift/Cassandra.java | 16484 +++++++++++----- .../org/apache/cassandra/thrift/CfDef.java | 1751 +- .../org/apache/cassandra/thrift/CfSplit.java | 203 +- .../org/apache/cassandra/thrift/Column.java | 271 +- .../apache/cassandra/thrift/ColumnDef.java | 344 +- .../cassandra/thrift/ColumnOrSuperColumn.java | 295 +- .../apache/cassandra/thrift/ColumnParent.java | 176 +- .../apache/cassandra/thrift/ColumnPath.java | 217 +- .../apache/cassandra/thrift/Compression.java | 3 +- .../cassandra/thrift/ConsistencyLevel.java | 3 +- .../cassandra/thrift/CounterColumn.java | 175 +- .../cassandra/thrift/CounterSuperColumn.java | 211 +- .../apache/cassandra/thrift/CqlMetadata.java | 331 +- .../cassandra/thrift/CqlPreparedResult.java | 368 +- .../apache/cassandra/thrift/CqlResult.java | 326 +- .../cassandra/thrift/CqlResultType.java | 3 +- .../org/apache/cassandra/thrift/CqlRow.java | 211 +- .../org/apache/cassandra/thrift/Deletion.java | 246 +- .../cassandra/thrift/EndpointDetails.java | 218 +- .../apache/cassandra/thrift/IndexClause.java | 255 +- .../cassandra/thrift/IndexExpression.java | 187 +- .../cassandra/thrift/IndexOperator.java | 3 +- .../apache/cassandra/thrift/IndexType.java | 3 +- .../thrift/InvalidRequestException.java | 133 +- .../org/apache/cassandra/thrift/KeyCount.java | 175 +- .../org/apache/cassandra/thrift/KeyRange.java | 408 +- .../org/apache/cassandra/thrift/KeySlice.java | 211 +- .../org/apache/cassandra/thrift/KsDef.java | 437 +- .../org/apache/cassandra/thrift/Mutation.java | 201 +- .../cassandra/thrift/NotFoundException.java | 104 +- .../thrift/SchemaDisagreementException.java | 104 +- .../cassandra/thrift/SlicePredicate.java | 244 +- .../apache/cassandra/thrift/SliceRange.java | 240 +- .../apache/cassandra/thrift/SuperColumn.java | 211 +- .../cassandra/thrift/TimedOutException.java | 204 +- .../apache/cassandra/thrift/TokenRange.java | 423 +- .../thrift/UnavailableException.java | 104 +- ...Constants.java => cassandraConstants.java} | 14 +- lib/libthrift-0.7.0.jar | Bin 301547 -> 0 bytes lib/libthrift-0.9.0.jar | Bin 0 -> 347531 bytes .../{libthrift-0.7.txt => libthrift-0.9.txt} | 0 .../org/apache/cassandra/cli/CliMain.java | 10 +- .../org/apache/cassandra/db/SystemTable.java | 4 +- .../hadoop/ColumnFamilyInputFormat.java | 8 +- .../hadoop/pig/CassandraStorage.java | 8 +- .../cassandra/service/StorageService.java | 4 +- .../cassandra/thrift/CassandraServer.java | 2 +- .../cassandra/thrift/CustomTHsHaServer.java | 304 +- .../org/apache/cassandra/tools/Shuffle.java | 8 +- 54 files changed, 17790 insertions(+), 8514 deletions(-) rename interface/thrift/gen-java/org/apache/cassandra/thrift/{Constants.java => cassandraConstants.java} (75%) delete mode 100644 lib/libthrift-0.7.0.jar create mode 100644 lib/libthrift-0.9.0.jar rename lib/licenses/{libthrift-0.7.txt => libthrift-0.9.txt} (100%) diff --git a/CHANGES.txt b/CHANGES.txt index d71b77c8c9..93d7ecde5e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,7 +3,7 @@ * add default_tim_to_live (CASSANDRA-3974) * add memtable_flush_period_in_ms (CASSANDRA-4237) * replace supercolumns internally by composites (CASSANDRA-3237) - + * upgrade thrift to 0.9.0 (CASSANDRA-3719) 1.2.1 * add inter_dc_tcp_nodelay setting (CASSANDRA-5148) diff --git a/build.xml b/build.xml index eb681eb7fa..d73abc7750 100644 --- a/build.xml +++ b/build.xml @@ -356,7 +356,7 @@ - + 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 5d88cd98e8..8127883e31 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationException.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -45,11 +55,17 @@ import org.slf4j.LoggerFactory; /** * invalid authentication request (invalid keyspace, user does not exist, or credentials invalid) */ -public class AuthenticationException extends Exception implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { +public class AuthenticationException extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthenticationException"); private static final org.apache.thrift.protocol.TField WHY_FIELD_DESC = new org.apache.thrift.protocol.TField("why", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new AuthenticationExceptionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new AuthenticationExceptionTupleSchemeFactory()); + } + public String why; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -111,7 +127,6 @@ public class AuthenticationException extends Exception implements org.apache.thr } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -271,44 +286,11 @@ public class AuthenticationException extends Exception implements org.apache.thr } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // WHY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.why = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.why != null) { - oprot.writeFieldBegin(WHY_FIELD_DESC); - oprot.writeString(this.why); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -332,6 +314,7 @@ public class AuthenticationException extends Exception implements org.apache.thr if (why == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'why' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -350,5 +333,79 @@ public class AuthenticationException extends Exception implements org.apache.thr } } + private static class AuthenticationExceptionStandardSchemeFactory implements SchemeFactory { + public AuthenticationExceptionStandardScheme getScheme() { + return new AuthenticationExceptionStandardScheme(); + } + } + + private static class AuthenticationExceptionStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, AuthenticationException struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // WHY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.why = iprot.readString(); + struct.setWhyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, AuthenticationException struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.why != null) { + oprot.writeFieldBegin(WHY_FIELD_DESC); + oprot.writeString(struct.why); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class AuthenticationExceptionTupleSchemeFactory implements SchemeFactory { + public AuthenticationExceptionTupleScheme getScheme() { + return new AuthenticationExceptionTupleScheme(); + } + } + + private static class AuthenticationExceptionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, AuthenticationException struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.why); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, AuthenticationException struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.why = iprot.readString(); + struct.setWhyIsSet(true); + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java index 0f68426841..707c6b93f3 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -50,6 +60,12 @@ public class AuthenticationRequest implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new AuthenticationRequestStandardSchemeFactory()); + schemes.put(TupleScheme.class, new AuthenticationRequestTupleSchemeFactory()); + } + public Map credentials; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -111,7 +127,6 @@ public class AuthenticationRequest implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -296,64 +311,11 @@ public class AuthenticationRequest implements org.apache.thrift.TBase(2*_map36.size); - for (int _i37 = 0; _i37 < _map36.size; ++_i37) - { - String _key38; // required - String _val39; // required - _key38 = iprot.readString(); - _val39 = iprot.readString(); - this.credentials.put(_key38, _val39); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.credentials != null) { - oprot.writeFieldBegin(CREDENTIALS_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.credentials.size())); - for (Map.Entry _iter40 : this.credentials.entrySet()) - { - oprot.writeString(_iter40.getKey()); - oprot.writeString(_iter40.getValue()); - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -377,6 +339,7 @@ public class AuthenticationRequest implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, AuthenticationRequest struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // CREDENTIALS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map72 = iprot.readMapBegin(); + struct.credentials = new HashMap(2*_map72.size); + for (int _i73 = 0; _i73 < _map72.size; ++_i73) + { + String _key74; // required + String _val75; // required + _key74 = iprot.readString(); + _val75 = iprot.readString(); + struct.credentials.put(_key74, _val75); + } + iprot.readMapEnd(); + } + struct.setCredentialsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, AuthenticationRequest struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.credentials != null) { + oprot.writeFieldBegin(CREDENTIALS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.credentials.size())); + for (Map.Entry _iter76 : struct.credentials.entrySet()) + { + oprot.writeString(_iter76.getKey()); + oprot.writeString(_iter76.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class AuthenticationRequestTupleSchemeFactory implements SchemeFactory { + public AuthenticationRequestTupleScheme getScheme() { + return new AuthenticationRequestTupleScheme(); + } + } + + private static class AuthenticationRequestTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, AuthenticationRequest struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + { + oprot.writeI32(struct.credentials.size()); + for (Map.Entry _iter77 : struct.credentials.entrySet()) + { + oprot.writeString(_iter77.getKey()); + oprot.writeString(_iter77.getValue()); + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, AuthenticationRequest struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + { + org.apache.thrift.protocol.TMap _map78 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.credentials = new HashMap(2*_map78.size); + for (int _i79 = 0; _i79 < _map78.size; ++_i79) + { + String _key80; // required + String _val81; // required + _key80 = iprot.readString(); + _val81 = iprot.readString(); + struct.credentials.put(_key80, _val81); + } + } + struct.setCredentialsIsSet(true); + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthorizationException.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthorizationException.java index 76bc0614e4..f3a8506112 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthorizationException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthorizationException.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -45,11 +55,17 @@ import org.slf4j.LoggerFactory; /** * invalid authorization request (user does not have access to keyspace) */ -public class AuthorizationException extends Exception implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { +public class AuthorizationException extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthorizationException"); private static final org.apache.thrift.protocol.TField WHY_FIELD_DESC = new org.apache.thrift.protocol.TField("why", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new AuthorizationExceptionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new AuthorizationExceptionTupleSchemeFactory()); + } + public String why; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -111,7 +127,6 @@ public class AuthorizationException extends Exception implements org.apache.thri } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -271,44 +286,11 @@ public class AuthorizationException extends Exception implements org.apache.thri } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // WHY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.why = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.why != null) { - oprot.writeFieldBegin(WHY_FIELD_DESC); - oprot.writeString(this.why); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -332,6 +314,7 @@ public class AuthorizationException extends Exception implements org.apache.thri if (why == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'why' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -350,5 +333,79 @@ public class AuthorizationException extends Exception implements org.apache.thri } } + private static class AuthorizationExceptionStandardSchemeFactory implements SchemeFactory { + public AuthorizationExceptionStandardScheme getScheme() { + return new AuthorizationExceptionStandardScheme(); + } + } + + private static class AuthorizationExceptionStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, AuthorizationException struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // WHY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.why = iprot.readString(); + struct.setWhyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, AuthorizationException struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.why != null) { + oprot.writeFieldBegin(WHY_FIELD_DESC); + oprot.writeString(struct.why); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class AuthorizationExceptionTupleSchemeFactory implements SchemeFactory { + public AuthorizationExceptionTupleScheme getScheme() { + return new AuthorizationExceptionTupleScheme(); + } + } + + private static class AuthorizationExceptionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, AuthorizationException struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.why); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, AuthorizationException struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.why = iprot.readString(); + struct.setWhyIsSet(true); + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java index 8a2e66edc3..300068cd69 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -3218,7 +3228,7 @@ public class Cassandra { } - public static class Processor extends org.apache.thrift.TBaseProcessor implements org.apache.thrift.TProcessor { + public static class Processor extends org.apache.thrift.TBaseProcessor implements org.apache.thrift.TProcessor { private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName()); public Processor(I iface) { super(iface, getProcessMap(new HashMap>())); @@ -3274,16 +3284,20 @@ public class Cassandra { return processMap; } - private static class login extends org.apache.thrift.ProcessFunction { + public static class login extends org.apache.thrift.ProcessFunction { public login() { super("login"); } - protected login_args getEmptyArgsInstance() { + public login_args getEmptyArgsInstance() { return new login_args(); } - protected login_result getResult(I iface, login_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public login_result getResult(I iface, login_args args) throws org.apache.thrift.TException { login_result result = new login_result(); try { iface.login(args.auth_request); @@ -3296,16 +3310,20 @@ public class Cassandra { } } - private static class set_keyspace extends org.apache.thrift.ProcessFunction { + public static class set_keyspace extends org.apache.thrift.ProcessFunction { public set_keyspace() { super("set_keyspace"); } - protected set_keyspace_args getEmptyArgsInstance() { + public set_keyspace_args getEmptyArgsInstance() { return new set_keyspace_args(); } - protected set_keyspace_result getResult(I iface, set_keyspace_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public set_keyspace_result getResult(I iface, set_keyspace_args args) throws org.apache.thrift.TException { set_keyspace_result result = new set_keyspace_result(); try { iface.set_keyspace(args.keyspace); @@ -3316,16 +3334,20 @@ public class Cassandra { } } - private static class get extends org.apache.thrift.ProcessFunction { + public static class get extends org.apache.thrift.ProcessFunction { public get() { super("get"); } - protected get_args getEmptyArgsInstance() { + public get_args getEmptyArgsInstance() { return new get_args(); } - protected get_result getResult(I iface, get_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public get_result getResult(I iface, get_args args) throws org.apache.thrift.TException { get_result result = new get_result(); try { result.success = iface.get(args.key, args.column_path, args.consistency_level); @@ -3342,16 +3364,20 @@ public class Cassandra { } } - private static class get_slice extends org.apache.thrift.ProcessFunction { + public static class get_slice extends org.apache.thrift.ProcessFunction { public get_slice() { super("get_slice"); } - protected get_slice_args getEmptyArgsInstance() { + public get_slice_args getEmptyArgsInstance() { return new get_slice_args(); } - protected get_slice_result getResult(I iface, get_slice_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public get_slice_result getResult(I iface, get_slice_args args) throws org.apache.thrift.TException { get_slice_result result = new get_slice_result(); try { result.success = iface.get_slice(args.key, args.column_parent, args.predicate, args.consistency_level); @@ -3366,16 +3392,20 @@ public class Cassandra { } } - private static class get_count extends org.apache.thrift.ProcessFunction { + public static class get_count extends org.apache.thrift.ProcessFunction { public get_count() { super("get_count"); } - protected get_count_args getEmptyArgsInstance() { + public get_count_args getEmptyArgsInstance() { return new get_count_args(); } - protected get_count_result getResult(I iface, get_count_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public get_count_result getResult(I iface, get_count_args args) throws org.apache.thrift.TException { get_count_result result = new get_count_result(); try { result.success = iface.get_count(args.key, args.column_parent, args.predicate, args.consistency_level); @@ -3391,16 +3421,20 @@ public class Cassandra { } } - private static class multiget_slice extends org.apache.thrift.ProcessFunction { + public static class multiget_slice extends org.apache.thrift.ProcessFunction { public multiget_slice() { super("multiget_slice"); } - protected multiget_slice_args getEmptyArgsInstance() { + public multiget_slice_args getEmptyArgsInstance() { return new multiget_slice_args(); } - protected multiget_slice_result getResult(I iface, multiget_slice_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public multiget_slice_result getResult(I iface, multiget_slice_args args) throws org.apache.thrift.TException { multiget_slice_result result = new multiget_slice_result(); try { result.success = iface.multiget_slice(args.keys, args.column_parent, args.predicate, args.consistency_level); @@ -3415,16 +3449,20 @@ public class Cassandra { } } - private static class multiget_count extends org.apache.thrift.ProcessFunction { + public static class multiget_count extends org.apache.thrift.ProcessFunction { public multiget_count() { super("multiget_count"); } - protected multiget_count_args getEmptyArgsInstance() { + public multiget_count_args getEmptyArgsInstance() { return new multiget_count_args(); } - protected multiget_count_result getResult(I iface, multiget_count_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public multiget_count_result getResult(I iface, multiget_count_args args) throws org.apache.thrift.TException { multiget_count_result result = new multiget_count_result(); try { result.success = iface.multiget_count(args.keys, args.column_parent, args.predicate, args.consistency_level); @@ -3439,16 +3477,20 @@ public class Cassandra { } } - private static class get_range_slices extends org.apache.thrift.ProcessFunction { + public static class get_range_slices extends org.apache.thrift.ProcessFunction { public get_range_slices() { super("get_range_slices"); } - protected get_range_slices_args getEmptyArgsInstance() { + public get_range_slices_args getEmptyArgsInstance() { return new get_range_slices_args(); } - protected get_range_slices_result getResult(I iface, get_range_slices_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public get_range_slices_result getResult(I iface, get_range_slices_args args) throws org.apache.thrift.TException { get_range_slices_result result = new get_range_slices_result(); try { result.success = iface.get_range_slices(args.column_parent, args.predicate, args.range, args.consistency_level); @@ -3463,16 +3505,20 @@ public class Cassandra { } } - private static class get_paged_slice extends org.apache.thrift.ProcessFunction { + public static class get_paged_slice extends org.apache.thrift.ProcessFunction { public get_paged_slice() { super("get_paged_slice"); } - protected get_paged_slice_args getEmptyArgsInstance() { + public get_paged_slice_args getEmptyArgsInstance() { return new get_paged_slice_args(); } - protected get_paged_slice_result getResult(I iface, get_paged_slice_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public get_paged_slice_result getResult(I iface, get_paged_slice_args args) throws org.apache.thrift.TException { get_paged_slice_result result = new get_paged_slice_result(); try { result.success = iface.get_paged_slice(args.column_family, args.range, args.start_column, args.consistency_level); @@ -3487,16 +3533,20 @@ public class Cassandra { } } - private static class get_indexed_slices extends org.apache.thrift.ProcessFunction { + public static class get_indexed_slices extends org.apache.thrift.ProcessFunction { public get_indexed_slices() { super("get_indexed_slices"); } - protected get_indexed_slices_args getEmptyArgsInstance() { + public get_indexed_slices_args getEmptyArgsInstance() { return new get_indexed_slices_args(); } - protected get_indexed_slices_result getResult(I iface, get_indexed_slices_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public get_indexed_slices_result getResult(I iface, get_indexed_slices_args args) throws org.apache.thrift.TException { get_indexed_slices_result result = new get_indexed_slices_result(); try { result.success = iface.get_indexed_slices(args.column_parent, args.index_clause, args.column_predicate, args.consistency_level); @@ -3511,16 +3561,20 @@ public class Cassandra { } } - private static class insert extends org.apache.thrift.ProcessFunction { + public static class insert extends org.apache.thrift.ProcessFunction { public insert() { super("insert"); } - protected insert_args getEmptyArgsInstance() { + public insert_args getEmptyArgsInstance() { return new insert_args(); } - protected insert_result getResult(I iface, insert_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public insert_result getResult(I iface, insert_args args) throws org.apache.thrift.TException { insert_result result = new insert_result(); try { iface.insert(args.key, args.column_parent, args.column, args.consistency_level); @@ -3535,16 +3589,20 @@ public class Cassandra { } } - private static class add extends org.apache.thrift.ProcessFunction { + public static class add extends org.apache.thrift.ProcessFunction { public add() { super("add"); } - protected add_args getEmptyArgsInstance() { + public add_args getEmptyArgsInstance() { return new add_args(); } - protected add_result getResult(I iface, add_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public add_result getResult(I iface, add_args args) throws org.apache.thrift.TException { add_result result = new add_result(); try { iface.add(args.key, args.column_parent, args.column, args.consistency_level); @@ -3559,16 +3617,20 @@ public class Cassandra { } } - private static class remove extends org.apache.thrift.ProcessFunction { + public static class remove extends org.apache.thrift.ProcessFunction { public remove() { super("remove"); } - protected remove_args getEmptyArgsInstance() { + public remove_args getEmptyArgsInstance() { return new remove_args(); } - protected remove_result getResult(I iface, remove_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public remove_result getResult(I iface, remove_args args) throws org.apache.thrift.TException { remove_result result = new remove_result(); try { iface.remove(args.key, args.column_path, args.timestamp, args.consistency_level); @@ -3583,16 +3645,20 @@ public class Cassandra { } } - private static class remove_counter extends org.apache.thrift.ProcessFunction { + public static class remove_counter extends org.apache.thrift.ProcessFunction { public remove_counter() { super("remove_counter"); } - protected remove_counter_args getEmptyArgsInstance() { + public remove_counter_args getEmptyArgsInstance() { return new remove_counter_args(); } - protected remove_counter_result getResult(I iface, remove_counter_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public remove_counter_result getResult(I iface, remove_counter_args args) throws org.apache.thrift.TException { remove_counter_result result = new remove_counter_result(); try { iface.remove_counter(args.key, args.path, args.consistency_level); @@ -3607,16 +3673,20 @@ public class Cassandra { } } - private static class batch_mutate extends org.apache.thrift.ProcessFunction { + public static class batch_mutate extends org.apache.thrift.ProcessFunction { public batch_mutate() { super("batch_mutate"); } - protected batch_mutate_args getEmptyArgsInstance() { + public batch_mutate_args getEmptyArgsInstance() { return new batch_mutate_args(); } - protected batch_mutate_result getResult(I iface, batch_mutate_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public batch_mutate_result getResult(I iface, batch_mutate_args args) throws org.apache.thrift.TException { batch_mutate_result result = new batch_mutate_result(); try { iface.batch_mutate(args.mutation_map, args.consistency_level); @@ -3631,16 +3701,20 @@ public class Cassandra { } } - private static class atomic_batch_mutate extends org.apache.thrift.ProcessFunction { + public static class atomic_batch_mutate extends org.apache.thrift.ProcessFunction { public atomic_batch_mutate() { super("atomic_batch_mutate"); } - protected atomic_batch_mutate_args getEmptyArgsInstance() { + public atomic_batch_mutate_args getEmptyArgsInstance() { return new atomic_batch_mutate_args(); } - protected atomic_batch_mutate_result getResult(I iface, atomic_batch_mutate_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public atomic_batch_mutate_result getResult(I iface, atomic_batch_mutate_args args) throws org.apache.thrift.TException { atomic_batch_mutate_result result = new atomic_batch_mutate_result(); try { iface.atomic_batch_mutate(args.mutation_map, args.consistency_level); @@ -3655,16 +3729,20 @@ public class Cassandra { } } - private static class truncate extends org.apache.thrift.ProcessFunction { + public static class truncate extends org.apache.thrift.ProcessFunction { public truncate() { super("truncate"); } - protected truncate_args getEmptyArgsInstance() { + public truncate_args getEmptyArgsInstance() { return new truncate_args(); } - protected truncate_result getResult(I iface, truncate_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public truncate_result getResult(I iface, truncate_args args) throws org.apache.thrift.TException { truncate_result result = new truncate_result(); try { iface.truncate(args.cfname); @@ -3679,16 +3757,20 @@ public class Cassandra { } } - private static class describe_schema_versions extends org.apache.thrift.ProcessFunction { + public static class describe_schema_versions extends org.apache.thrift.ProcessFunction { public describe_schema_versions() { super("describe_schema_versions"); } - protected describe_schema_versions_args getEmptyArgsInstance() { + public describe_schema_versions_args getEmptyArgsInstance() { return new describe_schema_versions_args(); } - protected describe_schema_versions_result getResult(I iface, describe_schema_versions_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_schema_versions_result getResult(I iface, describe_schema_versions_args args) throws org.apache.thrift.TException { describe_schema_versions_result result = new describe_schema_versions_result(); try { result.success = iface.describe_schema_versions(); @@ -3699,16 +3781,20 @@ public class Cassandra { } } - private static class describe_keyspaces extends org.apache.thrift.ProcessFunction { + public static class describe_keyspaces extends org.apache.thrift.ProcessFunction { public describe_keyspaces() { super("describe_keyspaces"); } - protected describe_keyspaces_args getEmptyArgsInstance() { + public describe_keyspaces_args getEmptyArgsInstance() { return new describe_keyspaces_args(); } - protected describe_keyspaces_result getResult(I iface, describe_keyspaces_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_keyspaces_result getResult(I iface, describe_keyspaces_args args) throws org.apache.thrift.TException { describe_keyspaces_result result = new describe_keyspaces_result(); try { result.success = iface.describe_keyspaces(); @@ -3719,48 +3805,60 @@ public class Cassandra { } } - private static class describe_cluster_name extends org.apache.thrift.ProcessFunction { + public static class describe_cluster_name extends org.apache.thrift.ProcessFunction { public describe_cluster_name() { super("describe_cluster_name"); } - protected describe_cluster_name_args getEmptyArgsInstance() { + public describe_cluster_name_args getEmptyArgsInstance() { return new describe_cluster_name_args(); } - protected describe_cluster_name_result getResult(I iface, describe_cluster_name_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_cluster_name_result getResult(I iface, describe_cluster_name_args args) throws org.apache.thrift.TException { describe_cluster_name_result result = new describe_cluster_name_result(); result.success = iface.describe_cluster_name(); return result; } } - private static class describe_version extends org.apache.thrift.ProcessFunction { + public static class describe_version extends org.apache.thrift.ProcessFunction { public describe_version() { super("describe_version"); } - protected describe_version_args getEmptyArgsInstance() { + public describe_version_args getEmptyArgsInstance() { return new describe_version_args(); } - protected describe_version_result getResult(I iface, describe_version_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_version_result getResult(I iface, describe_version_args args) throws org.apache.thrift.TException { describe_version_result result = new describe_version_result(); result.success = iface.describe_version(); return result; } } - private static class describe_ring extends org.apache.thrift.ProcessFunction { + public static class describe_ring extends org.apache.thrift.ProcessFunction { public describe_ring() { super("describe_ring"); } - protected describe_ring_args getEmptyArgsInstance() { + public describe_ring_args getEmptyArgsInstance() { return new describe_ring_args(); } - protected describe_ring_result getResult(I iface, describe_ring_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_ring_result getResult(I iface, describe_ring_args args) throws org.apache.thrift.TException { describe_ring_result result = new describe_ring_result(); try { result.success = iface.describe_ring(args.keyspace); @@ -3771,16 +3869,20 @@ public class Cassandra { } } - private static class describe_token_map extends org.apache.thrift.ProcessFunction { + public static class describe_token_map extends org.apache.thrift.ProcessFunction { public describe_token_map() { super("describe_token_map"); } - protected describe_token_map_args getEmptyArgsInstance() { + public describe_token_map_args getEmptyArgsInstance() { return new describe_token_map_args(); } - protected describe_token_map_result getResult(I iface, describe_token_map_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_token_map_result getResult(I iface, describe_token_map_args args) throws org.apache.thrift.TException { describe_token_map_result result = new describe_token_map_result(); try { result.success = iface.describe_token_map(); @@ -3791,48 +3893,60 @@ public class Cassandra { } } - private static class describe_partitioner extends org.apache.thrift.ProcessFunction { + public static class describe_partitioner extends org.apache.thrift.ProcessFunction { public describe_partitioner() { super("describe_partitioner"); } - protected describe_partitioner_args getEmptyArgsInstance() { + public describe_partitioner_args getEmptyArgsInstance() { return new describe_partitioner_args(); } - protected describe_partitioner_result getResult(I iface, describe_partitioner_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_partitioner_result getResult(I iface, describe_partitioner_args args) throws org.apache.thrift.TException { describe_partitioner_result result = new describe_partitioner_result(); result.success = iface.describe_partitioner(); return result; } } - private static class describe_snitch extends org.apache.thrift.ProcessFunction { + public static class describe_snitch extends org.apache.thrift.ProcessFunction { public describe_snitch() { super("describe_snitch"); } - protected describe_snitch_args getEmptyArgsInstance() { + public describe_snitch_args getEmptyArgsInstance() { return new describe_snitch_args(); } - protected describe_snitch_result getResult(I iface, describe_snitch_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_snitch_result getResult(I iface, describe_snitch_args args) throws org.apache.thrift.TException { describe_snitch_result result = new describe_snitch_result(); result.success = iface.describe_snitch(); return result; } } - private static class describe_keyspace extends org.apache.thrift.ProcessFunction { + public static class describe_keyspace extends org.apache.thrift.ProcessFunction { public describe_keyspace() { super("describe_keyspace"); } - protected describe_keyspace_args getEmptyArgsInstance() { + public describe_keyspace_args getEmptyArgsInstance() { return new describe_keyspace_args(); } - protected describe_keyspace_result getResult(I iface, describe_keyspace_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_keyspace_result getResult(I iface, describe_keyspace_args args) throws org.apache.thrift.TException { describe_keyspace_result result = new describe_keyspace_result(); try { result.success = iface.describe_keyspace(args.keyspace); @@ -3845,16 +3959,20 @@ public class Cassandra { } } - private static class describe_splits extends org.apache.thrift.ProcessFunction { + public static class describe_splits extends org.apache.thrift.ProcessFunction { public describe_splits() { super("describe_splits"); } - protected describe_splits_args getEmptyArgsInstance() { + public describe_splits_args getEmptyArgsInstance() { return new describe_splits_args(); } - protected describe_splits_result getResult(I iface, describe_splits_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_splits_result getResult(I iface, describe_splits_args args) throws org.apache.thrift.TException { describe_splits_result result = new describe_splits_result(); try { result.success = iface.describe_splits(args.cfName, args.start_token, args.end_token, args.keys_per_split); @@ -3865,32 +3983,40 @@ public class Cassandra { } } - private static class trace_next_query extends org.apache.thrift.ProcessFunction { + public static class trace_next_query extends org.apache.thrift.ProcessFunction { public trace_next_query() { super("trace_next_query"); } - protected trace_next_query_args getEmptyArgsInstance() { + public trace_next_query_args getEmptyArgsInstance() { return new trace_next_query_args(); } - protected trace_next_query_result getResult(I iface, trace_next_query_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public trace_next_query_result getResult(I iface, trace_next_query_args args) throws org.apache.thrift.TException { trace_next_query_result result = new trace_next_query_result(); result.success = iface.trace_next_query(); return result; } } - private static class describe_splits_ex extends org.apache.thrift.ProcessFunction { + public static class describe_splits_ex extends org.apache.thrift.ProcessFunction { public describe_splits_ex() { super("describe_splits_ex"); } - protected describe_splits_ex_args getEmptyArgsInstance() { + public describe_splits_ex_args getEmptyArgsInstance() { return new describe_splits_ex_args(); } - protected describe_splits_ex_result getResult(I iface, describe_splits_ex_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public describe_splits_ex_result getResult(I iface, describe_splits_ex_args args) throws org.apache.thrift.TException { describe_splits_ex_result result = new describe_splits_ex_result(); try { result.success = iface.describe_splits_ex(args.cfName, args.start_token, args.end_token, args.keys_per_split); @@ -3901,16 +4027,20 @@ public class Cassandra { } } - private static class system_add_column_family extends org.apache.thrift.ProcessFunction { + public static class system_add_column_family extends org.apache.thrift.ProcessFunction { public system_add_column_family() { super("system_add_column_family"); } - protected system_add_column_family_args getEmptyArgsInstance() { + public system_add_column_family_args getEmptyArgsInstance() { return new system_add_column_family_args(); } - protected system_add_column_family_result getResult(I iface, system_add_column_family_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public system_add_column_family_result getResult(I iface, system_add_column_family_args args) throws org.apache.thrift.TException { system_add_column_family_result result = new system_add_column_family_result(); try { result.success = iface.system_add_column_family(args.cf_def); @@ -3923,16 +4053,20 @@ public class Cassandra { } } - private static class system_drop_column_family extends org.apache.thrift.ProcessFunction { + public static class system_drop_column_family extends org.apache.thrift.ProcessFunction { public system_drop_column_family() { super("system_drop_column_family"); } - protected system_drop_column_family_args getEmptyArgsInstance() { + public system_drop_column_family_args getEmptyArgsInstance() { return new system_drop_column_family_args(); } - protected system_drop_column_family_result getResult(I iface, system_drop_column_family_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public system_drop_column_family_result getResult(I iface, system_drop_column_family_args args) throws org.apache.thrift.TException { system_drop_column_family_result result = new system_drop_column_family_result(); try { result.success = iface.system_drop_column_family(args.column_family); @@ -3945,16 +4079,20 @@ public class Cassandra { } } - private static class system_add_keyspace extends org.apache.thrift.ProcessFunction { + public static class system_add_keyspace extends org.apache.thrift.ProcessFunction { public system_add_keyspace() { super("system_add_keyspace"); } - protected system_add_keyspace_args getEmptyArgsInstance() { + public system_add_keyspace_args getEmptyArgsInstance() { return new system_add_keyspace_args(); } - protected system_add_keyspace_result getResult(I iface, system_add_keyspace_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public system_add_keyspace_result getResult(I iface, system_add_keyspace_args args) throws org.apache.thrift.TException { system_add_keyspace_result result = new system_add_keyspace_result(); try { result.success = iface.system_add_keyspace(args.ks_def); @@ -3967,16 +4105,20 @@ public class Cassandra { } } - private static class system_drop_keyspace extends org.apache.thrift.ProcessFunction { + public static class system_drop_keyspace extends org.apache.thrift.ProcessFunction { public system_drop_keyspace() { super("system_drop_keyspace"); } - protected system_drop_keyspace_args getEmptyArgsInstance() { + public system_drop_keyspace_args getEmptyArgsInstance() { return new system_drop_keyspace_args(); } - protected system_drop_keyspace_result getResult(I iface, system_drop_keyspace_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public system_drop_keyspace_result getResult(I iface, system_drop_keyspace_args args) throws org.apache.thrift.TException { system_drop_keyspace_result result = new system_drop_keyspace_result(); try { result.success = iface.system_drop_keyspace(args.keyspace); @@ -3989,16 +4131,20 @@ public class Cassandra { } } - private static class system_update_keyspace extends org.apache.thrift.ProcessFunction { + public static class system_update_keyspace extends org.apache.thrift.ProcessFunction { public system_update_keyspace() { super("system_update_keyspace"); } - protected system_update_keyspace_args getEmptyArgsInstance() { + public system_update_keyspace_args getEmptyArgsInstance() { return new system_update_keyspace_args(); } - protected system_update_keyspace_result getResult(I iface, system_update_keyspace_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public system_update_keyspace_result getResult(I iface, system_update_keyspace_args args) throws org.apache.thrift.TException { system_update_keyspace_result result = new system_update_keyspace_result(); try { result.success = iface.system_update_keyspace(args.ks_def); @@ -4011,16 +4157,20 @@ public class Cassandra { } } - private static class system_update_column_family extends org.apache.thrift.ProcessFunction { + public static class system_update_column_family extends org.apache.thrift.ProcessFunction { public system_update_column_family() { super("system_update_column_family"); } - protected system_update_column_family_args getEmptyArgsInstance() { + public system_update_column_family_args getEmptyArgsInstance() { return new system_update_column_family_args(); } - protected system_update_column_family_result getResult(I iface, system_update_column_family_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public system_update_column_family_result getResult(I iface, system_update_column_family_args args) throws org.apache.thrift.TException { system_update_column_family_result result = new system_update_column_family_result(); try { result.success = iface.system_update_column_family(args.cf_def); @@ -4033,16 +4183,20 @@ public class Cassandra { } } - private static class execute_cql_query extends org.apache.thrift.ProcessFunction { + public static class execute_cql_query extends org.apache.thrift.ProcessFunction { public execute_cql_query() { super("execute_cql_query"); } - protected execute_cql_query_args getEmptyArgsInstance() { + public execute_cql_query_args getEmptyArgsInstance() { return new execute_cql_query_args(); } - protected execute_cql_query_result getResult(I iface, execute_cql_query_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public execute_cql_query_result getResult(I iface, execute_cql_query_args args) throws org.apache.thrift.TException { execute_cql_query_result result = new execute_cql_query_result(); try { result.success = iface.execute_cql_query(args.query, args.compression); @@ -4059,16 +4213,20 @@ public class Cassandra { } } - private static class execute_cql3_query extends org.apache.thrift.ProcessFunction { + public static class execute_cql3_query extends org.apache.thrift.ProcessFunction { public execute_cql3_query() { super("execute_cql3_query"); } - protected execute_cql3_query_args getEmptyArgsInstance() { + public execute_cql3_query_args getEmptyArgsInstance() { return new execute_cql3_query_args(); } - protected execute_cql3_query_result getResult(I iface, execute_cql3_query_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public execute_cql3_query_result getResult(I iface, execute_cql3_query_args args) throws org.apache.thrift.TException { execute_cql3_query_result result = new execute_cql3_query_result(); try { result.success = iface.execute_cql3_query(args.query, args.compression, args.consistency); @@ -4085,16 +4243,20 @@ public class Cassandra { } } - private static class prepare_cql_query extends org.apache.thrift.ProcessFunction { + public static class prepare_cql_query extends org.apache.thrift.ProcessFunction { public prepare_cql_query() { super("prepare_cql_query"); } - protected prepare_cql_query_args getEmptyArgsInstance() { + public prepare_cql_query_args getEmptyArgsInstance() { return new prepare_cql_query_args(); } - protected prepare_cql_query_result getResult(I iface, prepare_cql_query_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public prepare_cql_query_result getResult(I iface, prepare_cql_query_args args) throws org.apache.thrift.TException { prepare_cql_query_result result = new prepare_cql_query_result(); try { result.success = iface.prepare_cql_query(args.query, args.compression); @@ -4105,16 +4267,20 @@ public class Cassandra { } } - private static class prepare_cql3_query extends org.apache.thrift.ProcessFunction { + public static class prepare_cql3_query extends org.apache.thrift.ProcessFunction { public prepare_cql3_query() { super("prepare_cql3_query"); } - protected prepare_cql3_query_args getEmptyArgsInstance() { + public prepare_cql3_query_args getEmptyArgsInstance() { return new prepare_cql3_query_args(); } - protected prepare_cql3_query_result getResult(I iface, prepare_cql3_query_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public prepare_cql3_query_result getResult(I iface, prepare_cql3_query_args args) throws org.apache.thrift.TException { prepare_cql3_query_result result = new prepare_cql3_query_result(); try { result.success = iface.prepare_cql3_query(args.query, args.compression); @@ -4125,16 +4291,20 @@ public class Cassandra { } } - private static class execute_prepared_cql_query extends org.apache.thrift.ProcessFunction { + public static class execute_prepared_cql_query extends org.apache.thrift.ProcessFunction { public execute_prepared_cql_query() { super("execute_prepared_cql_query"); } - protected execute_prepared_cql_query_args getEmptyArgsInstance() { + public execute_prepared_cql_query_args getEmptyArgsInstance() { return new execute_prepared_cql_query_args(); } - protected execute_prepared_cql_query_result getResult(I iface, execute_prepared_cql_query_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public execute_prepared_cql_query_result getResult(I iface, execute_prepared_cql_query_args args) throws org.apache.thrift.TException { execute_prepared_cql_query_result result = new execute_prepared_cql_query_result(); try { result.success = iface.execute_prepared_cql_query(args.itemId, args.values); @@ -4151,16 +4321,20 @@ public class Cassandra { } } - private static class execute_prepared_cql3_query extends org.apache.thrift.ProcessFunction { + public static class execute_prepared_cql3_query extends org.apache.thrift.ProcessFunction { public execute_prepared_cql3_query() { super("execute_prepared_cql3_query"); } - protected execute_prepared_cql3_query_args getEmptyArgsInstance() { + public execute_prepared_cql3_query_args getEmptyArgsInstance() { return new execute_prepared_cql3_query_args(); } - protected execute_prepared_cql3_query_result getResult(I iface, execute_prepared_cql3_query_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public execute_prepared_cql3_query_result getResult(I iface, execute_prepared_cql3_query_args args) throws org.apache.thrift.TException { execute_prepared_cql3_query_result result = new execute_prepared_cql3_query_result(); try { result.success = iface.execute_prepared_cql3_query(args.itemId, args.values, args.consistency); @@ -4177,16 +4351,20 @@ public class Cassandra { } } - private static class set_cql_version extends org.apache.thrift.ProcessFunction { + public static class set_cql_version extends org.apache.thrift.ProcessFunction { public set_cql_version() { super("set_cql_version"); } - protected set_cql_version_args getEmptyArgsInstance() { + public set_cql_version_args getEmptyArgsInstance() { return new set_cql_version_args(); } - protected set_cql_version_result getResult(I iface, set_cql_version_args args) throws org.apache.thrift.TException { + protected boolean isOneway() { + return false; + } + + public set_cql_version_result getResult(I iface, set_cql_version_args args) throws org.apache.thrift.TException { set_cql_version_result result = new set_cql_version_result(); try { iface.set_cql_version(args.version); @@ -4204,6 +4382,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField AUTH_REQUEST_FIELD_DESC = new org.apache.thrift.protocol.TField("auth_request", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new login_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new login_argsTupleSchemeFactory()); + } + public AuthenticationRequest auth_request; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -4265,7 +4449,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -4425,45 +4608,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // AUTH_REQUEST - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.auth_request = new AuthenticationRequest(); - this.auth_request.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.auth_request != null) { - oprot.writeFieldBegin(AUTH_REQUEST_FIELD_DESC); - this.auth_request.write(oprot); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -4487,6 +4636,10 @@ public class Cassandra { if (auth_request == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'auth_request' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (auth_request != null) { + auth_request.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -4505,6 +4658,82 @@ public class Cassandra { } } + private static class login_argsStandardSchemeFactory implements SchemeFactory { + public login_argsStandardScheme getScheme() { + return new login_argsStandardScheme(); + } + } + + private static class login_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, login_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // AUTH_REQUEST + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.auth_request = new AuthenticationRequest(); + struct.auth_request.read(iprot); + struct.setAuth_requestIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, login_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.auth_request != null) { + oprot.writeFieldBegin(AUTH_REQUEST_FIELD_DESC); + struct.auth_request.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class login_argsTupleSchemeFactory implements SchemeFactory { + public login_argsTupleScheme getScheme() { + return new login_argsTupleScheme(); + } + } + + private static class login_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, login_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + struct.auth_request.write(oprot); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, login_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.auth_request = new AuthenticationRequest(); + struct.auth_request.read(iprot); + struct.setAuth_requestIsSet(true); + } + } + } public static class login_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -4513,6 +4742,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField AUTHNX_FIELD_DESC = new org.apache.thrift.protocol.TField("authnx", org.apache.thrift.protocol.TType.STRUCT, (short)1); private static final org.apache.thrift.protocol.TField AUTHZX_FIELD_DESC = new org.apache.thrift.protocol.TField("authzx", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new login_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new login_resultTupleSchemeFactory()); + } + public AuthenticationException authnx; // required public AuthorizationException authzx; // required @@ -4578,7 +4813,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -4807,57 +5041,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // AUTHNX - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.authnx = new AuthenticationException(); - this.authnx.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // AUTHZX - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.authzx = new AuthorizationException(); - this.authzx.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetAuthnx()) { - oprot.writeFieldBegin(AUTHNX_FIELD_DESC); - this.authnx.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetAuthzx()) { - oprot.writeFieldBegin(AUTHZX_FIELD_DESC); - this.authzx.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -4885,6 +5074,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -4903,6 +5093,117 @@ public class Cassandra { } } + private static class login_resultStandardSchemeFactory implements SchemeFactory { + public login_resultStandardScheme getScheme() { + return new login_resultStandardScheme(); + } + } + + private static class login_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, login_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // AUTHNX + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.authnx = new AuthenticationException(); + struct.authnx.read(iprot); + struct.setAuthnxIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // AUTHZX + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.authzx = new AuthorizationException(); + struct.authzx.read(iprot); + struct.setAuthzxIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, login_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.authnx != null) { + oprot.writeFieldBegin(AUTHNX_FIELD_DESC); + struct.authnx.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.authzx != null) { + oprot.writeFieldBegin(AUTHZX_FIELD_DESC); + struct.authzx.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class login_resultTupleSchemeFactory implements SchemeFactory { + public login_resultTupleScheme getScheme() { + return new login_resultTupleScheme(); + } + } + + private static class login_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, login_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetAuthnx()) { + optionals.set(0); + } + if (struct.isSetAuthzx()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetAuthnx()) { + struct.authnx.write(oprot); + } + if (struct.isSetAuthzx()) { + struct.authzx.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, login_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.authnx = new AuthenticationException(); + struct.authnx.read(iprot); + struct.setAuthnxIsSet(true); + } + if (incoming.get(1)) { + struct.authzx = new AuthorizationException(); + struct.authzx.read(iprot); + struct.setAuthzxIsSet(true); + } + } + } + } public static class set_keyspace_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -4910,6 +5211,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField KEYSPACE_FIELD_DESC = new org.apache.thrift.protocol.TField("keyspace", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new set_keyspace_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new set_keyspace_argsTupleSchemeFactory()); + } + public String keyspace; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -4971,7 +5278,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -5131,44 +5437,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEYSPACE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.keyspace = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.keyspace != null) { - oprot.writeFieldBegin(KEYSPACE_FIELD_DESC); - oprot.writeString(this.keyspace); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -5192,6 +5465,7 @@ public class Cassandra { if (keyspace == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'keyspace' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -5210,6 +5484,80 @@ public class Cassandra { } } + private static class set_keyspace_argsStandardSchemeFactory implements SchemeFactory { + public set_keyspace_argsStandardScheme getScheme() { + return new set_keyspace_argsStandardScheme(); + } + } + + private static class set_keyspace_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, set_keyspace_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEYSPACE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.keyspace = iprot.readString(); + struct.setKeyspaceIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, set_keyspace_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.keyspace != null) { + oprot.writeFieldBegin(KEYSPACE_FIELD_DESC); + oprot.writeString(struct.keyspace); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class set_keyspace_argsTupleSchemeFactory implements SchemeFactory { + public set_keyspace_argsTupleScheme getScheme() { + return new set_keyspace_argsTupleScheme(); + } + } + + private static class set_keyspace_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, set_keyspace_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.keyspace); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, set_keyspace_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.keyspace = iprot.readString(); + struct.setKeyspaceIsSet(true); + } + } + } public static class set_keyspace_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -5217,6 +5565,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new set_keyspace_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new set_keyspace_resultTupleSchemeFactory()); + } + public InvalidRequestException ire; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -5278,7 +5632,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -5438,45 +5791,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -5496,6 +5816,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -5514,6 +5835,92 @@ public class Cassandra { } } + private static class set_keyspace_resultStandardSchemeFactory implements SchemeFactory { + public set_keyspace_resultStandardScheme getScheme() { + return new set_keyspace_resultStandardScheme(); + } + } + + private static class set_keyspace_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, set_keyspace_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, set_keyspace_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class set_keyspace_resultTupleSchemeFactory implements SchemeFactory { + public set_keyspace_resultTupleScheme getScheme() { + return new set_keyspace_resultTupleScheme(); + } + } + + private static class set_keyspace_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, set_keyspace_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetIre()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, set_keyspace_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } public static class get_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -5523,6 +5930,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField COLUMN_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("column_path", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_argsTupleSchemeFactory()); + } + public ByteBuffer key; // required public ColumnPath column_path; // required /** @@ -5600,7 +6013,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -5920,69 +6332,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.key = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COLUMN_PATH - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_path = new ColumnPath(); - this.column_path.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.key != null) { - oprot.writeFieldBegin(KEY_FIELD_DESC); - oprot.writeBinary(this.key); - oprot.writeFieldEnd(); - } - if (this.column_path != null) { - oprot.writeFieldBegin(COLUMN_PATH_FIELD_DESC); - this.column_path.write(oprot); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -6028,6 +6382,10 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (column_path != null) { + column_path.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -6046,6 +6404,114 @@ public class Cassandra { } } + private static class get_argsStandardSchemeFactory implements SchemeFactory { + public get_argsStandardScheme getScheme() { + return new get_argsStandardScheme(); + } + } + + private static class get_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMN_PATH + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_path = new ColumnPath(); + struct.column_path.read(iprot); + struct.setColumn_pathIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.key != null) { + oprot.writeFieldBegin(KEY_FIELD_DESC); + oprot.writeBinary(struct.key); + oprot.writeFieldEnd(); + } + if (struct.column_path != null) { + oprot.writeFieldBegin(COLUMN_PATH_FIELD_DESC); + struct.column_path.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_argsTupleSchemeFactory implements SchemeFactory { + public get_argsTupleScheme getScheme() { + return new get_argsTupleScheme(); + } + } + + private static class get_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.key); + struct.column_path.write(oprot); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + struct.column_path = new ColumnPath(); + struct.column_path.read(iprot); + struct.setColumn_pathIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class get_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -6057,6 +6523,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_resultTupleSchemeFactory()); + } + public ColumnOrSuperColumn success; // required public InvalidRequestException ire; // required public NotFoundException nfe; // required @@ -6134,7 +6606,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -6570,93 +7041,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.success = new ColumnOrSuperColumn(); - this.success.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // NFE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.nfe = new NotFoundException(); - this.nfe.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - this.success.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetNfe()) { - oprot.writeFieldBegin(NFE_FIELD_DESC); - this.nfe.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -6708,6 +7098,10 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -6726,6 +7120,192 @@ public class Cassandra { } } + private static class get_resultStandardSchemeFactory implements SchemeFactory { + public get_resultStandardScheme getScheme() { + return new get_resultStandardScheme(); + } + } + + private static class get_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new ColumnOrSuperColumn(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // NFE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.nfe = new NotFoundException(); + struct.nfe.read(iprot); + struct.setNfeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.nfe != null) { + oprot.writeFieldBegin(NFE_FIELD_DESC); + struct.nfe.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_resultTupleSchemeFactory implements SchemeFactory { + public get_resultTupleScheme getScheme() { + return new get_resultTupleScheme(); + } + } + + private static class get_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetNfe()) { + optionals.set(2); + } + if (struct.isSetUe()) { + optionals.set(3); + } + if (struct.isSetTe()) { + optionals.set(4); + } + oprot.writeBitSet(optionals, 5); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetNfe()) { + struct.nfe.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(5); + if (incoming.get(0)) { + struct.success = new ColumnOrSuperColumn(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.nfe = new NotFoundException(); + struct.nfe.read(iprot); + struct.setNfeIsSet(true); + } + if (incoming.get(3)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(4)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class get_slice_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -6736,6 +7316,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField PREDICATE_FIELD_DESC = new org.apache.thrift.protocol.TField("predicate", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_slice_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_slice_argsTupleSchemeFactory()); + } + public ByteBuffer key; // required public ColumnParent column_parent; // required public SlicePredicate predicate; // required @@ -6817,7 +7403,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -7206,82 +7791,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.key = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COLUMN_PARENT - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_parent = new ColumnParent(); - this.column_parent.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // PREDICATE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.predicate = new SlicePredicate(); - this.predicate.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.key != null) { - oprot.writeFieldBegin(KEY_FIELD_DESC); - oprot.writeBinary(this.key); - oprot.writeFieldEnd(); - } - if (this.column_parent != null) { - oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); - this.column_parent.write(oprot); - oprot.writeFieldEnd(); - } - if (this.predicate != null) { - oprot.writeFieldBegin(PREDICATE_FIELD_DESC); - this.predicate.write(oprot); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -7338,6 +7852,13 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (column_parent != null) { + column_parent.validate(); + } + if (predicate != null) { + predicate.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -7356,6 +7877,132 @@ public class Cassandra { } } + private static class get_slice_argsStandardSchemeFactory implements SchemeFactory { + public get_slice_argsStandardScheme getScheme() { + return new get_slice_argsStandardScheme(); + } + } + + private static class get_slice_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_slice_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMN_PARENT + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // PREDICATE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_slice_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.key != null) { + oprot.writeFieldBegin(KEY_FIELD_DESC); + oprot.writeBinary(struct.key); + oprot.writeFieldEnd(); + } + if (struct.column_parent != null) { + oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); + struct.column_parent.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.predicate != null) { + oprot.writeFieldBegin(PREDICATE_FIELD_DESC); + struct.predicate.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_slice_argsTupleSchemeFactory implements SchemeFactory { + public get_slice_argsTupleScheme getScheme() { + return new get_slice_argsTupleScheme(); + } + } + + private static class get_slice_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_slice_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.key); + struct.column_parent.write(oprot); + struct.predicate.write(oprot); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_slice_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class get_slice_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -7366,6 +8013,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_slice_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_slice_resultTupleSchemeFactory()); + } + public List success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -7439,7 +8092,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -7826,98 +8478,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list95 = iprot.readListBegin(); - this.success = new ArrayList(_list95.size); - for (int _i96 = 0; _i96 < _list95.size; ++_i96) - { - ColumnOrSuperColumn _elem97; // required - _elem97 = new ColumnOrSuperColumn(); - _elem97.read(iprot); - this.success.add(_elem97); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (ColumnOrSuperColumn _iter98 : this.success) - { - _iter98.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -7961,6 +8527,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -7979,6 +8546,199 @@ public class Cassandra { } } + private static class get_slice_resultStandardSchemeFactory implements SchemeFactory { + public get_slice_resultStandardScheme getScheme() { + return new get_slice_resultStandardScheme(); + } + } + + private static class get_slice_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_slice_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list190 = iprot.readListBegin(); + struct.success = new ArrayList(_list190.size); + for (int _i191 = 0; _i191 < _list190.size; ++_i191) + { + ColumnOrSuperColumn _elem192; // required + _elem192 = new ColumnOrSuperColumn(); + _elem192.read(iprot); + struct.success.add(_elem192); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_slice_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size())); + for (ColumnOrSuperColumn _iter193 : struct.success) + { + _iter193.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_slice_resultTupleSchemeFactory implements SchemeFactory { + public get_slice_resultTupleScheme getScheme() { + return new get_slice_resultTupleScheme(); + } + } + + private static class get_slice_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_slice_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (ColumnOrSuperColumn _iter194 : struct.success) + { + _iter194.write(oprot); + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_slice_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list195 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.success = new ArrayList(_list195.size); + for (int _i196 = 0; _i196 < _list195.size; ++_i196) + { + ColumnOrSuperColumn _elem197; // required + _elem197 = new ColumnOrSuperColumn(); + _elem197.read(iprot); + struct.success.add(_elem197); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class get_count_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -7989,6 +8749,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField PREDICATE_FIELD_DESC = new org.apache.thrift.protocol.TField("predicate", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_count_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_count_argsTupleSchemeFactory()); + } + public ByteBuffer key; // required public ColumnParent column_parent; // required public SlicePredicate predicate; // required @@ -8070,7 +8836,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -8459,82 +9224,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.key = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COLUMN_PARENT - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_parent = new ColumnParent(); - this.column_parent.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // PREDICATE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.predicate = new SlicePredicate(); - this.predicate.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.key != null) { - oprot.writeFieldBegin(KEY_FIELD_DESC); - oprot.writeBinary(this.key); - oprot.writeFieldEnd(); - } - if (this.column_parent != null) { - oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); - this.column_parent.write(oprot); - oprot.writeFieldEnd(); - } - if (this.predicate != null) { - oprot.writeFieldBegin(PREDICATE_FIELD_DESC); - this.predicate.write(oprot); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -8591,6 +9285,13 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (column_parent != null) { + column_parent.validate(); + } + if (predicate != null) { + predicate.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -8609,6 +9310,132 @@ public class Cassandra { } } + private static class get_count_argsStandardSchemeFactory implements SchemeFactory { + public get_count_argsStandardScheme getScheme() { + return new get_count_argsStandardScheme(); + } + } + + private static class get_count_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_count_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMN_PARENT + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // PREDICATE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_count_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.key != null) { + oprot.writeFieldBegin(KEY_FIELD_DESC); + oprot.writeBinary(struct.key); + oprot.writeFieldEnd(); + } + if (struct.column_parent != null) { + oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); + struct.column_parent.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.predicate != null) { + oprot.writeFieldBegin(PREDICATE_FIELD_DESC); + struct.predicate.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_count_argsTupleSchemeFactory implements SchemeFactory { + public get_count_argsTupleScheme getScheme() { + return new get_count_argsTupleScheme(); + } + } + + private static class get_count_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_count_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.key); + struct.column_parent.write(oprot); + struct.predicate.write(oprot); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_count_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class get_count_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -8619,6 +9446,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_count_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_count_resultTupleSchemeFactory()); + } + public int success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -8693,8 +9526,7 @@ public class Cassandra { // isset id assignments private static final int __SUCCESS_ISSET_ID = 0; - private BitSet __isset_bit_vector = new BitSet(1); - + private byte __isset_bitfield = 0; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -8731,8 +9563,7 @@ public class Cassandra { * Performs a deep copy on other. */ public get_count_result(get_count_result other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; this.success = other.success; if (other.isSetIre()) { this.ire = new InvalidRequestException(other.ire); @@ -8769,16 +9600,16 @@ public class Cassandra { } public void unsetSuccess() { - __isset_bit_vector.clear(__SUCCESS_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID); } /** Returns true if field success is set (has been assigned a value) and false otherwise */ public boolean isSetSuccess() { - return __isset_bit_vector.get(__SUCCESS_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID); } public void setSuccessIsSet(boolean value) { - __isset_bit_vector.set(__SUCCESS_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value); } public InvalidRequestException getIre() { @@ -9062,81 +9893,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.success = iprot.readI32(); - setSuccessIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeI32(this.success); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -9176,6 +9938,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -9189,13 +9952,172 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. - __isset_bit_vector = new BitSet(1); + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); } } + private static class get_count_resultStandardSchemeFactory implements SchemeFactory { + public get_count_resultStandardScheme getScheme() { + return new get_count_resultStandardScheme(); + } + } + + private static class get_count_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_count_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.success = iprot.readI32(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_count_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeI32(struct.success); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_count_resultTupleSchemeFactory implements SchemeFactory { + public get_count_resultTupleScheme getScheme() { + return new get_count_resultTupleScheme(); + } + } + + private static class get_count_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_count_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetSuccess()) { + oprot.writeI32(struct.success); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_count_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + struct.success = iprot.readI32(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class multiget_slice_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -9206,6 +10128,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField PREDICATE_FIELD_DESC = new org.apache.thrift.protocol.TField("predicate", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new multiget_slice_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new multiget_slice_argsTupleSchemeFactory()); + } + public List keys; // required public ColumnParent column_parent; // required public SlicePredicate predicate; // required @@ -9287,7 +10215,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -9687,99 +10614,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEYS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list99 = iprot.readListBegin(); - this.keys = new ArrayList(_list99.size); - for (int _i100 = 0; _i100 < _list99.size; ++_i100) - { - ByteBuffer _elem101; // required - _elem101 = iprot.readBinary(); - this.keys.add(_elem101); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COLUMN_PARENT - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_parent = new ColumnParent(); - this.column_parent.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // PREDICATE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.predicate = new SlicePredicate(); - this.predicate.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.keys != null) { - oprot.writeFieldBegin(KEYS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.keys.size())); - for (ByteBuffer _iter102 : this.keys) - { - oprot.writeBinary(_iter102); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - if (this.column_parent != null) { - oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); - this.column_parent.write(oprot); - oprot.writeFieldEnd(); - } - if (this.predicate != null) { - oprot.writeFieldBegin(PREDICATE_FIELD_DESC); - this.predicate.write(oprot); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -9836,6 +10675,13 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (column_parent != null) { + column_parent.validate(); + } + if (predicate != null) { + predicate.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -9854,6 +10700,164 @@ public class Cassandra { } } + private static class multiget_slice_argsStandardSchemeFactory implements SchemeFactory { + public multiget_slice_argsStandardScheme getScheme() { + return new multiget_slice_argsStandardScheme(); + } + } + + private static class multiget_slice_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, multiget_slice_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEYS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list198 = iprot.readListBegin(); + struct.keys = new ArrayList(_list198.size); + for (int _i199 = 0; _i199 < _list198.size; ++_i199) + { + ByteBuffer _elem200; // required + _elem200 = iprot.readBinary(); + struct.keys.add(_elem200); + } + iprot.readListEnd(); + } + struct.setKeysIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMN_PARENT + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // PREDICATE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, multiget_slice_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.keys != null) { + oprot.writeFieldBegin(KEYS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.keys.size())); + for (ByteBuffer _iter201 : struct.keys) + { + oprot.writeBinary(_iter201); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.column_parent != null) { + oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); + struct.column_parent.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.predicate != null) { + oprot.writeFieldBegin(PREDICATE_FIELD_DESC); + struct.predicate.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class multiget_slice_argsTupleSchemeFactory implements SchemeFactory { + public multiget_slice_argsTupleScheme getScheme() { + return new multiget_slice_argsTupleScheme(); + } + } + + private static class multiget_slice_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, multiget_slice_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + { + oprot.writeI32(struct.keys.size()); + for (ByteBuffer _iter202 : struct.keys) + { + oprot.writeBinary(_iter202); + } + } + struct.column_parent.write(oprot); + struct.predicate.write(oprot); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, multiget_slice_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + { + org.apache.thrift.protocol.TList _list203 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.keys = new ArrayList(_list203.size); + for (int _i204 = 0; _i204 < _list203.size; ++_i204) + { + ByteBuffer _elem205; // required + _elem205 = iprot.readBinary(); + struct.keys.add(_elem205); + } + } + struct.setKeysIsSet(true); + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class multiget_slice_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -9864,6 +10868,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new multiget_slice_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new multiget_slice_resultTupleSchemeFactory()); + } + public Map> success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -9937,7 +10947,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -10334,118 +11343,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.MAP) { - { - org.apache.thrift.protocol.TMap _map103 = iprot.readMapBegin(); - this.success = new HashMap>(2*_map103.size); - for (int _i104 = 0; _i104 < _map103.size; ++_i104) - { - ByteBuffer _key105; // required - List _val106; // required - _key105 = iprot.readBinary(); - { - org.apache.thrift.protocol.TList _list107 = iprot.readListBegin(); - _val106 = new ArrayList(_list107.size); - for (int _i108 = 0; _i108 < _list107.size; ++_i108) - { - ColumnOrSuperColumn _elem109; // required - _elem109 = new ColumnOrSuperColumn(); - _elem109.read(iprot); - _val106.add(_elem109); - } - iprot.readListEnd(); - } - this.success.put(_key105, _val106); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, this.success.size())); - for (Map.Entry> _iter110 : this.success.entrySet()) - { - oprot.writeBinary(_iter110.getKey()); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter110.getValue().size())); - for (ColumnOrSuperColumn _iter111 : _iter110.getValue()) - { - _iter111.write(oprot); - } - oprot.writeListEnd(); - } - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -10489,6 +11392,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -10507,6 +11411,237 @@ public class Cassandra { } } + private static class multiget_slice_resultStandardSchemeFactory implements SchemeFactory { + public multiget_slice_resultStandardScheme getScheme() { + return new multiget_slice_resultStandardScheme(); + } + } + + private static class multiget_slice_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, multiget_slice_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map206 = iprot.readMapBegin(); + struct.success = new HashMap>(2*_map206.size); + for (int _i207 = 0; _i207 < _map206.size; ++_i207) + { + ByteBuffer _key208; // required + List _val209; // required + _key208 = iprot.readBinary(); + { + org.apache.thrift.protocol.TList _list210 = iprot.readListBegin(); + _val209 = new ArrayList(_list210.size); + for (int _i211 = 0; _i211 < _list210.size; ++_i211) + { + ColumnOrSuperColumn _elem212; // required + _elem212 = new ColumnOrSuperColumn(); + _elem212.read(iprot); + _val209.add(_elem212); + } + iprot.readListEnd(); + } + struct.success.put(_key208, _val209); + } + iprot.readMapEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, multiget_slice_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, struct.success.size())); + for (Map.Entry> _iter213 : struct.success.entrySet()) + { + oprot.writeBinary(_iter213.getKey()); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter213.getValue().size())); + for (ColumnOrSuperColumn _iter214 : _iter213.getValue()) + { + _iter214.write(oprot); + } + oprot.writeListEnd(); + } + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class multiget_slice_resultTupleSchemeFactory implements SchemeFactory { + public multiget_slice_resultTupleScheme getScheme() { + return new multiget_slice_resultTupleScheme(); + } + } + + private static class multiget_slice_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, multiget_slice_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (Map.Entry> _iter215 : struct.success.entrySet()) + { + oprot.writeBinary(_iter215.getKey()); + { + oprot.writeI32(_iter215.getValue().size()); + for (ColumnOrSuperColumn _iter216 : _iter215.getValue()) + { + _iter216.write(oprot); + } + } + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, multiget_slice_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TMap _map217 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32()); + struct.success = new HashMap>(2*_map217.size); + for (int _i218 = 0; _i218 < _map217.size; ++_i218) + { + ByteBuffer _key219; // required + List _val220; // required + _key219 = iprot.readBinary(); + { + org.apache.thrift.protocol.TList _list221 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + _val220 = new ArrayList(_list221.size); + for (int _i222 = 0; _i222 < _list221.size; ++_i222) + { + ColumnOrSuperColumn _elem223; // required + _elem223 = new ColumnOrSuperColumn(); + _elem223.read(iprot); + _val220.add(_elem223); + } + } + struct.success.put(_key219, _val220); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class multiget_count_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -10517,6 +11652,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField PREDICATE_FIELD_DESC = new org.apache.thrift.protocol.TField("predicate", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new multiget_count_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new multiget_count_argsTupleSchemeFactory()); + } + public List keys; // required public ColumnParent column_parent; // required public SlicePredicate predicate; // required @@ -10598,7 +11739,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -10998,99 +12138,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEYS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list112 = iprot.readListBegin(); - this.keys = new ArrayList(_list112.size); - for (int _i113 = 0; _i113 < _list112.size; ++_i113) - { - ByteBuffer _elem114; // required - _elem114 = iprot.readBinary(); - this.keys.add(_elem114); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COLUMN_PARENT - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_parent = new ColumnParent(); - this.column_parent.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // PREDICATE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.predicate = new SlicePredicate(); - this.predicate.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.keys != null) { - oprot.writeFieldBegin(KEYS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.keys.size())); - for (ByteBuffer _iter115 : this.keys) - { - oprot.writeBinary(_iter115); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - if (this.column_parent != null) { - oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); - this.column_parent.write(oprot); - oprot.writeFieldEnd(); - } - if (this.predicate != null) { - oprot.writeFieldBegin(PREDICATE_FIELD_DESC); - this.predicate.write(oprot); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -11147,6 +12199,13 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (column_parent != null) { + column_parent.validate(); + } + if (predicate != null) { + predicate.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -11165,6 +12224,164 @@ public class Cassandra { } } + private static class multiget_count_argsStandardSchemeFactory implements SchemeFactory { + public multiget_count_argsStandardScheme getScheme() { + return new multiget_count_argsStandardScheme(); + } + } + + private static class multiget_count_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, multiget_count_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEYS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list224 = iprot.readListBegin(); + struct.keys = new ArrayList(_list224.size); + for (int _i225 = 0; _i225 < _list224.size; ++_i225) + { + ByteBuffer _elem226; // required + _elem226 = iprot.readBinary(); + struct.keys.add(_elem226); + } + iprot.readListEnd(); + } + struct.setKeysIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMN_PARENT + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // PREDICATE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, multiget_count_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.keys != null) { + oprot.writeFieldBegin(KEYS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.keys.size())); + for (ByteBuffer _iter227 : struct.keys) + { + oprot.writeBinary(_iter227); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.column_parent != null) { + oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); + struct.column_parent.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.predicate != null) { + oprot.writeFieldBegin(PREDICATE_FIELD_DESC); + struct.predicate.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class multiget_count_argsTupleSchemeFactory implements SchemeFactory { + public multiget_count_argsTupleScheme getScheme() { + return new multiget_count_argsTupleScheme(); + } + } + + private static class multiget_count_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, multiget_count_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + { + oprot.writeI32(struct.keys.size()); + for (ByteBuffer _iter228 : struct.keys) + { + oprot.writeBinary(_iter228); + } + } + struct.column_parent.write(oprot); + struct.predicate.write(oprot); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, multiget_count_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + { + org.apache.thrift.protocol.TList _list229 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.keys = new ArrayList(_list229.size); + for (int _i230 = 0; _i230 < _list229.size; ++_i230) + { + ByteBuffer _elem231; // required + _elem231 = iprot.readBinary(); + struct.keys.add(_elem231); + } + } + struct.setKeysIsSet(true); + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class multiget_count_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -11175,6 +12392,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new multiget_count_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new multiget_count_resultTupleSchemeFactory()); + } + public Map success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -11248,7 +12471,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -11641,100 +12863,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.MAP) { - { - org.apache.thrift.protocol.TMap _map116 = iprot.readMapBegin(); - this.success = new HashMap(2*_map116.size); - for (int _i117 = 0; _i117 < _map116.size; ++_i117) - { - ByteBuffer _key118; // required - int _val119; // required - _key118 = iprot.readBinary(); - _val119 = iprot.readI32(); - this.success.put(_key118, _val119); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, this.success.size())); - for (Map.Entry _iter120 : this.success.entrySet()) - { - oprot.writeBinary(_iter120.getKey()); - oprot.writeI32(_iter120.getValue()); - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -11778,6 +12912,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -11796,6 +12931,203 @@ public class Cassandra { } } + private static class multiget_count_resultStandardSchemeFactory implements SchemeFactory { + public multiget_count_resultStandardScheme getScheme() { + return new multiget_count_resultStandardScheme(); + } + } + + private static class multiget_count_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, multiget_count_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map232 = iprot.readMapBegin(); + struct.success = new HashMap(2*_map232.size); + for (int _i233 = 0; _i233 < _map232.size; ++_i233) + { + ByteBuffer _key234; // required + int _val235; // required + _key234 = iprot.readBinary(); + _val235 = iprot.readI32(); + struct.success.put(_key234, _val235); + } + iprot.readMapEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, multiget_count_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, struct.success.size())); + for (Map.Entry _iter236 : struct.success.entrySet()) + { + oprot.writeBinary(_iter236.getKey()); + oprot.writeI32(_iter236.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class multiget_count_resultTupleSchemeFactory implements SchemeFactory { + public multiget_count_resultTupleScheme getScheme() { + return new multiget_count_resultTupleScheme(); + } + } + + private static class multiget_count_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, multiget_count_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (Map.Entry _iter237 : struct.success.entrySet()) + { + oprot.writeBinary(_iter237.getKey()); + oprot.writeI32(_iter237.getValue()); + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, multiget_count_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TMap _map238 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32()); + struct.success = new HashMap(2*_map238.size); + for (int _i239 = 0; _i239 < _map238.size; ++_i239) + { + ByteBuffer _key240; // required + int _val241; // required + _key240 = iprot.readBinary(); + _val241 = iprot.readI32(); + struct.success.put(_key240, _val241); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class get_range_slices_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -11806,6 +13138,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField RANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("range", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_range_slices_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_range_slices_argsTupleSchemeFactory()); + } + public ColumnParent column_parent; // required public SlicePredicate predicate; // required public KeyRange range; // required @@ -11887,7 +13225,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -12265,83 +13602,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // COLUMN_PARENT - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_parent = new ColumnParent(); - this.column_parent.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // PREDICATE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.predicate = new SlicePredicate(); - this.predicate.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // RANGE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.range = new KeyRange(); - this.range.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.column_parent != null) { - oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); - this.column_parent.write(oprot); - oprot.writeFieldEnd(); - } - if (this.predicate != null) { - oprot.writeFieldBegin(PREDICATE_FIELD_DESC); - this.predicate.write(oprot); - oprot.writeFieldEnd(); - } - if (this.range != null) { - oprot.writeFieldBegin(RANGE_FIELD_DESC); - this.range.write(oprot); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -12398,6 +13663,16 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (column_parent != null) { + column_parent.validate(); + } + if (predicate != null) { + predicate.validate(); + } + if (range != null) { + range.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -12416,6 +13691,134 @@ public class Cassandra { } } + private static class get_range_slices_argsStandardSchemeFactory implements SchemeFactory { + public get_range_slices_argsStandardScheme getScheme() { + return new get_range_slices_argsStandardScheme(); + } + } + + private static class get_range_slices_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_range_slices_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // COLUMN_PARENT + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // PREDICATE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // RANGE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.range = new KeyRange(); + struct.range.read(iprot); + struct.setRangeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_range_slices_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.column_parent != null) { + oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); + struct.column_parent.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.predicate != null) { + oprot.writeFieldBegin(PREDICATE_FIELD_DESC); + struct.predicate.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.range != null) { + oprot.writeFieldBegin(RANGE_FIELD_DESC); + struct.range.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_range_slices_argsTupleSchemeFactory implements SchemeFactory { + public get_range_slices_argsTupleScheme getScheme() { + return new get_range_slices_argsTupleScheme(); + } + } + + private static class get_range_slices_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_range_slices_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + struct.column_parent.write(oprot); + struct.predicate.write(oprot); + struct.range.write(oprot); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_range_slices_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + struct.range = new KeyRange(); + struct.range.read(iprot); + struct.setRangeIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class get_range_slices_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -12426,6 +13829,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_range_slices_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_range_slices_resultTupleSchemeFactory()); + } + public List success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -12499,7 +13908,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -12886,98 +14294,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list121 = iprot.readListBegin(); - this.success = new ArrayList(_list121.size); - for (int _i122 = 0; _i122 < _list121.size; ++_i122) - { - KeySlice _elem123; // required - _elem123 = new KeySlice(); - _elem123.read(iprot); - this.success.add(_elem123); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (KeySlice _iter124 : this.success) - { - _iter124.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -13021,6 +14343,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -13039,6 +14362,199 @@ public class Cassandra { } } + private static class get_range_slices_resultStandardSchemeFactory implements SchemeFactory { + public get_range_slices_resultStandardScheme getScheme() { + return new get_range_slices_resultStandardScheme(); + } + } + + private static class get_range_slices_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_range_slices_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list242 = iprot.readListBegin(); + struct.success = new ArrayList(_list242.size); + for (int _i243 = 0; _i243 < _list242.size; ++_i243) + { + KeySlice _elem244; // required + _elem244 = new KeySlice(); + _elem244.read(iprot); + struct.success.add(_elem244); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_range_slices_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size())); + for (KeySlice _iter245 : struct.success) + { + _iter245.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_range_slices_resultTupleSchemeFactory implements SchemeFactory { + public get_range_slices_resultTupleScheme getScheme() { + return new get_range_slices_resultTupleScheme(); + } + } + + private static class get_range_slices_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_range_slices_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (KeySlice _iter246 : struct.success) + { + _iter246.write(oprot); + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_range_slices_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list247 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.success = new ArrayList(_list247.size); + for (int _i248 = 0; _i248 < _list247.size; ++_i248) + { + KeySlice _elem249; // required + _elem249 = new KeySlice(); + _elem249.read(iprot); + struct.success.add(_elem249); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class get_paged_slice_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -13049,6 +14565,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField START_COLUMN_FIELD_DESC = new org.apache.thrift.protocol.TField("start_column", org.apache.thrift.protocol.TType.STRING, (short)3); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_paged_slice_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_paged_slice_argsTupleSchemeFactory()); + } + public String column_family; // required public KeyRange range; // required public ByteBuffer start_column; // required @@ -13130,7 +14652,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -13519,81 +15040,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // COLUMN_FAMILY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.column_family = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // RANGE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.range = new KeyRange(); - this.range.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // START_COLUMN - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.start_column = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.column_family != null) { - oprot.writeFieldBegin(COLUMN_FAMILY_FIELD_DESC); - oprot.writeString(this.column_family); - oprot.writeFieldEnd(); - } - if (this.range != null) { - oprot.writeFieldBegin(RANGE_FIELD_DESC); - this.range.write(oprot); - oprot.writeFieldEnd(); - } - if (this.start_column != null) { - oprot.writeFieldBegin(START_COLUMN_FIELD_DESC); - oprot.writeBinary(this.start_column); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -13650,6 +15101,10 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (range != null) { + range.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -13668,6 +15123,130 @@ public class Cassandra { } } + private static class get_paged_slice_argsStandardSchemeFactory implements SchemeFactory { + public get_paged_slice_argsStandardScheme getScheme() { + return new get_paged_slice_argsStandardScheme(); + } + } + + private static class get_paged_slice_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_paged_slice_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // COLUMN_FAMILY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.column_family = iprot.readString(); + struct.setColumn_familyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // RANGE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.range = new KeyRange(); + struct.range.read(iprot); + struct.setRangeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // START_COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.start_column = iprot.readBinary(); + struct.setStart_columnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_paged_slice_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.column_family != null) { + oprot.writeFieldBegin(COLUMN_FAMILY_FIELD_DESC); + oprot.writeString(struct.column_family); + oprot.writeFieldEnd(); + } + if (struct.range != null) { + oprot.writeFieldBegin(RANGE_FIELD_DESC); + struct.range.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.start_column != null) { + oprot.writeFieldBegin(START_COLUMN_FIELD_DESC); + oprot.writeBinary(struct.start_column); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_paged_slice_argsTupleSchemeFactory implements SchemeFactory { + public get_paged_slice_argsTupleScheme getScheme() { + return new get_paged_slice_argsTupleScheme(); + } + } + + private static class get_paged_slice_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_paged_slice_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.column_family); + struct.range.write(oprot); + oprot.writeBinary(struct.start_column); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_paged_slice_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.column_family = iprot.readString(); + struct.setColumn_familyIsSet(true); + struct.range = new KeyRange(); + struct.range.read(iprot); + struct.setRangeIsSet(true); + struct.start_column = iprot.readBinary(); + struct.setStart_columnIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class get_paged_slice_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -13678,6 +15257,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_paged_slice_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_paged_slice_resultTupleSchemeFactory()); + } + public List success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -13751,7 +15336,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -14138,98 +15722,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list125 = iprot.readListBegin(); - this.success = new ArrayList(_list125.size); - for (int _i126 = 0; _i126 < _list125.size; ++_i126) - { - KeySlice _elem127; // required - _elem127 = new KeySlice(); - _elem127.read(iprot); - this.success.add(_elem127); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (KeySlice _iter128 : this.success) - { - _iter128.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -14273,6 +15771,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -14291,6 +15790,199 @@ public class Cassandra { } } + private static class get_paged_slice_resultStandardSchemeFactory implements SchemeFactory { + public get_paged_slice_resultStandardScheme getScheme() { + return new get_paged_slice_resultStandardScheme(); + } + } + + private static class get_paged_slice_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_paged_slice_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list250 = iprot.readListBegin(); + struct.success = new ArrayList(_list250.size); + for (int _i251 = 0; _i251 < _list250.size; ++_i251) + { + KeySlice _elem252; // required + _elem252 = new KeySlice(); + _elem252.read(iprot); + struct.success.add(_elem252); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_paged_slice_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size())); + for (KeySlice _iter253 : struct.success) + { + _iter253.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_paged_slice_resultTupleSchemeFactory implements SchemeFactory { + public get_paged_slice_resultTupleScheme getScheme() { + return new get_paged_slice_resultTupleScheme(); + } + } + + private static class get_paged_slice_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_paged_slice_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (KeySlice _iter254 : struct.success) + { + _iter254.write(oprot); + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_paged_slice_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list255 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.success = new ArrayList(_list255.size); + for (int _i256 = 0; _i256 < _list255.size; ++_i256) + { + KeySlice _elem257; // required + _elem257 = new KeySlice(); + _elem257.read(iprot); + struct.success.add(_elem257); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class get_indexed_slices_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -14301,6 +15993,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField COLUMN_PREDICATE_FIELD_DESC = new org.apache.thrift.protocol.TField("column_predicate", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_indexed_slices_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_indexed_slices_argsTupleSchemeFactory()); + } + public ColumnParent column_parent; // required public IndexClause index_clause; // required public SlicePredicate column_predicate; // required @@ -14382,7 +16080,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -14760,83 +16457,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // COLUMN_PARENT - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_parent = new ColumnParent(); - this.column_parent.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // INDEX_CLAUSE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.index_clause = new IndexClause(); - this.index_clause.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // COLUMN_PREDICATE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_predicate = new SlicePredicate(); - this.column_predicate.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.column_parent != null) { - oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); - this.column_parent.write(oprot); - oprot.writeFieldEnd(); - } - if (this.index_clause != null) { - oprot.writeFieldBegin(INDEX_CLAUSE_FIELD_DESC); - this.index_clause.write(oprot); - oprot.writeFieldEnd(); - } - if (this.column_predicate != null) { - oprot.writeFieldBegin(COLUMN_PREDICATE_FIELD_DESC); - this.column_predicate.write(oprot); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -14893,6 +16518,16 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (column_parent != null) { + column_parent.validate(); + } + if (index_clause != null) { + index_clause.validate(); + } + if (column_predicate != null) { + column_predicate.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -14911,6 +16546,134 @@ public class Cassandra { } } + private static class get_indexed_slices_argsStandardSchemeFactory implements SchemeFactory { + public get_indexed_slices_argsStandardScheme getScheme() { + return new get_indexed_slices_argsStandardScheme(); + } + } + + private static class get_indexed_slices_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_indexed_slices_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // COLUMN_PARENT + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // INDEX_CLAUSE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.index_clause = new IndexClause(); + struct.index_clause.read(iprot); + struct.setIndex_clauseIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // COLUMN_PREDICATE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_predicate = new SlicePredicate(); + struct.column_predicate.read(iprot); + struct.setColumn_predicateIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_indexed_slices_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.column_parent != null) { + oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); + struct.column_parent.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.index_clause != null) { + oprot.writeFieldBegin(INDEX_CLAUSE_FIELD_DESC); + struct.index_clause.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.column_predicate != null) { + oprot.writeFieldBegin(COLUMN_PREDICATE_FIELD_DESC); + struct.column_predicate.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_indexed_slices_argsTupleSchemeFactory implements SchemeFactory { + public get_indexed_slices_argsTupleScheme getScheme() { + return new get_indexed_slices_argsTupleScheme(); + } + } + + private static class get_indexed_slices_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_indexed_slices_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + struct.column_parent.write(oprot); + struct.index_clause.write(oprot); + struct.column_predicate.write(oprot); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_indexed_slices_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + struct.index_clause = new IndexClause(); + struct.index_clause.read(iprot); + struct.setIndex_clauseIsSet(true); + struct.column_predicate = new SlicePredicate(); + struct.column_predicate.read(iprot); + struct.setColumn_predicateIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class get_indexed_slices_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -14921,6 +16684,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new get_indexed_slices_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new get_indexed_slices_resultTupleSchemeFactory()); + } + public List success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -14994,7 +16763,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -15381,98 +17149,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list129 = iprot.readListBegin(); - this.success = new ArrayList(_list129.size); - for (int _i130 = 0; _i130 < _list129.size; ++_i130) - { - KeySlice _elem131; // required - _elem131 = new KeySlice(); - _elem131.read(iprot); - this.success.add(_elem131); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (KeySlice _iter132 : this.success) - { - _iter132.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -15516,6 +17198,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -15534,6 +17217,199 @@ public class Cassandra { } } + private static class get_indexed_slices_resultStandardSchemeFactory implements SchemeFactory { + public get_indexed_slices_resultStandardScheme getScheme() { + return new get_indexed_slices_resultStandardScheme(); + } + } + + private static class get_indexed_slices_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, get_indexed_slices_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list258 = iprot.readListBegin(); + struct.success = new ArrayList(_list258.size); + for (int _i259 = 0; _i259 < _list258.size; ++_i259) + { + KeySlice _elem260; // required + _elem260 = new KeySlice(); + _elem260.read(iprot); + struct.success.add(_elem260); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, get_indexed_slices_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size())); + for (KeySlice _iter261 : struct.success) + { + _iter261.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class get_indexed_slices_resultTupleSchemeFactory implements SchemeFactory { + public get_indexed_slices_resultTupleScheme getScheme() { + return new get_indexed_slices_resultTupleScheme(); + } + } + + private static class get_indexed_slices_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, get_indexed_slices_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (KeySlice _iter262 : struct.success) + { + _iter262.write(oprot); + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, get_indexed_slices_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list263 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.success = new ArrayList(_list263.size); + for (int _i264 = 0; _i264 < _list263.size; ++_i264) + { + KeySlice _elem265; // required + _elem265 = new KeySlice(); + _elem265.read(iprot); + struct.success.add(_elem265); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class insert_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -15544,6 +17420,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField COLUMN_FIELD_DESC = new org.apache.thrift.protocol.TField("column", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new insert_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new insert_argsTupleSchemeFactory()); + } + public ByteBuffer key; // required public ColumnParent column_parent; // required public Column column; // required @@ -15625,7 +17507,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -16014,82 +17895,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.key = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COLUMN_PARENT - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_parent = new ColumnParent(); - this.column_parent.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // COLUMN - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column = new Column(); - this.column.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.key != null) { - oprot.writeFieldBegin(KEY_FIELD_DESC); - oprot.writeBinary(this.key); - oprot.writeFieldEnd(); - } - if (this.column_parent != null) { - oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); - this.column_parent.write(oprot); - oprot.writeFieldEnd(); - } - if (this.column != null) { - oprot.writeFieldBegin(COLUMN_FIELD_DESC); - this.column.write(oprot); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -16146,6 +17956,13 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (column_parent != null) { + column_parent.validate(); + } + if (column != null) { + column.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -16164,6 +17981,132 @@ public class Cassandra { } } + private static class insert_argsStandardSchemeFactory implements SchemeFactory { + public insert_argsStandardScheme getScheme() { + return new insert_argsStandardScheme(); + } + } + + private static class insert_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, insert_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMN_PARENT + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column = new Column(); + struct.column.read(iprot); + struct.setColumnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, insert_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.key != null) { + oprot.writeFieldBegin(KEY_FIELD_DESC); + oprot.writeBinary(struct.key); + oprot.writeFieldEnd(); + } + if (struct.column_parent != null) { + oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); + struct.column_parent.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.column != null) { + oprot.writeFieldBegin(COLUMN_FIELD_DESC); + struct.column.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class insert_argsTupleSchemeFactory implements SchemeFactory { + public insert_argsTupleScheme getScheme() { + return new insert_argsTupleScheme(); + } + } + + private static class insert_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, insert_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.key); + struct.column_parent.write(oprot); + struct.column.write(oprot); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, insert_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + struct.column = new Column(); + struct.column.read(iprot); + struct.setColumnIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class insert_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -16173,6 +18116,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new insert_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new insert_resultTupleSchemeFactory()); + } + public InvalidRequestException ire; // required public UnavailableException ue; // required public TimedOutException te; // required @@ -16242,7 +18191,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -16540,69 +18488,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -16638,6 +18529,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -16656,6 +18548,142 @@ public class Cassandra { } } + private static class insert_resultStandardSchemeFactory implements SchemeFactory { + public insert_resultStandardScheme getScheme() { + return new insert_resultStandardScheme(); + } + } + + private static class insert_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, insert_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, insert_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class insert_resultTupleSchemeFactory implements SchemeFactory { + public insert_resultTupleScheme getScheme() { + return new insert_resultTupleScheme(); + } + } + + private static class insert_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, insert_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetIre()) { + optionals.set(0); + } + if (struct.isSetUe()) { + optionals.set(1); + } + if (struct.isSetTe()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, insert_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(1)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(2)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class add_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -16666,6 +18694,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField COLUMN_FIELD_DESC = new org.apache.thrift.protocol.TField("column", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new add_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new add_argsTupleSchemeFactory()); + } + public ByteBuffer key; // required public ColumnParent column_parent; // required public CounterColumn column; // required @@ -16747,7 +18781,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -17136,82 +19169,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.key = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COLUMN_PARENT - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_parent = new ColumnParent(); - this.column_parent.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // COLUMN - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column = new CounterColumn(); - this.column.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.key != null) { - oprot.writeFieldBegin(KEY_FIELD_DESC); - oprot.writeBinary(this.key); - oprot.writeFieldEnd(); - } - if (this.column_parent != null) { - oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); - this.column_parent.write(oprot); - oprot.writeFieldEnd(); - } - if (this.column != null) { - oprot.writeFieldBegin(COLUMN_FIELD_DESC); - this.column.write(oprot); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -17268,6 +19230,13 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (column_parent != null) { + column_parent.validate(); + } + if (column != null) { + column.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -17286,6 +19255,132 @@ public class Cassandra { } } + private static class add_argsStandardSchemeFactory implements SchemeFactory { + public add_argsStandardScheme getScheme() { + return new add_argsStandardScheme(); + } + } + + private static class add_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, add_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMN_PARENT + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column = new CounterColumn(); + struct.column.read(iprot); + struct.setColumnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, add_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.key != null) { + oprot.writeFieldBegin(KEY_FIELD_DESC); + oprot.writeBinary(struct.key); + oprot.writeFieldEnd(); + } + if (struct.column_parent != null) { + oprot.writeFieldBegin(COLUMN_PARENT_FIELD_DESC); + struct.column_parent.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.column != null) { + oprot.writeFieldBegin(COLUMN_FIELD_DESC); + struct.column.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class add_argsTupleSchemeFactory implements SchemeFactory { + public add_argsTupleScheme getScheme() { + return new add_argsTupleScheme(); + } + } + + private static class add_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, add_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.key); + struct.column_parent.write(oprot); + struct.column.write(oprot); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, add_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + struct.column_parent = new ColumnParent(); + struct.column_parent.read(iprot); + struct.setColumn_parentIsSet(true); + struct.column = new CounterColumn(); + struct.column.read(iprot); + struct.setColumnIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class add_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -17295,6 +19390,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new add_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new add_resultTupleSchemeFactory()); + } + public InvalidRequestException ire; // required public UnavailableException ue; // required public TimedOutException te; // required @@ -17364,7 +19465,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -17662,69 +19762,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -17760,6 +19803,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -17778,6 +19822,142 @@ public class Cassandra { } } + private static class add_resultStandardSchemeFactory implements SchemeFactory { + public add_resultStandardScheme getScheme() { + return new add_resultStandardScheme(); + } + } + + private static class add_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, add_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, add_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class add_resultTupleSchemeFactory implements SchemeFactory { + public add_resultTupleScheme getScheme() { + return new add_resultTupleScheme(); + } + } + + private static class add_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, add_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetIre()) { + optionals.set(0); + } + if (struct.isSetUe()) { + optionals.set(1); + } + if (struct.isSetTe()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, add_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(1)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(2)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class remove_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -17788,6 +19968,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("timestamp", org.apache.thrift.protocol.TType.I64, (short)3); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new remove_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new remove_argsTupleSchemeFactory()); + } + public ByteBuffer key; // required public ColumnPath column_path; // required public long timestamp; // required @@ -17870,8 +20056,7 @@ public class Cassandra { // isset id assignments private static final int __TIMESTAMP_ISSET_ID = 0; - private BitSet __isset_bit_vector = new BitSet(1); - + private byte __isset_bitfield = 0; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -17910,8 +20095,7 @@ public class Cassandra { * Performs a deep copy on other. */ public remove_args(remove_args other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetKey()) { this.key = org.apache.thrift.TBaseHelper.copyBinary(other.key); ; @@ -18008,16 +20192,16 @@ public class Cassandra { } public void unsetTimestamp() { - __isset_bit_vector.clear(__TIMESTAMP_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMESTAMP_ISSET_ID); } /** Returns true if field timestamp is set (has been assigned a value) and false otherwise */ public boolean isSetTimestamp() { - return __isset_bit_vector.get(__TIMESTAMP_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __TIMESTAMP_ISSET_ID); } public void setTimestampIsSet(boolean value) { - __isset_bit_vector.set(__TIMESTAMP_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMESTAMP_ISSET_ID, value); } /** @@ -18261,83 +20445,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.key = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COLUMN_PATH - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.column_path = new ColumnPath(); - this.column_path.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TIMESTAMP - if (field.type == org.apache.thrift.protocol.TType.I64) { - this.timestamp = iprot.readI64(); - setTimestampIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - if (!isSetTimestamp()) { - throw new org.apache.thrift.protocol.TProtocolException("Required field 'timestamp' was not found in serialized data! Struct: " + toString()); - } - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.key != null) { - oprot.writeFieldBegin(KEY_FIELD_DESC); - oprot.writeBinary(this.key); - oprot.writeFieldEnd(); - } - if (this.column_path != null) { - oprot.writeFieldBegin(COLUMN_PATH_FIELD_DESC); - this.column_path.write(oprot); - oprot.writeFieldEnd(); - } - oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); - oprot.writeI64(this.timestamp); - oprot.writeFieldEnd(); - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -18385,6 +20497,10 @@ public class Cassandra { throw new org.apache.thrift.protocol.TProtocolException("Required field 'column_path' was not present! Struct: " + toString()); } // alas, we cannot check 'timestamp' because it's a primitive and you chose the non-beans generator. + // check for sub-struct validity + if (column_path != null) { + column_path.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -18398,13 +20514,148 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. - __isset_bit_vector = new BitSet(1); + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); } } + private static class remove_argsStandardSchemeFactory implements SchemeFactory { + public remove_argsStandardScheme getScheme() { + return new remove_argsStandardScheme(); + } + } + + private static class remove_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, remove_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMN_PATH + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_path = new ColumnPath(); + struct.column_path.read(iprot); + struct.setColumn_pathIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TIMESTAMP + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.timestamp = iprot.readI64(); + struct.setTimestampIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetTimestamp()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'timestamp' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, remove_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.key != null) { + oprot.writeFieldBegin(KEY_FIELD_DESC); + oprot.writeBinary(struct.key); + oprot.writeFieldEnd(); + } + if (struct.column_path != null) { + oprot.writeFieldBegin(COLUMN_PATH_FIELD_DESC); + struct.column_path.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); + oprot.writeI64(struct.timestamp); + oprot.writeFieldEnd(); + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class remove_argsTupleSchemeFactory implements SchemeFactory { + public remove_argsTupleScheme getScheme() { + return new remove_argsTupleScheme(); + } + } + + private static class remove_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, remove_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.key); + struct.column_path.write(oprot); + oprot.writeI64(struct.timestamp); + BitSet optionals = new BitSet(); + if (struct.isSetConsistency_level()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetConsistency_level()) { + oprot.writeI32(struct.consistency_level.getValue()); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, remove_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + struct.column_path = new ColumnPath(); + struct.column_path.read(iprot); + struct.setColumn_pathIsSet(true); + struct.timestamp = iprot.readI64(); + struct.setTimestampIsSet(true); + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } + } public static class remove_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -18414,6 +20665,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new remove_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new remove_resultTupleSchemeFactory()); + } + public InvalidRequestException ire; // required public UnavailableException ue; // required public TimedOutException te; // required @@ -18483,7 +20740,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -18781,69 +21037,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -18879,6 +21078,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -18897,6 +21097,142 @@ public class Cassandra { } } + private static class remove_resultStandardSchemeFactory implements SchemeFactory { + public remove_resultStandardScheme getScheme() { + return new remove_resultStandardScheme(); + } + } + + private static class remove_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, remove_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, remove_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class remove_resultTupleSchemeFactory implements SchemeFactory { + public remove_resultTupleScheme getScheme() { + return new remove_resultTupleScheme(); + } + } + + private static class remove_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, remove_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetIre()) { + optionals.set(0); + } + if (struct.isSetUe()) { + optionals.set(1); + } + if (struct.isSetTe()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, remove_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(1)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(2)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class remove_counter_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -18906,6 +21242,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("path", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new remove_counter_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new remove_counter_argsTupleSchemeFactory()); + } + public ByteBuffer key; // required public ColumnPath path; // required /** @@ -18983,7 +21325,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -19303,69 +21644,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.key = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // PATH - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.path = new ColumnPath(); - this.path.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.key != null) { - oprot.writeFieldBegin(KEY_FIELD_DESC); - oprot.writeBinary(this.key); - oprot.writeFieldEnd(); - } - if (this.path != null) { - oprot.writeFieldBegin(PATH_FIELD_DESC); - this.path.write(oprot); - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -19411,6 +21694,10 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (path != null) { + path.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -19429,6 +21716,114 @@ public class Cassandra { } } + private static class remove_counter_argsStandardSchemeFactory implements SchemeFactory { + public remove_counter_argsStandardScheme getScheme() { + return new remove_counter_argsStandardScheme(); + } + } + + private static class remove_counter_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, remove_counter_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // PATH + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.path = new ColumnPath(); + struct.path.read(iprot); + struct.setPathIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, remove_counter_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.key != null) { + oprot.writeFieldBegin(KEY_FIELD_DESC); + oprot.writeBinary(struct.key); + oprot.writeFieldEnd(); + } + if (struct.path != null) { + oprot.writeFieldBegin(PATH_FIELD_DESC); + struct.path.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class remove_counter_argsTupleSchemeFactory implements SchemeFactory { + public remove_counter_argsTupleScheme getScheme() { + return new remove_counter_argsTupleScheme(); + } + } + + private static class remove_counter_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, remove_counter_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.key); + struct.path.write(oprot); + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, remove_counter_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + struct.path = new ColumnPath(); + struct.path.read(iprot); + struct.setPathIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class remove_counter_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -19438,6 +21833,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new remove_counter_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new remove_counter_resultTupleSchemeFactory()); + } + public InvalidRequestException ire; // required public UnavailableException ue; // required public TimedOutException te; // required @@ -19507,7 +21908,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -19805,69 +22205,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -19903,6 +22246,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -19921,6 +22265,142 @@ public class Cassandra { } } + private static class remove_counter_resultStandardSchemeFactory implements SchemeFactory { + public remove_counter_resultStandardScheme getScheme() { + return new remove_counter_resultStandardScheme(); + } + } + + private static class remove_counter_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, remove_counter_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, remove_counter_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class remove_counter_resultTupleSchemeFactory implements SchemeFactory { + public remove_counter_resultTupleScheme getScheme() { + return new remove_counter_resultTupleScheme(); + } + } + + private static class remove_counter_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, remove_counter_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetIre()) { + optionals.set(0); + } + if (struct.isSetUe()) { + optionals.set(1); + } + if (struct.isSetTe()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, remove_counter_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(1)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(2)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class batch_mutate_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -19929,6 +22409,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField MUTATION_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("mutation_map", org.apache.thrift.protocol.TType.MAP, (short)1); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new batch_mutate_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new batch_mutate_argsTupleSchemeFactory()); + } + public Map>> mutation_map; // required /** * @@ -20002,7 +22488,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -20285,114 +22770,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // MUTATION_MAP - if (field.type == org.apache.thrift.protocol.TType.MAP) { - { - org.apache.thrift.protocol.TMap _map133 = iprot.readMapBegin(); - this.mutation_map = new HashMap>>(2*_map133.size); - for (int _i134 = 0; _i134 < _map133.size; ++_i134) - { - ByteBuffer _key135; // required - Map> _val136; // required - _key135 = iprot.readBinary(); - { - org.apache.thrift.protocol.TMap _map137 = iprot.readMapBegin(); - _val136 = new HashMap>(2*_map137.size); - for (int _i138 = 0; _i138 < _map137.size; ++_i138) - { - String _key139; // required - List _val140; // required - _key139 = iprot.readString(); - { - org.apache.thrift.protocol.TList _list141 = iprot.readListBegin(); - _val140 = new ArrayList(_list141.size); - for (int _i142 = 0; _i142 < _list141.size; ++_i142) - { - Mutation _elem143; // required - _elem143 = new Mutation(); - _elem143.read(iprot); - _val140.add(_elem143); - } - iprot.readListEnd(); - } - _val136.put(_key139, _val140); - } - iprot.readMapEnd(); - } - this.mutation_map.put(_key135, _val136); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.mutation_map != null) { - oprot.writeFieldBegin(MUTATION_MAP_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, this.mutation_map.size())); - for (Map.Entry>> _iter144 : this.mutation_map.entrySet()) - { - oprot.writeBinary(_iter144.getKey()); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, _iter144.getValue().size())); - for (Map.Entry> _iter145 : _iter144.getValue().entrySet()) - { - oprot.writeString(_iter145.getKey()); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter145.getValue().size())); - for (Mutation _iter146 : _iter145.getValue()) - { - _iter146.write(oprot); - } - oprot.writeListEnd(); - } - } - oprot.writeMapEnd(); - } - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -20427,6 +22809,7 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -20445,6 +22828,206 @@ public class Cassandra { } } + private static class batch_mutate_argsStandardSchemeFactory implements SchemeFactory { + public batch_mutate_argsStandardScheme getScheme() { + return new batch_mutate_argsStandardScheme(); + } + } + + private static class batch_mutate_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, batch_mutate_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // MUTATION_MAP + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map266 = iprot.readMapBegin(); + struct.mutation_map = new HashMap>>(2*_map266.size); + for (int _i267 = 0; _i267 < _map266.size; ++_i267) + { + ByteBuffer _key268; // required + Map> _val269; // required + _key268 = iprot.readBinary(); + { + org.apache.thrift.protocol.TMap _map270 = iprot.readMapBegin(); + _val269 = new HashMap>(2*_map270.size); + for (int _i271 = 0; _i271 < _map270.size; ++_i271) + { + String _key272; // required + List _val273; // required + _key272 = iprot.readString(); + { + org.apache.thrift.protocol.TList _list274 = iprot.readListBegin(); + _val273 = new ArrayList(_list274.size); + for (int _i275 = 0; _i275 < _list274.size; ++_i275) + { + Mutation _elem276; // required + _elem276 = new Mutation(); + _elem276.read(iprot); + _val273.add(_elem276); + } + iprot.readListEnd(); + } + _val269.put(_key272, _val273); + } + iprot.readMapEnd(); + } + struct.mutation_map.put(_key268, _val269); + } + iprot.readMapEnd(); + } + struct.setMutation_mapIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, batch_mutate_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.mutation_map != null) { + oprot.writeFieldBegin(MUTATION_MAP_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, struct.mutation_map.size())); + for (Map.Entry>> _iter277 : struct.mutation_map.entrySet()) + { + oprot.writeBinary(_iter277.getKey()); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, _iter277.getValue().size())); + for (Map.Entry> _iter278 : _iter277.getValue().entrySet()) + { + oprot.writeString(_iter278.getKey()); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter278.getValue().size())); + for (Mutation _iter279 : _iter278.getValue()) + { + _iter279.write(oprot); + } + oprot.writeListEnd(); + } + } + oprot.writeMapEnd(); + } + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class batch_mutate_argsTupleSchemeFactory implements SchemeFactory { + public batch_mutate_argsTupleScheme getScheme() { + return new batch_mutate_argsTupleScheme(); + } + } + + private static class batch_mutate_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, batch_mutate_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + { + oprot.writeI32(struct.mutation_map.size()); + for (Map.Entry>> _iter280 : struct.mutation_map.entrySet()) + { + oprot.writeBinary(_iter280.getKey()); + { + oprot.writeI32(_iter280.getValue().size()); + for (Map.Entry> _iter281 : _iter280.getValue().entrySet()) + { + oprot.writeString(_iter281.getKey()); + { + oprot.writeI32(_iter281.getValue().size()); + for (Mutation _iter282 : _iter281.getValue()) + { + _iter282.write(oprot); + } + } + } + } + } + } + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, batch_mutate_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + { + org.apache.thrift.protocol.TMap _map283 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, iprot.readI32()); + struct.mutation_map = new HashMap>>(2*_map283.size); + for (int _i284 = 0; _i284 < _map283.size; ++_i284) + { + ByteBuffer _key285; // required + Map> _val286; // required + _key285 = iprot.readBinary(); + { + org.apache.thrift.protocol.TMap _map287 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32()); + _val286 = new HashMap>(2*_map287.size); + for (int _i288 = 0; _i288 < _map287.size; ++_i288) + { + String _key289; // required + List _val290; // required + _key289 = iprot.readString(); + { + org.apache.thrift.protocol.TList _list291 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + _val290 = new ArrayList(_list291.size); + for (int _i292 = 0; _i292 < _list291.size; ++_i292) + { + Mutation _elem293; // required + _elem293 = new Mutation(); + _elem293.read(iprot); + _val290.add(_elem293); + } + } + _val286.put(_key289, _val290); + } + } + struct.mutation_map.put(_key285, _val286); + } + } + struct.setMutation_mapIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class batch_mutate_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -20454,6 +23037,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new batch_mutate_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new batch_mutate_resultTupleSchemeFactory()); + } + public InvalidRequestException ire; // required public UnavailableException ue; // required public TimedOutException te; // required @@ -20523,7 +23112,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -20821,69 +23409,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -20919,6 +23450,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -20937,6 +23469,142 @@ public class Cassandra { } } + private static class batch_mutate_resultStandardSchemeFactory implements SchemeFactory { + public batch_mutate_resultStandardScheme getScheme() { + return new batch_mutate_resultStandardScheme(); + } + } + + private static class batch_mutate_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, batch_mutate_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, batch_mutate_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class batch_mutate_resultTupleSchemeFactory implements SchemeFactory { + public batch_mutate_resultTupleScheme getScheme() { + return new batch_mutate_resultTupleScheme(); + } + } + + private static class batch_mutate_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, batch_mutate_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetIre()) { + optionals.set(0); + } + if (struct.isSetUe()) { + optionals.set(1); + } + if (struct.isSetTe()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, batch_mutate_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(1)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(2)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class atomic_batch_mutate_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -20945,6 +23613,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField MUTATION_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("mutation_map", org.apache.thrift.protocol.TType.MAP, (short)1); private static final org.apache.thrift.protocol.TField CONSISTENCY_LEVEL_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency_level", org.apache.thrift.protocol.TType.I32, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new atomic_batch_mutate_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new atomic_batch_mutate_argsTupleSchemeFactory()); + } + public Map>> mutation_map; // required /** * @@ -21018,7 +23692,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -21301,114 +23974,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // MUTATION_MAP - if (field.type == org.apache.thrift.protocol.TType.MAP) { - { - org.apache.thrift.protocol.TMap _map147 = iprot.readMapBegin(); - this.mutation_map = new HashMap>>(2*_map147.size); - for (int _i148 = 0; _i148 < _map147.size; ++_i148) - { - ByteBuffer _key149; // required - Map> _val150; // required - _key149 = iprot.readBinary(); - { - org.apache.thrift.protocol.TMap _map151 = iprot.readMapBegin(); - _val150 = new HashMap>(2*_map151.size); - for (int _i152 = 0; _i152 < _map151.size; ++_i152) - { - String _key153; // required - List _val154; // required - _key153 = iprot.readString(); - { - org.apache.thrift.protocol.TList _list155 = iprot.readListBegin(); - _val154 = new ArrayList(_list155.size); - for (int _i156 = 0; _i156 < _list155.size; ++_i156) - { - Mutation _elem157; // required - _elem157 = new Mutation(); - _elem157.read(iprot); - _val154.add(_elem157); - } - iprot.readListEnd(); - } - _val150.put(_key153, _val154); - } - iprot.readMapEnd(); - } - this.mutation_map.put(_key149, _val150); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // CONSISTENCY_LEVEL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.mutation_map != null) { - oprot.writeFieldBegin(MUTATION_MAP_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, this.mutation_map.size())); - for (Map.Entry>> _iter158 : this.mutation_map.entrySet()) - { - oprot.writeBinary(_iter158.getKey()); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, _iter158.getValue().size())); - for (Map.Entry> _iter159 : _iter158.getValue().entrySet()) - { - oprot.writeString(_iter159.getKey()); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter159.getValue().size())); - for (Mutation _iter160 : _iter159.getValue()) - { - _iter160.write(oprot); - } - oprot.writeListEnd(); - } - } - oprot.writeMapEnd(); - } - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } - if (this.consistency_level != null) { - oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); - oprot.writeI32(this.consistency_level.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -21443,6 +24013,7 @@ public class Cassandra { if (consistency_level == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency_level' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -21461,6 +24032,206 @@ public class Cassandra { } } + private static class atomic_batch_mutate_argsStandardSchemeFactory implements SchemeFactory { + public atomic_batch_mutate_argsStandardScheme getScheme() { + return new atomic_batch_mutate_argsStandardScheme(); + } + } + + private static class atomic_batch_mutate_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, atomic_batch_mutate_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // MUTATION_MAP + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map294 = iprot.readMapBegin(); + struct.mutation_map = new HashMap>>(2*_map294.size); + for (int _i295 = 0; _i295 < _map294.size; ++_i295) + { + ByteBuffer _key296; // required + Map> _val297; // required + _key296 = iprot.readBinary(); + { + org.apache.thrift.protocol.TMap _map298 = iprot.readMapBegin(); + _val297 = new HashMap>(2*_map298.size); + for (int _i299 = 0; _i299 < _map298.size; ++_i299) + { + String _key300; // required + List _val301; // required + _key300 = iprot.readString(); + { + org.apache.thrift.protocol.TList _list302 = iprot.readListBegin(); + _val301 = new ArrayList(_list302.size); + for (int _i303 = 0; _i303 < _list302.size; ++_i303) + { + Mutation _elem304; // required + _elem304 = new Mutation(); + _elem304.read(iprot); + _val301.add(_elem304); + } + iprot.readListEnd(); + } + _val297.put(_key300, _val301); + } + iprot.readMapEnd(); + } + struct.mutation_map.put(_key296, _val297); + } + iprot.readMapEnd(); + } + struct.setMutation_mapIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // CONSISTENCY_LEVEL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, atomic_batch_mutate_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.mutation_map != null) { + oprot.writeFieldBegin(MUTATION_MAP_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, struct.mutation_map.size())); + for (Map.Entry>> _iter305 : struct.mutation_map.entrySet()) + { + oprot.writeBinary(_iter305.getKey()); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, _iter305.getValue().size())); + for (Map.Entry> _iter306 : _iter305.getValue().entrySet()) + { + oprot.writeString(_iter306.getKey()); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter306.getValue().size())); + for (Mutation _iter307 : _iter306.getValue()) + { + _iter307.write(oprot); + } + oprot.writeListEnd(); + } + } + oprot.writeMapEnd(); + } + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.consistency_level != null) { + oprot.writeFieldBegin(CONSISTENCY_LEVEL_FIELD_DESC); + oprot.writeI32(struct.consistency_level.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class atomic_batch_mutate_argsTupleSchemeFactory implements SchemeFactory { + public atomic_batch_mutate_argsTupleScheme getScheme() { + return new atomic_batch_mutate_argsTupleScheme(); + } + } + + private static class atomic_batch_mutate_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, atomic_batch_mutate_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + { + oprot.writeI32(struct.mutation_map.size()); + for (Map.Entry>> _iter308 : struct.mutation_map.entrySet()) + { + oprot.writeBinary(_iter308.getKey()); + { + oprot.writeI32(_iter308.getValue().size()); + for (Map.Entry> _iter309 : _iter308.getValue().entrySet()) + { + oprot.writeString(_iter309.getKey()); + { + oprot.writeI32(_iter309.getValue().size()); + for (Mutation _iter310 : _iter309.getValue()) + { + _iter310.write(oprot); + } + } + } + } + } + } + oprot.writeI32(struct.consistency_level.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, atomic_batch_mutate_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + { + org.apache.thrift.protocol.TMap _map311 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, iprot.readI32()); + struct.mutation_map = new HashMap>>(2*_map311.size); + for (int _i312 = 0; _i312 < _map311.size; ++_i312) + { + ByteBuffer _key313; // required + Map> _val314; // required + _key313 = iprot.readBinary(); + { + org.apache.thrift.protocol.TMap _map315 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32()); + _val314 = new HashMap>(2*_map315.size); + for (int _i316 = 0; _i316 < _map315.size; ++_i316) + { + String _key317; // required + List _val318; // required + _key317 = iprot.readString(); + { + org.apache.thrift.protocol.TList _list319 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + _val318 = new ArrayList(_list319.size); + for (int _i320 = 0; _i320 < _list319.size; ++_i320) + { + Mutation _elem321; // required + _elem321 = new Mutation(); + _elem321.read(iprot); + _val318.add(_elem321); + } + } + _val314.put(_key317, _val318); + } + } + struct.mutation_map.put(_key313, _val314); + } + } + struct.setMutation_mapIsSet(true); + struct.consistency_level = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistency_levelIsSet(true); + } + } + } public static class atomic_batch_mutate_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -21470,6 +24241,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new atomic_batch_mutate_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new atomic_batch_mutate_resultTupleSchemeFactory()); + } + public InvalidRequestException ire; // required public UnavailableException ue; // required public TimedOutException te; // required @@ -21539,7 +24316,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -21837,69 +24613,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -21935,6 +24654,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -21953,6 +24673,142 @@ public class Cassandra { } } + private static class atomic_batch_mutate_resultStandardSchemeFactory implements SchemeFactory { + public atomic_batch_mutate_resultStandardScheme getScheme() { + return new atomic_batch_mutate_resultStandardScheme(); + } + } + + private static class atomic_batch_mutate_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, atomic_batch_mutate_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, atomic_batch_mutate_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class atomic_batch_mutate_resultTupleSchemeFactory implements SchemeFactory { + public atomic_batch_mutate_resultTupleScheme getScheme() { + return new atomic_batch_mutate_resultTupleScheme(); + } + } + + private static class atomic_batch_mutate_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, atomic_batch_mutate_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetIre()) { + optionals.set(0); + } + if (struct.isSetUe()) { + optionals.set(1); + } + if (struct.isSetTe()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, atomic_batch_mutate_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(1)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(2)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class truncate_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -21960,6 +24816,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField CFNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("cfname", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new truncate_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new truncate_argsTupleSchemeFactory()); + } + public String cfname; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -22021,7 +24883,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -22181,44 +25042,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // CFNAME - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.cfname = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.cfname != null) { - oprot.writeFieldBegin(CFNAME_FIELD_DESC); - oprot.writeString(this.cfname); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -22242,6 +25070,7 @@ public class Cassandra { if (cfname == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'cfname' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -22260,6 +25089,80 @@ public class Cassandra { } } + private static class truncate_argsStandardSchemeFactory implements SchemeFactory { + public truncate_argsStandardScheme getScheme() { + return new truncate_argsStandardScheme(); + } + } + + private static class truncate_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, truncate_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // CFNAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.cfname = iprot.readString(); + struct.setCfnameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, truncate_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.cfname != null) { + oprot.writeFieldBegin(CFNAME_FIELD_DESC); + oprot.writeString(struct.cfname); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class truncate_argsTupleSchemeFactory implements SchemeFactory { + public truncate_argsTupleScheme getScheme() { + return new truncate_argsTupleScheme(); + } + } + + private static class truncate_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, truncate_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.cfname); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, truncate_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.cfname = iprot.readString(); + struct.setCfnameIsSet(true); + } + } + } public static class truncate_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -22269,6 +25172,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField UE_FIELD_DESC = new org.apache.thrift.protocol.TField("ue", org.apache.thrift.protocol.TType.STRUCT, (short)2); private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new truncate_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new truncate_resultTupleSchemeFactory()); + } + public InvalidRequestException ire; // required public UnavailableException ue; // required public TimedOutException te; // required @@ -22338,7 +25247,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -22636,69 +25544,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -22734,6 +25585,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -22752,12 +25604,154 @@ public class Cassandra { } } + private static class truncate_resultStandardSchemeFactory implements SchemeFactory { + public truncate_resultStandardScheme getScheme() { + return new truncate_resultStandardScheme(); + } + } + + private static class truncate_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, truncate_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, truncate_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class truncate_resultTupleSchemeFactory implements SchemeFactory { + public truncate_resultTupleScheme getScheme() { + return new truncate_resultTupleScheme(); + } + } + + private static class truncate_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, truncate_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetIre()) { + optionals.set(0); + } + if (struct.isSetUe()) { + optionals.set(1); + } + if (struct.isSetTe()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, truncate_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(1)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(2)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + } + } + } public static class describe_schema_versions_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("describe_schema_versions_args"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_schema_versions_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_schema_versions_argsTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -22899,32 +25893,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -22938,6 +25911,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -22956,6 +25930,64 @@ public class Cassandra { } } + private static class describe_schema_versions_argsStandardSchemeFactory implements SchemeFactory { + public describe_schema_versions_argsStandardScheme getScheme() { + return new describe_schema_versions_argsStandardScheme(); + } + } + + private static class describe_schema_versions_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_schema_versions_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_schema_versions_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_schema_versions_argsTupleSchemeFactory implements SchemeFactory { + public describe_schema_versions_argsTupleScheme getScheme() { + return new describe_schema_versions_argsTupleScheme(); + } + } + + private static class describe_schema_versions_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_schema_versions_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_schema_versions_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } public static class describe_schema_versions_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -22964,6 +25996,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0); private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_schema_versions_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_schema_versions_resultTupleSchemeFactory()); + } + public Map> success; // required public InvalidRequestException ire; // required @@ -23029,7 +26067,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -23287,93 +26324,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.MAP) { - { - org.apache.thrift.protocol.TMap _map161 = iprot.readMapBegin(); - this.success = new HashMap>(2*_map161.size); - for (int _i162 = 0; _i162 < _map161.size; ++_i162) - { - String _key163; // required - List _val164; // required - _key163 = iprot.readString(); - { - org.apache.thrift.protocol.TList _list165 = iprot.readListBegin(); - _val164 = new ArrayList(_list165.size); - for (int _i166 = 0; _i166 < _list165.size; ++_i166) - { - String _elem167; // required - _elem167 = iprot.readString(); - _val164.add(_elem167); - } - iprot.readListEnd(); - } - this.success.put(_key163, _val164); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, this.success.size())); - for (Map.Entry> _iter168 : this.success.entrySet()) - { - oprot.writeString(_iter168.getKey()); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter168.getValue().size())); - for (String _iter169 : _iter168.getValue()) - { - oprot.writeString(_iter169); - } - oprot.writeListEnd(); - } - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -23401,6 +26357,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -23419,12 +26376,197 @@ public class Cassandra { } } + private static class describe_schema_versions_resultStandardSchemeFactory implements SchemeFactory { + public describe_schema_versions_resultStandardScheme getScheme() { + return new describe_schema_versions_resultStandardScheme(); + } + } + + private static class describe_schema_versions_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_schema_versions_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map322 = iprot.readMapBegin(); + struct.success = new HashMap>(2*_map322.size); + for (int _i323 = 0; _i323 < _map322.size; ++_i323) + { + String _key324; // required + List _val325; // required + _key324 = iprot.readString(); + { + org.apache.thrift.protocol.TList _list326 = iprot.readListBegin(); + _val325 = new ArrayList(_list326.size); + for (int _i327 = 0; _i327 < _list326.size; ++_i327) + { + String _elem328; // required + _elem328 = iprot.readString(); + _val325.add(_elem328); + } + iprot.readListEnd(); + } + struct.success.put(_key324, _val325); + } + iprot.readMapEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_schema_versions_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, struct.success.size())); + for (Map.Entry> _iter329 : struct.success.entrySet()) + { + oprot.writeString(_iter329.getKey()); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, _iter329.getValue().size())); + for (String _iter330 : _iter329.getValue()) + { + oprot.writeString(_iter330); + } + oprot.writeListEnd(); + } + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_schema_versions_resultTupleSchemeFactory implements SchemeFactory { + public describe_schema_versions_resultTupleScheme getScheme() { + return new describe_schema_versions_resultTupleScheme(); + } + } + + private static class describe_schema_versions_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_schema_versions_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (Map.Entry> _iter331 : struct.success.entrySet()) + { + oprot.writeString(_iter331.getKey()); + { + oprot.writeI32(_iter331.getValue().size()); + for (String _iter332 : _iter331.getValue()) + { + oprot.writeString(_iter332); + } + } + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_schema_versions_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TMap _map333 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32()); + struct.success = new HashMap>(2*_map333.size); + for (int _i334 = 0; _i334 < _map333.size; ++_i334) + { + String _key335; // required + List _val336; // required + _key335 = iprot.readString(); + { + org.apache.thrift.protocol.TList _list337 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + _val336 = new ArrayList(_list337.size); + for (int _i338 = 0; _i338 < _list337.size; ++_i338) + { + String _elem339; // required + _elem339 = iprot.readString(); + _val336.add(_elem339); + } + } + struct.success.put(_key335, _val336); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } public static class describe_keyspaces_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("describe_keyspaces_args"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_keyspaces_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_keyspaces_argsTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -23566,32 +26708,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -23605,6 +26726,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -23623,6 +26745,64 @@ public class Cassandra { } } + private static class describe_keyspaces_argsStandardSchemeFactory implements SchemeFactory { + public describe_keyspaces_argsStandardScheme getScheme() { + return new describe_keyspaces_argsStandardScheme(); + } + } + + private static class describe_keyspaces_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_keyspaces_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_keyspaces_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_keyspaces_argsTupleSchemeFactory implements SchemeFactory { + public describe_keyspaces_argsTupleScheme getScheme() { + return new describe_keyspaces_argsTupleScheme(); + } + } + + private static class describe_keyspaces_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_keyspaces_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_keyspaces_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } public static class describe_keyspaces_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -23631,6 +26811,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0); private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_keyspaces_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_keyspaces_resultTupleSchemeFactory()); + } + public List success; // required public InvalidRequestException ire; // required @@ -23696,7 +26882,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -23945,74 +27130,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list170 = iprot.readListBegin(); - this.success = new ArrayList(_list170.size); - for (int _i171 = 0; _i171 < _list170.size; ++_i171) - { - KsDef _elem172; // required - _elem172 = new KsDef(); - _elem172.read(iprot); - this.success.add(_elem172); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (KsDef _iter173 : this.success) - { - _iter173.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -24040,6 +27163,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -24058,12 +27182,161 @@ public class Cassandra { } } + private static class describe_keyspaces_resultStandardSchemeFactory implements SchemeFactory { + public describe_keyspaces_resultStandardScheme getScheme() { + return new describe_keyspaces_resultStandardScheme(); + } + } + + private static class describe_keyspaces_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_keyspaces_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list340 = iprot.readListBegin(); + struct.success = new ArrayList(_list340.size); + for (int _i341 = 0; _i341 < _list340.size; ++_i341) + { + KsDef _elem342; // required + _elem342 = new KsDef(); + _elem342.read(iprot); + struct.success.add(_elem342); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_keyspaces_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size())); + for (KsDef _iter343 : struct.success) + { + _iter343.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_keyspaces_resultTupleSchemeFactory implements SchemeFactory { + public describe_keyspaces_resultTupleScheme getScheme() { + return new describe_keyspaces_resultTupleScheme(); + } + } + + private static class describe_keyspaces_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_keyspaces_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (KsDef _iter344 : struct.success) + { + _iter344.write(oprot); + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_keyspaces_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list345 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.success = new ArrayList(_list345.size); + for (int _i346 = 0; _i346 < _list345.size; ++_i346) + { + KsDef _elem347; // required + _elem347 = new KsDef(); + _elem347.read(iprot); + struct.success.add(_elem347); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } public static class describe_cluster_name_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("describe_cluster_name_args"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_cluster_name_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_cluster_name_argsTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -24205,32 +27478,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -24244,6 +27496,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -24262,6 +27515,64 @@ public class Cassandra { } } + private static class describe_cluster_name_argsStandardSchemeFactory implements SchemeFactory { + public describe_cluster_name_argsStandardScheme getScheme() { + return new describe_cluster_name_argsStandardScheme(); + } + } + + private static class describe_cluster_name_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_cluster_name_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_cluster_name_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_cluster_name_argsTupleSchemeFactory implements SchemeFactory { + public describe_cluster_name_argsTupleScheme getScheme() { + return new describe_cluster_name_argsTupleScheme(); + } + } + + private static class describe_cluster_name_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_cluster_name_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_cluster_name_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } public static class describe_cluster_name_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -24269,6 +27580,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_cluster_name_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_cluster_name_resultTupleSchemeFactory()); + } + public String success; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -24330,7 +27647,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -24490,44 +27806,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeString(this.success); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -24547,6 +27831,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -24565,12 +27850,102 @@ public class Cassandra { } } + private static class describe_cluster_name_resultStandardSchemeFactory implements SchemeFactory { + public describe_cluster_name_resultStandardScheme getScheme() { + return new describe_cluster_name_resultStandardScheme(); + } + } + + private static class describe_cluster_name_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_cluster_name_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_cluster_name_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeString(struct.success); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_cluster_name_resultTupleSchemeFactory implements SchemeFactory { + public describe_cluster_name_resultTupleScheme getScheme() { + return new describe_cluster_name_resultTupleScheme(); + } + } + + private static class describe_cluster_name_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_cluster_name_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSuccess()) { + oprot.writeString(struct.success); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_cluster_name_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } + } + } + } public static class describe_version_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("describe_version_args"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_version_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_version_argsTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -24712,32 +28087,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -24751,6 +28105,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -24769,6 +28124,64 @@ public class Cassandra { } } + private static class describe_version_argsStandardSchemeFactory implements SchemeFactory { + public describe_version_argsStandardScheme getScheme() { + return new describe_version_argsStandardScheme(); + } + } + + private static class describe_version_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_version_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_version_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_version_argsTupleSchemeFactory implements SchemeFactory { + public describe_version_argsTupleScheme getScheme() { + return new describe_version_argsTupleScheme(); + } + } + + private static class describe_version_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_version_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_version_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } public static class describe_version_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -24776,6 +28189,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_version_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_version_resultTupleSchemeFactory()); + } + public String success; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -24837,7 +28256,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -24997,44 +28415,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeString(this.success); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -25054,6 +28440,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -25072,6 +28459,90 @@ public class Cassandra { } } + private static class describe_version_resultStandardSchemeFactory implements SchemeFactory { + public describe_version_resultStandardScheme getScheme() { + return new describe_version_resultStandardScheme(); + } + } + + private static class describe_version_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_version_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_version_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeString(struct.success); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_version_resultTupleSchemeFactory implements SchemeFactory { + public describe_version_resultTupleScheme getScheme() { + return new describe_version_resultTupleScheme(); + } + } + + private static class describe_version_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_version_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSuccess()) { + oprot.writeString(struct.success); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_version_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } + } + } + } public static class describe_ring_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -25079,6 +28550,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField KEYSPACE_FIELD_DESC = new org.apache.thrift.protocol.TField("keyspace", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_ring_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_ring_argsTupleSchemeFactory()); + } + public String keyspace; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -25140,7 +28617,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -25300,44 +28776,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEYSPACE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.keyspace = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.keyspace != null) { - oprot.writeFieldBegin(KEYSPACE_FIELD_DESC); - oprot.writeString(this.keyspace); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -25361,6 +28804,7 @@ public class Cassandra { if (keyspace == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'keyspace' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -25379,6 +28823,80 @@ public class Cassandra { } } + private static class describe_ring_argsStandardSchemeFactory implements SchemeFactory { + public describe_ring_argsStandardScheme getScheme() { + return new describe_ring_argsStandardScheme(); + } + } + + private static class describe_ring_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_ring_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEYSPACE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.keyspace = iprot.readString(); + struct.setKeyspaceIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_ring_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.keyspace != null) { + oprot.writeFieldBegin(KEYSPACE_FIELD_DESC); + oprot.writeString(struct.keyspace); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_ring_argsTupleSchemeFactory implements SchemeFactory { + public describe_ring_argsTupleScheme getScheme() { + return new describe_ring_argsTupleScheme(); + } + } + + private static class describe_ring_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_ring_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.keyspace); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_ring_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.keyspace = iprot.readString(); + struct.setKeyspaceIsSet(true); + } + } + } public static class describe_ring_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -25387,6 +28905,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0); private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_ring_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_ring_resultTupleSchemeFactory()); + } + public List success; // required public InvalidRequestException ire; // required @@ -25452,7 +28976,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -25701,74 +29224,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list174 = iprot.readListBegin(); - this.success = new ArrayList(_list174.size); - for (int _i175 = 0; _i175 < _list174.size; ++_i175) - { - TokenRange _elem176; // required - _elem176 = new TokenRange(); - _elem176.read(iprot); - this.success.add(_elem176); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (TokenRange _iter177 : this.success) - { - _iter177.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -25796,6 +29257,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -25814,12 +29276,161 @@ public class Cassandra { } } + private static class describe_ring_resultStandardSchemeFactory implements SchemeFactory { + public describe_ring_resultStandardScheme getScheme() { + return new describe_ring_resultStandardScheme(); + } + } + + private static class describe_ring_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_ring_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list348 = iprot.readListBegin(); + struct.success = new ArrayList(_list348.size); + for (int _i349 = 0; _i349 < _list348.size; ++_i349) + { + TokenRange _elem350; // required + _elem350 = new TokenRange(); + _elem350.read(iprot); + struct.success.add(_elem350); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_ring_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size())); + for (TokenRange _iter351 : struct.success) + { + _iter351.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_ring_resultTupleSchemeFactory implements SchemeFactory { + public describe_ring_resultTupleScheme getScheme() { + return new describe_ring_resultTupleScheme(); + } + } + + private static class describe_ring_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_ring_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (TokenRange _iter352 : struct.success) + { + _iter352.write(oprot); + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_ring_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list353 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.success = new ArrayList(_list353.size); + for (int _i354 = 0; _i354 < _list353.size; ++_i354) + { + TokenRange _elem355; // required + _elem355 = new TokenRange(); + _elem355.read(iprot); + struct.success.add(_elem355); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } public static class describe_token_map_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("describe_token_map_args"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_token_map_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_token_map_argsTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -25961,32 +29572,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -26000,6 +29590,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -26018,6 +29609,64 @@ public class Cassandra { } } + private static class describe_token_map_argsStandardSchemeFactory implements SchemeFactory { + public describe_token_map_argsStandardScheme getScheme() { + return new describe_token_map_argsStandardScheme(); + } + } + + private static class describe_token_map_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_token_map_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_token_map_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_token_map_argsTupleSchemeFactory implements SchemeFactory { + public describe_token_map_argsTupleScheme getScheme() { + return new describe_token_map_argsTupleScheme(); + } + } + + private static class describe_token_map_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_token_map_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_token_map_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } public static class describe_token_map_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -26026,6 +29675,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0); private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_token_map_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_token_map_resultTupleSchemeFactory()); + } + public Map success; // required public InvalidRequestException ire; // required @@ -26091,7 +29746,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -26345,76 +29999,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.MAP) { - { - org.apache.thrift.protocol.TMap _map178 = iprot.readMapBegin(); - this.success = new HashMap(2*_map178.size); - for (int _i179 = 0; _i179 < _map178.size; ++_i179) - { - String _key180; // required - String _val181; // required - _key180 = iprot.readString(); - _val181 = iprot.readString(); - this.success.put(_key180, _val181); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (Map.Entry _iter182 : this.success.entrySet()) - { - oprot.writeString(_iter182.getKey()); - oprot.writeString(_iter182.getValue()); - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -26442,6 +30032,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -26460,12 +30051,165 @@ public class Cassandra { } } + private static class describe_token_map_resultStandardSchemeFactory implements SchemeFactory { + public describe_token_map_resultStandardScheme getScheme() { + return new describe_token_map_resultStandardScheme(); + } + } + + private static class describe_token_map_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_token_map_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map356 = iprot.readMapBegin(); + struct.success = new HashMap(2*_map356.size); + for (int _i357 = 0; _i357 < _map356.size; ++_i357) + { + String _key358; // required + String _val359; // required + _key358 = iprot.readString(); + _val359 = iprot.readString(); + struct.success.put(_key358, _val359); + } + iprot.readMapEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_token_map_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.success.size())); + for (Map.Entry _iter360 : struct.success.entrySet()) + { + oprot.writeString(_iter360.getKey()); + oprot.writeString(_iter360.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_token_map_resultTupleSchemeFactory implements SchemeFactory { + public describe_token_map_resultTupleScheme getScheme() { + return new describe_token_map_resultTupleScheme(); + } + } + + private static class describe_token_map_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_token_map_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (Map.Entry _iter361 : struct.success.entrySet()) + { + oprot.writeString(_iter361.getKey()); + oprot.writeString(_iter361.getValue()); + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_token_map_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TMap _map362 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.success = new HashMap(2*_map362.size); + for (int _i363 = 0; _i363 < _map362.size; ++_i363) + { + String _key364; // required + String _val365; // required + _key364 = iprot.readString(); + _val365 = iprot.readString(); + struct.success.put(_key364, _val365); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } public static class describe_partitioner_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("describe_partitioner_args"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_partitioner_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_partitioner_argsTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -26607,32 +30351,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -26646,6 +30369,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -26664,6 +30388,64 @@ public class Cassandra { } } + private static class describe_partitioner_argsStandardSchemeFactory implements SchemeFactory { + public describe_partitioner_argsStandardScheme getScheme() { + return new describe_partitioner_argsStandardScheme(); + } + } + + private static class describe_partitioner_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_partitioner_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_partitioner_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_partitioner_argsTupleSchemeFactory implements SchemeFactory { + public describe_partitioner_argsTupleScheme getScheme() { + return new describe_partitioner_argsTupleScheme(); + } + } + + private static class describe_partitioner_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_partitioner_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_partitioner_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } public static class describe_partitioner_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -26671,6 +30453,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_partitioner_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_partitioner_resultTupleSchemeFactory()); + } + public String success; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -26732,7 +30520,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -26892,44 +30679,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeString(this.success); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -26949,6 +30704,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -26967,12 +30723,102 @@ public class Cassandra { } } + private static class describe_partitioner_resultStandardSchemeFactory implements SchemeFactory { + public describe_partitioner_resultStandardScheme getScheme() { + return new describe_partitioner_resultStandardScheme(); + } + } + + private static class describe_partitioner_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_partitioner_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_partitioner_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeString(struct.success); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_partitioner_resultTupleSchemeFactory implements SchemeFactory { + public describe_partitioner_resultTupleScheme getScheme() { + return new describe_partitioner_resultTupleScheme(); + } + } + + private static class describe_partitioner_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_partitioner_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSuccess()) { + oprot.writeString(struct.success); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_partitioner_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } + } + } + } public static class describe_snitch_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("describe_snitch_args"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_snitch_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_snitch_argsTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -27114,32 +30960,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -27153,6 +30978,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -27171,6 +30997,64 @@ public class Cassandra { } } + private static class describe_snitch_argsStandardSchemeFactory implements SchemeFactory { + public describe_snitch_argsStandardScheme getScheme() { + return new describe_snitch_argsStandardScheme(); + } + } + + private static class describe_snitch_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_snitch_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_snitch_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_snitch_argsTupleSchemeFactory implements SchemeFactory { + public describe_snitch_argsTupleScheme getScheme() { + return new describe_snitch_argsTupleScheme(); + } + } + + private static class describe_snitch_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_snitch_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_snitch_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } public static class describe_snitch_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -27178,6 +31062,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_snitch_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_snitch_resultTupleSchemeFactory()); + } + public String success; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -27239,7 +31129,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -27399,44 +31288,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeString(this.success); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -27456,6 +31313,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -27474,6 +31332,90 @@ public class Cassandra { } } + private static class describe_snitch_resultStandardSchemeFactory implements SchemeFactory { + public describe_snitch_resultStandardScheme getScheme() { + return new describe_snitch_resultStandardScheme(); + } + } + + private static class describe_snitch_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_snitch_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_snitch_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeString(struct.success); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_snitch_resultTupleSchemeFactory implements SchemeFactory { + public describe_snitch_resultTupleScheme getScheme() { + return new describe_snitch_resultTupleScheme(); + } + } + + private static class describe_snitch_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_snitch_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSuccess()) { + oprot.writeString(struct.success); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_snitch_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } + } + } + } public static class describe_keyspace_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -27481,6 +31423,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField KEYSPACE_FIELD_DESC = new org.apache.thrift.protocol.TField("keyspace", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_keyspace_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_keyspace_argsTupleSchemeFactory()); + } + public String keyspace; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -27542,7 +31490,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -27702,44 +31649,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEYSPACE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.keyspace = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.keyspace != null) { - oprot.writeFieldBegin(KEYSPACE_FIELD_DESC); - oprot.writeString(this.keyspace); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -27763,6 +31677,7 @@ public class Cassandra { if (keyspace == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'keyspace' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -27781,6 +31696,80 @@ public class Cassandra { } } + private static class describe_keyspace_argsStandardSchemeFactory implements SchemeFactory { + public describe_keyspace_argsStandardScheme getScheme() { + return new describe_keyspace_argsStandardScheme(); + } + } + + private static class describe_keyspace_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_keyspace_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEYSPACE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.keyspace = iprot.readString(); + struct.setKeyspaceIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_keyspace_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.keyspace != null) { + oprot.writeFieldBegin(KEYSPACE_FIELD_DESC); + oprot.writeString(struct.keyspace); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_keyspace_argsTupleSchemeFactory implements SchemeFactory { + public describe_keyspace_argsTupleScheme getScheme() { + return new describe_keyspace_argsTupleScheme(); + } + } + + private static class describe_keyspace_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_keyspace_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.keyspace); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_keyspace_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.keyspace = iprot.readString(); + struct.setKeyspaceIsSet(true); + } + } + } public static class describe_keyspace_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -27790,6 +31779,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField NFE_FIELD_DESC = new org.apache.thrift.protocol.TField("nfe", org.apache.thrift.protocol.TType.STRUCT, (short)1); private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_keyspace_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_keyspace_resultTupleSchemeFactory()); + } + public KsDef success; // required public NotFoundException nfe; // required public InvalidRequestException ire; // required @@ -27859,7 +31854,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -28157,69 +32151,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.success = new KsDef(); - this.success.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // NFE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.nfe = new NotFoundException(); - this.nfe.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - this.success.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetNfe()) { - oprot.writeFieldBegin(NFE_FIELD_DESC); - this.nfe.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -28255,6 +32192,10 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -28273,6 +32214,142 @@ public class Cassandra { } } + private static class describe_keyspace_resultStandardSchemeFactory implements SchemeFactory { + public describe_keyspace_resultStandardScheme getScheme() { + return new describe_keyspace_resultStandardScheme(); + } + } + + private static class describe_keyspace_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_keyspace_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new KsDef(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // NFE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.nfe = new NotFoundException(); + struct.nfe.read(iprot); + struct.setNfeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_keyspace_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.nfe != null) { + oprot.writeFieldBegin(NFE_FIELD_DESC); + struct.nfe.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_keyspace_resultTupleSchemeFactory implements SchemeFactory { + public describe_keyspace_resultTupleScheme getScheme() { + return new describe_keyspace_resultTupleScheme(); + } + } + + private static class describe_keyspace_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_keyspace_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetNfe()) { + optionals.set(1); + } + if (struct.isSetIre()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetNfe()) { + struct.nfe.write(oprot); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_keyspace_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.success = new KsDef(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.nfe = new NotFoundException(); + struct.nfe.read(iprot); + struct.setNfeIsSet(true); + } + if (incoming.get(2)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } public static class describe_splits_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -28283,6 +32360,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField END_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("end_token", org.apache.thrift.protocol.TType.STRING, (short)3); private static final org.apache.thrift.protocol.TField KEYS_PER_SPLIT_FIELD_DESC = new org.apache.thrift.protocol.TField("keys_per_split", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_splits_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_splits_argsTupleSchemeFactory()); + } + public String cfName; // required public String start_token; // required public String end_token; // required @@ -28357,8 +32440,7 @@ public class Cassandra { // isset id assignments private static final int __KEYS_PER_SPLIT_ISSET_ID = 0; - private BitSet __isset_bit_vector = new BitSet(1); - + private byte __isset_bitfield = 0; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -28395,8 +32477,7 @@ public class Cassandra { * Performs a deep copy on other. */ public describe_splits_args(describe_splits_args other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetCfName()) { this.cfName = other.cfName; } @@ -28505,16 +32586,16 @@ public class Cassandra { } public void unsetKeys_per_split() { - __isset_bit_vector.clear(__KEYS_PER_SPLIT_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __KEYS_PER_SPLIT_ISSET_ID); } /** Returns true if field keys_per_split is set (has been assigned a value) and false otherwise */ public boolean isSetKeys_per_split() { - return __isset_bit_vector.get(__KEYS_PER_SPLIT_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __KEYS_PER_SPLIT_ISSET_ID); } public void setKeys_per_splitIsSet(boolean value) { - __isset_bit_vector.set(__KEYS_PER_SPLIT_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __KEYS_PER_SPLIT_ISSET_ID, value); } public void setFieldValue(_Fields field, Object value) { @@ -28726,82 +32807,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // CF_NAME - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.cfName = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // START_TOKEN - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.start_token = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // END_TOKEN - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.end_token = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // KEYS_PER_SPLIT - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.keys_per_split = iprot.readI32(); - setKeys_per_splitIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - if (!isSetKeys_per_split()) { - throw new org.apache.thrift.protocol.TProtocolException("Required field 'keys_per_split' was not found in serialized data! Struct: " + toString()); - } - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.cfName != null) { - oprot.writeFieldBegin(CF_NAME_FIELD_DESC); - oprot.writeString(this.cfName); - oprot.writeFieldEnd(); - } - if (this.start_token != null) { - oprot.writeFieldBegin(START_TOKEN_FIELD_DESC); - oprot.writeString(this.start_token); - oprot.writeFieldEnd(); - } - if (this.end_token != null) { - oprot.writeFieldBegin(END_TOKEN_FIELD_DESC); - oprot.writeString(this.end_token); - oprot.writeFieldEnd(); - } - oprot.writeFieldBegin(KEYS_PER_SPLIT_FIELD_DESC); - oprot.writeI32(this.keys_per_split); - oprot.writeFieldEnd(); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -28852,6 +32862,7 @@ public class Cassandra { throw new org.apache.thrift.protocol.TProtocolException("Required field 'end_token' was not present! Struct: " + toString()); } // alas, we cannot check 'keys_per_split' because it's a primitive and you chose the non-beans generator. + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -28864,12 +32875,137 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); } } + private static class describe_splits_argsStandardSchemeFactory implements SchemeFactory { + public describe_splits_argsStandardScheme getScheme() { + return new describe_splits_argsStandardScheme(); + } + } + + private static class describe_splits_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_splits_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // CF_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.cfName = iprot.readString(); + struct.setCfNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // START_TOKEN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.start_token = iprot.readString(); + struct.setStart_tokenIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // END_TOKEN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.end_token = iprot.readString(); + struct.setEnd_tokenIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // KEYS_PER_SPLIT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.keys_per_split = iprot.readI32(); + struct.setKeys_per_splitIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetKeys_per_split()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'keys_per_split' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_splits_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.cfName != null) { + oprot.writeFieldBegin(CF_NAME_FIELD_DESC); + oprot.writeString(struct.cfName); + oprot.writeFieldEnd(); + } + if (struct.start_token != null) { + oprot.writeFieldBegin(START_TOKEN_FIELD_DESC); + oprot.writeString(struct.start_token); + oprot.writeFieldEnd(); + } + if (struct.end_token != null) { + oprot.writeFieldBegin(END_TOKEN_FIELD_DESC); + oprot.writeString(struct.end_token); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(KEYS_PER_SPLIT_FIELD_DESC); + oprot.writeI32(struct.keys_per_split); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_splits_argsTupleSchemeFactory implements SchemeFactory { + public describe_splits_argsTupleScheme getScheme() { + return new describe_splits_argsTupleScheme(); + } + } + + private static class describe_splits_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_splits_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.cfName); + oprot.writeString(struct.start_token); + oprot.writeString(struct.end_token); + oprot.writeI32(struct.keys_per_split); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_splits_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.cfName = iprot.readString(); + struct.setCfNameIsSet(true); + struct.start_token = iprot.readString(); + struct.setStart_tokenIsSet(true); + struct.end_token = iprot.readString(); + struct.setEnd_tokenIsSet(true); + struct.keys_per_split = iprot.readI32(); + struct.setKeys_per_splitIsSet(true); + } + } + } public static class describe_splits_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -28878,6 +33014,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0); private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_splits_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_splits_resultTupleSchemeFactory()); + } + public List success; // required public InvalidRequestException ire; // required @@ -28943,7 +33085,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -29192,73 +33333,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list183 = iprot.readListBegin(); - this.success = new ArrayList(_list183.size); - for (int _i184 = 0; _i184 < _list183.size; ++_i184) - { - String _elem185; // required - _elem185 = iprot.readString(); - this.success.add(_elem185); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.success.size())); - for (String _iter186 : this.success) - { - oprot.writeString(_iter186); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -29286,6 +33366,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -29304,12 +33385,159 @@ public class Cassandra { } } + private static class describe_splits_resultStandardSchemeFactory implements SchemeFactory { + public describe_splits_resultStandardScheme getScheme() { + return new describe_splits_resultStandardScheme(); + } + } + + private static class describe_splits_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_splits_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list366 = iprot.readListBegin(); + struct.success = new ArrayList(_list366.size); + for (int _i367 = 0; _i367 < _list366.size; ++_i367) + { + String _elem368; // required + _elem368 = iprot.readString(); + struct.success.add(_elem368); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_splits_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.success.size())); + for (String _iter369 : struct.success) + { + oprot.writeString(_iter369); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_splits_resultTupleSchemeFactory implements SchemeFactory { + public describe_splits_resultTupleScheme getScheme() { + return new describe_splits_resultTupleScheme(); + } + } + + private static class describe_splits_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_splits_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (String _iter370 : struct.success) + { + oprot.writeString(_iter370); + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_splits_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list371 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.success = new ArrayList(_list371.size); + for (int _i372 = 0; _i372 < _list371.size; ++_i372) + { + String _elem373; // required + _elem373 = iprot.readString(); + struct.success.add(_elem373); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } public static class trace_next_query_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("trace_next_query_args"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new trace_next_query_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new trace_next_query_argsTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -29451,32 +33679,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -29490,6 +33697,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -29508,6 +33716,64 @@ public class Cassandra { } } + private static class trace_next_query_argsStandardSchemeFactory implements SchemeFactory { + public trace_next_query_argsStandardScheme getScheme() { + return new trace_next_query_argsStandardScheme(); + } + } + + private static class trace_next_query_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, trace_next_query_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, trace_next_query_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class trace_next_query_argsTupleSchemeFactory implements SchemeFactory { + public trace_next_query_argsTupleScheme getScheme() { + return new trace_next_query_argsTupleScheme(); + } + } + + private static class trace_next_query_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, trace_next_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, trace_next_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } public static class trace_next_query_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -29515,6 +33781,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new trace_next_query_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new trace_next_query_resultTupleSchemeFactory()); + } + public ByteBuffer success; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -29576,7 +33848,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -29747,44 +34018,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeBinary(this.success); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -29804,6 +34043,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -29822,6 +34062,90 @@ public class Cassandra { } } + private static class trace_next_query_resultStandardSchemeFactory implements SchemeFactory { + public trace_next_query_resultStandardScheme getScheme() { + return new trace_next_query_resultStandardScheme(); + } + } + + private static class trace_next_query_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, trace_next_query_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readBinary(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, trace_next_query_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeBinary(struct.success); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class trace_next_query_resultTupleSchemeFactory implements SchemeFactory { + public trace_next_query_resultTupleScheme getScheme() { + return new trace_next_query_resultTupleScheme(); + } + } + + private static class trace_next_query_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, trace_next_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSuccess()) { + oprot.writeBinary(struct.success); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, trace_next_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.success = iprot.readBinary(); + struct.setSuccessIsSet(true); + } + } + } + } public static class describe_splits_ex_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -29832,6 +34156,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField END_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("end_token", org.apache.thrift.protocol.TType.STRING, (short)3); private static final org.apache.thrift.protocol.TField KEYS_PER_SPLIT_FIELD_DESC = new org.apache.thrift.protocol.TField("keys_per_split", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_splits_ex_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_splits_ex_argsTupleSchemeFactory()); + } + public String cfName; // required public String start_token; // required public String end_token; // required @@ -29906,8 +34236,7 @@ public class Cassandra { // isset id assignments private static final int __KEYS_PER_SPLIT_ISSET_ID = 0; - private BitSet __isset_bit_vector = new BitSet(1); - + private byte __isset_bitfield = 0; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -29944,8 +34273,7 @@ public class Cassandra { * Performs a deep copy on other. */ public describe_splits_ex_args(describe_splits_ex_args other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetCfName()) { this.cfName = other.cfName; } @@ -30054,16 +34382,16 @@ public class Cassandra { } public void unsetKeys_per_split() { - __isset_bit_vector.clear(__KEYS_PER_SPLIT_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __KEYS_PER_SPLIT_ISSET_ID); } /** Returns true if field keys_per_split is set (has been assigned a value) and false otherwise */ public boolean isSetKeys_per_split() { - return __isset_bit_vector.get(__KEYS_PER_SPLIT_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __KEYS_PER_SPLIT_ISSET_ID); } public void setKeys_per_splitIsSet(boolean value) { - __isset_bit_vector.set(__KEYS_PER_SPLIT_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __KEYS_PER_SPLIT_ISSET_ID, value); } public void setFieldValue(_Fields field, Object value) { @@ -30275,82 +34603,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // CF_NAME - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.cfName = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // START_TOKEN - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.start_token = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // END_TOKEN - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.end_token = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // KEYS_PER_SPLIT - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.keys_per_split = iprot.readI32(); - setKeys_per_splitIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - if (!isSetKeys_per_split()) { - throw new org.apache.thrift.protocol.TProtocolException("Required field 'keys_per_split' was not found in serialized data! Struct: " + toString()); - } - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.cfName != null) { - oprot.writeFieldBegin(CF_NAME_FIELD_DESC); - oprot.writeString(this.cfName); - oprot.writeFieldEnd(); - } - if (this.start_token != null) { - oprot.writeFieldBegin(START_TOKEN_FIELD_DESC); - oprot.writeString(this.start_token); - oprot.writeFieldEnd(); - } - if (this.end_token != null) { - oprot.writeFieldBegin(END_TOKEN_FIELD_DESC); - oprot.writeString(this.end_token); - oprot.writeFieldEnd(); - } - oprot.writeFieldBegin(KEYS_PER_SPLIT_FIELD_DESC); - oprot.writeI32(this.keys_per_split); - oprot.writeFieldEnd(); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -30401,6 +34658,7 @@ public class Cassandra { throw new org.apache.thrift.protocol.TProtocolException("Required field 'end_token' was not present! Struct: " + toString()); } // alas, we cannot check 'keys_per_split' because it's a primitive and you chose the non-beans generator. + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -30414,13 +34672,136 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. - __isset_bit_vector = new BitSet(1); + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); } } + private static class describe_splits_ex_argsStandardSchemeFactory implements SchemeFactory { + public describe_splits_ex_argsStandardScheme getScheme() { + return new describe_splits_ex_argsStandardScheme(); + } + } + + private static class describe_splits_ex_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_splits_ex_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // CF_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.cfName = iprot.readString(); + struct.setCfNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // START_TOKEN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.start_token = iprot.readString(); + struct.setStart_tokenIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // END_TOKEN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.end_token = iprot.readString(); + struct.setEnd_tokenIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // KEYS_PER_SPLIT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.keys_per_split = iprot.readI32(); + struct.setKeys_per_splitIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetKeys_per_split()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'keys_per_split' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_splits_ex_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.cfName != null) { + oprot.writeFieldBegin(CF_NAME_FIELD_DESC); + oprot.writeString(struct.cfName); + oprot.writeFieldEnd(); + } + if (struct.start_token != null) { + oprot.writeFieldBegin(START_TOKEN_FIELD_DESC); + oprot.writeString(struct.start_token); + oprot.writeFieldEnd(); + } + if (struct.end_token != null) { + oprot.writeFieldBegin(END_TOKEN_FIELD_DESC); + oprot.writeString(struct.end_token); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(KEYS_PER_SPLIT_FIELD_DESC); + oprot.writeI32(struct.keys_per_split); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_splits_ex_argsTupleSchemeFactory implements SchemeFactory { + public describe_splits_ex_argsTupleScheme getScheme() { + return new describe_splits_ex_argsTupleScheme(); + } + } + + private static class describe_splits_ex_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_splits_ex_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.cfName); + oprot.writeString(struct.start_token); + oprot.writeString(struct.end_token); + oprot.writeI32(struct.keys_per_split); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_splits_ex_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.cfName = iprot.readString(); + struct.setCfNameIsSet(true); + struct.start_token = iprot.readString(); + struct.setStart_tokenIsSet(true); + struct.end_token = iprot.readString(); + struct.setEnd_tokenIsSet(true); + struct.keys_per_split = iprot.readI32(); + struct.setKeys_per_splitIsSet(true); + } + } + } public static class describe_splits_ex_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -30429,6 +34810,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0); private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new describe_splits_ex_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new describe_splits_ex_resultTupleSchemeFactory()); + } + public List success; // required public InvalidRequestException ire; // required @@ -30494,7 +34881,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -30743,74 +35129,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list187 = iprot.readListBegin(); - this.success = new ArrayList(_list187.size); - for (int _i188 = 0; _i188 < _list187.size; ++_i188) - { - CfSplit _elem189; // required - _elem189 = new CfSplit(); - _elem189.read(iprot); - this.success.add(_elem189); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.success.size())); - for (CfSplit _iter190 : this.success) - { - _iter190.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -30838,6 +35162,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -30856,6 +35181,149 @@ public class Cassandra { } } + private static class describe_splits_ex_resultStandardSchemeFactory implements SchemeFactory { + public describe_splits_ex_resultStandardScheme getScheme() { + return new describe_splits_ex_resultStandardScheme(); + } + } + + private static class describe_splits_ex_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, describe_splits_ex_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list374 = iprot.readListBegin(); + struct.success = new ArrayList(_list374.size); + for (int _i375 = 0; _i375 < _list374.size; ++_i375) + { + CfSplit _elem376; // required + _elem376 = new CfSplit(); + _elem376.read(iprot); + struct.success.add(_elem376); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, describe_splits_ex_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size())); + for (CfSplit _iter377 : struct.success) + { + _iter377.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class describe_splits_ex_resultTupleSchemeFactory implements SchemeFactory { + public describe_splits_ex_resultTupleScheme getScheme() { + return new describe_splits_ex_resultTupleScheme(); + } + } + + private static class describe_splits_ex_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, describe_splits_ex_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (CfSplit _iter378 : struct.success) + { + _iter378.write(oprot); + } + } + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, describe_splits_ex_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list379 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.success = new ArrayList(_list379.size); + for (int _i380 = 0; _i380 < _list379.size; ++_i380) + { + CfSplit _elem381; // required + _elem381 = new CfSplit(); + _elem381.read(iprot); + struct.success.add(_elem381); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } public static class system_add_column_family_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -30863,6 +35331,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField CF_DEF_FIELD_DESC = new org.apache.thrift.protocol.TField("cf_def", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_add_column_family_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_add_column_family_argsTupleSchemeFactory()); + } + public CfDef cf_def; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -30924,7 +35398,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -31084,45 +35557,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // CF_DEF - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.cf_def = new CfDef(); - this.cf_def.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.cf_def != null) { - oprot.writeFieldBegin(CF_DEF_FIELD_DESC); - this.cf_def.write(oprot); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -31146,6 +35585,10 @@ public class Cassandra { if (cf_def == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'cf_def' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (cf_def != null) { + cf_def.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -31164,6 +35607,82 @@ public class Cassandra { } } + private static class system_add_column_family_argsStandardSchemeFactory implements SchemeFactory { + public system_add_column_family_argsStandardScheme getScheme() { + return new system_add_column_family_argsStandardScheme(); + } + } + + private static class system_add_column_family_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_add_column_family_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // CF_DEF + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.cf_def = new CfDef(); + struct.cf_def.read(iprot); + struct.setCf_defIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_add_column_family_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.cf_def != null) { + oprot.writeFieldBegin(CF_DEF_FIELD_DESC); + struct.cf_def.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_add_column_family_argsTupleSchemeFactory implements SchemeFactory { + public system_add_column_family_argsTupleScheme getScheme() { + return new system_add_column_family_argsTupleScheme(); + } + } + + private static class system_add_column_family_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_add_column_family_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + struct.cf_def.write(oprot); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_add_column_family_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.cf_def = new CfDef(); + struct.cf_def.read(iprot); + struct.setCf_defIsSet(true); + } + } + } public static class system_add_column_family_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -31173,6 +35692,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); private static final org.apache.thrift.protocol.TField SDE_FIELD_DESC = new org.apache.thrift.protocol.TField("sde", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_add_column_family_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_add_column_family_resultTupleSchemeFactory()); + } + public String success; // required public InvalidRequestException ire; // required public SchemaDisagreementException sde; // required @@ -31242,7 +35767,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -31540,68 +36064,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // SDE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.sde = new SchemaDisagreementException(); - this.sde.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeString(this.success); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetSde()) { - oprot.writeFieldBegin(SDE_FIELD_DESC); - this.sde.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -31637,6 +36105,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -31655,6 +36124,140 @@ public class Cassandra { } } + private static class system_add_column_family_resultStandardSchemeFactory implements SchemeFactory { + public system_add_column_family_resultStandardScheme getScheme() { + return new system_add_column_family_resultStandardScheme(); + } + } + + private static class system_add_column_family_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_add_column_family_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SDE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_add_column_family_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeString(struct.success); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.sde != null) { + oprot.writeFieldBegin(SDE_FIELD_DESC); + struct.sde.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_add_column_family_resultTupleSchemeFactory implements SchemeFactory { + public system_add_column_family_resultTupleScheme getScheme() { + return new system_add_column_family_resultTupleScheme(); + } + } + + private static class system_add_column_family_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_add_column_family_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetSde()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + oprot.writeString(struct.success); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetSde()) { + struct.sde.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_add_column_family_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } + } + } + } public static class system_drop_column_family_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -31662,6 +36265,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField COLUMN_FAMILY_FIELD_DESC = new org.apache.thrift.protocol.TField("column_family", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_drop_column_family_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_drop_column_family_argsTupleSchemeFactory()); + } + public String column_family; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -31723,7 +36332,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -31883,44 +36491,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // COLUMN_FAMILY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.column_family = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.column_family != null) { - oprot.writeFieldBegin(COLUMN_FAMILY_FIELD_DESC); - oprot.writeString(this.column_family); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -31944,6 +36519,7 @@ public class Cassandra { if (column_family == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'column_family' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -31962,6 +36538,80 @@ public class Cassandra { } } + private static class system_drop_column_family_argsStandardSchemeFactory implements SchemeFactory { + public system_drop_column_family_argsStandardScheme getScheme() { + return new system_drop_column_family_argsStandardScheme(); + } + } + + private static class system_drop_column_family_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_drop_column_family_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // COLUMN_FAMILY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.column_family = iprot.readString(); + struct.setColumn_familyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_drop_column_family_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.column_family != null) { + oprot.writeFieldBegin(COLUMN_FAMILY_FIELD_DESC); + oprot.writeString(struct.column_family); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_drop_column_family_argsTupleSchemeFactory implements SchemeFactory { + public system_drop_column_family_argsTupleScheme getScheme() { + return new system_drop_column_family_argsTupleScheme(); + } + } + + private static class system_drop_column_family_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_drop_column_family_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.column_family); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_drop_column_family_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.column_family = iprot.readString(); + struct.setColumn_familyIsSet(true); + } + } + } public static class system_drop_column_family_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -31971,6 +36621,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); private static final org.apache.thrift.protocol.TField SDE_FIELD_DESC = new org.apache.thrift.protocol.TField("sde", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_drop_column_family_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_drop_column_family_resultTupleSchemeFactory()); + } + public String success; // required public InvalidRequestException ire; // required public SchemaDisagreementException sde; // required @@ -32040,7 +36696,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -32338,68 +36993,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // SDE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.sde = new SchemaDisagreementException(); - this.sde.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeString(this.success); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetSde()) { - oprot.writeFieldBegin(SDE_FIELD_DESC); - this.sde.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -32435,6 +37034,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -32453,6 +37053,140 @@ public class Cassandra { } } + private static class system_drop_column_family_resultStandardSchemeFactory implements SchemeFactory { + public system_drop_column_family_resultStandardScheme getScheme() { + return new system_drop_column_family_resultStandardScheme(); + } + } + + private static class system_drop_column_family_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_drop_column_family_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SDE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_drop_column_family_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeString(struct.success); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.sde != null) { + oprot.writeFieldBegin(SDE_FIELD_DESC); + struct.sde.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_drop_column_family_resultTupleSchemeFactory implements SchemeFactory { + public system_drop_column_family_resultTupleScheme getScheme() { + return new system_drop_column_family_resultTupleScheme(); + } + } + + private static class system_drop_column_family_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_drop_column_family_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetSde()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + oprot.writeString(struct.success); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetSde()) { + struct.sde.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_drop_column_family_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } + } + } + } public static class system_add_keyspace_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -32460,6 +37194,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField KS_DEF_FIELD_DESC = new org.apache.thrift.protocol.TField("ks_def", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_add_keyspace_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_add_keyspace_argsTupleSchemeFactory()); + } + public KsDef ks_def; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -32521,7 +37261,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -32681,45 +37420,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KS_DEF - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ks_def = new KsDef(); - this.ks_def.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.ks_def != null) { - oprot.writeFieldBegin(KS_DEF_FIELD_DESC); - this.ks_def.write(oprot); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -32743,6 +37448,10 @@ public class Cassandra { if (ks_def == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'ks_def' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (ks_def != null) { + ks_def.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -32761,6 +37470,82 @@ public class Cassandra { } } + private static class system_add_keyspace_argsStandardSchemeFactory implements SchemeFactory { + public system_add_keyspace_argsStandardScheme getScheme() { + return new system_add_keyspace_argsStandardScheme(); + } + } + + private static class system_add_keyspace_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_add_keyspace_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KS_DEF + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ks_def = new KsDef(); + struct.ks_def.read(iprot); + struct.setKs_defIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_add_keyspace_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ks_def != null) { + oprot.writeFieldBegin(KS_DEF_FIELD_DESC); + struct.ks_def.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_add_keyspace_argsTupleSchemeFactory implements SchemeFactory { + public system_add_keyspace_argsTupleScheme getScheme() { + return new system_add_keyspace_argsTupleScheme(); + } + } + + private static class system_add_keyspace_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_add_keyspace_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + struct.ks_def.write(oprot); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_add_keyspace_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.ks_def = new KsDef(); + struct.ks_def.read(iprot); + struct.setKs_defIsSet(true); + } + } + } public static class system_add_keyspace_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -32770,6 +37555,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); private static final org.apache.thrift.protocol.TField SDE_FIELD_DESC = new org.apache.thrift.protocol.TField("sde", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_add_keyspace_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_add_keyspace_resultTupleSchemeFactory()); + } + public String success; // required public InvalidRequestException ire; // required public SchemaDisagreementException sde; // required @@ -32839,7 +37630,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -33137,68 +37927,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // SDE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.sde = new SchemaDisagreementException(); - this.sde.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeString(this.success); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetSde()) { - oprot.writeFieldBegin(SDE_FIELD_DESC); - this.sde.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -33234,6 +37968,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -33252,6 +37987,140 @@ public class Cassandra { } } + private static class system_add_keyspace_resultStandardSchemeFactory implements SchemeFactory { + public system_add_keyspace_resultStandardScheme getScheme() { + return new system_add_keyspace_resultStandardScheme(); + } + } + + private static class system_add_keyspace_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_add_keyspace_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SDE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_add_keyspace_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeString(struct.success); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.sde != null) { + oprot.writeFieldBegin(SDE_FIELD_DESC); + struct.sde.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_add_keyspace_resultTupleSchemeFactory implements SchemeFactory { + public system_add_keyspace_resultTupleScheme getScheme() { + return new system_add_keyspace_resultTupleScheme(); + } + } + + private static class system_add_keyspace_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_add_keyspace_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetSde()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + oprot.writeString(struct.success); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetSde()) { + struct.sde.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_add_keyspace_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } + } + } + } public static class system_drop_keyspace_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -33259,6 +38128,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField KEYSPACE_FIELD_DESC = new org.apache.thrift.protocol.TField("keyspace", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_drop_keyspace_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_drop_keyspace_argsTupleSchemeFactory()); + } + public String keyspace; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -33320,7 +38195,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -33480,44 +38354,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEYSPACE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.keyspace = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.keyspace != null) { - oprot.writeFieldBegin(KEYSPACE_FIELD_DESC); - oprot.writeString(this.keyspace); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -33541,6 +38382,7 @@ public class Cassandra { if (keyspace == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'keyspace' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -33559,6 +38401,80 @@ public class Cassandra { } } + private static class system_drop_keyspace_argsStandardSchemeFactory implements SchemeFactory { + public system_drop_keyspace_argsStandardScheme getScheme() { + return new system_drop_keyspace_argsStandardScheme(); + } + } + + private static class system_drop_keyspace_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_drop_keyspace_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEYSPACE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.keyspace = iprot.readString(); + struct.setKeyspaceIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_drop_keyspace_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.keyspace != null) { + oprot.writeFieldBegin(KEYSPACE_FIELD_DESC); + oprot.writeString(struct.keyspace); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_drop_keyspace_argsTupleSchemeFactory implements SchemeFactory { + public system_drop_keyspace_argsTupleScheme getScheme() { + return new system_drop_keyspace_argsTupleScheme(); + } + } + + private static class system_drop_keyspace_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_drop_keyspace_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.keyspace); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_drop_keyspace_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.keyspace = iprot.readString(); + struct.setKeyspaceIsSet(true); + } + } + } public static class system_drop_keyspace_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -33568,6 +38484,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); private static final org.apache.thrift.protocol.TField SDE_FIELD_DESC = new org.apache.thrift.protocol.TField("sde", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_drop_keyspace_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_drop_keyspace_resultTupleSchemeFactory()); + } + public String success; // required public InvalidRequestException ire; // required public SchemaDisagreementException sde; // required @@ -33637,7 +38559,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -33935,68 +38856,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // SDE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.sde = new SchemaDisagreementException(); - this.sde.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeString(this.success); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetSde()) { - oprot.writeFieldBegin(SDE_FIELD_DESC); - this.sde.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -34032,6 +38897,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -34050,6 +38916,140 @@ public class Cassandra { } } + private static class system_drop_keyspace_resultStandardSchemeFactory implements SchemeFactory { + public system_drop_keyspace_resultStandardScheme getScheme() { + return new system_drop_keyspace_resultStandardScheme(); + } + } + + private static class system_drop_keyspace_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_drop_keyspace_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SDE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_drop_keyspace_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeString(struct.success); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.sde != null) { + oprot.writeFieldBegin(SDE_FIELD_DESC); + struct.sde.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_drop_keyspace_resultTupleSchemeFactory implements SchemeFactory { + public system_drop_keyspace_resultTupleScheme getScheme() { + return new system_drop_keyspace_resultTupleScheme(); + } + } + + private static class system_drop_keyspace_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_drop_keyspace_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetSde()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + oprot.writeString(struct.success); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetSde()) { + struct.sde.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_drop_keyspace_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } + } + } + } public static class system_update_keyspace_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -34057,6 +39057,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField KS_DEF_FIELD_DESC = new org.apache.thrift.protocol.TField("ks_def", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_update_keyspace_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_update_keyspace_argsTupleSchemeFactory()); + } + public KsDef ks_def; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -34118,7 +39124,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -34278,45 +39283,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KS_DEF - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ks_def = new KsDef(); - this.ks_def.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.ks_def != null) { - oprot.writeFieldBegin(KS_DEF_FIELD_DESC); - this.ks_def.write(oprot); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -34340,6 +39311,10 @@ public class Cassandra { if (ks_def == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'ks_def' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (ks_def != null) { + ks_def.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -34358,6 +39333,82 @@ public class Cassandra { } } + private static class system_update_keyspace_argsStandardSchemeFactory implements SchemeFactory { + public system_update_keyspace_argsStandardScheme getScheme() { + return new system_update_keyspace_argsStandardScheme(); + } + } + + private static class system_update_keyspace_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_update_keyspace_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KS_DEF + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ks_def = new KsDef(); + struct.ks_def.read(iprot); + struct.setKs_defIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_update_keyspace_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ks_def != null) { + oprot.writeFieldBegin(KS_DEF_FIELD_DESC); + struct.ks_def.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_update_keyspace_argsTupleSchemeFactory implements SchemeFactory { + public system_update_keyspace_argsTupleScheme getScheme() { + return new system_update_keyspace_argsTupleScheme(); + } + } + + private static class system_update_keyspace_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_update_keyspace_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + struct.ks_def.write(oprot); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_update_keyspace_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.ks_def = new KsDef(); + struct.ks_def.read(iprot); + struct.setKs_defIsSet(true); + } + } + } public static class system_update_keyspace_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -34367,6 +39418,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); private static final org.apache.thrift.protocol.TField SDE_FIELD_DESC = new org.apache.thrift.protocol.TField("sde", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_update_keyspace_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_update_keyspace_resultTupleSchemeFactory()); + } + public String success; // required public InvalidRequestException ire; // required public SchemaDisagreementException sde; // required @@ -34436,7 +39493,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -34734,68 +39790,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // SDE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.sde = new SchemaDisagreementException(); - this.sde.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeString(this.success); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetSde()) { - oprot.writeFieldBegin(SDE_FIELD_DESC); - this.sde.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -34831,6 +39831,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -34849,6 +39850,140 @@ public class Cassandra { } } + private static class system_update_keyspace_resultStandardSchemeFactory implements SchemeFactory { + public system_update_keyspace_resultStandardScheme getScheme() { + return new system_update_keyspace_resultStandardScheme(); + } + } + + private static class system_update_keyspace_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_update_keyspace_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SDE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_update_keyspace_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeString(struct.success); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.sde != null) { + oprot.writeFieldBegin(SDE_FIELD_DESC); + struct.sde.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_update_keyspace_resultTupleSchemeFactory implements SchemeFactory { + public system_update_keyspace_resultTupleScheme getScheme() { + return new system_update_keyspace_resultTupleScheme(); + } + } + + private static class system_update_keyspace_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_update_keyspace_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetSde()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + oprot.writeString(struct.success); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetSde()) { + struct.sde.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_update_keyspace_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } + } + } + } public static class system_update_column_family_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -34856,6 +39991,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField CF_DEF_FIELD_DESC = new org.apache.thrift.protocol.TField("cf_def", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_update_column_family_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_update_column_family_argsTupleSchemeFactory()); + } + public CfDef cf_def; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -34917,7 +40058,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -35077,45 +40217,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // CF_DEF - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.cf_def = new CfDef(); - this.cf_def.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.cf_def != null) { - oprot.writeFieldBegin(CF_DEF_FIELD_DESC); - this.cf_def.write(oprot); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -35139,6 +40245,10 @@ public class Cassandra { if (cf_def == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'cf_def' was not present! Struct: " + toString()); } + // check for sub-struct validity + if (cf_def != null) { + cf_def.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -35157,6 +40267,82 @@ public class Cassandra { } } + private static class system_update_column_family_argsStandardSchemeFactory implements SchemeFactory { + public system_update_column_family_argsStandardScheme getScheme() { + return new system_update_column_family_argsStandardScheme(); + } + } + + private static class system_update_column_family_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_update_column_family_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // CF_DEF + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.cf_def = new CfDef(); + struct.cf_def.read(iprot); + struct.setCf_defIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_update_column_family_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.cf_def != null) { + oprot.writeFieldBegin(CF_DEF_FIELD_DESC); + struct.cf_def.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_update_column_family_argsTupleSchemeFactory implements SchemeFactory { + public system_update_column_family_argsTupleScheme getScheme() { + return new system_update_column_family_argsTupleScheme(); + } + } + + private static class system_update_column_family_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_update_column_family_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + struct.cf_def.write(oprot); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_update_column_family_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.cf_def = new CfDef(); + struct.cf_def.read(iprot); + struct.setCf_defIsSet(true); + } + } + } public static class system_update_column_family_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -35166,6 +40352,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); private static final org.apache.thrift.protocol.TField SDE_FIELD_DESC = new org.apache.thrift.protocol.TField("sde", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new system_update_column_family_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new system_update_column_family_resultTupleSchemeFactory()); + } + public String success; // required public InvalidRequestException ire; // required public SchemaDisagreementException sde; // required @@ -35235,7 +40427,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -35533,68 +40724,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.success = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // SDE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.sde = new SchemaDisagreementException(); - this.sde.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - oprot.writeString(this.success); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetSde()) { - oprot.writeFieldBegin(SDE_FIELD_DESC); - this.sde.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -35630,6 +40765,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -35648,6 +40784,140 @@ public class Cassandra { } } + private static class system_update_column_family_resultStandardSchemeFactory implements SchemeFactory { + public system_update_column_family_resultStandardScheme getScheme() { + return new system_update_column_family_resultStandardScheme(); + } + } + + private static class system_update_column_family_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, system_update_column_family_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SDE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, system_update_column_family_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeString(struct.success); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.sde != null) { + oprot.writeFieldBegin(SDE_FIELD_DESC); + struct.sde.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class system_update_column_family_resultTupleSchemeFactory implements SchemeFactory { + public system_update_column_family_resultTupleScheme getScheme() { + return new system_update_column_family_resultTupleScheme(); + } + } + + private static class system_update_column_family_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, system_update_column_family_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetSde()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + oprot.writeString(struct.success); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetSde()) { + struct.sde.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, system_update_column_family_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.success = iprot.readString(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } + } + } + } public static class execute_cql_query_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -35656,6 +40926,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField QUERY_FIELD_DESC = new org.apache.thrift.protocol.TField("query", org.apache.thrift.protocol.TType.STRING, (short)1); private static final org.apache.thrift.protocol.TField COMPRESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("compression", org.apache.thrift.protocol.TType.I32, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new execute_cql_query_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new execute_cql_query_argsTupleSchemeFactory()); + } + public ByteBuffer query; // required /** * @@ -35729,7 +41005,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -35977,56 +41252,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // QUERY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.query = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COMPRESSION - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.compression = Compression.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.query != null) { - oprot.writeFieldBegin(QUERY_FIELD_DESC); - oprot.writeBinary(this.query); - oprot.writeFieldEnd(); - } - if (this.compression != null) { - oprot.writeFieldBegin(COMPRESSION_FIELD_DESC); - oprot.writeI32(this.compression.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -36061,6 +41291,7 @@ public class Cassandra { if (compression == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'compression' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -36079,6 +41310,96 @@ public class Cassandra { } } + private static class execute_cql_query_argsStandardSchemeFactory implements SchemeFactory { + public execute_cql_query_argsStandardScheme getScheme() { + return new execute_cql_query_argsStandardScheme(); + } + } + + private static class execute_cql_query_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, execute_cql_query_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // QUERY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.query = iprot.readBinary(); + struct.setQueryIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COMPRESSION + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.compression = Compression.findByValue(iprot.readI32()); + struct.setCompressionIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, execute_cql_query_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.query != null) { + oprot.writeFieldBegin(QUERY_FIELD_DESC); + oprot.writeBinary(struct.query); + oprot.writeFieldEnd(); + } + if (struct.compression != null) { + oprot.writeFieldBegin(COMPRESSION_FIELD_DESC); + oprot.writeI32(struct.compression.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class execute_cql_query_argsTupleSchemeFactory implements SchemeFactory { + public execute_cql_query_argsTupleScheme getScheme() { + return new execute_cql_query_argsTupleScheme(); + } + } + + private static class execute_cql_query_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, execute_cql_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.query); + oprot.writeI32(struct.compression.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, execute_cql_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.query = iprot.readBinary(); + struct.setQueryIsSet(true); + struct.compression = Compression.findByValue(iprot.readI32()); + struct.setCompressionIsSet(true); + } + } + } public static class execute_cql_query_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -36090,6 +41411,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField SDE_FIELD_DESC = new org.apache.thrift.protocol.TField("sde", org.apache.thrift.protocol.TType.STRUCT, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new execute_cql_query_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new execute_cql_query_resultTupleSchemeFactory()); + } + public CqlResult success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -36167,7 +41494,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -36603,93 +41929,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.success = new CqlResult(); - this.success.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // SDE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.sde = new SchemaDisagreementException(); - this.sde.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - this.success.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetSde()) { - oprot.writeFieldBegin(SDE_FIELD_DESC); - this.sde.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -36741,6 +41986,10 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -36759,6 +42008,192 @@ public class Cassandra { } } + private static class execute_cql_query_resultStandardSchemeFactory implements SchemeFactory { + public execute_cql_query_resultStandardScheme getScheme() { + return new execute_cql_query_resultStandardScheme(); + } + } + + private static class execute_cql_query_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, execute_cql_query_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new CqlResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // SDE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, execute_cql_query_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.sde != null) { + oprot.writeFieldBegin(SDE_FIELD_DESC); + struct.sde.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class execute_cql_query_resultTupleSchemeFactory implements SchemeFactory { + public execute_cql_query_resultTupleScheme getScheme() { + return new execute_cql_query_resultTupleScheme(); + } + } + + private static class execute_cql_query_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, execute_cql_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + if (struct.isSetSde()) { + optionals.set(4); + } + oprot.writeBitSet(optionals, 5); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + if (struct.isSetSde()) { + struct.sde.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, execute_cql_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(5); + if (incoming.get(0)) { + struct.success = new CqlResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + if (incoming.get(4)) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } + } + } + } public static class execute_cql3_query_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -36768,6 +42203,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField COMPRESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("compression", org.apache.thrift.protocol.TType.I32, (short)2); private static final org.apache.thrift.protocol.TField CONSISTENCY_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency", org.apache.thrift.protocol.TType.I32, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new execute_cql3_query_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new execute_cql3_query_argsTupleSchemeFactory()); + } + public ByteBuffer query; // required /** * @@ -36853,7 +42294,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -37178,68 +42618,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // QUERY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.query = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COMPRESSION - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.compression = Compression.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // CONSISTENCY - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.query != null) { - oprot.writeFieldBegin(QUERY_FIELD_DESC); - oprot.writeBinary(this.query); - oprot.writeFieldEnd(); - } - if (this.compression != null) { - oprot.writeFieldBegin(COMPRESSION_FIELD_DESC); - oprot.writeI32(this.compression.getValue()); - oprot.writeFieldEnd(); - } - if (this.consistency != null) { - oprot.writeFieldBegin(CONSISTENCY_FIELD_DESC); - oprot.writeI32(this.consistency.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -37285,6 +42668,7 @@ public class Cassandra { if (consistency == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -37303,6 +42687,112 @@ public class Cassandra { } } + private static class execute_cql3_query_argsStandardSchemeFactory implements SchemeFactory { + public execute_cql3_query_argsStandardScheme getScheme() { + return new execute_cql3_query_argsStandardScheme(); + } + } + + private static class execute_cql3_query_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, execute_cql3_query_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // QUERY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.query = iprot.readBinary(); + struct.setQueryIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COMPRESSION + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.compression = Compression.findByValue(iprot.readI32()); + struct.setCompressionIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // CONSISTENCY + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistencyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, execute_cql3_query_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.query != null) { + oprot.writeFieldBegin(QUERY_FIELD_DESC); + oprot.writeBinary(struct.query); + oprot.writeFieldEnd(); + } + if (struct.compression != null) { + oprot.writeFieldBegin(COMPRESSION_FIELD_DESC); + oprot.writeI32(struct.compression.getValue()); + oprot.writeFieldEnd(); + } + if (struct.consistency != null) { + oprot.writeFieldBegin(CONSISTENCY_FIELD_DESC); + oprot.writeI32(struct.consistency.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class execute_cql3_query_argsTupleSchemeFactory implements SchemeFactory { + public execute_cql3_query_argsTupleScheme getScheme() { + return new execute_cql3_query_argsTupleScheme(); + } + } + + private static class execute_cql3_query_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, execute_cql3_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.query); + oprot.writeI32(struct.compression.getValue()); + oprot.writeI32(struct.consistency.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, execute_cql3_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.query = iprot.readBinary(); + struct.setQueryIsSet(true); + struct.compression = Compression.findByValue(iprot.readI32()); + struct.setCompressionIsSet(true); + struct.consistency = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistencyIsSet(true); + } + } + } public static class execute_cql3_query_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -37314,6 +42804,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField SDE_FIELD_DESC = new org.apache.thrift.protocol.TField("sde", org.apache.thrift.protocol.TType.STRUCT, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new execute_cql3_query_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new execute_cql3_query_resultTupleSchemeFactory()); + } + public CqlResult success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -37391,7 +42887,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -37827,93 +43322,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.success = new CqlResult(); - this.success.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // SDE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.sde = new SchemaDisagreementException(); - this.sde.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - this.success.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetSde()) { - oprot.writeFieldBegin(SDE_FIELD_DESC); - this.sde.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -37965,6 +43379,10 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -37983,6 +43401,192 @@ public class Cassandra { } } + private static class execute_cql3_query_resultStandardSchemeFactory implements SchemeFactory { + public execute_cql3_query_resultStandardScheme getScheme() { + return new execute_cql3_query_resultStandardScheme(); + } + } + + private static class execute_cql3_query_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, execute_cql3_query_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new CqlResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // SDE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, execute_cql3_query_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.sde != null) { + oprot.writeFieldBegin(SDE_FIELD_DESC); + struct.sde.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class execute_cql3_query_resultTupleSchemeFactory implements SchemeFactory { + public execute_cql3_query_resultTupleScheme getScheme() { + return new execute_cql3_query_resultTupleScheme(); + } + } + + private static class execute_cql3_query_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, execute_cql3_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + if (struct.isSetSde()) { + optionals.set(4); + } + oprot.writeBitSet(optionals, 5); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + if (struct.isSetSde()) { + struct.sde.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, execute_cql3_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(5); + if (incoming.get(0)) { + struct.success = new CqlResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + if (incoming.get(4)) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } + } + } + } public static class prepare_cql_query_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -37991,6 +43595,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField QUERY_FIELD_DESC = new org.apache.thrift.protocol.TField("query", org.apache.thrift.protocol.TType.STRING, (short)1); private static final org.apache.thrift.protocol.TField COMPRESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("compression", org.apache.thrift.protocol.TType.I32, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new prepare_cql_query_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new prepare_cql_query_argsTupleSchemeFactory()); + } + public ByteBuffer query; // required /** * @@ -38064,7 +43674,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -38312,56 +43921,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // QUERY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.query = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COMPRESSION - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.compression = Compression.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.query != null) { - oprot.writeFieldBegin(QUERY_FIELD_DESC); - oprot.writeBinary(this.query); - oprot.writeFieldEnd(); - } - if (this.compression != null) { - oprot.writeFieldBegin(COMPRESSION_FIELD_DESC); - oprot.writeI32(this.compression.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -38396,6 +43960,7 @@ public class Cassandra { if (compression == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'compression' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -38414,6 +43979,96 @@ public class Cassandra { } } + private static class prepare_cql_query_argsStandardSchemeFactory implements SchemeFactory { + public prepare_cql_query_argsStandardScheme getScheme() { + return new prepare_cql_query_argsStandardScheme(); + } + } + + private static class prepare_cql_query_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, prepare_cql_query_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // QUERY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.query = iprot.readBinary(); + struct.setQueryIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COMPRESSION + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.compression = Compression.findByValue(iprot.readI32()); + struct.setCompressionIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, prepare_cql_query_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.query != null) { + oprot.writeFieldBegin(QUERY_FIELD_DESC); + oprot.writeBinary(struct.query); + oprot.writeFieldEnd(); + } + if (struct.compression != null) { + oprot.writeFieldBegin(COMPRESSION_FIELD_DESC); + oprot.writeI32(struct.compression.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class prepare_cql_query_argsTupleSchemeFactory implements SchemeFactory { + public prepare_cql_query_argsTupleScheme getScheme() { + return new prepare_cql_query_argsTupleScheme(); + } + } + + private static class prepare_cql_query_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, prepare_cql_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.query); + oprot.writeI32(struct.compression.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, prepare_cql_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.query = iprot.readBinary(); + struct.setQueryIsSet(true); + struct.compression = Compression.findByValue(iprot.readI32()); + struct.setCompressionIsSet(true); + } + } + } public static class prepare_cql_query_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -38422,6 +44077,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0); private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new prepare_cql_query_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new prepare_cql_query_resultTupleSchemeFactory()); + } + public CqlPreparedResult success; // required public InvalidRequestException ire; // required @@ -38487,7 +44148,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -38716,57 +44376,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.success = new CqlPreparedResult(); - this.success.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - this.success.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -38794,6 +44409,10 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -38812,6 +44431,117 @@ public class Cassandra { } } + private static class prepare_cql_query_resultStandardSchemeFactory implements SchemeFactory { + public prepare_cql_query_resultStandardScheme getScheme() { + return new prepare_cql_query_resultStandardScheme(); + } + } + + private static class prepare_cql_query_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, prepare_cql_query_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new CqlPreparedResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, prepare_cql_query_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class prepare_cql_query_resultTupleSchemeFactory implements SchemeFactory { + public prepare_cql_query_resultTupleScheme getScheme() { + return new prepare_cql_query_resultTupleScheme(); + } + } + + private static class prepare_cql_query_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, prepare_cql_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, prepare_cql_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.success = new CqlPreparedResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } public static class prepare_cql3_query_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -38820,6 +44550,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField QUERY_FIELD_DESC = new org.apache.thrift.protocol.TField("query", org.apache.thrift.protocol.TType.STRING, (short)1); private static final org.apache.thrift.protocol.TField COMPRESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("compression", org.apache.thrift.protocol.TType.I32, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new prepare_cql3_query_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new prepare_cql3_query_argsTupleSchemeFactory()); + } + public ByteBuffer query; // required /** * @@ -38893,7 +44629,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -39141,56 +44876,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // QUERY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.query = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COMPRESSION - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.compression = Compression.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.query != null) { - oprot.writeFieldBegin(QUERY_FIELD_DESC); - oprot.writeBinary(this.query); - oprot.writeFieldEnd(); - } - if (this.compression != null) { - oprot.writeFieldBegin(COMPRESSION_FIELD_DESC); - oprot.writeI32(this.compression.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -39225,6 +44915,7 @@ public class Cassandra { if (compression == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'compression' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -39243,6 +44934,96 @@ public class Cassandra { } } + private static class prepare_cql3_query_argsStandardSchemeFactory implements SchemeFactory { + public prepare_cql3_query_argsStandardScheme getScheme() { + return new prepare_cql3_query_argsStandardScheme(); + } + } + + private static class prepare_cql3_query_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, prepare_cql3_query_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // QUERY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.query = iprot.readBinary(); + struct.setQueryIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COMPRESSION + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.compression = Compression.findByValue(iprot.readI32()); + struct.setCompressionIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, prepare_cql3_query_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.query != null) { + oprot.writeFieldBegin(QUERY_FIELD_DESC); + oprot.writeBinary(struct.query); + oprot.writeFieldEnd(); + } + if (struct.compression != null) { + oprot.writeFieldBegin(COMPRESSION_FIELD_DESC); + oprot.writeI32(struct.compression.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class prepare_cql3_query_argsTupleSchemeFactory implements SchemeFactory { + public prepare_cql3_query_argsTupleScheme getScheme() { + return new prepare_cql3_query_argsTupleScheme(); + } + } + + private static class prepare_cql3_query_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, prepare_cql3_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.query); + oprot.writeI32(struct.compression.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, prepare_cql3_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.query = iprot.readBinary(); + struct.setQueryIsSet(true); + struct.compression = Compression.findByValue(iprot.readI32()); + struct.setCompressionIsSet(true); + } + } + } public static class prepare_cql3_query_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -39251,6 +45032,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0); private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new prepare_cql3_query_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new prepare_cql3_query_resultTupleSchemeFactory()); + } + public CqlPreparedResult success; // required public InvalidRequestException ire; // required @@ -39316,7 +45103,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -39545,57 +45331,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.success = new CqlPreparedResult(); - this.success.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - this.success.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -39623,6 +45364,10 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -39641,6 +45386,117 @@ public class Cassandra { } } + private static class prepare_cql3_query_resultStandardSchemeFactory implements SchemeFactory { + public prepare_cql3_query_resultStandardScheme getScheme() { + return new prepare_cql3_query_resultStandardScheme(); + } + } + + private static class prepare_cql3_query_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, prepare_cql3_query_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new CqlPreparedResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, prepare_cql3_query_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class prepare_cql3_query_resultTupleSchemeFactory implements SchemeFactory { + public prepare_cql3_query_resultTupleScheme getScheme() { + return new prepare_cql3_query_resultTupleScheme(); + } + } + + private static class prepare_cql3_query_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, prepare_cql3_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, prepare_cql3_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.success = new CqlPreparedResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } public static class execute_prepared_cql_query_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -39649,6 +45505,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField ITEM_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("itemId", org.apache.thrift.protocol.TType.I32, (short)1); private static final org.apache.thrift.protocol.TField VALUES_FIELD_DESC = new org.apache.thrift.protocol.TField("values", org.apache.thrift.protocol.TType.LIST, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new execute_prepared_cql_query_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new execute_prepared_cql_query_argsTupleSchemeFactory()); + } + public int itemId; // required public List values; // required @@ -39715,8 +45577,7 @@ public class Cassandra { // isset id assignments private static final int __ITEMID_ISSET_ID = 0; - private BitSet __isset_bit_vector = new BitSet(1); - + private byte __isset_bitfield = 0; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -39746,8 +45607,7 @@ public class Cassandra { * Performs a deep copy on other. */ public execute_prepared_cql_query_args(execute_prepared_cql_query_args other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; this.itemId = other.itemId; if (other.isSetValues()) { List __this__values = new ArrayList(); @@ -39782,16 +45642,16 @@ public class Cassandra { } public void unsetItemId() { - __isset_bit_vector.clear(__ITEMID_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ITEMID_ISSET_ID); } /** Returns true if field itemId is set (has been assigned a value) and false otherwise */ public boolean isSetItemId() { - return __isset_bit_vector.get(__ITEMID_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __ITEMID_ISSET_ID); } public void setItemIdIsSet(boolean value) { - __isset_bit_vector.set(__ITEMID_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ITEMID_ISSET_ID, value); } public int getValuesSize() { @@ -39968,75 +45828,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // ITEM_ID - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.itemId = iprot.readI32(); - setItemIdIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // VALUES - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list191 = iprot.readListBegin(); - this.values = new ArrayList(_list191.size); - for (int _i192 = 0; _i192 < _list191.size; ++_i192) - { - ByteBuffer _elem193; // required - _elem193 = iprot.readBinary(); - this.values.add(_elem193); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - if (!isSetItemId()) { - throw new org.apache.thrift.protocol.TProtocolException("Required field 'itemId' was not found in serialized data! Struct: " + toString()); - } - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldBegin(ITEM_ID_FIELD_DESC); - oprot.writeI32(this.itemId); - oprot.writeFieldEnd(); - if (this.values != null) { - oprot.writeFieldBegin(VALUES_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.values.size())); - for (ByteBuffer _iter194 : this.values) - { - oprot.writeBinary(_iter194); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -40065,6 +45861,7 @@ public class Cassandra { if (values == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'values' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -40077,12 +45874,137 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); } } + private static class execute_prepared_cql_query_argsStandardSchemeFactory implements SchemeFactory { + public execute_prepared_cql_query_argsStandardScheme getScheme() { + return new execute_prepared_cql_query_argsStandardScheme(); + } + } + + private static class execute_prepared_cql_query_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, execute_prepared_cql_query_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // ITEM_ID + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.itemId = iprot.readI32(); + struct.setItemIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // VALUES + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list382 = iprot.readListBegin(); + struct.values = new ArrayList(_list382.size); + for (int _i383 = 0; _i383 < _list382.size; ++_i383) + { + ByteBuffer _elem384; // required + _elem384 = iprot.readBinary(); + struct.values.add(_elem384); + } + iprot.readListEnd(); + } + struct.setValuesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetItemId()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'itemId' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, execute_prepared_cql_query_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(ITEM_ID_FIELD_DESC); + oprot.writeI32(struct.itemId); + oprot.writeFieldEnd(); + if (struct.values != null) { + oprot.writeFieldBegin(VALUES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.values.size())); + for (ByteBuffer _iter385 : struct.values) + { + oprot.writeBinary(_iter385); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class execute_prepared_cql_query_argsTupleSchemeFactory implements SchemeFactory { + public execute_prepared_cql_query_argsTupleScheme getScheme() { + return new execute_prepared_cql_query_argsTupleScheme(); + } + } + + private static class execute_prepared_cql_query_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, execute_prepared_cql_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeI32(struct.itemId); + { + oprot.writeI32(struct.values.size()); + for (ByteBuffer _iter386 : struct.values) + { + oprot.writeBinary(_iter386); + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, execute_prepared_cql_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.itemId = iprot.readI32(); + struct.setItemIdIsSet(true); + { + org.apache.thrift.protocol.TList _list387 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.values = new ArrayList(_list387.size); + for (int _i388 = 0; _i388 < _list387.size; ++_i388) + { + ByteBuffer _elem389; // required + _elem389 = iprot.readBinary(); + struct.values.add(_elem389); + } + } + struct.setValuesIsSet(true); + } + } + } public static class execute_prepared_cql_query_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -40094,6 +46016,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField SDE_FIELD_DESC = new org.apache.thrift.protocol.TField("sde", org.apache.thrift.protocol.TType.STRUCT, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new execute_prepared_cql_query_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new execute_prepared_cql_query_resultTupleSchemeFactory()); + } + public CqlResult success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -40171,7 +46099,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -40607,93 +46534,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.success = new CqlResult(); - this.success.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // SDE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.sde = new SchemaDisagreementException(); - this.sde.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - this.success.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetSde()) { - oprot.writeFieldBegin(SDE_FIELD_DESC); - this.sde.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -40745,6 +46591,10 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -40763,6 +46613,192 @@ public class Cassandra { } } + private static class execute_prepared_cql_query_resultStandardSchemeFactory implements SchemeFactory { + public execute_prepared_cql_query_resultStandardScheme getScheme() { + return new execute_prepared_cql_query_resultStandardScheme(); + } + } + + private static class execute_prepared_cql_query_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, execute_prepared_cql_query_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new CqlResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // SDE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, execute_prepared_cql_query_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.sde != null) { + oprot.writeFieldBegin(SDE_FIELD_DESC); + struct.sde.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class execute_prepared_cql_query_resultTupleSchemeFactory implements SchemeFactory { + public execute_prepared_cql_query_resultTupleScheme getScheme() { + return new execute_prepared_cql_query_resultTupleScheme(); + } + } + + private static class execute_prepared_cql_query_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, execute_prepared_cql_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + if (struct.isSetSde()) { + optionals.set(4); + } + oprot.writeBitSet(optionals, 5); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + if (struct.isSetSde()) { + struct.sde.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, execute_prepared_cql_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(5); + if (incoming.get(0)) { + struct.success = new CqlResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + if (incoming.get(4)) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } + } + } + } public static class execute_prepared_cql3_query_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -40772,6 +46808,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField VALUES_FIELD_DESC = new org.apache.thrift.protocol.TField("values", org.apache.thrift.protocol.TType.LIST, (short)2); private static final org.apache.thrift.protocol.TField CONSISTENCY_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency", org.apache.thrift.protocol.TType.I32, (short)3); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new execute_prepared_cql3_query_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new execute_prepared_cql3_query_argsTupleSchemeFactory()); + } + public int itemId; // required public List values; // required /** @@ -40850,8 +46892,7 @@ public class Cassandra { // isset id assignments private static final int __ITEMID_ISSET_ID = 0; - private BitSet __isset_bit_vector = new BitSet(1); - + private byte __isset_bitfield = 0; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -40885,8 +46926,7 @@ public class Cassandra { * Performs a deep copy on other. */ public execute_prepared_cql3_query_args(execute_prepared_cql3_query_args other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; this.itemId = other.itemId; if (other.isSetValues()) { List __this__values = new ArrayList(); @@ -40925,16 +46965,16 @@ public class Cassandra { } public void unsetItemId() { - __isset_bit_vector.clear(__ITEMID_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ITEMID_ISSET_ID); } /** Returns true if field itemId is set (has been assigned a value) and false otherwise */ public boolean isSetItemId() { - return __isset_bit_vector.get(__ITEMID_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __ITEMID_ISSET_ID); } public void setItemIdIsSet(boolean value) { - __isset_bit_vector.set(__ITEMID_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ITEMID_ISSET_ID, value); } public int getValuesSize() { @@ -41180,87 +47220,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // ITEM_ID - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.itemId = iprot.readI32(); - setItemIdIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // VALUES - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list195 = iprot.readListBegin(); - this.values = new ArrayList(_list195.size); - for (int _i196 = 0; _i196 < _list195.size; ++_i196) - { - ByteBuffer _elem197; // required - _elem197 = iprot.readBinary(); - this.values.add(_elem197); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // CONSISTENCY - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.consistency = ConsistencyLevel.findByValue(iprot.readI32()); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - if (!isSetItemId()) { - throw new org.apache.thrift.protocol.TProtocolException("Required field 'itemId' was not found in serialized data! Struct: " + toString()); - } - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldBegin(ITEM_ID_FIELD_DESC); - oprot.writeI32(this.itemId); - oprot.writeFieldEnd(); - if (this.values != null) { - oprot.writeFieldBegin(VALUES_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.values.size())); - for (ByteBuffer _iter198 : this.values) - { - oprot.writeBinary(_iter198); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - if (this.consistency != null) { - oprot.writeFieldBegin(CONSISTENCY_FIELD_DESC); - oprot.writeI32(this.consistency.getValue()); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -41300,6 +47264,7 @@ public class Cassandra { if (consistency == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'consistency' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -41313,13 +47278,152 @@ public class Cassandra { private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. - __isset_bit_vector = new BitSet(1); + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); } } + private static class execute_prepared_cql3_query_argsStandardSchemeFactory implements SchemeFactory { + public execute_prepared_cql3_query_argsStandardScheme getScheme() { + return new execute_prepared_cql3_query_argsStandardScheme(); + } + } + + private static class execute_prepared_cql3_query_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, execute_prepared_cql3_query_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // ITEM_ID + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.itemId = iprot.readI32(); + struct.setItemIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // VALUES + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list390 = iprot.readListBegin(); + struct.values = new ArrayList(_list390.size); + for (int _i391 = 0; _i391 < _list390.size; ++_i391) + { + ByteBuffer _elem392; // required + _elem392 = iprot.readBinary(); + struct.values.add(_elem392); + } + iprot.readListEnd(); + } + struct.setValuesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // CONSISTENCY + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.consistency = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistencyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetItemId()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'itemId' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, execute_prepared_cql3_query_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(ITEM_ID_FIELD_DESC); + oprot.writeI32(struct.itemId); + oprot.writeFieldEnd(); + if (struct.values != null) { + oprot.writeFieldBegin(VALUES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.values.size())); + for (ByteBuffer _iter393 : struct.values) + { + oprot.writeBinary(_iter393); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.consistency != null) { + oprot.writeFieldBegin(CONSISTENCY_FIELD_DESC); + oprot.writeI32(struct.consistency.getValue()); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class execute_prepared_cql3_query_argsTupleSchemeFactory implements SchemeFactory { + public execute_prepared_cql3_query_argsTupleScheme getScheme() { + return new execute_prepared_cql3_query_argsTupleScheme(); + } + } + + private static class execute_prepared_cql3_query_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, execute_prepared_cql3_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeI32(struct.itemId); + { + oprot.writeI32(struct.values.size()); + for (ByteBuffer _iter394 : struct.values) + { + oprot.writeBinary(_iter394); + } + } + oprot.writeI32(struct.consistency.getValue()); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, execute_prepared_cql3_query_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.itemId = iprot.readI32(); + struct.setItemIdIsSet(true); + { + org.apache.thrift.protocol.TList _list395 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.values = new ArrayList(_list395.size); + for (int _i396 = 0; _i396 < _list395.size; ++_i396) + { + ByteBuffer _elem397; // required + _elem397 = iprot.readBinary(); + struct.values.add(_elem397); + } + } + struct.setValuesIsSet(true); + struct.consistency = ConsistencyLevel.findByValue(iprot.readI32()); + struct.setConsistencyIsSet(true); + } + } + } public static class execute_prepared_cql3_query_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -41331,6 +47435,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField TE_FIELD_DESC = new org.apache.thrift.protocol.TField("te", org.apache.thrift.protocol.TType.STRUCT, (short)3); private static final org.apache.thrift.protocol.TField SDE_FIELD_DESC = new org.apache.thrift.protocol.TField("sde", org.apache.thrift.protocol.TType.STRUCT, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new execute_prepared_cql3_query_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new execute_prepared_cql3_query_resultTupleSchemeFactory()); + } + public CqlResult success; // required public InvalidRequestException ire; // required public UnavailableException ue; // required @@ -41408,7 +47518,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -41844,93 +47953,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 0: // SUCCESS - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.success = new CqlResult(); - this.success.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // UE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ue = new UnavailableException(); - this.ue.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.te = new TimedOutException(); - this.te.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // SDE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.sde = new SchemaDisagreementException(); - this.sde.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetSuccess()) { - oprot.writeFieldBegin(SUCCESS_FIELD_DESC); - this.success.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetUe()) { - oprot.writeFieldBegin(UE_FIELD_DESC); - this.ue.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetTe()) { - oprot.writeFieldBegin(TE_FIELD_DESC); - this.te.write(oprot); - oprot.writeFieldEnd(); - } else if (this.isSetSde()) { - oprot.writeFieldBegin(SDE_FIELD_DESC); - this.sde.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -41982,6 +48010,10 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -42000,6 +48032,192 @@ public class Cassandra { } } + private static class execute_prepared_cql3_query_resultStandardSchemeFactory implements SchemeFactory { + public execute_prepared_cql3_query_resultStandardScheme getScheme() { + return new execute_prepared_cql3_query_resultStandardScheme(); + } + } + + private static class execute_prepared_cql3_query_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, execute_prepared_cql3_query_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new CqlResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // UE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // SDE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, execute_prepared_cql3_query_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.ue != null) { + oprot.writeFieldBegin(UE_FIELD_DESC); + struct.ue.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.te != null) { + oprot.writeFieldBegin(TE_FIELD_DESC); + struct.te.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.sde != null) { + oprot.writeFieldBegin(SDE_FIELD_DESC); + struct.sde.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class execute_prepared_cql3_query_resultTupleSchemeFactory implements SchemeFactory { + public execute_prepared_cql3_query_resultTupleScheme getScheme() { + return new execute_prepared_cql3_query_resultTupleScheme(); + } + } + + private static class execute_prepared_cql3_query_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, execute_prepared_cql3_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetIre()) { + optionals.set(1); + } + if (struct.isSetUe()) { + optionals.set(2); + } + if (struct.isSetTe()) { + optionals.set(3); + } + if (struct.isSetSde()) { + optionals.set(4); + } + oprot.writeBitSet(optionals, 5); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + if (struct.isSetUe()) { + struct.ue.write(oprot); + } + if (struct.isSetTe()) { + struct.te.write(oprot); + } + if (struct.isSetSde()) { + struct.sde.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, execute_prepared_cql3_query_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(5); + if (incoming.get(0)) { + struct.success = new CqlResult(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + if (incoming.get(2)) { + struct.ue = new UnavailableException(); + struct.ue.read(iprot); + struct.setUeIsSet(true); + } + if (incoming.get(3)) { + struct.te = new TimedOutException(); + struct.te.read(iprot); + struct.setTeIsSet(true); + } + if (incoming.get(4)) { + struct.sde = new SchemaDisagreementException(); + struct.sde.read(iprot); + struct.setSdeIsSet(true); + } + } + } + } public static class set_cql_version_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -42007,6 +48225,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("version", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new set_cql_version_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new set_cql_version_argsTupleSchemeFactory()); + } + public String version; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -42068,7 +48292,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -42228,44 +48451,11 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // VERSION - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.version = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.version != null) { - oprot.writeFieldBegin(VERSION_FIELD_DESC); - oprot.writeString(this.version); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -42289,6 +48479,7 @@ public class Cassandra { if (version == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'version' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -42307,6 +48498,80 @@ public class Cassandra { } } + private static class set_cql_version_argsStandardSchemeFactory implements SchemeFactory { + public set_cql_version_argsStandardScheme getScheme() { + return new set_cql_version_argsStandardScheme(); + } + } + + private static class set_cql_version_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, set_cql_version_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // VERSION + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.version = iprot.readString(); + struct.setVersionIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, set_cql_version_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.version != null) { + oprot.writeFieldBegin(VERSION_FIELD_DESC); + oprot.writeString(struct.version); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class set_cql_version_argsTupleSchemeFactory implements SchemeFactory { + public set_cql_version_argsTupleScheme getScheme() { + return new set_cql_version_argsTupleScheme(); + } + } + + private static class set_cql_version_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, set_cql_version_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.version); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, set_cql_version_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.version = iprot.readString(); + struct.setVersionIsSet(true); + } + } + } public static class set_cql_version_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { @@ -42314,6 +48579,12 @@ public class Cassandra { private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new set_cql_version_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new set_cql_version_resultTupleSchemeFactory()); + } + public InvalidRequestException ire; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -42375,7 +48646,6 @@ public class Cassandra { } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -42535,45 +48805,12 @@ public class Cassandra { } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // IRE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.ire = new InvalidRequestException(); - this.ire.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - oprot.writeStructBegin(STRUCT_DESC); - - if (this.isSetIre()) { - oprot.writeFieldBegin(IRE_FIELD_DESC); - this.ire.write(oprot); - oprot.writeFieldEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } @Override public String toString() { @@ -42593,6 +48830,7 @@ public class Cassandra { public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -42611,6 +48849,92 @@ public class Cassandra { } } + private static class set_cql_version_resultStandardSchemeFactory implements SchemeFactory { + public set_cql_version_resultStandardScheme getScheme() { + return new set_cql_version_resultStandardScheme(); + } + } + + private static class set_cql_version_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, set_cql_version_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // IRE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, set_cql_version_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.ire != null) { + oprot.writeFieldBegin(IRE_FIELD_DESC); + struct.ire.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class set_cql_version_resultTupleSchemeFactory implements SchemeFactory { + public set_cql_version_resultTupleScheme getScheme() { + return new set_cql_version_resultTupleScheme(); + } + } + + private static class set_cql_version_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, set_cql_version_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetIre()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetIre()) { + struct.ire.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, set_cql_version_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.ire = new InvalidRequestException(); + struct.ire.read(iprot); + struct.setIreIsSet(true); + } + } + } + } } 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 e2c32cc3a0..602e9df154 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -81,71 +91,77 @@ public class CfDef implements org.apache.thrift.TBase, jav private static final org.apache.thrift.protocol.TField ROW_CACHE_PROVIDER_FIELD_DESC = new org.apache.thrift.protocol.TField("row_cache_provider", org.apache.thrift.protocol.TType.STRING, (short)27); private static final org.apache.thrift.protocol.TField ROW_CACHE_KEYS_TO_SAVE_FIELD_DESC = new org.apache.thrift.protocol.TField("row_cache_keys_to_save", org.apache.thrift.protocol.TType.I32, (short)31); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new CfDefStandardSchemeFactory()); + schemes.put(TupleScheme.class, new CfDefTupleSchemeFactory()); + } + public String keyspace; // required public String name; // required - public String column_type; // required - public String comparator_type; // required - public String subcomparator_type; // required - public String comment; // required - public double read_repair_chance; // required - public List column_metadata; // required - public int gc_grace_seconds; // required - public String default_validation_class; // required - public int id; // required - public int min_compaction_threshold; // required - public int max_compaction_threshold; // required - public boolean replicate_on_write; // required - public String key_validation_class; // required - public ByteBuffer key_alias; // required - public String compaction_strategy; // required - public Map compaction_strategy_options; // required - public Map compression_options; // required - public double bloom_filter_fp_chance; // required - public String caching; // required - public double dclocal_read_repair_chance; // required - public int memtable_flush_period_in_ms; // required - public int default_time_to_live; // required - public int index_interval; // required + public String column_type; // optional + public String comparator_type; // optional + public String subcomparator_type; // optional + public String comment; // optional + public double read_repair_chance; // optional + public List column_metadata; // optional + public int gc_grace_seconds; // optional + public String default_validation_class; // optional + public int id; // optional + public int min_compaction_threshold; // optional + public int max_compaction_threshold; // optional + public boolean replicate_on_write; // optional + public String key_validation_class; // optional + public ByteBuffer key_alias; // optional + public String compaction_strategy; // optional + public Map compaction_strategy_options; // optional + public Map compression_options; // optional + public double bloom_filter_fp_chance; // optional + public String caching; // optional + public double dclocal_read_repair_chance; // optional + public int memtable_flush_period_in_ms; // optional + public int default_time_to_live; // optional + public int index_interval; // optional /** * @deprecated */ - public double row_cache_size; // required + public double row_cache_size; // optional /** * @deprecated */ - public double key_cache_size; // required + public double key_cache_size; // optional /** * @deprecated */ - public int row_cache_save_period_in_seconds; // required + public int row_cache_save_period_in_seconds; // optional /** * @deprecated */ - public int key_cache_save_period_in_seconds; // required + public int key_cache_save_period_in_seconds; // optional /** * @deprecated */ - public int memtable_flush_after_mins; // required + public int memtable_flush_after_mins; // optional /** * @deprecated */ - public int memtable_throughput_in_mb; // required + public int memtable_throughput_in_mb; // optional /** * @deprecated */ - public double memtable_operations_in_millions; // required + public double memtable_operations_in_millions; // optional /** * @deprecated */ - public double merge_shards_chance; // required + public double merge_shards_chance; // optional /** * @deprecated */ - public String row_cache_provider; // required + public String row_cache_provider; // optional /** * @deprecated */ - public int row_cache_keys_to_save; // required + public int row_cache_keys_to_save; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -358,8 +374,8 @@ public class CfDef implements org.apache.thrift.TBase, jav private static final int __MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID = 17; private static final int __MERGE_SHARDS_CHANCE_ISSET_ID = 18; private static final int __ROW_CACHE_KEYS_TO_SAVE_ISSET_ID = 19; - private BitSet __isset_bit_vector = new BitSet(20); - + private int __isset_bitfield = 0; + private _Fields optionals[] = {_Fields.COLUMN_TYPE,_Fields.COMPARATOR_TYPE,_Fields.SUBCOMPARATOR_TYPE,_Fields.COMMENT,_Fields.READ_REPAIR_CHANCE,_Fields.COLUMN_METADATA,_Fields.GC_GRACE_SECONDS,_Fields.DEFAULT_VALIDATION_CLASS,_Fields.ID,_Fields.MIN_COMPACTION_THRESHOLD,_Fields.MAX_COMPACTION_THRESHOLD,_Fields.REPLICATE_ON_WRITE,_Fields.KEY_VALIDATION_CLASS,_Fields.KEY_ALIAS,_Fields.COMPACTION_STRATEGY,_Fields.COMPACTION_STRATEGY_OPTIONS,_Fields.COMPRESSION_OPTIONS,_Fields.BLOOM_FILTER_FP_CHANCE,_Fields.CACHING,_Fields.DCLOCAL_READ_REPAIR_CHANCE,_Fields.MEMTABLE_FLUSH_PERIOD_IN_MS,_Fields.DEFAULT_TIME_TO_LIVE,_Fields.INDEX_INTERVAL,_Fields.ROW_CACHE_SIZE,_Fields.KEY_CACHE_SIZE,_Fields.ROW_CACHE_SAVE_PERIOD_IN_SECONDS,_Fields.KEY_CACHE_SAVE_PERIOD_IN_SECONDS,_Fields.MEMTABLE_FLUSH_AFTER_MINS,_Fields.MEMTABLE_THROUGHPUT_IN_MB,_Fields.MEMTABLE_OPERATIONS_IN_MILLIONS,_Fields.MERGE_SHARDS_CHANCE,_Fields.ROW_CACHE_PROVIDER,_Fields.ROW_CACHE_KEYS_TO_SAVE}; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -466,8 +482,7 @@ public class CfDef implements org.apache.thrift.TBase, jav * Performs a deep copy on other. */ public CfDef(CfDef other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetKeyspace()) { this.keyspace = other.keyspace; } @@ -785,16 +800,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetRead_repair_chance() { - __isset_bit_vector.clear(__READ_REPAIR_CHANCE_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __READ_REPAIR_CHANCE_ISSET_ID); } /** Returns true if field read_repair_chance is set (has been assigned a value) and false otherwise */ public boolean isSetRead_repair_chance() { - return __isset_bit_vector.get(__READ_REPAIR_CHANCE_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __READ_REPAIR_CHANCE_ISSET_ID); } public void setRead_repair_chanceIsSet(boolean value) { - __isset_bit_vector.set(__READ_REPAIR_CHANCE_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __READ_REPAIR_CHANCE_ISSET_ID, value); } public int getColumn_metadataSize() { @@ -847,16 +862,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetGc_grace_seconds() { - __isset_bit_vector.clear(__GC_GRACE_SECONDS_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __GC_GRACE_SECONDS_ISSET_ID); } /** Returns true if field gc_grace_seconds is set (has been assigned a value) and false otherwise */ public boolean isSetGc_grace_seconds() { - return __isset_bit_vector.get(__GC_GRACE_SECONDS_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __GC_GRACE_SECONDS_ISSET_ID); } public void setGc_grace_secondsIsSet(boolean value) { - __isset_bit_vector.set(__GC_GRACE_SECONDS_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __GC_GRACE_SECONDS_ISSET_ID, value); } public String getDefault_validation_class() { @@ -894,16 +909,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetId() { - __isset_bit_vector.clear(__ID_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ID_ISSET_ID); } /** Returns true if field id is set (has been assigned a value) and false otherwise */ public boolean isSetId() { - return __isset_bit_vector.get(__ID_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __ID_ISSET_ID); } public void setIdIsSet(boolean value) { - __isset_bit_vector.set(__ID_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ID_ISSET_ID, value); } public int getMin_compaction_threshold() { @@ -917,16 +932,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetMin_compaction_threshold() { - __isset_bit_vector.clear(__MIN_COMPACTION_THRESHOLD_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MIN_COMPACTION_THRESHOLD_ISSET_ID); } /** Returns true if field min_compaction_threshold is set (has been assigned a value) and false otherwise */ public boolean isSetMin_compaction_threshold() { - return __isset_bit_vector.get(__MIN_COMPACTION_THRESHOLD_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __MIN_COMPACTION_THRESHOLD_ISSET_ID); } public void setMin_compaction_thresholdIsSet(boolean value) { - __isset_bit_vector.set(__MIN_COMPACTION_THRESHOLD_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MIN_COMPACTION_THRESHOLD_ISSET_ID, value); } public int getMax_compaction_threshold() { @@ -940,16 +955,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetMax_compaction_threshold() { - __isset_bit_vector.clear(__MAX_COMPACTION_THRESHOLD_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAX_COMPACTION_THRESHOLD_ISSET_ID); } /** Returns true if field max_compaction_threshold is set (has been assigned a value) and false otherwise */ public boolean isSetMax_compaction_threshold() { - return __isset_bit_vector.get(__MAX_COMPACTION_THRESHOLD_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __MAX_COMPACTION_THRESHOLD_ISSET_ID); } public void setMax_compaction_thresholdIsSet(boolean value) { - __isset_bit_vector.set(__MAX_COMPACTION_THRESHOLD_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAX_COMPACTION_THRESHOLD_ISSET_ID, value); } public boolean isReplicate_on_write() { @@ -963,16 +978,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetReplicate_on_write() { - __isset_bit_vector.clear(__REPLICATE_ON_WRITE_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __REPLICATE_ON_WRITE_ISSET_ID); } /** Returns true if field replicate_on_write is set (has been assigned a value) and false otherwise */ public boolean isSetReplicate_on_write() { - return __isset_bit_vector.get(__REPLICATE_ON_WRITE_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __REPLICATE_ON_WRITE_ISSET_ID); } public void setReplicate_on_writeIsSet(boolean value) { - __isset_bit_vector.set(__REPLICATE_ON_WRITE_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REPLICATE_ON_WRITE_ISSET_ID, value); } public String getKey_validation_class() { @@ -1138,16 +1153,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetBloom_filter_fp_chance() { - __isset_bit_vector.clear(__BLOOM_FILTER_FP_CHANCE_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOOM_FILTER_FP_CHANCE_ISSET_ID); } /** Returns true if field bloom_filter_fp_chance is set (has been assigned a value) and false otherwise */ public boolean isSetBloom_filter_fp_chance() { - return __isset_bit_vector.get(__BLOOM_FILTER_FP_CHANCE_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __BLOOM_FILTER_FP_CHANCE_ISSET_ID); } public void setBloom_filter_fp_chanceIsSet(boolean value) { - __isset_bit_vector.set(__BLOOM_FILTER_FP_CHANCE_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOOM_FILTER_FP_CHANCE_ISSET_ID, value); } public String getCaching() { @@ -1185,16 +1200,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetDclocal_read_repair_chance() { - __isset_bit_vector.clear(__DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID); } /** Returns true if field dclocal_read_repair_chance is set (has been assigned a value) and false otherwise */ public boolean isSetDclocal_read_repair_chance() { - return __isset_bit_vector.get(__DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID); } public void setDclocal_read_repair_chanceIsSet(boolean value) { - __isset_bit_vector.set(__DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DCLOCAL_READ_REPAIR_CHANCE_ISSET_ID, value); } public int getMemtable_flush_period_in_ms() { @@ -1208,16 +1223,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetMemtable_flush_period_in_ms() { - __isset_bit_vector.clear(__MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID); } /** Returns true if field memtable_flush_period_in_ms is set (has been assigned a value) and false otherwise */ public boolean isSetMemtable_flush_period_in_ms() { - return __isset_bit_vector.get(__MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID); } public void setMemtable_flush_period_in_msIsSet(boolean value) { - __isset_bit_vector.set(__MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MEMTABLE_FLUSH_PERIOD_IN_MS_ISSET_ID, value); } public int getDefault_time_to_live() { @@ -1231,16 +1246,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetDefault_time_to_live() { - __isset_bit_vector.clear(__DEFAULT_TIME_TO_LIVE_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULT_TIME_TO_LIVE_ISSET_ID); } /** Returns true if field default_time_to_live is set (has been assigned a value) and false otherwise */ public boolean isSetDefault_time_to_live() { - return __isset_bit_vector.get(__DEFAULT_TIME_TO_LIVE_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __DEFAULT_TIME_TO_LIVE_ISSET_ID); } public void setDefault_time_to_liveIsSet(boolean value) { - __isset_bit_vector.set(__DEFAULT_TIME_TO_LIVE_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULT_TIME_TO_LIVE_ISSET_ID, value); } public int getIndex_interval() { @@ -1254,16 +1269,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetIndex_interval() { - __isset_bit_vector.clear(__INDEX_INTERVAL_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __INDEX_INTERVAL_ISSET_ID); } /** Returns true if field index_interval is set (has been assigned a value) and false otherwise */ public boolean isSetIndex_interval() { - return __isset_bit_vector.get(__INDEX_INTERVAL_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __INDEX_INTERVAL_ISSET_ID); } public void setIndex_intervalIsSet(boolean value) { - __isset_bit_vector.set(__INDEX_INTERVAL_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __INDEX_INTERVAL_ISSET_ID, value); } /** @@ -1283,16 +1298,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetRow_cache_size() { - __isset_bit_vector.clear(__ROW_CACHE_SIZE_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ROW_CACHE_SIZE_ISSET_ID); } /** Returns true if field row_cache_size is set (has been assigned a value) and false otherwise */ public boolean isSetRow_cache_size() { - return __isset_bit_vector.get(__ROW_CACHE_SIZE_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __ROW_CACHE_SIZE_ISSET_ID); } public void setRow_cache_sizeIsSet(boolean value) { - __isset_bit_vector.set(__ROW_CACHE_SIZE_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ROW_CACHE_SIZE_ISSET_ID, value); } /** @@ -1312,16 +1327,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetKey_cache_size() { - __isset_bit_vector.clear(__KEY_CACHE_SIZE_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __KEY_CACHE_SIZE_ISSET_ID); } /** Returns true if field key_cache_size is set (has been assigned a value) and false otherwise */ public boolean isSetKey_cache_size() { - return __isset_bit_vector.get(__KEY_CACHE_SIZE_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __KEY_CACHE_SIZE_ISSET_ID); } public void setKey_cache_sizeIsSet(boolean value) { - __isset_bit_vector.set(__KEY_CACHE_SIZE_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __KEY_CACHE_SIZE_ISSET_ID, value); } /** @@ -1341,16 +1356,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetRow_cache_save_period_in_seconds() { - __isset_bit_vector.clear(__ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID); } /** Returns true if field row_cache_save_period_in_seconds is set (has been assigned a value) and false otherwise */ public boolean isSetRow_cache_save_period_in_seconds() { - return __isset_bit_vector.get(__ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID); } public void setRow_cache_save_period_in_secondsIsSet(boolean value) { - __isset_bit_vector.set(__ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ROW_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID, value); } /** @@ -1370,16 +1385,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetKey_cache_save_period_in_seconds() { - __isset_bit_vector.clear(__KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID); } /** Returns true if field key_cache_save_period_in_seconds is set (has been assigned a value) and false otherwise */ public boolean isSetKey_cache_save_period_in_seconds() { - return __isset_bit_vector.get(__KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID); } public void setKey_cache_save_period_in_secondsIsSet(boolean value) { - __isset_bit_vector.set(__KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __KEY_CACHE_SAVE_PERIOD_IN_SECONDS_ISSET_ID, value); } /** @@ -1399,16 +1414,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetMemtable_flush_after_mins() { - __isset_bit_vector.clear(__MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID); } /** Returns true if field memtable_flush_after_mins is set (has been assigned a value) and false otherwise */ public boolean isSetMemtable_flush_after_mins() { - return __isset_bit_vector.get(__MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID); } public void setMemtable_flush_after_minsIsSet(boolean value) { - __isset_bit_vector.set(__MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MEMTABLE_FLUSH_AFTER_MINS_ISSET_ID, value); } /** @@ -1428,16 +1443,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetMemtable_throughput_in_mb() { - __isset_bit_vector.clear(__MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID); } /** Returns true if field memtable_throughput_in_mb is set (has been assigned a value) and false otherwise */ public boolean isSetMemtable_throughput_in_mb() { - return __isset_bit_vector.get(__MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID); } public void setMemtable_throughput_in_mbIsSet(boolean value) { - __isset_bit_vector.set(__MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MEMTABLE_THROUGHPUT_IN_MB_ISSET_ID, value); } /** @@ -1457,16 +1472,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetMemtable_operations_in_millions() { - __isset_bit_vector.clear(__MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID); } /** Returns true if field memtable_operations_in_millions is set (has been assigned a value) and false otherwise */ public boolean isSetMemtable_operations_in_millions() { - return __isset_bit_vector.get(__MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID); } public void setMemtable_operations_in_millionsIsSet(boolean value) { - __isset_bit_vector.set(__MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MEMTABLE_OPERATIONS_IN_MILLIONS_ISSET_ID, value); } /** @@ -1486,16 +1501,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetMerge_shards_chance() { - __isset_bit_vector.clear(__MERGE_SHARDS_CHANCE_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MERGE_SHARDS_CHANCE_ISSET_ID); } /** Returns true if field merge_shards_chance is set (has been assigned a value) and false otherwise */ public boolean isSetMerge_shards_chance() { - return __isset_bit_vector.get(__MERGE_SHARDS_CHANCE_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __MERGE_SHARDS_CHANCE_ISSET_ID); } public void setMerge_shards_chanceIsSet(boolean value) { - __isset_bit_vector.set(__MERGE_SHARDS_CHANCE_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MERGE_SHARDS_CHANCE_ISSET_ID, value); } /** @@ -1545,16 +1560,16 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void unsetRow_cache_keys_to_save() { - __isset_bit_vector.clear(__ROW_CACHE_KEYS_TO_SAVE_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ROW_CACHE_KEYS_TO_SAVE_ISSET_ID); } /** Returns true if field row_cache_keys_to_save is set (has been assigned a value) and false otherwise */ public boolean isSetRow_cache_keys_to_save() { - return __isset_bit_vector.get(__ROW_CACHE_KEYS_TO_SAVE_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __ROW_CACHE_KEYS_TO_SAVE_ISSET_ID); } public void setRow_cache_keys_to_saveIsSet(boolean value) { - __isset_bit_vector.set(__ROW_CACHE_KEYS_TO_SAVE_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ROW_CACHE_KEYS_TO_SAVE_ISSET_ID, value); } public void setFieldValue(_Fields field, Object value) { @@ -2913,556 +2928,11 @@ public class CfDef implements org.apache.thrift.TBase, jav } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEYSPACE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.keyspace = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // NAME - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.name = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // COLUMN_TYPE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.column_type = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 5: // COMPARATOR_TYPE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.comparator_type = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 6: // SUBCOMPARATOR_TYPE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.subcomparator_type = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 8: // COMMENT - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.comment = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 12: // READ_REPAIR_CHANCE - if (field.type == org.apache.thrift.protocol.TType.DOUBLE) { - this.read_repair_chance = iprot.readDouble(); - setRead_repair_chanceIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 13: // COLUMN_METADATA - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list46 = iprot.readListBegin(); - this.column_metadata = new ArrayList(_list46.size); - for (int _i47 = 0; _i47 < _list46.size; ++_i47) - { - ColumnDef _elem48; // required - _elem48 = new ColumnDef(); - _elem48.read(iprot); - this.column_metadata.add(_elem48); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 14: // GC_GRACE_SECONDS - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.gc_grace_seconds = iprot.readI32(); - setGc_grace_secondsIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 15: // DEFAULT_VALIDATION_CLASS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.default_validation_class = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 16: // ID - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.id = iprot.readI32(); - setIdIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 17: // MIN_COMPACTION_THRESHOLD - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.min_compaction_threshold = iprot.readI32(); - setMin_compaction_thresholdIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 18: // MAX_COMPACTION_THRESHOLD - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.max_compaction_threshold = iprot.readI32(); - setMax_compaction_thresholdIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 24: // REPLICATE_ON_WRITE - if (field.type == org.apache.thrift.protocol.TType.BOOL) { - this.replicate_on_write = iprot.readBool(); - setReplicate_on_writeIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 26: // KEY_VALIDATION_CLASS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.key_validation_class = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 28: // KEY_ALIAS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.key_alias = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 29: // COMPACTION_STRATEGY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.compaction_strategy = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 30: // COMPACTION_STRATEGY_OPTIONS - if (field.type == org.apache.thrift.protocol.TType.MAP) { - { - org.apache.thrift.protocol.TMap _map49 = iprot.readMapBegin(); - this.compaction_strategy_options = new HashMap(2*_map49.size); - for (int _i50 = 0; _i50 < _map49.size; ++_i50) - { - String _key51; // required - String _val52; // required - _key51 = iprot.readString(); - _val52 = iprot.readString(); - this.compaction_strategy_options.put(_key51, _val52); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 32: // COMPRESSION_OPTIONS - if (field.type == org.apache.thrift.protocol.TType.MAP) { - { - org.apache.thrift.protocol.TMap _map53 = iprot.readMapBegin(); - this.compression_options = new HashMap(2*_map53.size); - for (int _i54 = 0; _i54 < _map53.size; ++_i54) - { - String _key55; // required - String _val56; // required - _key55 = iprot.readString(); - _val56 = iprot.readString(); - this.compression_options.put(_key55, _val56); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 33: // BLOOM_FILTER_FP_CHANCE - if (field.type == org.apache.thrift.protocol.TType.DOUBLE) { - this.bloom_filter_fp_chance = iprot.readDouble(); - setBloom_filter_fp_chanceIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 34: // CACHING - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.caching = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 37: // DCLOCAL_READ_REPAIR_CHANCE - if (field.type == org.apache.thrift.protocol.TType.DOUBLE) { - this.dclocal_read_repair_chance = iprot.readDouble(); - setDclocal_read_repair_chanceIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 38: // MEMTABLE_FLUSH_PERIOD_IN_MS - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.memtable_flush_period_in_ms = iprot.readI32(); - setMemtable_flush_period_in_msIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 39: // DEFAULT_TIME_TO_LIVE - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.default_time_to_live = iprot.readI32(); - setDefault_time_to_liveIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 40: // INDEX_INTERVAL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.index_interval = iprot.readI32(); - setIndex_intervalIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 9: // ROW_CACHE_SIZE - if (field.type == org.apache.thrift.protocol.TType.DOUBLE) { - this.row_cache_size = iprot.readDouble(); - setRow_cache_sizeIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 11: // KEY_CACHE_SIZE - if (field.type == org.apache.thrift.protocol.TType.DOUBLE) { - this.key_cache_size = iprot.readDouble(); - setKey_cache_sizeIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 19: // ROW_CACHE_SAVE_PERIOD_IN_SECONDS - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.row_cache_save_period_in_seconds = iprot.readI32(); - setRow_cache_save_period_in_secondsIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 20: // KEY_CACHE_SAVE_PERIOD_IN_SECONDS - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.key_cache_save_period_in_seconds = iprot.readI32(); - setKey_cache_save_period_in_secondsIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 21: // MEMTABLE_FLUSH_AFTER_MINS - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.memtable_flush_after_mins = iprot.readI32(); - setMemtable_flush_after_minsIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 22: // MEMTABLE_THROUGHPUT_IN_MB - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.memtable_throughput_in_mb = iprot.readI32(); - setMemtable_throughput_in_mbIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 23: // MEMTABLE_OPERATIONS_IN_MILLIONS - if (field.type == org.apache.thrift.protocol.TType.DOUBLE) { - this.memtable_operations_in_millions = iprot.readDouble(); - setMemtable_operations_in_millionsIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 25: // MERGE_SHARDS_CHANCE - if (field.type == org.apache.thrift.protocol.TType.DOUBLE) { - this.merge_shards_chance = iprot.readDouble(); - setMerge_shards_chanceIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 27: // ROW_CACHE_PROVIDER - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.row_cache_provider = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 31: // ROW_CACHE_KEYS_TO_SAVE - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.row_cache_keys_to_save = iprot.readI32(); - setRow_cache_keys_to_saveIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.keyspace != null) { - oprot.writeFieldBegin(KEYSPACE_FIELD_DESC); - oprot.writeString(this.keyspace); - oprot.writeFieldEnd(); - } - if (this.name != null) { - oprot.writeFieldBegin(NAME_FIELD_DESC); - oprot.writeString(this.name); - oprot.writeFieldEnd(); - } - if (this.column_type != null) { - if (isSetColumn_type()) { - oprot.writeFieldBegin(COLUMN_TYPE_FIELD_DESC); - oprot.writeString(this.column_type); - oprot.writeFieldEnd(); - } - } - if (this.comparator_type != null) { - if (isSetComparator_type()) { - oprot.writeFieldBegin(COMPARATOR_TYPE_FIELD_DESC); - oprot.writeString(this.comparator_type); - oprot.writeFieldEnd(); - } - } - if (this.subcomparator_type != null) { - if (isSetSubcomparator_type()) { - oprot.writeFieldBegin(SUBCOMPARATOR_TYPE_FIELD_DESC); - oprot.writeString(this.subcomparator_type); - oprot.writeFieldEnd(); - } - } - if (this.comment != null) { - if (isSetComment()) { - oprot.writeFieldBegin(COMMENT_FIELD_DESC); - oprot.writeString(this.comment); - oprot.writeFieldEnd(); - } - } - if (isSetRow_cache_size()) { - oprot.writeFieldBegin(ROW_CACHE_SIZE_FIELD_DESC); - oprot.writeDouble(this.row_cache_size); - oprot.writeFieldEnd(); - } - if (isSetKey_cache_size()) { - oprot.writeFieldBegin(KEY_CACHE_SIZE_FIELD_DESC); - oprot.writeDouble(this.key_cache_size); - oprot.writeFieldEnd(); - } - if (isSetRead_repair_chance()) { - oprot.writeFieldBegin(READ_REPAIR_CHANCE_FIELD_DESC); - oprot.writeDouble(this.read_repair_chance); - oprot.writeFieldEnd(); - } - if (this.column_metadata != null) { - if (isSetColumn_metadata()) { - oprot.writeFieldBegin(COLUMN_METADATA_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.column_metadata.size())); - for (ColumnDef _iter57 : this.column_metadata) - { - _iter57.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - } - if (isSetGc_grace_seconds()) { - oprot.writeFieldBegin(GC_GRACE_SECONDS_FIELD_DESC); - oprot.writeI32(this.gc_grace_seconds); - oprot.writeFieldEnd(); - } - if (this.default_validation_class != null) { - if (isSetDefault_validation_class()) { - oprot.writeFieldBegin(DEFAULT_VALIDATION_CLASS_FIELD_DESC); - oprot.writeString(this.default_validation_class); - oprot.writeFieldEnd(); - } - } - if (isSetId()) { - oprot.writeFieldBegin(ID_FIELD_DESC); - oprot.writeI32(this.id); - oprot.writeFieldEnd(); - } - if (isSetMin_compaction_threshold()) { - oprot.writeFieldBegin(MIN_COMPACTION_THRESHOLD_FIELD_DESC); - oprot.writeI32(this.min_compaction_threshold); - oprot.writeFieldEnd(); - } - if (isSetMax_compaction_threshold()) { - oprot.writeFieldBegin(MAX_COMPACTION_THRESHOLD_FIELD_DESC); - oprot.writeI32(this.max_compaction_threshold); - oprot.writeFieldEnd(); - } - if (isSetRow_cache_save_period_in_seconds()) { - oprot.writeFieldBegin(ROW_CACHE_SAVE_PERIOD_IN_SECONDS_FIELD_DESC); - oprot.writeI32(this.row_cache_save_period_in_seconds); - oprot.writeFieldEnd(); - } - if (isSetKey_cache_save_period_in_seconds()) { - oprot.writeFieldBegin(KEY_CACHE_SAVE_PERIOD_IN_SECONDS_FIELD_DESC); - oprot.writeI32(this.key_cache_save_period_in_seconds); - oprot.writeFieldEnd(); - } - if (isSetMemtable_flush_after_mins()) { - oprot.writeFieldBegin(MEMTABLE_FLUSH_AFTER_MINS_FIELD_DESC); - oprot.writeI32(this.memtable_flush_after_mins); - oprot.writeFieldEnd(); - } - if (isSetMemtable_throughput_in_mb()) { - oprot.writeFieldBegin(MEMTABLE_THROUGHPUT_IN_MB_FIELD_DESC); - oprot.writeI32(this.memtable_throughput_in_mb); - oprot.writeFieldEnd(); - } - if (isSetMemtable_operations_in_millions()) { - oprot.writeFieldBegin(MEMTABLE_OPERATIONS_IN_MILLIONS_FIELD_DESC); - oprot.writeDouble(this.memtable_operations_in_millions); - oprot.writeFieldEnd(); - } - if (isSetReplicate_on_write()) { - oprot.writeFieldBegin(REPLICATE_ON_WRITE_FIELD_DESC); - oprot.writeBool(this.replicate_on_write); - oprot.writeFieldEnd(); - } - if (isSetMerge_shards_chance()) { - oprot.writeFieldBegin(MERGE_SHARDS_CHANCE_FIELD_DESC); - oprot.writeDouble(this.merge_shards_chance); - oprot.writeFieldEnd(); - } - if (this.key_validation_class != null) { - if (isSetKey_validation_class()) { - oprot.writeFieldBegin(KEY_VALIDATION_CLASS_FIELD_DESC); - oprot.writeString(this.key_validation_class); - oprot.writeFieldEnd(); - } - } - if (this.row_cache_provider != null) { - if (isSetRow_cache_provider()) { - oprot.writeFieldBegin(ROW_CACHE_PROVIDER_FIELD_DESC); - oprot.writeString(this.row_cache_provider); - oprot.writeFieldEnd(); - } - } - if (this.key_alias != null) { - if (isSetKey_alias()) { - oprot.writeFieldBegin(KEY_ALIAS_FIELD_DESC); - oprot.writeBinary(this.key_alias); - oprot.writeFieldEnd(); - } - } - if (this.compaction_strategy != null) { - if (isSetCompaction_strategy()) { - oprot.writeFieldBegin(COMPACTION_STRATEGY_FIELD_DESC); - oprot.writeString(this.compaction_strategy); - oprot.writeFieldEnd(); - } - } - if (this.compaction_strategy_options != null) { - if (isSetCompaction_strategy_options()) { - oprot.writeFieldBegin(COMPACTION_STRATEGY_OPTIONS_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.compaction_strategy_options.size())); - for (Map.Entry _iter58 : this.compaction_strategy_options.entrySet()) - { - oprot.writeString(_iter58.getKey()); - oprot.writeString(_iter58.getValue()); - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } - } - if (isSetRow_cache_keys_to_save()) { - oprot.writeFieldBegin(ROW_CACHE_KEYS_TO_SAVE_FIELD_DESC); - oprot.writeI32(this.row_cache_keys_to_save); - oprot.writeFieldEnd(); - } - if (this.compression_options != null) { - if (isSetCompression_options()) { - oprot.writeFieldBegin(COMPRESSION_OPTIONS_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.compression_options.size())); - for (Map.Entry _iter59 : this.compression_options.entrySet()) - { - oprot.writeString(_iter59.getKey()); - oprot.writeString(_iter59.getValue()); - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } - } - if (isSetBloom_filter_fp_chance()) { - oprot.writeFieldBegin(BLOOM_FILTER_FP_CHANCE_FIELD_DESC); - oprot.writeDouble(this.bloom_filter_fp_chance); - oprot.writeFieldEnd(); - } - if (this.caching != null) { - if (isSetCaching()) { - oprot.writeFieldBegin(CACHING_FIELD_DESC); - oprot.writeString(this.caching); - oprot.writeFieldEnd(); - } - } - if (isSetDclocal_read_repair_chance()) { - oprot.writeFieldBegin(DCLOCAL_READ_REPAIR_CHANCE_FIELD_DESC); - oprot.writeDouble(this.dclocal_read_repair_chance); - oprot.writeFieldEnd(); - } - if (isSetMemtable_flush_period_in_ms()) { - oprot.writeFieldBegin(MEMTABLE_FLUSH_PERIOD_IN_MS_FIELD_DESC); - oprot.writeI32(this.memtable_flush_period_in_ms); - oprot.writeFieldEnd(); - } - if (isSetDefault_time_to_live()) { - oprot.writeFieldBegin(DEFAULT_TIME_TO_LIVE_FIELD_DESC); - oprot.writeI32(this.default_time_to_live); - oprot.writeFieldEnd(); - } - if (isSetIndex_interval()) { - oprot.writeFieldBegin(INDEX_INTERVAL_FIELD_DESC); - oprot.writeI32(this.index_interval); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -3747,6 +3217,7 @@ public class CfDef implements org.apache.thrift.TBase, jav if (name == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -3760,12 +3231,1000 @@ public class CfDef implements org.apache.thrift.TBase, jav private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. - __isset_bit_vector = new BitSet(1); + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); } } + private static class CfDefStandardSchemeFactory implements SchemeFactory { + public CfDefStandardScheme getScheme() { + return new CfDefStandardScheme(); + } + } + + private static class CfDefStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, CfDef struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEYSPACE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.keyspace = iprot.readString(); + struct.setKeyspaceIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.name = iprot.readString(); + struct.setNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // COLUMN_TYPE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.column_type = iprot.readString(); + struct.setColumn_typeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // COMPARATOR_TYPE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.comparator_type = iprot.readString(); + struct.setComparator_typeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 6: // SUBCOMPARATOR_TYPE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.subcomparator_type = iprot.readString(); + struct.setSubcomparator_typeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 8: // COMMENT + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.comment = iprot.readString(); + struct.setCommentIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 12: // READ_REPAIR_CHANCE + if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) { + struct.read_repair_chance = iprot.readDouble(); + struct.setRead_repair_chanceIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 13: // COLUMN_METADATA + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list92 = iprot.readListBegin(); + struct.column_metadata = new ArrayList(_list92.size); + for (int _i93 = 0; _i93 < _list92.size; ++_i93) + { + ColumnDef _elem94; // required + _elem94 = new ColumnDef(); + _elem94.read(iprot); + struct.column_metadata.add(_elem94); + } + iprot.readListEnd(); + } + struct.setColumn_metadataIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 14: // GC_GRACE_SECONDS + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.gc_grace_seconds = iprot.readI32(); + struct.setGc_grace_secondsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 15: // DEFAULT_VALIDATION_CLASS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.default_validation_class = iprot.readString(); + struct.setDefault_validation_classIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 16: // ID + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.id = iprot.readI32(); + struct.setIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 17: // MIN_COMPACTION_THRESHOLD + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.min_compaction_threshold = iprot.readI32(); + struct.setMin_compaction_thresholdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 18: // MAX_COMPACTION_THRESHOLD + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.max_compaction_threshold = iprot.readI32(); + struct.setMax_compaction_thresholdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 24: // REPLICATE_ON_WRITE + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.replicate_on_write = iprot.readBool(); + struct.setReplicate_on_writeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 26: // KEY_VALIDATION_CLASS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key_validation_class = iprot.readString(); + struct.setKey_validation_classIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 28: // KEY_ALIAS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key_alias = iprot.readBinary(); + struct.setKey_aliasIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 29: // COMPACTION_STRATEGY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.compaction_strategy = iprot.readString(); + struct.setCompaction_strategyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 30: // COMPACTION_STRATEGY_OPTIONS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map95 = iprot.readMapBegin(); + struct.compaction_strategy_options = new HashMap(2*_map95.size); + for (int _i96 = 0; _i96 < _map95.size; ++_i96) + { + String _key97; // required + String _val98; // required + _key97 = iprot.readString(); + _val98 = iprot.readString(); + struct.compaction_strategy_options.put(_key97, _val98); + } + iprot.readMapEnd(); + } + struct.setCompaction_strategy_optionsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 32: // COMPRESSION_OPTIONS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map99 = iprot.readMapBegin(); + struct.compression_options = new HashMap(2*_map99.size); + for (int _i100 = 0; _i100 < _map99.size; ++_i100) + { + String _key101; // required + String _val102; // required + _key101 = iprot.readString(); + _val102 = iprot.readString(); + struct.compression_options.put(_key101, _val102); + } + iprot.readMapEnd(); + } + struct.setCompression_optionsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 33: // BLOOM_FILTER_FP_CHANCE + if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) { + struct.bloom_filter_fp_chance = iprot.readDouble(); + struct.setBloom_filter_fp_chanceIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 34: // CACHING + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.caching = iprot.readString(); + struct.setCachingIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 37: // DCLOCAL_READ_REPAIR_CHANCE + if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) { + struct.dclocal_read_repair_chance = iprot.readDouble(); + struct.setDclocal_read_repair_chanceIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 38: // MEMTABLE_FLUSH_PERIOD_IN_MS + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.memtable_flush_period_in_ms = iprot.readI32(); + struct.setMemtable_flush_period_in_msIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 39: // DEFAULT_TIME_TO_LIVE + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.default_time_to_live = iprot.readI32(); + struct.setDefault_time_to_liveIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 40: // INDEX_INTERVAL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.index_interval = iprot.readI32(); + struct.setIndex_intervalIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 9: // ROW_CACHE_SIZE + if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) { + struct.row_cache_size = iprot.readDouble(); + struct.setRow_cache_sizeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 11: // KEY_CACHE_SIZE + if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) { + struct.key_cache_size = iprot.readDouble(); + struct.setKey_cache_sizeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 19: // ROW_CACHE_SAVE_PERIOD_IN_SECONDS + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.row_cache_save_period_in_seconds = iprot.readI32(); + struct.setRow_cache_save_period_in_secondsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 20: // KEY_CACHE_SAVE_PERIOD_IN_SECONDS + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.key_cache_save_period_in_seconds = iprot.readI32(); + struct.setKey_cache_save_period_in_secondsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 21: // MEMTABLE_FLUSH_AFTER_MINS + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.memtable_flush_after_mins = iprot.readI32(); + struct.setMemtable_flush_after_minsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 22: // MEMTABLE_THROUGHPUT_IN_MB + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.memtable_throughput_in_mb = iprot.readI32(); + struct.setMemtable_throughput_in_mbIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 23: // MEMTABLE_OPERATIONS_IN_MILLIONS + if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) { + struct.memtable_operations_in_millions = iprot.readDouble(); + struct.setMemtable_operations_in_millionsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 25: // MERGE_SHARDS_CHANCE + if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) { + struct.merge_shards_chance = iprot.readDouble(); + struct.setMerge_shards_chanceIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 27: // ROW_CACHE_PROVIDER + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.row_cache_provider = iprot.readString(); + struct.setRow_cache_providerIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 31: // ROW_CACHE_KEYS_TO_SAVE + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.row_cache_keys_to_save = iprot.readI32(); + struct.setRow_cache_keys_to_saveIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, CfDef struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.keyspace != null) { + oprot.writeFieldBegin(KEYSPACE_FIELD_DESC); + oprot.writeString(struct.keyspace); + oprot.writeFieldEnd(); + } + if (struct.name != null) { + oprot.writeFieldBegin(NAME_FIELD_DESC); + oprot.writeString(struct.name); + oprot.writeFieldEnd(); + } + if (struct.column_type != null) { + if (struct.isSetColumn_type()) { + oprot.writeFieldBegin(COLUMN_TYPE_FIELD_DESC); + oprot.writeString(struct.column_type); + oprot.writeFieldEnd(); + } + } + if (struct.comparator_type != null) { + if (struct.isSetComparator_type()) { + oprot.writeFieldBegin(COMPARATOR_TYPE_FIELD_DESC); + oprot.writeString(struct.comparator_type); + oprot.writeFieldEnd(); + } + } + if (struct.subcomparator_type != null) { + if (struct.isSetSubcomparator_type()) { + oprot.writeFieldBegin(SUBCOMPARATOR_TYPE_FIELD_DESC); + oprot.writeString(struct.subcomparator_type); + oprot.writeFieldEnd(); + } + } + if (struct.comment != null) { + if (struct.isSetComment()) { + oprot.writeFieldBegin(COMMENT_FIELD_DESC); + oprot.writeString(struct.comment); + oprot.writeFieldEnd(); + } + } + if (struct.isSetRow_cache_size()) { + oprot.writeFieldBegin(ROW_CACHE_SIZE_FIELD_DESC); + oprot.writeDouble(struct.row_cache_size); + oprot.writeFieldEnd(); + } + if (struct.isSetKey_cache_size()) { + oprot.writeFieldBegin(KEY_CACHE_SIZE_FIELD_DESC); + oprot.writeDouble(struct.key_cache_size); + oprot.writeFieldEnd(); + } + if (struct.isSetRead_repair_chance()) { + oprot.writeFieldBegin(READ_REPAIR_CHANCE_FIELD_DESC); + oprot.writeDouble(struct.read_repair_chance); + oprot.writeFieldEnd(); + } + if (struct.column_metadata != null) { + if (struct.isSetColumn_metadata()) { + oprot.writeFieldBegin(COLUMN_METADATA_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.column_metadata.size())); + for (ColumnDef _iter103 : struct.column_metadata) + { + _iter103.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.isSetGc_grace_seconds()) { + oprot.writeFieldBegin(GC_GRACE_SECONDS_FIELD_DESC); + oprot.writeI32(struct.gc_grace_seconds); + oprot.writeFieldEnd(); + } + if (struct.default_validation_class != null) { + if (struct.isSetDefault_validation_class()) { + oprot.writeFieldBegin(DEFAULT_VALIDATION_CLASS_FIELD_DESC); + oprot.writeString(struct.default_validation_class); + oprot.writeFieldEnd(); + } + } + if (struct.isSetId()) { + oprot.writeFieldBegin(ID_FIELD_DESC); + oprot.writeI32(struct.id); + oprot.writeFieldEnd(); + } + if (struct.isSetMin_compaction_threshold()) { + oprot.writeFieldBegin(MIN_COMPACTION_THRESHOLD_FIELD_DESC); + oprot.writeI32(struct.min_compaction_threshold); + oprot.writeFieldEnd(); + } + if (struct.isSetMax_compaction_threshold()) { + oprot.writeFieldBegin(MAX_COMPACTION_THRESHOLD_FIELD_DESC); + oprot.writeI32(struct.max_compaction_threshold); + oprot.writeFieldEnd(); + } + if (struct.isSetRow_cache_save_period_in_seconds()) { + oprot.writeFieldBegin(ROW_CACHE_SAVE_PERIOD_IN_SECONDS_FIELD_DESC); + oprot.writeI32(struct.row_cache_save_period_in_seconds); + oprot.writeFieldEnd(); + } + if (struct.isSetKey_cache_save_period_in_seconds()) { + oprot.writeFieldBegin(KEY_CACHE_SAVE_PERIOD_IN_SECONDS_FIELD_DESC); + oprot.writeI32(struct.key_cache_save_period_in_seconds); + oprot.writeFieldEnd(); + } + if (struct.isSetMemtable_flush_after_mins()) { + oprot.writeFieldBegin(MEMTABLE_FLUSH_AFTER_MINS_FIELD_DESC); + oprot.writeI32(struct.memtable_flush_after_mins); + oprot.writeFieldEnd(); + } + if (struct.isSetMemtable_throughput_in_mb()) { + oprot.writeFieldBegin(MEMTABLE_THROUGHPUT_IN_MB_FIELD_DESC); + oprot.writeI32(struct.memtable_throughput_in_mb); + oprot.writeFieldEnd(); + } + if (struct.isSetMemtable_operations_in_millions()) { + oprot.writeFieldBegin(MEMTABLE_OPERATIONS_IN_MILLIONS_FIELD_DESC); + oprot.writeDouble(struct.memtable_operations_in_millions); + oprot.writeFieldEnd(); + } + if (struct.isSetReplicate_on_write()) { + oprot.writeFieldBegin(REPLICATE_ON_WRITE_FIELD_DESC); + oprot.writeBool(struct.replicate_on_write); + oprot.writeFieldEnd(); + } + if (struct.isSetMerge_shards_chance()) { + oprot.writeFieldBegin(MERGE_SHARDS_CHANCE_FIELD_DESC); + oprot.writeDouble(struct.merge_shards_chance); + oprot.writeFieldEnd(); + } + if (struct.key_validation_class != null) { + if (struct.isSetKey_validation_class()) { + oprot.writeFieldBegin(KEY_VALIDATION_CLASS_FIELD_DESC); + oprot.writeString(struct.key_validation_class); + oprot.writeFieldEnd(); + } + } + if (struct.row_cache_provider != null) { + if (struct.isSetRow_cache_provider()) { + oprot.writeFieldBegin(ROW_CACHE_PROVIDER_FIELD_DESC); + oprot.writeString(struct.row_cache_provider); + oprot.writeFieldEnd(); + } + } + if (struct.key_alias != null) { + if (struct.isSetKey_alias()) { + oprot.writeFieldBegin(KEY_ALIAS_FIELD_DESC); + oprot.writeBinary(struct.key_alias); + oprot.writeFieldEnd(); + } + } + if (struct.compaction_strategy != null) { + if (struct.isSetCompaction_strategy()) { + oprot.writeFieldBegin(COMPACTION_STRATEGY_FIELD_DESC); + oprot.writeString(struct.compaction_strategy); + oprot.writeFieldEnd(); + } + } + if (struct.compaction_strategy_options != null) { + if (struct.isSetCompaction_strategy_options()) { + oprot.writeFieldBegin(COMPACTION_STRATEGY_OPTIONS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.compaction_strategy_options.size())); + for (Map.Entry _iter104 : struct.compaction_strategy_options.entrySet()) + { + oprot.writeString(_iter104.getKey()); + oprot.writeString(_iter104.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.isSetRow_cache_keys_to_save()) { + oprot.writeFieldBegin(ROW_CACHE_KEYS_TO_SAVE_FIELD_DESC); + oprot.writeI32(struct.row_cache_keys_to_save); + oprot.writeFieldEnd(); + } + if (struct.compression_options != null) { + if (struct.isSetCompression_options()) { + oprot.writeFieldBegin(COMPRESSION_OPTIONS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.compression_options.size())); + for (Map.Entry _iter105 : struct.compression_options.entrySet()) + { + oprot.writeString(_iter105.getKey()); + oprot.writeString(_iter105.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.isSetBloom_filter_fp_chance()) { + oprot.writeFieldBegin(BLOOM_FILTER_FP_CHANCE_FIELD_DESC); + oprot.writeDouble(struct.bloom_filter_fp_chance); + oprot.writeFieldEnd(); + } + if (struct.caching != null) { + if (struct.isSetCaching()) { + oprot.writeFieldBegin(CACHING_FIELD_DESC); + oprot.writeString(struct.caching); + oprot.writeFieldEnd(); + } + } + if (struct.isSetDclocal_read_repair_chance()) { + oprot.writeFieldBegin(DCLOCAL_READ_REPAIR_CHANCE_FIELD_DESC); + oprot.writeDouble(struct.dclocal_read_repair_chance); + oprot.writeFieldEnd(); + } + if (struct.isSetMemtable_flush_period_in_ms()) { + oprot.writeFieldBegin(MEMTABLE_FLUSH_PERIOD_IN_MS_FIELD_DESC); + oprot.writeI32(struct.memtable_flush_period_in_ms); + oprot.writeFieldEnd(); + } + if (struct.isSetDefault_time_to_live()) { + oprot.writeFieldBegin(DEFAULT_TIME_TO_LIVE_FIELD_DESC); + oprot.writeI32(struct.default_time_to_live); + oprot.writeFieldEnd(); + } + if (struct.isSetIndex_interval()) { + oprot.writeFieldBegin(INDEX_INTERVAL_FIELD_DESC); + oprot.writeI32(struct.index_interval); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class CfDefTupleSchemeFactory implements SchemeFactory { + public CfDefTupleScheme getScheme() { + return new CfDefTupleScheme(); + } + } + + private static class CfDefTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, CfDef struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.keyspace); + oprot.writeString(struct.name); + BitSet optionals = new BitSet(); + if (struct.isSetColumn_type()) { + optionals.set(0); + } + if (struct.isSetComparator_type()) { + optionals.set(1); + } + if (struct.isSetSubcomparator_type()) { + optionals.set(2); + } + if (struct.isSetComment()) { + optionals.set(3); + } + if (struct.isSetRead_repair_chance()) { + optionals.set(4); + } + if (struct.isSetColumn_metadata()) { + optionals.set(5); + } + if (struct.isSetGc_grace_seconds()) { + optionals.set(6); + } + if (struct.isSetDefault_validation_class()) { + optionals.set(7); + } + if (struct.isSetId()) { + optionals.set(8); + } + if (struct.isSetMin_compaction_threshold()) { + optionals.set(9); + } + if (struct.isSetMax_compaction_threshold()) { + optionals.set(10); + } + if (struct.isSetReplicate_on_write()) { + optionals.set(11); + } + if (struct.isSetKey_validation_class()) { + optionals.set(12); + } + if (struct.isSetKey_alias()) { + optionals.set(13); + } + if (struct.isSetCompaction_strategy()) { + optionals.set(14); + } + if (struct.isSetCompaction_strategy_options()) { + optionals.set(15); + } + if (struct.isSetCompression_options()) { + optionals.set(16); + } + if (struct.isSetBloom_filter_fp_chance()) { + optionals.set(17); + } + if (struct.isSetCaching()) { + optionals.set(18); + } + if (struct.isSetDclocal_read_repair_chance()) { + optionals.set(19); + } + if (struct.isSetMemtable_flush_period_in_ms()) { + optionals.set(20); + } + if (struct.isSetDefault_time_to_live()) { + optionals.set(21); + } + if (struct.isSetIndex_interval()) { + optionals.set(22); + } + if (struct.isSetRow_cache_size()) { + optionals.set(23); + } + if (struct.isSetKey_cache_size()) { + optionals.set(24); + } + if (struct.isSetRow_cache_save_period_in_seconds()) { + optionals.set(25); + } + if (struct.isSetKey_cache_save_period_in_seconds()) { + optionals.set(26); + } + if (struct.isSetMemtable_flush_after_mins()) { + optionals.set(27); + } + if (struct.isSetMemtable_throughput_in_mb()) { + optionals.set(28); + } + if (struct.isSetMemtable_operations_in_millions()) { + optionals.set(29); + } + if (struct.isSetMerge_shards_chance()) { + optionals.set(30); + } + if (struct.isSetRow_cache_provider()) { + optionals.set(31); + } + if (struct.isSetRow_cache_keys_to_save()) { + optionals.set(32); + } + oprot.writeBitSet(optionals, 33); + if (struct.isSetColumn_type()) { + oprot.writeString(struct.column_type); + } + if (struct.isSetComparator_type()) { + oprot.writeString(struct.comparator_type); + } + if (struct.isSetSubcomparator_type()) { + oprot.writeString(struct.subcomparator_type); + } + if (struct.isSetComment()) { + oprot.writeString(struct.comment); + } + if (struct.isSetRead_repair_chance()) { + oprot.writeDouble(struct.read_repair_chance); + } + if (struct.isSetColumn_metadata()) { + { + oprot.writeI32(struct.column_metadata.size()); + for (ColumnDef _iter106 : struct.column_metadata) + { + _iter106.write(oprot); + } + } + } + if (struct.isSetGc_grace_seconds()) { + oprot.writeI32(struct.gc_grace_seconds); + } + if (struct.isSetDefault_validation_class()) { + oprot.writeString(struct.default_validation_class); + } + if (struct.isSetId()) { + oprot.writeI32(struct.id); + } + if (struct.isSetMin_compaction_threshold()) { + oprot.writeI32(struct.min_compaction_threshold); + } + if (struct.isSetMax_compaction_threshold()) { + oprot.writeI32(struct.max_compaction_threshold); + } + if (struct.isSetReplicate_on_write()) { + oprot.writeBool(struct.replicate_on_write); + } + if (struct.isSetKey_validation_class()) { + oprot.writeString(struct.key_validation_class); + } + if (struct.isSetKey_alias()) { + oprot.writeBinary(struct.key_alias); + } + if (struct.isSetCompaction_strategy()) { + oprot.writeString(struct.compaction_strategy); + } + if (struct.isSetCompaction_strategy_options()) { + { + oprot.writeI32(struct.compaction_strategy_options.size()); + for (Map.Entry _iter107 : struct.compaction_strategy_options.entrySet()) + { + oprot.writeString(_iter107.getKey()); + oprot.writeString(_iter107.getValue()); + } + } + } + if (struct.isSetCompression_options()) { + { + oprot.writeI32(struct.compression_options.size()); + for (Map.Entry _iter108 : struct.compression_options.entrySet()) + { + oprot.writeString(_iter108.getKey()); + oprot.writeString(_iter108.getValue()); + } + } + } + if (struct.isSetBloom_filter_fp_chance()) { + oprot.writeDouble(struct.bloom_filter_fp_chance); + } + if (struct.isSetCaching()) { + oprot.writeString(struct.caching); + } + if (struct.isSetDclocal_read_repair_chance()) { + oprot.writeDouble(struct.dclocal_read_repair_chance); + } + if (struct.isSetMemtable_flush_period_in_ms()) { + oprot.writeI32(struct.memtable_flush_period_in_ms); + } + if (struct.isSetDefault_time_to_live()) { + oprot.writeI32(struct.default_time_to_live); + } + if (struct.isSetIndex_interval()) { + oprot.writeI32(struct.index_interval); + } + if (struct.isSetRow_cache_size()) { + oprot.writeDouble(struct.row_cache_size); + } + if (struct.isSetKey_cache_size()) { + oprot.writeDouble(struct.key_cache_size); + } + if (struct.isSetRow_cache_save_period_in_seconds()) { + oprot.writeI32(struct.row_cache_save_period_in_seconds); + } + if (struct.isSetKey_cache_save_period_in_seconds()) { + oprot.writeI32(struct.key_cache_save_period_in_seconds); + } + if (struct.isSetMemtable_flush_after_mins()) { + oprot.writeI32(struct.memtable_flush_after_mins); + } + if (struct.isSetMemtable_throughput_in_mb()) { + oprot.writeI32(struct.memtable_throughput_in_mb); + } + if (struct.isSetMemtable_operations_in_millions()) { + oprot.writeDouble(struct.memtable_operations_in_millions); + } + if (struct.isSetMerge_shards_chance()) { + oprot.writeDouble(struct.merge_shards_chance); + } + if (struct.isSetRow_cache_provider()) { + oprot.writeString(struct.row_cache_provider); + } + if (struct.isSetRow_cache_keys_to_save()) { + oprot.writeI32(struct.row_cache_keys_to_save); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, CfDef struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.keyspace = iprot.readString(); + struct.setKeyspaceIsSet(true); + struct.name = iprot.readString(); + struct.setNameIsSet(true); + BitSet incoming = iprot.readBitSet(33); + if (incoming.get(0)) { + struct.column_type = iprot.readString(); + struct.setColumn_typeIsSet(true); + } + if (incoming.get(1)) { + struct.comparator_type = iprot.readString(); + struct.setComparator_typeIsSet(true); + } + if (incoming.get(2)) { + struct.subcomparator_type = iprot.readString(); + struct.setSubcomparator_typeIsSet(true); + } + if (incoming.get(3)) { + struct.comment = iprot.readString(); + struct.setCommentIsSet(true); + } + if (incoming.get(4)) { + struct.read_repair_chance = iprot.readDouble(); + struct.setRead_repair_chanceIsSet(true); + } + if (incoming.get(5)) { + { + org.apache.thrift.protocol.TList _list109 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.column_metadata = new ArrayList(_list109.size); + for (int _i110 = 0; _i110 < _list109.size; ++_i110) + { + ColumnDef _elem111; // required + _elem111 = new ColumnDef(); + _elem111.read(iprot); + struct.column_metadata.add(_elem111); + } + } + struct.setColumn_metadataIsSet(true); + } + if (incoming.get(6)) { + struct.gc_grace_seconds = iprot.readI32(); + struct.setGc_grace_secondsIsSet(true); + } + if (incoming.get(7)) { + struct.default_validation_class = iprot.readString(); + struct.setDefault_validation_classIsSet(true); + } + if (incoming.get(8)) { + struct.id = iprot.readI32(); + struct.setIdIsSet(true); + } + if (incoming.get(9)) { + struct.min_compaction_threshold = iprot.readI32(); + struct.setMin_compaction_thresholdIsSet(true); + } + if (incoming.get(10)) { + struct.max_compaction_threshold = iprot.readI32(); + struct.setMax_compaction_thresholdIsSet(true); + } + if (incoming.get(11)) { + struct.replicate_on_write = iprot.readBool(); + struct.setReplicate_on_writeIsSet(true); + } + if (incoming.get(12)) { + struct.key_validation_class = iprot.readString(); + struct.setKey_validation_classIsSet(true); + } + if (incoming.get(13)) { + struct.key_alias = iprot.readBinary(); + struct.setKey_aliasIsSet(true); + } + if (incoming.get(14)) { + struct.compaction_strategy = iprot.readString(); + struct.setCompaction_strategyIsSet(true); + } + if (incoming.get(15)) { + { + org.apache.thrift.protocol.TMap _map112 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.compaction_strategy_options = new HashMap(2*_map112.size); + for (int _i113 = 0; _i113 < _map112.size; ++_i113) + { + String _key114; // required + String _val115; // required + _key114 = iprot.readString(); + _val115 = iprot.readString(); + struct.compaction_strategy_options.put(_key114, _val115); + } + } + struct.setCompaction_strategy_optionsIsSet(true); + } + if (incoming.get(16)) { + { + org.apache.thrift.protocol.TMap _map116 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.compression_options = new HashMap(2*_map116.size); + for (int _i117 = 0; _i117 < _map116.size; ++_i117) + { + String _key118; // required + String _val119; // required + _key118 = iprot.readString(); + _val119 = iprot.readString(); + struct.compression_options.put(_key118, _val119); + } + } + struct.setCompression_optionsIsSet(true); + } + if (incoming.get(17)) { + struct.bloom_filter_fp_chance = iprot.readDouble(); + struct.setBloom_filter_fp_chanceIsSet(true); + } + if (incoming.get(18)) { + struct.caching = iprot.readString(); + struct.setCachingIsSet(true); + } + if (incoming.get(19)) { + struct.dclocal_read_repair_chance = iprot.readDouble(); + struct.setDclocal_read_repair_chanceIsSet(true); + } + if (incoming.get(20)) { + struct.memtable_flush_period_in_ms = iprot.readI32(); + struct.setMemtable_flush_period_in_msIsSet(true); + } + if (incoming.get(21)) { + struct.default_time_to_live = iprot.readI32(); + struct.setDefault_time_to_liveIsSet(true); + } + if (incoming.get(22)) { + struct.index_interval = iprot.readI32(); + struct.setIndex_intervalIsSet(true); + } + if (incoming.get(23)) { + struct.row_cache_size = iprot.readDouble(); + struct.setRow_cache_sizeIsSet(true); + } + if (incoming.get(24)) { + struct.key_cache_size = iprot.readDouble(); + struct.setKey_cache_sizeIsSet(true); + } + if (incoming.get(25)) { + struct.row_cache_save_period_in_seconds = iprot.readI32(); + struct.setRow_cache_save_period_in_secondsIsSet(true); + } + if (incoming.get(26)) { + struct.key_cache_save_period_in_seconds = iprot.readI32(); + struct.setKey_cache_save_period_in_secondsIsSet(true); + } + if (incoming.get(27)) { + struct.memtable_flush_after_mins = iprot.readI32(); + struct.setMemtable_flush_after_minsIsSet(true); + } + if (incoming.get(28)) { + struct.memtable_throughput_in_mb = iprot.readI32(); + struct.setMemtable_throughput_in_mbIsSet(true); + } + if (incoming.get(29)) { + struct.memtable_operations_in_millions = iprot.readDouble(); + struct.setMemtable_operations_in_millionsIsSet(true); + } + if (incoming.get(30)) { + struct.merge_shards_chance = iprot.readDouble(); + struct.setMerge_shards_chanceIsSet(true); + } + if (incoming.get(31)) { + struct.row_cache_provider = iprot.readString(); + struct.setRow_cache_providerIsSet(true); + } + if (incoming.get(32)) { + struct.row_cache_keys_to_save = iprot.readI32(); + struct.setRow_cache_keys_to_saveIsSet(true); + } + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfSplit.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CfSplit.java index 2519f9f4b1..b975e2120d 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CfSplit.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CfSplit.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -52,6 +62,12 @@ public class CfSplit implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new CfSplitStandardSchemeFactory()); + schemes.put(TupleScheme.class, new CfSplitTupleSchemeFactory()); + } + public String start_token; // required public String end_token; // required public long row_count; // required @@ -122,8 +138,7 @@ public class CfSplit implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -156,8 +171,7 @@ public class CfSplit implements org.apache.thrift.TBaseother. */ public CfSplit(CfSplit other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetStart_token()) { this.start_token = other.start_token; } @@ -238,16 +252,16 @@ public class CfSplit implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, CfSplit struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // START_TOKEN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.start_token = iprot.readString(); + struct.setStart_tokenIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // END_TOKEN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.end_token = iprot.readString(); + struct.setEnd_tokenIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // ROW_COUNT + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.row_count = iprot.readI64(); + struct.setRow_countIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetRow_count()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'row_count' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, CfSplit struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.start_token != null) { + oprot.writeFieldBegin(START_TOKEN_FIELD_DESC); + oprot.writeString(struct.start_token); + oprot.writeFieldEnd(); + } + if (struct.end_token != null) { + oprot.writeFieldBegin(END_TOKEN_FIELD_DESC); + oprot.writeString(struct.end_token); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(ROW_COUNT_FIELD_DESC); + oprot.writeI64(struct.row_count); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class CfSplitTupleSchemeFactory implements SchemeFactory { + public CfSplitTupleScheme getScheme() { + return new CfSplitTupleScheme(); + } + } + + private static class CfSplitTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, CfSplit struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.start_token); + oprot.writeString(struct.end_token); + oprot.writeI64(struct.row_count); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, CfSplit struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.start_token = iprot.readString(); + struct.setStart_tokenIsSet(true); + struct.end_token = iprot.readString(); + struct.setEnd_tokenIsSet(true); + struct.row_count = iprot.readI64(); + struct.setRow_countIsSet(true); + } + } + } 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 d655124a26..b66f174e9a 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -57,10 +67,16 @@ public class Column implements org.apache.thrift.TBase, private static final org.apache.thrift.protocol.TField TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("timestamp", org.apache.thrift.protocol.TType.I64, (short)3); private static final org.apache.thrift.protocol.TField TTL_FIELD_DESC = new org.apache.thrift.protocol.TField("ttl", org.apache.thrift.protocol.TType.I32, (short)4); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ColumnStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ColumnTupleSchemeFactory()); + } + public ByteBuffer name; // required - public ByteBuffer value; // required - public long timestamp; // required - public int ttl; // required + public ByteBuffer value; // optional + public long timestamp; // optional + public int ttl; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -132,8 +148,8 @@ public class Column implements org.apache.thrift.TBase, // isset id assignments private static final int __TIMESTAMP_ISSET_ID = 0; private static final int __TTL_ISSET_ID = 1; - private BitSet __isset_bit_vector = new BitSet(2); - + private byte __isset_bitfield = 0; + private _Fields optionals[] = {_Fields.VALUE,_Fields.TIMESTAMP,_Fields.TTL}; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -163,8 +179,7 @@ public class Column implements org.apache.thrift.TBase, * Performs a deep copy on other. */ public Column(Column other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetName()) { this.name = org.apache.thrift.TBaseHelper.copyBinary(other.name); ; @@ -270,16 +285,16 @@ public class Column implements org.apache.thrift.TBase, } public void unsetTimestamp() { - __isset_bit_vector.clear(__TIMESTAMP_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMESTAMP_ISSET_ID); } /** Returns true if field timestamp is set (has been assigned a value) and false otherwise */ public boolean isSetTimestamp() { - return __isset_bit_vector.get(__TIMESTAMP_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __TIMESTAMP_ISSET_ID); } public void setTimestampIsSet(boolean value) { - __isset_bit_vector.set(__TIMESTAMP_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMESTAMP_ISSET_ID, value); } public int getTtl() { @@ -293,16 +308,16 @@ public class Column implements org.apache.thrift.TBase, } public void unsetTtl() { - __isset_bit_vector.clear(__TTL_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TTL_ISSET_ID); } /** Returns true if field ttl is set (has been assigned a value) and false otherwise */ public boolean isSetTtl() { - return __isset_bit_vector.get(__TTL_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __TTL_ISSET_ID); } public void setTtlIsSet(boolean value) { - __isset_bit_vector.set(__TTL_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TTL_ISSET_ID, value); } public void setFieldValue(_Fields field, Object value) { @@ -514,84 +529,11 @@ public class Column implements org.apache.thrift.TBase, } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // NAME - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.name = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // VALUE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.value = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // TIMESTAMP - if (field.type == org.apache.thrift.protocol.TType.I64) { - this.timestamp = iprot.readI64(); - setTimestampIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // TTL - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.ttl = iprot.readI32(); - setTtlIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.name != null) { - oprot.writeFieldBegin(NAME_FIELD_DESC); - oprot.writeBinary(this.name); - oprot.writeFieldEnd(); - } - if (this.value != null) { - if (isSetValue()) { - oprot.writeFieldBegin(VALUE_FIELD_DESC); - oprot.writeBinary(this.value); - oprot.writeFieldEnd(); - } - } - if (isSetTimestamp()) { - oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); - oprot.writeI64(this.timestamp); - oprot.writeFieldEnd(); - } - if (isSetTtl()) { - oprot.writeFieldBegin(TTL_FIELD_DESC); - oprot.writeI32(this.ttl); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -637,6 +579,7 @@ public class Column implements org.apache.thrift.TBase, if (name == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -650,12 +593,160 @@ public class Column implements org.apache.thrift.TBase, private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. - __isset_bit_vector = new BitSet(1); + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); } } + private static class ColumnStandardSchemeFactory implements SchemeFactory { + public ColumnStandardScheme getScheme() { + return new ColumnStandardScheme(); + } + } + + private static class ColumnStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Column struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.name = iprot.readBinary(); + struct.setNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // VALUE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.value = iprot.readBinary(); + struct.setValueIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TIMESTAMP + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.timestamp = iprot.readI64(); + struct.setTimestampIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // TTL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.ttl = iprot.readI32(); + struct.setTtlIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Column struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.name != null) { + oprot.writeFieldBegin(NAME_FIELD_DESC); + oprot.writeBinary(struct.name); + oprot.writeFieldEnd(); + } + if (struct.value != null) { + if (struct.isSetValue()) { + oprot.writeFieldBegin(VALUE_FIELD_DESC); + oprot.writeBinary(struct.value); + oprot.writeFieldEnd(); + } + } + if (struct.isSetTimestamp()) { + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); + oprot.writeI64(struct.timestamp); + oprot.writeFieldEnd(); + } + if (struct.isSetTtl()) { + oprot.writeFieldBegin(TTL_FIELD_DESC); + oprot.writeI32(struct.ttl); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ColumnTupleSchemeFactory implements SchemeFactory { + public ColumnTupleScheme getScheme() { + return new ColumnTupleScheme(); + } + } + + private static class ColumnTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Column struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.name); + BitSet optionals = new BitSet(); + if (struct.isSetValue()) { + optionals.set(0); + } + if (struct.isSetTimestamp()) { + optionals.set(1); + } + if (struct.isSetTtl()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetValue()) { + oprot.writeBinary(struct.value); + } + if (struct.isSetTimestamp()) { + oprot.writeI64(struct.timestamp); + } + if (struct.isSetTtl()) { + oprot.writeI32(struct.ttl); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Column struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.name = iprot.readBinary(); + struct.setNameIsSet(true); + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.value = iprot.readBinary(); + struct.setValueIsSet(true); + } + if (incoming.get(1)) { + struct.timestamp = iprot.readI64(); + struct.setTimestampIsSet(true); + } + if (incoming.get(2)) { + struct.ttl = iprot.readI32(); + struct.setTtlIsSet(true); + } + } + } + } 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 37d8db6af2..bc27225078 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnDef.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnDef.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -51,15 +61,21 @@ public class ColumnDef implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ColumnDefStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ColumnDefTupleSchemeFactory()); + } + public ByteBuffer name; // required public String validation_class; // required /** * * @see IndexType */ - public IndexType index_type; // required - public String index_name; // required - public Map index_options; // required + public IndexType index_type; // optional + public String index_name; // optional + public Map index_options; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -136,7 +152,7 @@ public class ColumnDef implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -610,118 +626,11 @@ public class ColumnDef implements org.apache.thrift.TBase(2*_map41.size); - for (int _i42 = 0; _i42 < _map41.size; ++_i42) - { - String _key43; // required - String _val44; // required - _key43 = iprot.readString(); - _val44 = iprot.readString(); - this.index_options.put(_key43, _val44); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.name != null) { - oprot.writeFieldBegin(NAME_FIELD_DESC); - oprot.writeBinary(this.name); - oprot.writeFieldEnd(); - } - if (this.validation_class != null) { - oprot.writeFieldBegin(VALIDATION_CLASS_FIELD_DESC); - oprot.writeString(this.validation_class); - oprot.writeFieldEnd(); - } - if (this.index_type != null) { - if (isSetIndex_type()) { - oprot.writeFieldBegin(INDEX_TYPE_FIELD_DESC); - oprot.writeI32(this.index_type.getValue()); - oprot.writeFieldEnd(); - } - } - if (this.index_name != null) { - if (isSetIndex_name()) { - oprot.writeFieldBegin(INDEX_NAME_FIELD_DESC); - oprot.writeString(this.index_name); - oprot.writeFieldEnd(); - } - } - if (this.index_options != null) { - if (isSetIndex_options()) { - oprot.writeFieldBegin(INDEX_OPTIONS_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.index_options.size())); - for (Map.Entry _iter45 : this.index_options.entrySet()) - { - oprot.writeString(_iter45.getKey()); - oprot.writeString(_iter45.getValue()); - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -786,6 +695,7 @@ public class ColumnDef implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, ColumnDef struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.name = iprot.readBinary(); + struct.setNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // VALIDATION_CLASS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.validation_class = iprot.readString(); + struct.setValidation_classIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // INDEX_TYPE + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.index_type = IndexType.findByValue(iprot.readI32()); + struct.setIndex_typeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // INDEX_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.index_name = iprot.readString(); + struct.setIndex_nameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // INDEX_OPTIONS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map82 = iprot.readMapBegin(); + struct.index_options = new HashMap(2*_map82.size); + for (int _i83 = 0; _i83 < _map82.size; ++_i83) + { + String _key84; // required + String _val85; // required + _key84 = iprot.readString(); + _val85 = iprot.readString(); + struct.index_options.put(_key84, _val85); + } + iprot.readMapEnd(); + } + struct.setIndex_optionsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, ColumnDef struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.name != null) { + oprot.writeFieldBegin(NAME_FIELD_DESC); + oprot.writeBinary(struct.name); + oprot.writeFieldEnd(); + } + if (struct.validation_class != null) { + oprot.writeFieldBegin(VALIDATION_CLASS_FIELD_DESC); + oprot.writeString(struct.validation_class); + oprot.writeFieldEnd(); + } + if (struct.index_type != null) { + if (struct.isSetIndex_type()) { + oprot.writeFieldBegin(INDEX_TYPE_FIELD_DESC); + oprot.writeI32(struct.index_type.getValue()); + oprot.writeFieldEnd(); + } + } + if (struct.index_name != null) { + if (struct.isSetIndex_name()) { + oprot.writeFieldBegin(INDEX_NAME_FIELD_DESC); + oprot.writeString(struct.index_name); + oprot.writeFieldEnd(); + } + } + if (struct.index_options != null) { + if (struct.isSetIndex_options()) { + oprot.writeFieldBegin(INDEX_OPTIONS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.index_options.size())); + for (Map.Entry _iter86 : struct.index_options.entrySet()) + { + oprot.writeString(_iter86.getKey()); + oprot.writeString(_iter86.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ColumnDefTupleSchemeFactory implements SchemeFactory { + public ColumnDefTupleScheme getScheme() { + return new ColumnDefTupleScheme(); + } + } + + private static class ColumnDefTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, ColumnDef struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.name); + oprot.writeString(struct.validation_class); + BitSet optionals = new BitSet(); + if (struct.isSetIndex_type()) { + optionals.set(0); + } + if (struct.isSetIndex_name()) { + optionals.set(1); + } + if (struct.isSetIndex_options()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetIndex_type()) { + oprot.writeI32(struct.index_type.getValue()); + } + if (struct.isSetIndex_name()) { + oprot.writeString(struct.index_name); + } + if (struct.isSetIndex_options()) { + { + oprot.writeI32(struct.index_options.size()); + for (Map.Entry _iter87 : struct.index_options.entrySet()) + { + oprot.writeString(_iter87.getKey()); + oprot.writeString(_iter87.getValue()); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, ColumnDef struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.name = iprot.readBinary(); + struct.setNameIsSet(true); + struct.validation_class = iprot.readString(); + struct.setValidation_classIsSet(true); + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.index_type = IndexType.findByValue(iprot.readI32()); + struct.setIndex_typeIsSet(true); + } + if (incoming.get(1)) { + struct.index_name = iprot.readString(); + struct.setIndex_nameIsSet(true); + } + if (incoming.get(2)) { + { + org.apache.thrift.protocol.TMap _map88 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.index_options = new HashMap(2*_map88.size); + for (int _i89 = 0; _i89 < _map88.size; ++_i89) + { + String _key90; // required + String _val91; // required + _key90 = iprot.readString(); + _val91 = iprot.readString(); + struct.index_options.put(_key90, _val91); + } + } + struct.setIndex_optionsIsSet(true); + } + } + } + } 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 2b7f185e6d..8831e3848b 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnOrSuperColumn.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnOrSuperColumn.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -65,10 +75,16 @@ public class ColumnOrSuperColumn implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ColumnOrSuperColumnStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ColumnOrSuperColumnTupleSchemeFactory()); + } + + public Column column; // optional + public SuperColumn super_column; // optional + public CounterColumn counter_column; // optional + public CounterSuperColumn counter_super_column; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -138,7 +154,7 @@ public class ColumnOrSuperColumn implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -492,92 +508,11 @@ public class ColumnOrSuperColumn implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, ColumnOrSuperColumn struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column = new Column(); + struct.column.read(iprot); + struct.setColumnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SUPER_COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.super_column = new SuperColumn(); + struct.super_column.read(iprot); + struct.setSuper_columnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // COUNTER_COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.counter_column = new CounterColumn(); + struct.counter_column.read(iprot); + struct.setCounter_columnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // COUNTER_SUPER_COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.counter_super_column = new CounterSuperColumn(); + struct.counter_super_column.read(iprot); + struct.setCounter_super_columnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, ColumnOrSuperColumn struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.column != null) { + if (struct.isSetColumn()) { + oprot.writeFieldBegin(COLUMN_FIELD_DESC); + struct.column.write(oprot); + oprot.writeFieldEnd(); + } + } + if (struct.super_column != null) { + if (struct.isSetSuper_column()) { + oprot.writeFieldBegin(SUPER_COLUMN_FIELD_DESC); + struct.super_column.write(oprot); + oprot.writeFieldEnd(); + } + } + if (struct.counter_column != null) { + if (struct.isSetCounter_column()) { + oprot.writeFieldBegin(COUNTER_COLUMN_FIELD_DESC); + struct.counter_column.write(oprot); + oprot.writeFieldEnd(); + } + } + if (struct.counter_super_column != null) { + if (struct.isSetCounter_super_column()) { + oprot.writeFieldBegin(COUNTER_SUPER_COLUMN_FIELD_DESC); + struct.counter_super_column.write(oprot); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ColumnOrSuperColumnTupleSchemeFactory implements SchemeFactory { + public ColumnOrSuperColumnTupleScheme getScheme() { + return new ColumnOrSuperColumnTupleScheme(); + } + } + + private static class ColumnOrSuperColumnTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, ColumnOrSuperColumn struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetColumn()) { + optionals.set(0); + } + if (struct.isSetSuper_column()) { + optionals.set(1); + } + if (struct.isSetCounter_column()) { + optionals.set(2); + } + if (struct.isSetCounter_super_column()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetColumn()) { + struct.column.write(oprot); + } + if (struct.isSetSuper_column()) { + struct.super_column.write(oprot); + } + if (struct.isSetCounter_column()) { + struct.counter_column.write(oprot); + } + if (struct.isSetCounter_super_column()) { + struct.counter_super_column.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, ColumnOrSuperColumn struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + struct.column = new Column(); + struct.column.read(iprot); + struct.setColumnIsSet(true); + } + if (incoming.get(1)) { + struct.super_column = new SuperColumn(); + struct.super_column.read(iprot); + struct.setSuper_columnIsSet(true); + } + if (incoming.get(2)) { + struct.counter_column = new CounterColumn(); + struct.counter_column.read(iprot); + struct.setCounter_columnIsSet(true); + } + if (incoming.get(3)) { + struct.counter_super_column = new CounterSuperColumn(); + struct.counter_super_column.read(iprot); + struct.setCounter_super_columnIsSet(true); + } + } + } + } 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 40ee56d48d..525a53cad5 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnParent.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnParent.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -54,8 +64,14 @@ public class ColumnParent implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ColumnParentStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ColumnParentTupleSchemeFactory()); + } + public String column_family; // required - public ByteBuffer super_column; // required + public ByteBuffer super_column; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -119,7 +135,7 @@ public class ColumnParent implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -357,58 +373,11 @@ public class ColumnParent implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, ColumnParent struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 3: // COLUMN_FAMILY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.column_family = iprot.readString(); + struct.setColumn_familyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // SUPER_COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.super_column = iprot.readBinary(); + struct.setSuper_columnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, ColumnParent struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.column_family != null) { + oprot.writeFieldBegin(COLUMN_FAMILY_FIELD_DESC); + oprot.writeString(struct.column_family); + oprot.writeFieldEnd(); + } + if (struct.super_column != null) { + if (struct.isSetSuper_column()) { + oprot.writeFieldBegin(SUPER_COLUMN_FIELD_DESC); + oprot.writeBinary(struct.super_column); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ColumnParentTupleSchemeFactory implements SchemeFactory { + public ColumnParentTupleScheme getScheme() { + return new ColumnParentTupleScheme(); + } + } + + private static class ColumnParentTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, ColumnParent struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.column_family); + BitSet optionals = new BitSet(); + if (struct.isSetSuper_column()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSuper_column()) { + oprot.writeBinary(struct.super_column); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, ColumnParent struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.column_family = iprot.readString(); + struct.setColumn_familyIsSet(true); + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.super_column = iprot.readBinary(); + struct.setSuper_columnIsSet(true); + } + } + } + } 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 c25e238f25..288c4d5efd 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnPath.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/ColumnPath.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -59,9 +69,15 @@ public class ColumnPath implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ColumnPathStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ColumnPathTupleSchemeFactory()); + } + public String column_family; // required - public ByteBuffer super_column; // required - public ByteBuffer column; // required + public ByteBuffer super_column; // optional + public ByteBuffer column; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -128,7 +144,7 @@ public class ColumnPath implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -444,72 +460,11 @@ public class ColumnPath implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, ColumnPath struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 3: // COLUMN_FAMILY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.column_family = iprot.readString(); + struct.setColumn_familyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // SUPER_COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.super_column = iprot.readBinary(); + struct.setSuper_columnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.column = iprot.readBinary(); + struct.setColumnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, ColumnPath struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.column_family != null) { + oprot.writeFieldBegin(COLUMN_FAMILY_FIELD_DESC); + oprot.writeString(struct.column_family); + oprot.writeFieldEnd(); + } + if (struct.super_column != null) { + if (struct.isSetSuper_column()) { + oprot.writeFieldBegin(SUPER_COLUMN_FIELD_DESC); + oprot.writeBinary(struct.super_column); + oprot.writeFieldEnd(); + } + } + if (struct.column != null) { + if (struct.isSetColumn()) { + oprot.writeFieldBegin(COLUMN_FIELD_DESC); + oprot.writeBinary(struct.column); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ColumnPathTupleSchemeFactory implements SchemeFactory { + public ColumnPathTupleScheme getScheme() { + return new ColumnPathTupleScheme(); + } + } + + private static class ColumnPathTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, ColumnPath struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.column_family); + BitSet optionals = new BitSet(); + if (struct.isSetSuper_column()) { + optionals.set(0); + } + if (struct.isSetColumn()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuper_column()) { + oprot.writeBinary(struct.super_column); + } + if (struct.isSetColumn()) { + oprot.writeBinary(struct.column); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, ColumnPath struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.column_family = iprot.readString(); + struct.setColumn_familyIsSet(true); + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.super_column = iprot.readBinary(); + struct.setSuper_columnIsSet(true); + } + if (incoming.get(1)) { + struct.column = iprot.readBinary(); + struct.setColumnIsSet(true); + } + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/Compression.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/Compression.java index 453a8a2ec7..607ad32b35 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Compression.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Compression.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/ConsistencyLevel.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/ConsistencyLevel.java index 2f4cf50d6a..8386797710 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/ConsistencyLevel.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/ConsistencyLevel.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CounterColumn.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CounterColumn.java index 7d90872efa..1535653f52 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CounterColumn.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CounterColumn.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -48,6 +58,12 @@ public class CounterColumn implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new CounterColumnStandardSchemeFactory()); + schemes.put(TupleScheme.class, new CounterColumnTupleSchemeFactory()); + } + public ByteBuffer name; // required public long value; // required @@ -114,8 +130,7 @@ public class CounterColumn implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -144,8 +159,7 @@ public class CounterColumn implements org.apache.thrift.TBaseother. */ public CounterColumn(CounterColumn other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetName()) { this.name = org.apache.thrift.TBaseHelper.copyBinary(other.name); ; @@ -209,16 +223,16 @@ public class CounterColumn implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, CounterColumn struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.name = iprot.readBinary(); + struct.setNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // VALUE + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.value = iprot.readI64(); + struct.setValueIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetValue()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'value' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, CounterColumn struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.name != null) { + oprot.writeFieldBegin(NAME_FIELD_DESC); + oprot.writeBinary(struct.name); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(VALUE_FIELD_DESC); + oprot.writeI64(struct.value); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class CounterColumnTupleSchemeFactory implements SchemeFactory { + public CounterColumnTupleScheme getScheme() { + return new CounterColumnTupleScheme(); + } + } + + private static class CounterColumnTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, CounterColumn struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.name); + oprot.writeI64(struct.value); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, CounterColumn struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.name = iprot.readBinary(); + struct.setNameIsSet(true); + struct.value = iprot.readI64(); + struct.setValueIsSet(true); + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CounterSuperColumn.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CounterSuperColumn.java index ce15984b09..ea719cc908 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CounterSuperColumn.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CounterSuperColumn.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -48,6 +58,12 @@ public class CounterSuperColumn implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new CounterSuperColumnStandardSchemeFactory()); + schemes.put(TupleScheme.class, new CounterSuperColumnTupleSchemeFactory()); + } + public ByteBuffer name; // required public List columns; // required @@ -113,7 +129,6 @@ public class CounterSuperColumn implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -373,74 +388,11 @@ public class CounterSuperColumn implements org.apache.thrift.TBase(_list4.size); - for (int _i5 = 0; _i5 < _list4.size; ++_i5) - { - CounterColumn _elem6; // required - _elem6 = new CounterColumn(); - _elem6.read(iprot); - this.columns.add(_elem6); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.name != null) { - oprot.writeFieldBegin(NAME_FIELD_DESC); - oprot.writeBinary(this.name); - oprot.writeFieldEnd(); - } - if (this.columns != null) { - oprot.writeFieldBegin(COLUMNS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.columns.size())); - for (CounterColumn _iter7 : this.columns) - { - _iter7.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -475,6 +427,7 @@ public class CounterSuperColumn implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, CounterSuperColumn struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.name = iprot.readBinary(); + struct.setNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMNS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list8 = iprot.readListBegin(); + struct.columns = new ArrayList(_list8.size); + for (int _i9 = 0; _i9 < _list8.size; ++_i9) + { + CounterColumn _elem10; // required + _elem10 = new CounterColumn(); + _elem10.read(iprot); + struct.columns.add(_elem10); + } + iprot.readListEnd(); + } + struct.setColumnsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, CounterSuperColumn struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.name != null) { + oprot.writeFieldBegin(NAME_FIELD_DESC); + oprot.writeBinary(struct.name); + oprot.writeFieldEnd(); + } + if (struct.columns != null) { + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.columns.size())); + for (CounterColumn _iter11 : struct.columns) + { + _iter11.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class CounterSuperColumnTupleSchemeFactory implements SchemeFactory { + public CounterSuperColumnTupleScheme getScheme() { + return new CounterSuperColumnTupleScheme(); + } + } + + private static class CounterSuperColumnTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, CounterSuperColumn struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.name); + { + oprot.writeI32(struct.columns.size()); + for (CounterColumn _iter12 : struct.columns) + { + _iter12.write(oprot); + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, CounterSuperColumn struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.name = iprot.readBinary(); + struct.setNameIsSet(true); + { + org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.columns = new ArrayList(_list13.size); + for (int _i14 = 0; _i14 < _list13.size; ++_i14) + { + CounterColumn _elem15; // required + _elem15 = new CounterColumn(); + _elem15.read(iprot); + struct.columns.add(_elem15); + } + } + struct.setColumnsIsSet(true); + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlMetadata.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlMetadata.java index f7df6b66f4..6af8e9e547 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlMetadata.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlMetadata.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -50,6 +60,12 @@ public class CqlMetadata implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new CqlMetadataStandardSchemeFactory()); + schemes.put(TupleScheme.class, new CqlMetadataTupleSchemeFactory()); + } + public Map name_types; // required public Map value_types; // required public String default_name_type; // required @@ -123,7 +139,6 @@ public class CqlMetadata implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -542,120 +557,11 @@ public class CqlMetadata implements org.apache.thrift.TBase(2*_map73.size); - for (int _i74 = 0; _i74 < _map73.size; ++_i74) - { - ByteBuffer _key75; // required - String _val76; // required - _key75 = iprot.readBinary(); - _val76 = iprot.readString(); - this.name_types.put(_key75, _val76); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // VALUE_TYPES - if (field.type == org.apache.thrift.protocol.TType.MAP) { - { - org.apache.thrift.protocol.TMap _map77 = iprot.readMapBegin(); - this.value_types = new HashMap(2*_map77.size); - for (int _i78 = 0; _i78 < _map77.size; ++_i78) - { - ByteBuffer _key79; // required - String _val80; // required - _key79 = iprot.readBinary(); - _val80 = iprot.readString(); - this.value_types.put(_key79, _val80); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // DEFAULT_NAME_TYPE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.default_name_type = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // DEFAULT_VALUE_TYPE - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.default_value_type = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.name_types != null) { - oprot.writeFieldBegin(NAME_TYPES_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.name_types.size())); - for (Map.Entry _iter81 : this.name_types.entrySet()) - { - oprot.writeBinary(_iter81.getKey()); - oprot.writeString(_iter81.getValue()); - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } - if (this.value_types != null) { - oprot.writeFieldBegin(VALUE_TYPES_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.value_types.size())); - for (Map.Entry _iter82 : this.value_types.entrySet()) - { - oprot.writeBinary(_iter82.getKey()); - oprot.writeString(_iter82.getValue()); - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } - if (this.default_name_type != null) { - oprot.writeFieldBegin(DEFAULT_NAME_TYPE_FIELD_DESC); - oprot.writeString(this.default_name_type); - oprot.writeFieldEnd(); - } - if (this.default_value_type != null) { - oprot.writeFieldBegin(DEFAULT_VALUE_TYPE_FIELD_DESC); - oprot.writeString(this.default_value_type); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -712,6 +618,7 @@ public class CqlMetadata implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, CqlMetadata struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // NAME_TYPES + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map146 = iprot.readMapBegin(); + struct.name_types = new HashMap(2*_map146.size); + for (int _i147 = 0; _i147 < _map146.size; ++_i147) + { + ByteBuffer _key148; // required + String _val149; // required + _key148 = iprot.readBinary(); + _val149 = iprot.readString(); + struct.name_types.put(_key148, _val149); + } + iprot.readMapEnd(); + } + struct.setName_typesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // VALUE_TYPES + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map150 = iprot.readMapBegin(); + struct.value_types = new HashMap(2*_map150.size); + for (int _i151 = 0; _i151 < _map150.size; ++_i151) + { + ByteBuffer _key152; // required + String _val153; // required + _key152 = iprot.readBinary(); + _val153 = iprot.readString(); + struct.value_types.put(_key152, _val153); + } + iprot.readMapEnd(); + } + struct.setValue_typesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // DEFAULT_NAME_TYPE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.default_name_type = iprot.readString(); + struct.setDefault_name_typeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // DEFAULT_VALUE_TYPE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.default_value_type = iprot.readString(); + struct.setDefault_value_typeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, CqlMetadata struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.name_types != null) { + oprot.writeFieldBegin(NAME_TYPES_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.name_types.size())); + for (Map.Entry _iter154 : struct.name_types.entrySet()) + { + oprot.writeBinary(_iter154.getKey()); + oprot.writeString(_iter154.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.value_types != null) { + oprot.writeFieldBegin(VALUE_TYPES_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.value_types.size())); + for (Map.Entry _iter155 : struct.value_types.entrySet()) + { + oprot.writeBinary(_iter155.getKey()); + oprot.writeString(_iter155.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.default_name_type != null) { + oprot.writeFieldBegin(DEFAULT_NAME_TYPE_FIELD_DESC); + oprot.writeString(struct.default_name_type); + oprot.writeFieldEnd(); + } + if (struct.default_value_type != null) { + oprot.writeFieldBegin(DEFAULT_VALUE_TYPE_FIELD_DESC); + oprot.writeString(struct.default_value_type); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class CqlMetadataTupleSchemeFactory implements SchemeFactory { + public CqlMetadataTupleScheme getScheme() { + return new CqlMetadataTupleScheme(); + } + } + + private static class CqlMetadataTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, CqlMetadata struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + { + oprot.writeI32(struct.name_types.size()); + for (Map.Entry _iter156 : struct.name_types.entrySet()) + { + oprot.writeBinary(_iter156.getKey()); + oprot.writeString(_iter156.getValue()); + } + } + { + oprot.writeI32(struct.value_types.size()); + for (Map.Entry _iter157 : struct.value_types.entrySet()) + { + oprot.writeBinary(_iter157.getKey()); + oprot.writeString(_iter157.getValue()); + } + } + oprot.writeString(struct.default_name_type); + oprot.writeString(struct.default_value_type); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, CqlMetadata struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + { + org.apache.thrift.protocol.TMap _map158 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.name_types = new HashMap(2*_map158.size); + for (int _i159 = 0; _i159 < _map158.size; ++_i159) + { + ByteBuffer _key160; // required + String _val161; // required + _key160 = iprot.readBinary(); + _val161 = iprot.readString(); + struct.name_types.put(_key160, _val161); + } + } + struct.setName_typesIsSet(true); + { + org.apache.thrift.protocol.TMap _map162 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.value_types = new HashMap(2*_map162.size); + for (int _i163 = 0; _i163 < _map162.size; ++_i163) + { + ByteBuffer _key164; // required + String _val165; // required + _key164 = iprot.readBinary(); + _val165 = iprot.readString(); + struct.value_types.put(_key164, _val165); + } + } + struct.setValue_typesIsSet(true); + struct.default_name_type = iprot.readString(); + struct.setDefault_name_typeIsSet(true); + struct.default_value_type = iprot.readString(); + struct.setDefault_value_typeIsSet(true); + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlPreparedResult.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlPreparedResult.java index 25e5f0ffcf..7d3460c4e9 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlPreparedResult.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlPreparedResult.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -50,10 +60,16 @@ public class CqlPreparedResult implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new CqlPreparedResultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new CqlPreparedResultTupleSchemeFactory()); + } + public int itemId; // required public int count; // required - public List variable_types; // required - public List variable_names; // required + public List variable_types; // optional + public List variable_names; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -125,8 +141,8 @@ public class CqlPreparedResult implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -162,8 +178,7 @@ public class CqlPreparedResult implements org.apache.thrift.TBaseother. */ public CqlPreparedResult(CqlPreparedResult other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; this.itemId = other.itemId; this.count = other.count; if (other.isSetVariable_types()) { @@ -207,16 +222,16 @@ public class CqlPreparedResult implements org.apache.thrift.TBase(_list87.size); - for (int _i88 = 0; _i88 < _list87.size; ++_i88) - { - String _elem89; // required - _elem89 = iprot.readString(); - this.variable_types.add(_elem89); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // VARIABLE_NAMES - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list90 = iprot.readListBegin(); - this.variable_names = new ArrayList(_list90.size); - for (int _i91 = 0; _i91 < _list90.size; ++_i91) - { - String _elem92; // required - _elem92 = iprot.readString(); - this.variable_names.add(_elem92); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - if (!isSetItemId()) { - throw new org.apache.thrift.protocol.TProtocolException("Required field 'itemId' was not found in serialized data! Struct: " + toString()); - } - if (!isSetCount()) { - throw new org.apache.thrift.protocol.TProtocolException("Required field 'count' was not found in serialized data! Struct: " + toString()); - } - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldBegin(ITEM_ID_FIELD_DESC); - oprot.writeI32(this.itemId); - oprot.writeFieldEnd(); - oprot.writeFieldBegin(COUNT_FIELD_DESC); - oprot.writeI32(this.count); - oprot.writeFieldEnd(); - if (this.variable_types != null) { - if (isSetVariable_types()) { - oprot.writeFieldBegin(VARIABLE_TYPES_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.variable_types.size())); - for (String _iter93 : this.variable_types) - { - oprot.writeString(_iter93); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - } - if (this.variable_names != null) { - if (isSetVariable_names()) { - oprot.writeFieldBegin(VARIABLE_NAMES_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.variable_names.size())); - for (String _iter94 : this.variable_names) - { - oprot.writeString(_iter94); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -687,6 +591,7 @@ public class CqlPreparedResult implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, CqlPreparedResult struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // ITEM_ID + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.itemId = iprot.readI32(); + struct.setItemIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COUNT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.count = iprot.readI32(); + struct.setCountIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // VARIABLE_TYPES + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list174 = iprot.readListBegin(); + struct.variable_types = new ArrayList(_list174.size); + for (int _i175 = 0; _i175 < _list174.size; ++_i175) + { + String _elem176; // required + _elem176 = iprot.readString(); + struct.variable_types.add(_elem176); + } + iprot.readListEnd(); + } + struct.setVariable_typesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // VARIABLE_NAMES + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list177 = iprot.readListBegin(); + struct.variable_names = new ArrayList(_list177.size); + for (int _i178 = 0; _i178 < _list177.size; ++_i178) + { + String _elem179; // required + _elem179 = iprot.readString(); + struct.variable_names.add(_elem179); + } + iprot.readListEnd(); + } + struct.setVariable_namesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetItemId()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'itemId' was not found in serialized data! Struct: " + toString()); + } + if (!struct.isSetCount()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'count' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, CqlPreparedResult struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(ITEM_ID_FIELD_DESC); + oprot.writeI32(struct.itemId); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(COUNT_FIELD_DESC); + oprot.writeI32(struct.count); + oprot.writeFieldEnd(); + if (struct.variable_types != null) { + if (struct.isSetVariable_types()) { + oprot.writeFieldBegin(VARIABLE_TYPES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.variable_types.size())); + for (String _iter180 : struct.variable_types) + { + oprot.writeString(_iter180); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.variable_names != null) { + if (struct.isSetVariable_names()) { + oprot.writeFieldBegin(VARIABLE_NAMES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.variable_names.size())); + for (String _iter181 : struct.variable_names) + { + oprot.writeString(_iter181); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class CqlPreparedResultTupleSchemeFactory implements SchemeFactory { + public CqlPreparedResultTupleScheme getScheme() { + return new CqlPreparedResultTupleScheme(); + } + } + + private static class CqlPreparedResultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, CqlPreparedResult struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeI32(struct.itemId); + oprot.writeI32(struct.count); + BitSet optionals = new BitSet(); + if (struct.isSetVariable_types()) { + optionals.set(0); + } + if (struct.isSetVariable_names()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetVariable_types()) { + { + oprot.writeI32(struct.variable_types.size()); + for (String _iter182 : struct.variable_types) + { + oprot.writeString(_iter182); + } + } + } + if (struct.isSetVariable_names()) { + { + oprot.writeI32(struct.variable_names.size()); + for (String _iter183 : struct.variable_names) + { + oprot.writeString(_iter183); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, CqlPreparedResult struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.itemId = iprot.readI32(); + struct.setItemIdIsSet(true); + struct.count = iprot.readI32(); + struct.setCountIsSet(true); + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list184 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.variable_types = new ArrayList(_list184.size); + for (int _i185 = 0; _i185 < _list184.size; ++_i185) + { + String _elem186; // required + _elem186 = iprot.readString(); + struct.variable_types.add(_elem186); + } + } + struct.setVariable_typesIsSet(true); + } + if (incoming.get(1)) { + { + org.apache.thrift.protocol.TList _list187 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.variable_names = new ArrayList(_list187.size); + for (int _i188 = 0; _i188 < _list187.size; ++_i188) + { + String _elem189; // required + _elem189 = iprot.readString(); + struct.variable_names.add(_elem189); + } + } + struct.setVariable_namesIsSet(true); + } + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlResult.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlResult.java index 7c0129fb32..53afbaa80f 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlResult.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlResult.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -50,14 +60,20 @@ public class CqlResult implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new CqlResultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new CqlResultTupleSchemeFactory()); + } + /** * * @see CqlResultType */ public CqlResultType type; // required - public List rows; // required - public int num; // required - public CqlMetadata schema; // required + public List rows; // optional + public int num; // optional + public CqlMetadata schema; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -132,8 +148,8 @@ public class CqlResult implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -164,8 +180,7 @@ public class CqlResult implements org.apache.thrift.TBaseother. */ public CqlResult(CqlResult other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetType()) { this.type = other.type; } @@ -277,16 +292,16 @@ public class CqlResult implements org.apache.thrift.TBase(_list83.size); - for (int _i84 = 0; _i84 < _list83.size; ++_i84) - { - CqlRow _elem85; // required - _elem85 = new CqlRow(); - _elem85.read(iprot); - this.rows.add(_elem85); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // NUM - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.num = iprot.readI32(); - setNumIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // SCHEMA - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.schema = new CqlMetadata(); - this.schema.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.type != null) { - oprot.writeFieldBegin(TYPE_FIELD_DESC); - oprot.writeI32(this.type.getValue()); - oprot.writeFieldEnd(); - } - if (this.rows != null) { - if (isSetRows()) { - oprot.writeFieldBegin(ROWS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.rows.size())); - for (CqlRow _iter86 : this.rows) - { - _iter86.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - } - if (isSetNum()) { - oprot.writeFieldBegin(NUM_FIELD_DESC); - oprot.writeI32(this.num); - oprot.writeFieldEnd(); - } - if (this.schema != null) { - if (isSetSchema()) { - oprot.writeFieldBegin(SCHEMA_FIELD_DESC); - this.schema.write(oprot); - oprot.writeFieldEnd(); - } - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -669,6 +591,10 @@ public class CqlResult implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, CqlResult struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // TYPE + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.type = CqlResultType.findByValue(iprot.readI32()); + struct.setTypeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // ROWS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list166 = iprot.readListBegin(); + struct.rows = new ArrayList(_list166.size); + for (int _i167 = 0; _i167 < _list166.size; ++_i167) + { + CqlRow _elem168; // required + _elem168 = new CqlRow(); + _elem168.read(iprot); + struct.rows.add(_elem168); + } + iprot.readListEnd(); + } + struct.setRowsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // NUM + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.num = iprot.readI32(); + struct.setNumIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // SCHEMA + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.schema = new CqlMetadata(); + struct.schema.read(iprot); + struct.setSchemaIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, CqlResult struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.type != null) { + oprot.writeFieldBegin(TYPE_FIELD_DESC); + oprot.writeI32(struct.type.getValue()); + oprot.writeFieldEnd(); + } + if (struct.rows != null) { + if (struct.isSetRows()) { + oprot.writeFieldBegin(ROWS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.rows.size())); + for (CqlRow _iter169 : struct.rows) + { + _iter169.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.isSetNum()) { + oprot.writeFieldBegin(NUM_FIELD_DESC); + oprot.writeI32(struct.num); + oprot.writeFieldEnd(); + } + if (struct.schema != null) { + if (struct.isSetSchema()) { + oprot.writeFieldBegin(SCHEMA_FIELD_DESC); + struct.schema.write(oprot); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class CqlResultTupleSchemeFactory implements SchemeFactory { + public CqlResultTupleScheme getScheme() { + return new CqlResultTupleScheme(); + } + } + + private static class CqlResultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, CqlResult struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeI32(struct.type.getValue()); + BitSet optionals = new BitSet(); + if (struct.isSetRows()) { + optionals.set(0); + } + if (struct.isSetNum()) { + optionals.set(1); + } + if (struct.isSetSchema()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetRows()) { + { + oprot.writeI32(struct.rows.size()); + for (CqlRow _iter170 : struct.rows) + { + _iter170.write(oprot); + } + } + } + if (struct.isSetNum()) { + oprot.writeI32(struct.num); + } + if (struct.isSetSchema()) { + struct.schema.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, CqlResult struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.type = CqlResultType.findByValue(iprot.readI32()); + struct.setTypeIsSet(true); + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list171 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.rows = new ArrayList(_list171.size); + for (int _i172 = 0; _i172 < _list171.size; ++_i172) + { + CqlRow _elem173; // required + _elem173 = new CqlRow(); + _elem173.read(iprot); + struct.rows.add(_elem173); + } + } + struct.setRowsIsSet(true); + } + if (incoming.get(1)) { + struct.num = iprot.readI32(); + struct.setNumIsSet(true); + } + if (incoming.get(2)) { + struct.schema = new CqlMetadata(); + struct.schema.read(iprot); + struct.setSchemaIsSet(true); + } + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlResultType.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlResultType.java index 09c37b2033..524d67bbc7 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlResultType.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlResultType.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlRow.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlRow.java index df7ec85951..8fce2e1f14 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlRow.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/CqlRow.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -51,6 +61,12 @@ public class CqlRow implements org.apache.thrift.TBase, private static final org.apache.thrift.protocol.TField KEY_FIELD_DESC = new org.apache.thrift.protocol.TField("key", org.apache.thrift.protocol.TType.STRING, (short)1); private static final org.apache.thrift.protocol.TField COLUMNS_FIELD_DESC = new org.apache.thrift.protocol.TField("columns", org.apache.thrift.protocol.TType.LIST, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new CqlRowStandardSchemeFactory()); + schemes.put(TupleScheme.class, new CqlRowTupleSchemeFactory()); + } + public ByteBuffer key; // required public List columns; // required @@ -116,7 +132,6 @@ public class CqlRow implements org.apache.thrift.TBase, } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -376,74 +391,11 @@ public class CqlRow implements org.apache.thrift.TBase, } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // KEY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.key = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // COLUMNS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list69 = iprot.readListBegin(); - this.columns = new ArrayList(_list69.size); - for (int _i70 = 0; _i70 < _list69.size; ++_i70) - { - Column _elem71; // required - _elem71 = new Column(); - _elem71.read(iprot); - this.columns.add(_elem71); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.key != null) { - oprot.writeFieldBegin(KEY_FIELD_DESC); - oprot.writeBinary(this.key); - oprot.writeFieldEnd(); - } - if (this.columns != null) { - oprot.writeFieldBegin(COLUMNS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.columns.size())); - for (Column _iter72 : this.columns) - { - _iter72.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -478,6 +430,7 @@ public class CqlRow implements org.apache.thrift.TBase, if (columns == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'columns' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -496,5 +449,129 @@ public class CqlRow implements org.apache.thrift.TBase, } } + private static class CqlRowStandardSchemeFactory implements SchemeFactory { + public CqlRowStandardScheme getScheme() { + return new CqlRowStandardScheme(); + } + } + + private static class CqlRowStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, CqlRow struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMNS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list138 = iprot.readListBegin(); + struct.columns = new ArrayList(_list138.size); + for (int _i139 = 0; _i139 < _list138.size; ++_i139) + { + Column _elem140; // required + _elem140 = new Column(); + _elem140.read(iprot); + struct.columns.add(_elem140); + } + iprot.readListEnd(); + } + struct.setColumnsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, CqlRow struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.key != null) { + oprot.writeFieldBegin(KEY_FIELD_DESC); + oprot.writeBinary(struct.key); + oprot.writeFieldEnd(); + } + if (struct.columns != null) { + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.columns.size())); + for (Column _iter141 : struct.columns) + { + _iter141.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class CqlRowTupleSchemeFactory implements SchemeFactory { + public CqlRowTupleScheme getScheme() { + return new CqlRowTupleScheme(); + } + } + + private static class CqlRowTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, CqlRow struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.key); + { + oprot.writeI32(struct.columns.size()); + for (Column _iter142 : struct.columns) + { + _iter142.write(oprot); + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, CqlRow struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + { + org.apache.thrift.protocol.TList _list143 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.columns = new ArrayList(_list143.size); + for (int _i144 = 0; _i144 < _list143.size; ++_i144) + { + Column _elem145; // required + _elem145 = new Column(); + _elem145.read(iprot); + struct.columns.add(_elem145); + } + } + struct.setColumnsIsSet(true); + } + } + } 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 180a2b3fdb..c98aab6f63 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Deletion.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Deletion.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -52,9 +62,15 @@ public class Deletion implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new DeletionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new DeletionTupleSchemeFactory()); + } + + public long timestamp; // optional + public ByteBuffer super_column; // optional + public SlicePredicate predicate; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -122,8 +138,8 @@ public class Deletion implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -144,8 +160,7 @@ public class Deletion implements org.apache.thrift.TBaseother. */ public Deletion(Deletion other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; this.timestamp = other.timestamp; if (other.isSetSuper_column()) { this.super_column = org.apache.thrift.TBaseHelper.copyBinary(other.super_column); @@ -179,16 +194,16 @@ public class Deletion implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Deletion struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // TIMESTAMP + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.timestamp = iprot.readI64(); + struct.setTimestampIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SUPER_COLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.super_column = iprot.readBinary(); + struct.setSuper_columnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // PREDICATE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Deletion struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.isSetTimestamp()) { + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); + oprot.writeI64(struct.timestamp); + oprot.writeFieldEnd(); + } + if (struct.super_column != null) { + if (struct.isSetSuper_column()) { + oprot.writeFieldBegin(SUPER_COLUMN_FIELD_DESC); + oprot.writeBinary(struct.super_column); + oprot.writeFieldEnd(); + } + } + if (struct.predicate != null) { + if (struct.isSetPredicate()) { + oprot.writeFieldBegin(PREDICATE_FIELD_DESC); + struct.predicate.write(oprot); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class DeletionTupleSchemeFactory implements SchemeFactory { + public DeletionTupleScheme getScheme() { + return new DeletionTupleScheme(); + } + } + + private static class DeletionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Deletion struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetTimestamp()) { + optionals.set(0); + } + if (struct.isSetSuper_column()) { + optionals.set(1); + } + if (struct.isSetPredicate()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetTimestamp()) { + oprot.writeI64(struct.timestamp); + } + if (struct.isSetSuper_column()) { + oprot.writeBinary(struct.super_column); + } + if (struct.isSetPredicate()) { + struct.predicate.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Deletion struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.timestamp = iprot.readI64(); + struct.setTimestampIsSet(true); + } + if (incoming.get(1)) { + struct.super_column = iprot.readBinary(); + struct.setSuper_columnIsSet(true); + } + if (incoming.get(2)) { + struct.predicate = new SlicePredicate(); + struct.predicate.read(iprot); + struct.setPredicateIsSet(true); + } + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/EndpointDetails.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/EndpointDetails.java index 125b1592aa..7654e9e0b9 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/EndpointDetails.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/EndpointDetails.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -49,9 +59,15 @@ public class EndpointDetails implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new EndpointDetailsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new EndpointDetailsTupleSchemeFactory()); + } + public String host; // required public String datacenter; // required - public String rack; // required + public String rack; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -118,7 +134,7 @@ public class EndpointDetails implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -414,70 +430,11 @@ public class EndpointDetails implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, EndpointDetails struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // HOST + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.host = iprot.readString(); + struct.setHostIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // DATACENTER + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.datacenter = iprot.readString(); + struct.setDatacenterIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // RACK + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.rack = iprot.readString(); + struct.setRackIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, EndpointDetails struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.host != null) { + oprot.writeFieldBegin(HOST_FIELD_DESC); + oprot.writeString(struct.host); + oprot.writeFieldEnd(); + } + if (struct.datacenter != null) { + oprot.writeFieldBegin(DATACENTER_FIELD_DESC); + oprot.writeString(struct.datacenter); + oprot.writeFieldEnd(); + } + if (struct.rack != null) { + if (struct.isSetRack()) { + oprot.writeFieldBegin(RACK_FIELD_DESC); + oprot.writeString(struct.rack); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class EndpointDetailsTupleSchemeFactory implements SchemeFactory { + public EndpointDetailsTupleScheme getScheme() { + return new EndpointDetailsTupleScheme(); + } + } + + private static class EndpointDetailsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, EndpointDetails struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetHost()) { + optionals.set(0); + } + if (struct.isSetDatacenter()) { + optionals.set(1); + } + if (struct.isSetRack()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetHost()) { + oprot.writeString(struct.host); + } + if (struct.isSetDatacenter()) { + oprot.writeString(struct.datacenter); + } + if (struct.isSetRack()) { + oprot.writeString(struct.rack); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, EndpointDetails struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.host = iprot.readString(); + struct.setHostIsSet(true); + } + if (incoming.get(1)) { + struct.datacenter = iprot.readString(); + struct.setDatacenterIsSet(true); + } + if (incoming.get(2)) { + struct.rack = iprot.readString(); + struct.setRackIsSet(true); + } + } + } + } 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 76c2606d66..499a081152 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexClause.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexClause.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -52,6 +62,12 @@ public class IndexClause implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new IndexClauseStandardSchemeFactory()); + schemes.put(TupleScheme.class, new IndexClauseTupleSchemeFactory()); + } + public List expressions; // required public ByteBuffer start_key; // required public int count; // required @@ -122,8 +138,7 @@ public class IndexClause implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -159,8 +174,7 @@ public class IndexClause implements org.apache.thrift.TBaseother. */ public IndexClause(IndexClause other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetExpressions()) { List __this__expressions = new ArrayList(); for (IndexExpression other_element : other.expressions) { @@ -271,16 +285,16 @@ public class IndexClause implements org.apache.thrift.TBase(_list12.size); - for (int _i13 = 0; _i13 < _list12.size; ++_i13) - { - IndexExpression _elem14; // required - _elem14 = new IndexExpression(); - _elem14.read(iprot); - this.expressions.add(_elem14); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // START_KEY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.start_key = iprot.readBinary(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // COUNT - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.count = iprot.readI32(); - setCountIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - if (!isSetCount()) { - throw new org.apache.thrift.protocol.TProtocolException("Required field 'count' was not found in serialized data! Struct: " + toString()); - } - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.expressions != null) { - oprot.writeFieldBegin(EXPRESSIONS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.expressions.size())); - for (IndexExpression _iter15 : this.expressions) - { - _iter15.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - if (this.start_key != null) { - oprot.writeFieldBegin(START_KEY_FIELD_DESC); - oprot.writeBinary(this.start_key); - oprot.writeFieldEnd(); - } - oprot.writeFieldBegin(COUNT_FIELD_DESC); - oprot.writeI32(this.count); - oprot.writeFieldEnd(); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -576,6 +513,7 @@ public class IndexClause implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, IndexClause struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // EXPRESSIONS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list24 = iprot.readListBegin(); + struct.expressions = new ArrayList(_list24.size); + for (int _i25 = 0; _i25 < _list24.size; ++_i25) + { + IndexExpression _elem26; // required + _elem26 = new IndexExpression(); + _elem26.read(iprot); + struct.expressions.add(_elem26); + } + iprot.readListEnd(); + } + struct.setExpressionsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // START_KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.start_key = iprot.readBinary(); + struct.setStart_keyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // COUNT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.count = iprot.readI32(); + struct.setCountIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetCount()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'count' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, IndexClause struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.expressions != null) { + oprot.writeFieldBegin(EXPRESSIONS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.expressions.size())); + for (IndexExpression _iter27 : struct.expressions) + { + _iter27.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.start_key != null) { + oprot.writeFieldBegin(START_KEY_FIELD_DESC); + oprot.writeBinary(struct.start_key); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(COUNT_FIELD_DESC); + oprot.writeI32(struct.count); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class IndexClauseTupleSchemeFactory implements SchemeFactory { + public IndexClauseTupleScheme getScheme() { + return new IndexClauseTupleScheme(); + } + } + + private static class IndexClauseTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, IndexClause struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + { + oprot.writeI32(struct.expressions.size()); + for (IndexExpression _iter28 : struct.expressions) + { + _iter28.write(oprot); + } + } + oprot.writeBinary(struct.start_key); + oprot.writeI32(struct.count); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, IndexClause struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + { + org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.expressions = new ArrayList(_list29.size); + for (int _i30 = 0; _i30 < _list29.size; ++_i30) + { + IndexExpression _elem31; // required + _elem31 = new IndexExpression(); + _elem31.read(iprot); + struct.expressions.add(_elem31); + } + } + struct.setExpressionsIsSet(true); + struct.start_key = iprot.readBinary(); + struct.setStart_keyIsSet(true); + struct.count = iprot.readI32(); + struct.setCountIsSet(true); + } + } + } 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 43b89a84b9..0622fd4a29 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexExpression.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexExpression.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -49,6 +59,12 @@ public class IndexExpression implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new IndexExpressionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new IndexExpressionTupleSchemeFactory()); + } + public ByteBuffer column_name; // required /** * @@ -126,7 +142,6 @@ public class IndexExpression implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -454,68 +469,11 @@ public class IndexExpression implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, IndexExpression struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // COLUMN_NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.column_name = iprot.readBinary(); + struct.setColumn_nameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // OP + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.op = IndexOperator.findByValue(iprot.readI32()); + struct.setOpIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // VALUE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.value = iprot.readBinary(); + struct.setValueIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, IndexExpression struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.column_name != null) { + oprot.writeFieldBegin(COLUMN_NAME_FIELD_DESC); + oprot.writeBinary(struct.column_name); + oprot.writeFieldEnd(); + } + if (struct.op != null) { + oprot.writeFieldBegin(OP_FIELD_DESC); + oprot.writeI32(struct.op.getValue()); + oprot.writeFieldEnd(); + } + if (struct.value != null) { + oprot.writeFieldBegin(VALUE_FIELD_DESC); + oprot.writeBinary(struct.value); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class IndexExpressionTupleSchemeFactory implements SchemeFactory { + public IndexExpressionTupleScheme getScheme() { + return new IndexExpressionTupleScheme(); + } + } + + private static class IndexExpressionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, IndexExpression struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.column_name); + oprot.writeI32(struct.op.getValue()); + oprot.writeBinary(struct.value); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, IndexExpression struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.column_name = iprot.readBinary(); + struct.setColumn_nameIsSet(true); + struct.op = IndexOperator.findByValue(iprot.readI32()); + struct.setOpIsSet(true); + struct.value = iprot.readBinary(); + struct.setValueIsSet(true); + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexOperator.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexOperator.java index c5d29e3b67..a35e089744 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexOperator.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexOperator.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexType.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexType.java index 283fa7103c..6bdf7dbe14 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexType.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexType.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* 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 7ee266be3a..1344ba6251 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -46,11 +56,17 @@ import org.slf4j.LoggerFactory; * 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 org.apache.thrift.TBase, java.io.Serializable, Cloneable { +public class InvalidRequestException extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidRequestException"); private static final org.apache.thrift.protocol.TField WHY_FIELD_DESC = new org.apache.thrift.protocol.TField("why", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new InvalidRequestExceptionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new InvalidRequestExceptionTupleSchemeFactory()); + } + public String why; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -112,7 +128,6 @@ public class InvalidRequestException extends Exception implements org.apache.thr } // isset id assignments - public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -272,44 +287,11 @@ public class InvalidRequestException extends Exception implements org.apache.thr } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // WHY - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.why = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.why != null) { - oprot.writeFieldBegin(WHY_FIELD_DESC); - oprot.writeString(this.why); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -333,6 +315,7 @@ public class InvalidRequestException extends Exception implements org.apache.thr if (why == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'why' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -351,5 +334,79 @@ public class InvalidRequestException extends Exception implements org.apache.thr } } + private static class InvalidRequestExceptionStandardSchemeFactory implements SchemeFactory { + public InvalidRequestExceptionStandardScheme getScheme() { + return new InvalidRequestExceptionStandardScheme(); + } + } + + private static class InvalidRequestExceptionStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, InvalidRequestException struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // WHY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.why = iprot.readString(); + struct.setWhyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, InvalidRequestException struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.why != null) { + oprot.writeFieldBegin(WHY_FIELD_DESC); + oprot.writeString(struct.why); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class InvalidRequestExceptionTupleSchemeFactory implements SchemeFactory { + public InvalidRequestExceptionTupleScheme getScheme() { + return new InvalidRequestExceptionTupleScheme(); + } + } + + private static class InvalidRequestExceptionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, InvalidRequestException struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.why); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, InvalidRequestException struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.why = iprot.readString(); + struct.setWhyIsSet(true); + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyCount.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyCount.java index 30f194e22e..54c7656f20 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyCount.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyCount.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -48,6 +58,12 @@ public class KeyCount implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new KeyCountStandardSchemeFactory()); + schemes.put(TupleScheme.class, new KeyCountTupleSchemeFactory()); + } + public ByteBuffer key; // required public int count; // required @@ -114,8 +130,7 @@ public class KeyCount implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -144,8 +159,7 @@ public class KeyCount implements org.apache.thrift.TBaseother. */ public KeyCount(KeyCount other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetKey()) { this.key = org.apache.thrift.TBaseHelper.copyBinary(other.key); ; @@ -209,16 +223,16 @@ public class KeyCount implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, KeyCount struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COUNT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.count = iprot.readI32(); + struct.setCountIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetCount()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'count' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, KeyCount struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.key != null) { + oprot.writeFieldBegin(KEY_FIELD_DESC); + oprot.writeBinary(struct.key); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(COUNT_FIELD_DESC); + oprot.writeI32(struct.count); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class KeyCountTupleSchemeFactory implements SchemeFactory { + public KeyCountTupleScheme getScheme() { + return new KeyCountTupleScheme(); + } + } + + private static class KeyCountTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, KeyCount struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.key); + oprot.writeI32(struct.count); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, KeyCount struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + struct.count = iprot.readI32(); + struct.setCountIsSet(true); + } + } + } 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 585d40e2a0..243327ddbb 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyRange.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyRange.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -60,11 +70,17 @@ public class KeyRange implements org.apache.thrift.TBase row_filter; // required + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new KeyRangeStandardSchemeFactory()); + schemes.put(TupleScheme.class, new KeyRangeTupleSchemeFactory()); + } + + public ByteBuffer start_key; // optional + public ByteBuffer end_key; // optional + public String start_token; // optional + public String end_token; // optional + public List row_filter; // optional public int count; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ @@ -142,8 +158,8 @@ public class KeyRange implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -181,8 +197,7 @@ public class KeyRange implements org.apache.thrift.TBaseother. */ public KeyRange(KeyRange other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetStart_key()) { this.start_key = org.apache.thrift.TBaseHelper.copyBinary(other.start_key); ; @@ -388,16 +403,16 @@ public class KeyRange implements org.apache.thrift.TBase(_list16.size); - for (int _i17 = 0; _i17 < _list16.size; ++_i17) - { - IndexExpression _elem18; // required - _elem18 = new IndexExpression(); - _elem18.read(iprot); - this.row_filter.add(_elem18); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 5: // COUNT - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.count = iprot.readI32(); - setCountIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - if (!isSetCount()) { - throw new org.apache.thrift.protocol.TProtocolException("Required field 'count' was not found in serialized data! Struct: " + toString()); - } - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.start_key != null) { - if (isSetStart_key()) { - oprot.writeFieldBegin(START_KEY_FIELD_DESC); - oprot.writeBinary(this.start_key); - oprot.writeFieldEnd(); - } - } - if (this.end_key != null) { - if (isSetEnd_key()) { - oprot.writeFieldBegin(END_KEY_FIELD_DESC); - oprot.writeBinary(this.end_key); - oprot.writeFieldEnd(); - } - } - if (this.start_token != null) { - if (isSetStart_token()) { - oprot.writeFieldBegin(START_TOKEN_FIELD_DESC); - oprot.writeString(this.start_token); - oprot.writeFieldEnd(); - } - } - if (this.end_token != null) { - if (isSetEnd_token()) { - oprot.writeFieldBegin(END_TOKEN_FIELD_DESC); - oprot.writeString(this.end_token); - oprot.writeFieldEnd(); - } - } - oprot.writeFieldBegin(COUNT_FIELD_DESC); - oprot.writeI32(this.count); - oprot.writeFieldEnd(); - if (this.row_filter != null) { - if (isSetRow_filter()) { - oprot.writeFieldBegin(ROW_FILTER_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.row_filter.size())); - for (IndexExpression _iter19 : this.row_filter) - { - _iter19.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -878,6 +770,7 @@ public class KeyRange implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, KeyRange struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // START_KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.start_key = iprot.readBinary(); + struct.setStart_keyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // END_KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.end_key = iprot.readBinary(); + struct.setEnd_keyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // START_TOKEN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.start_token = iprot.readString(); + struct.setStart_tokenIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // END_TOKEN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.end_token = iprot.readString(); + struct.setEnd_tokenIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 6: // ROW_FILTER + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list32 = iprot.readListBegin(); + struct.row_filter = new ArrayList(_list32.size); + for (int _i33 = 0; _i33 < _list32.size; ++_i33) + { + IndexExpression _elem34; // required + _elem34 = new IndexExpression(); + _elem34.read(iprot); + struct.row_filter.add(_elem34); + } + iprot.readListEnd(); + } + struct.setRow_filterIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // COUNT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.count = iprot.readI32(); + struct.setCountIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetCount()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'count' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, KeyRange struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.start_key != null) { + if (struct.isSetStart_key()) { + oprot.writeFieldBegin(START_KEY_FIELD_DESC); + oprot.writeBinary(struct.start_key); + oprot.writeFieldEnd(); + } + } + if (struct.end_key != null) { + if (struct.isSetEnd_key()) { + oprot.writeFieldBegin(END_KEY_FIELD_DESC); + oprot.writeBinary(struct.end_key); + oprot.writeFieldEnd(); + } + } + if (struct.start_token != null) { + if (struct.isSetStart_token()) { + oprot.writeFieldBegin(START_TOKEN_FIELD_DESC); + oprot.writeString(struct.start_token); + oprot.writeFieldEnd(); + } + } + if (struct.end_token != null) { + if (struct.isSetEnd_token()) { + oprot.writeFieldBegin(END_TOKEN_FIELD_DESC); + oprot.writeString(struct.end_token); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldBegin(COUNT_FIELD_DESC); + oprot.writeI32(struct.count); + oprot.writeFieldEnd(); + if (struct.row_filter != null) { + if (struct.isSetRow_filter()) { + oprot.writeFieldBegin(ROW_FILTER_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.row_filter.size())); + for (IndexExpression _iter35 : struct.row_filter) + { + _iter35.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class KeyRangeTupleSchemeFactory implements SchemeFactory { + public KeyRangeTupleScheme getScheme() { + return new KeyRangeTupleScheme(); + } + } + + private static class KeyRangeTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, KeyRange struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeI32(struct.count); + BitSet optionals = new BitSet(); + if (struct.isSetStart_key()) { + optionals.set(0); + } + if (struct.isSetEnd_key()) { + optionals.set(1); + } + if (struct.isSetStart_token()) { + optionals.set(2); + } + if (struct.isSetEnd_token()) { + optionals.set(3); + } + if (struct.isSetRow_filter()) { + optionals.set(4); + } + oprot.writeBitSet(optionals, 5); + if (struct.isSetStart_key()) { + oprot.writeBinary(struct.start_key); + } + if (struct.isSetEnd_key()) { + oprot.writeBinary(struct.end_key); + } + if (struct.isSetStart_token()) { + oprot.writeString(struct.start_token); + } + if (struct.isSetEnd_token()) { + oprot.writeString(struct.end_token); + } + if (struct.isSetRow_filter()) { + { + oprot.writeI32(struct.row_filter.size()); + for (IndexExpression _iter36 : struct.row_filter) + { + _iter36.write(oprot); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, KeyRange struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.count = iprot.readI32(); + struct.setCountIsSet(true); + BitSet incoming = iprot.readBitSet(5); + if (incoming.get(0)) { + struct.start_key = iprot.readBinary(); + struct.setStart_keyIsSet(true); + } + if (incoming.get(1)) { + struct.end_key = iprot.readBinary(); + struct.setEnd_keyIsSet(true); + } + if (incoming.get(2)) { + struct.start_token = iprot.readString(); + struct.setStart_tokenIsSet(true); + } + if (incoming.get(3)) { + struct.end_token = iprot.readString(); + struct.setEnd_tokenIsSet(true); + } + if (incoming.get(4)) { + { + org.apache.thrift.protocol.TList _list37 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.row_filter = new ArrayList(_list37.size); + for (int _i38 = 0; _i38 < _list37.size; ++_i38) + { + IndexExpression _elem39; // required + _elem39 = new IndexExpression(); + _elem39.read(iprot); + struct.row_filter.add(_elem39); + } + } + struct.setRow_filterIsSet(true); + } + } + } + } 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 a13c8e01f1..e7de670979 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/KeySlice.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/KeySlice.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -55,6 +65,12 @@ public class KeySlice implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new KeySliceStandardSchemeFactory()); + schemes.put(TupleScheme.class, new KeySliceTupleSchemeFactory()); + } + public ByteBuffer key; // required public List columns; // required @@ -120,7 +136,6 @@ public class KeySlice implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -380,74 +395,11 @@ public class KeySlice implements org.apache.thrift.TBase(_list20.size); - for (int _i21 = 0; _i21 < _list20.size; ++_i21) - { - ColumnOrSuperColumn _elem22; // required - _elem22 = new ColumnOrSuperColumn(); - _elem22.read(iprot); - this.columns.add(_elem22); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.key != null) { - oprot.writeFieldBegin(KEY_FIELD_DESC); - oprot.writeBinary(this.key); - oprot.writeFieldEnd(); - } - if (this.columns != null) { - oprot.writeFieldBegin(COLUMNS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.columns.size())); - for (ColumnOrSuperColumn _iter23 : this.columns) - { - _iter23.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -482,6 +434,7 @@ public class KeySlice implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, KeySlice struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // KEY + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMNS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list40 = iprot.readListBegin(); + struct.columns = new ArrayList(_list40.size); + for (int _i41 = 0; _i41 < _list40.size; ++_i41) + { + ColumnOrSuperColumn _elem42; // required + _elem42 = new ColumnOrSuperColumn(); + _elem42.read(iprot); + struct.columns.add(_elem42); + } + iprot.readListEnd(); + } + struct.setColumnsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, KeySlice struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.key != null) { + oprot.writeFieldBegin(KEY_FIELD_DESC); + oprot.writeBinary(struct.key); + oprot.writeFieldEnd(); + } + if (struct.columns != null) { + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.columns.size())); + for (ColumnOrSuperColumn _iter43 : struct.columns) + { + _iter43.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class KeySliceTupleSchemeFactory implements SchemeFactory { + public KeySliceTupleScheme getScheme() { + return new KeySliceTupleScheme(); + } + } + + private static class KeySliceTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, KeySlice struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.key); + { + oprot.writeI32(struct.columns.size()); + for (ColumnOrSuperColumn _iter44 : struct.columns) + { + _iter44.write(oprot); + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, KeySlice struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.key = iprot.readBinary(); + struct.setKeyIsSet(true); + { + org.apache.thrift.protocol.TList _list45 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.columns = new ArrayList(_list45.size); + for (int _i46 = 0; _i46 < _list45.size; ++_i46) + { + ColumnOrSuperColumn _elem47; // required + _elem47 = new ColumnOrSuperColumn(); + _elem47.read(iprot); + struct.columns.add(_elem47); + } + } + struct.setColumnsIsSet(true); + } + } + } 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 1004a6d73e..c1530a1698 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/KsDef.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/KsDef.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -52,15 +62,21 @@ public class KsDef implements org.apache.thrift.TBase, jav private static final org.apache.thrift.protocol.TField CF_DEFS_FIELD_DESC = new org.apache.thrift.protocol.TField("cf_defs", org.apache.thrift.protocol.TType.LIST, (short)5); private static final org.apache.thrift.protocol.TField DURABLE_WRITES_FIELD_DESC = new org.apache.thrift.protocol.TField("durable_writes", org.apache.thrift.protocol.TType.BOOL, (short)6); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new KsDefStandardSchemeFactory()); + schemes.put(TupleScheme.class, new KsDefTupleSchemeFactory()); + } + public String name; // required public String strategy_class; // required - public Map strategy_options; // required + public Map strategy_options; // optional /** * @deprecated ignored */ - public int replication_factor; // required + public int replication_factor; // optional public List cf_defs; // required - public boolean durable_writes; // required + public boolean durable_writes; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -141,8 +157,8 @@ public class KsDef implements org.apache.thrift.TBase, jav // isset id assignments private static final int __REPLICATION_FACTOR_ISSET_ID = 0; private static final int __DURABLE_WRITES_ISSET_ID = 1; - private BitSet __isset_bit_vector = new BitSet(2); - + private byte __isset_bitfield = 0; + private _Fields optionals[] = {_Fields.STRATEGY_OPTIONS,_Fields.REPLICATION_FACTOR,_Fields.DURABLE_WRITES}; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -185,8 +201,7 @@ public class KsDef implements org.apache.thrift.TBase, jav * Performs a deep copy on other. */ public KsDef(KsDef other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetName()) { this.name = other.name; } @@ -335,16 +350,16 @@ public class KsDef implements org.apache.thrift.TBase, jav } public void unsetReplication_factor() { - __isset_bit_vector.clear(__REPLICATION_FACTOR_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __REPLICATION_FACTOR_ISSET_ID); } /** Returns true if field replication_factor is set (has been assigned a value) and false otherwise */ public boolean isSetReplication_factor() { - return __isset_bit_vector.get(__REPLICATION_FACTOR_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __REPLICATION_FACTOR_ISSET_ID); } public void setReplication_factorIsSet(boolean value) { - __isset_bit_vector.set(__REPLICATION_FACTOR_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REPLICATION_FACTOR_ISSET_ID, value); } public int getCf_defsSize() { @@ -397,16 +412,16 @@ public class KsDef implements org.apache.thrift.TBase, jav } public void unsetDurable_writes() { - __isset_bit_vector.clear(__DURABLE_WRITES_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DURABLE_WRITES_ISSET_ID); } /** Returns true if field durable_writes is set (has been assigned a value) and false otherwise */ public boolean isSetDurable_writes() { - return __isset_bit_vector.get(__DURABLE_WRITES_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __DURABLE_WRITES_ISSET_ID); } public void setDurable_writesIsSet(boolean value) { - __isset_bit_vector.set(__DURABLE_WRITES_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DURABLE_WRITES_ISSET_ID, value); } public void setFieldValue(_Fields field, Object value) { @@ -692,146 +707,11 @@ public class KsDef implements org.apache.thrift.TBase, jav } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // NAME - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.name = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // STRATEGY_CLASS - if (field.type == org.apache.thrift.protocol.TType.STRING) { - this.strategy_class = iprot.readString(); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: // STRATEGY_OPTIONS - if (field.type == org.apache.thrift.protocol.TType.MAP) { - { - org.apache.thrift.protocol.TMap _map60 = iprot.readMapBegin(); - this.strategy_options = new HashMap(2*_map60.size); - for (int _i61 = 0; _i61 < _map60.size; ++_i61) - { - String _key62; // required - String _val63; // required - _key62 = iprot.readString(); - _val63 = iprot.readString(); - this.strategy_options.put(_key62, _val63); - } - iprot.readMapEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // REPLICATION_FACTOR - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.replication_factor = iprot.readI32(); - setReplication_factorIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 5: // CF_DEFS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list64 = iprot.readListBegin(); - this.cf_defs = new ArrayList(_list64.size); - for (int _i65 = 0; _i65 < _list64.size; ++_i65) - { - CfDef _elem66; // required - _elem66 = new CfDef(); - _elem66.read(iprot); - this.cf_defs.add(_elem66); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 6: // DURABLE_WRITES - if (field.type == org.apache.thrift.protocol.TType.BOOL) { - this.durable_writes = iprot.readBool(); - setDurable_writesIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.name != null) { - oprot.writeFieldBegin(NAME_FIELD_DESC); - oprot.writeString(this.name); - oprot.writeFieldEnd(); - } - if (this.strategy_class != null) { - oprot.writeFieldBegin(STRATEGY_CLASS_FIELD_DESC); - oprot.writeString(this.strategy_class); - oprot.writeFieldEnd(); - } - if (this.strategy_options != null) { - if (isSetStrategy_options()) { - oprot.writeFieldBegin(STRATEGY_OPTIONS_FIELD_DESC); - { - oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.strategy_options.size())); - for (Map.Entry _iter67 : this.strategy_options.entrySet()) - { - oprot.writeString(_iter67.getKey()); - oprot.writeString(_iter67.getValue()); - } - oprot.writeMapEnd(); - } - oprot.writeFieldEnd(); - } - } - if (isSetReplication_factor()) { - oprot.writeFieldBegin(REPLICATION_FACTOR_FIELD_DESC); - oprot.writeI32(this.replication_factor); - oprot.writeFieldEnd(); - } - if (this.cf_defs != null) { - oprot.writeFieldBegin(CF_DEFS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.cf_defs.size())); - for (CfDef _iter68 : this.cf_defs) - { - _iter68.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - if (isSetDurable_writes()) { - oprot.writeFieldBegin(DURABLE_WRITES_FIELD_DESC); - oprot.writeBool(this.durable_writes); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -899,6 +779,7 @@ public class KsDef implements org.apache.thrift.TBase, jav if (cf_defs == null) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'cf_defs' was not present! Struct: " + toString()); } + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -912,12 +793,264 @@ public class KsDef implements org.apache.thrift.TBase, jav private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. - __isset_bit_vector = new BitSet(1); + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); } } + private static class KsDefStandardSchemeFactory implements SchemeFactory { + public KsDefStandardScheme getScheme() { + return new KsDefStandardScheme(); + } + } + + private static class KsDefStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, KsDef struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.name = iprot.readString(); + struct.setNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // STRATEGY_CLASS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.strategy_class = iprot.readString(); + struct.setStrategy_classIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // STRATEGY_OPTIONS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map120 = iprot.readMapBegin(); + struct.strategy_options = new HashMap(2*_map120.size); + for (int _i121 = 0; _i121 < _map120.size; ++_i121) + { + String _key122; // required + String _val123; // required + _key122 = iprot.readString(); + _val123 = iprot.readString(); + struct.strategy_options.put(_key122, _val123); + } + iprot.readMapEnd(); + } + struct.setStrategy_optionsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // REPLICATION_FACTOR + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.replication_factor = iprot.readI32(); + struct.setReplication_factorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // CF_DEFS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list124 = iprot.readListBegin(); + struct.cf_defs = new ArrayList(_list124.size); + for (int _i125 = 0; _i125 < _list124.size; ++_i125) + { + CfDef _elem126; // required + _elem126 = new CfDef(); + _elem126.read(iprot); + struct.cf_defs.add(_elem126); + } + iprot.readListEnd(); + } + struct.setCf_defsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 6: // DURABLE_WRITES + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.durable_writes = iprot.readBool(); + struct.setDurable_writesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, KsDef struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.name != null) { + oprot.writeFieldBegin(NAME_FIELD_DESC); + oprot.writeString(struct.name); + oprot.writeFieldEnd(); + } + if (struct.strategy_class != null) { + oprot.writeFieldBegin(STRATEGY_CLASS_FIELD_DESC); + oprot.writeString(struct.strategy_class); + oprot.writeFieldEnd(); + } + if (struct.strategy_options != null) { + if (struct.isSetStrategy_options()) { + oprot.writeFieldBegin(STRATEGY_OPTIONS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.strategy_options.size())); + for (Map.Entry _iter127 : struct.strategy_options.entrySet()) + { + oprot.writeString(_iter127.getKey()); + oprot.writeString(_iter127.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.isSetReplication_factor()) { + oprot.writeFieldBegin(REPLICATION_FACTOR_FIELD_DESC); + oprot.writeI32(struct.replication_factor); + oprot.writeFieldEnd(); + } + if (struct.cf_defs != null) { + oprot.writeFieldBegin(CF_DEFS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.cf_defs.size())); + for (CfDef _iter128 : struct.cf_defs) + { + _iter128.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.isSetDurable_writes()) { + oprot.writeFieldBegin(DURABLE_WRITES_FIELD_DESC); + oprot.writeBool(struct.durable_writes); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class KsDefTupleSchemeFactory implements SchemeFactory { + public KsDefTupleScheme getScheme() { + return new KsDefTupleScheme(); + } + } + + private static class KsDefTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, KsDef struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.name); + oprot.writeString(struct.strategy_class); + { + oprot.writeI32(struct.cf_defs.size()); + for (CfDef _iter129 : struct.cf_defs) + { + _iter129.write(oprot); + } + } + BitSet optionals = new BitSet(); + if (struct.isSetStrategy_options()) { + optionals.set(0); + } + if (struct.isSetReplication_factor()) { + optionals.set(1); + } + if (struct.isSetDurable_writes()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetStrategy_options()) { + { + oprot.writeI32(struct.strategy_options.size()); + for (Map.Entry _iter130 : struct.strategy_options.entrySet()) + { + oprot.writeString(_iter130.getKey()); + oprot.writeString(_iter130.getValue()); + } + } + } + if (struct.isSetReplication_factor()) { + oprot.writeI32(struct.replication_factor); + } + if (struct.isSetDurable_writes()) { + oprot.writeBool(struct.durable_writes); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, KsDef struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.name = iprot.readString(); + struct.setNameIsSet(true); + struct.strategy_class = iprot.readString(); + struct.setStrategy_classIsSet(true); + { + org.apache.thrift.protocol.TList _list131 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.cf_defs = new ArrayList(_list131.size); + for (int _i132 = 0; _i132 < _list131.size; ++_i132) + { + CfDef _elem133; // required + _elem133 = new CfDef(); + _elem133.read(iprot); + struct.cf_defs.add(_elem133); + } + } + struct.setCf_defsIsSet(true); + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TMap _map134 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.strategy_options = new HashMap(2*_map134.size); + for (int _i135 = 0; _i135 < _map134.size; ++_i135) + { + String _key136; // required + String _val137; // required + _key136 = iprot.readString(); + _val137 = iprot.readString(); + struct.strategy_options.put(_key136, _val137); + } + } + struct.setStrategy_optionsIsSet(true); + } + if (incoming.get(1)) { + struct.replication_factor = iprot.readI32(); + struct.setReplication_factorIsSet(true); + } + if (incoming.get(2)) { + struct.durable_writes = iprot.readBool(); + struct.setDurable_writesIsSet(true); + } + } + } + } 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 f267d4baf4..0076e11645 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Mutation.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/Mutation.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -53,8 +63,14 @@ public class Mutation implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new MutationStandardSchemeFactory()); + schemes.put(TupleScheme.class, new MutationTupleSchemeFactory()); + } + + public ColumnOrSuperColumn column_or_supercolumn; // optional + public Deletion deletion; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -118,7 +134,7 @@ public class Mutation implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -338,62 +354,11 @@ public class Mutation implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Mutation struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // COLUMN_OR_SUPERCOLUMN + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.column_or_supercolumn = new ColumnOrSuperColumn(); + struct.column_or_supercolumn.read(iprot); + struct.setColumn_or_supercolumnIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // DELETION + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.deletion = new Deletion(); + struct.deletion.read(iprot); + struct.setDeletionIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Mutation struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.column_or_supercolumn != null) { + if (struct.isSetColumn_or_supercolumn()) { + oprot.writeFieldBegin(COLUMN_OR_SUPERCOLUMN_FIELD_DESC); + struct.column_or_supercolumn.write(oprot); + oprot.writeFieldEnd(); + } + } + if (struct.deletion != null) { + if (struct.isSetDeletion()) { + oprot.writeFieldBegin(DELETION_FIELD_DESC); + struct.deletion.write(oprot); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class MutationTupleSchemeFactory implements SchemeFactory { + public MutationTupleScheme getScheme() { + return new MutationTupleScheme(); + } + } + + private static class MutationTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Mutation struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetColumn_or_supercolumn()) { + optionals.set(0); + } + if (struct.isSetDeletion()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetColumn_or_supercolumn()) { + struct.column_or_supercolumn.write(oprot); + } + if (struct.isSetDeletion()) { + struct.deletion.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Mutation struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.column_or_supercolumn = new ColumnOrSuperColumn(); + struct.column_or_supercolumn.read(iprot); + struct.setColumn_or_supercolumnIsSet(true); + } + if (incoming.get(1)) { + struct.deletion = new Deletion(); + struct.deletion.read(iprot); + struct.setDeletionIsSet(true); + } + } + } + } 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 b05d38c8f1..02d1c26f3e 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -45,10 +55,16 @@ import org.slf4j.LoggerFactory; /** * A specific column was requested that does not exist. */ -public class NotFoundException extends Exception implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { +public class NotFoundException extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NotFoundException"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new NotFoundExceptionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new NotFoundExceptionTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -190,32 +206,11 @@ public class NotFoundException extends Exception implements org.apache.thrift.TB } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -229,6 +224,7 @@ public class NotFoundException extends Exception implements org.apache.thrift.TB public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -247,5 +243,63 @@ public class NotFoundException extends Exception implements org.apache.thrift.TB } } + private static class NotFoundExceptionStandardSchemeFactory implements SchemeFactory { + public NotFoundExceptionStandardScheme getScheme() { + return new NotFoundExceptionStandardScheme(); + } + } + + private static class NotFoundExceptionStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, NotFoundException struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, NotFoundException struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class NotFoundExceptionTupleSchemeFactory implements SchemeFactory { + public NotFoundExceptionTupleScheme getScheme() { + return new NotFoundExceptionTupleScheme(); + } + } + + private static class NotFoundExceptionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, NotFoundException struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, NotFoundException struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/SchemaDisagreementException.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/SchemaDisagreementException.java index 999bdd7625..2f498a6859 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/SchemaDisagreementException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/SchemaDisagreementException.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -48,10 +58,16 @@ import org.slf4j.LoggerFactory; * * schemas are not in agreement across all nodes */ -public class SchemaDisagreementException extends Exception implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { +public class SchemaDisagreementException extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SchemaDisagreementException"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new SchemaDisagreementExceptionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new SchemaDisagreementExceptionTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -193,32 +209,11 @@ public class SchemaDisagreementException extends Exception implements org.apache } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -232,6 +227,7 @@ public class SchemaDisagreementException extends Exception implements org.apache public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -250,5 +246,63 @@ public class SchemaDisagreementException extends Exception implements org.apache } } + private static class SchemaDisagreementExceptionStandardSchemeFactory implements SchemeFactory { + public SchemaDisagreementExceptionStandardScheme getScheme() { + return new SchemaDisagreementExceptionStandardScheme(); + } + } + + private static class SchemaDisagreementExceptionStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, SchemaDisagreementException struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, SchemaDisagreementException struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class SchemaDisagreementExceptionTupleSchemeFactory implements SchemeFactory { + public SchemaDisagreementExceptionTupleScheme getScheme() { + return new SchemaDisagreementExceptionTupleScheme(); + } + } + + private static class SchemaDisagreementExceptionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, SchemaDisagreementException struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, SchemaDisagreementException struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } 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 671e3d0725..0624e93e7f 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/SlicePredicate.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/SlicePredicate.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -60,8 +70,14 @@ public class SlicePredicate implements org.apache.thrift.TBase column_names; // required - public SliceRange slice_range; // required + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new SlicePredicateStandardSchemeFactory()); + schemes.put(TupleScheme.class, new SlicePredicateTupleSchemeFactory()); + } + + public List column_names; // optional + public SliceRange slice_range; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -125,7 +141,7 @@ public class SlicePredicate implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -367,78 +383,11 @@ public class SlicePredicate implements org.apache.thrift.TBase(_list8.size); - for (int _i9 = 0; _i9 < _list8.size; ++_i9) - { - ByteBuffer _elem10; // required - _elem10 = iprot.readBinary(); - this.column_names.add(_elem10); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // SLICE_RANGE - if (field.type == org.apache.thrift.protocol.TType.STRUCT) { - this.slice_range = new SliceRange(); - this.slice_range.read(iprot); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.column_names != null) { - if (isSetColumn_names()) { - oprot.writeFieldBegin(COLUMN_NAMES_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.column_names.size())); - for (ByteBuffer _iter11 : this.column_names) - { - oprot.writeBinary(_iter11); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - } - if (this.slice_range != null) { - if (isSetSlice_range()) { - oprot.writeFieldBegin(SLICE_RANGE_FIELD_DESC); - this.slice_range.write(oprot); - oprot.writeFieldEnd(); - } - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -471,6 +420,10 @@ public class SlicePredicate implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, SlicePredicate struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // COLUMN_NAMES + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list16 = iprot.readListBegin(); + struct.column_names = new ArrayList(_list16.size); + for (int _i17 = 0; _i17 < _list16.size; ++_i17) + { + ByteBuffer _elem18; // required + _elem18 = iprot.readBinary(); + struct.column_names.add(_elem18); + } + iprot.readListEnd(); + } + struct.setColumn_namesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SLICE_RANGE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.slice_range = new SliceRange(); + struct.slice_range.read(iprot); + struct.setSlice_rangeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, SlicePredicate struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.column_names != null) { + if (struct.isSetColumn_names()) { + oprot.writeFieldBegin(COLUMN_NAMES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.column_names.size())); + for (ByteBuffer _iter19 : struct.column_names) + { + oprot.writeBinary(_iter19); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.slice_range != null) { + if (struct.isSetSlice_range()) { + oprot.writeFieldBegin(SLICE_RANGE_FIELD_DESC); + struct.slice_range.write(oprot); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class SlicePredicateTupleSchemeFactory implements SchemeFactory { + public SlicePredicateTupleScheme getScheme() { + return new SlicePredicateTupleScheme(); + } + } + + private static class SlicePredicateTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, SlicePredicate struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetColumn_names()) { + optionals.set(0); + } + if (struct.isSetSlice_range()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetColumn_names()) { + { + oprot.writeI32(struct.column_names.size()); + for (ByteBuffer _iter20 : struct.column_names) + { + oprot.writeBinary(_iter20); + } + } + } + if (struct.isSetSlice_range()) { + struct.slice_range.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, SlicePredicate struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.column_names = new ArrayList(_list21.size); + for (int _i22 = 0; _i22 < _list21.size; ++_i22) + { + ByteBuffer _elem23; // required + _elem23 = iprot.readBinary(); + struct.column_names.add(_elem23); + } + } + struct.setColumn_namesIsSet(true); + } + if (incoming.get(1)) { + struct.slice_range = new SliceRange(); + struct.slice_range.read(iprot); + struct.setSlice_rangeIsSet(true); + } + } + } + } 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 d66ce58f19..543265cb3f 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/SliceRange.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/SliceRange.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -66,6 +76,12 @@ public class SliceRange implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new SliceRangeStandardSchemeFactory()); + schemes.put(TupleScheme.class, new SliceRangeTupleSchemeFactory()); + } + public ByteBuffer start; // required public ByteBuffer finish; // required public boolean reversed; // required @@ -141,8 +157,7 @@ public class SliceRange implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -184,8 +199,7 @@ public class SliceRange implements org.apache.thrift.TBaseother. */ public SliceRange(SliceRange other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; if (other.isSetStart()) { this.start = org.apache.thrift.TBaseHelper.copyBinary(other.start); ; @@ -291,16 +305,16 @@ public class SliceRange implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, SliceRange struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // START + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.start = iprot.readBinary(); + struct.setStartIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // FINISH + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.finish = iprot.readBinary(); + struct.setFinishIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // REVERSED + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.reversed = iprot.readBool(); + struct.setReversedIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // COUNT + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.count = iprot.readI32(); + struct.setCountIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetReversed()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'reversed' was not found in serialized data! Struct: " + toString()); + } + if (!struct.isSetCount()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'count' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, SliceRange struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.start != null) { + oprot.writeFieldBegin(START_FIELD_DESC); + oprot.writeBinary(struct.start); + oprot.writeFieldEnd(); + } + if (struct.finish != null) { + oprot.writeFieldBegin(FINISH_FIELD_DESC); + oprot.writeBinary(struct.finish); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(REVERSED_FIELD_DESC); + oprot.writeBool(struct.reversed); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(COUNT_FIELD_DESC); + oprot.writeI32(struct.count); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class SliceRangeTupleSchemeFactory implements SchemeFactory { + public SliceRangeTupleScheme getScheme() { + return new SliceRangeTupleScheme(); + } + } + + private static class SliceRangeTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, SliceRange struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.start); + oprot.writeBinary(struct.finish); + oprot.writeBool(struct.reversed); + oprot.writeI32(struct.count); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, SliceRange struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.start = iprot.readBinary(); + struct.setStartIsSet(true); + struct.finish = iprot.readBinary(); + struct.setFinishIsSet(true); + struct.reversed = iprot.readBool(); + struct.setReversedIsSet(true); + struct.count = iprot.readI32(); + struct.setCountIsSet(true); + } + } + } 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 776fede83f..3a30a215e7 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -54,6 +64,12 @@ public class SuperColumn implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new SuperColumnStandardSchemeFactory()); + schemes.put(TupleScheme.class, new SuperColumnTupleSchemeFactory()); + } + public ByteBuffer name; // required public List columns; // required @@ -119,7 +135,6 @@ public class SuperColumn implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -379,74 +394,11 @@ public class SuperColumn implements org.apache.thrift.TBase(_list0.size); - for (int _i1 = 0; _i1 < _list0.size; ++_i1) - { - Column _elem2; // required - _elem2 = new Column(); - _elem2.read(iprot); - this.columns.add(_elem2); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.name != null) { - oprot.writeFieldBegin(NAME_FIELD_DESC); - oprot.writeBinary(this.name); - oprot.writeFieldEnd(); - } - if (this.columns != null) { - oprot.writeFieldBegin(COLUMNS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.columns.size())); - for (Column _iter3 : this.columns) - { - _iter3.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -481,6 +433,7 @@ public class SuperColumn implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, SuperColumn struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.name = iprot.readBinary(); + struct.setNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // COLUMNS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list0 = iprot.readListBegin(); + struct.columns = new ArrayList(_list0.size); + for (int _i1 = 0; _i1 < _list0.size; ++_i1) + { + Column _elem2; // required + _elem2 = new Column(); + _elem2.read(iprot); + struct.columns.add(_elem2); + } + iprot.readListEnd(); + } + struct.setColumnsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, SuperColumn struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.name != null) { + oprot.writeFieldBegin(NAME_FIELD_DESC); + oprot.writeBinary(struct.name); + oprot.writeFieldEnd(); + } + if (struct.columns != null) { + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.columns.size())); + for (Column _iter3 : struct.columns) + { + _iter3.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class SuperColumnTupleSchemeFactory implements SchemeFactory { + public SuperColumnTupleScheme getScheme() { + return new SuperColumnTupleScheme(); + } + } + + private static class SuperColumnTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, SuperColumn struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBinary(struct.name); + { + oprot.writeI32(struct.columns.size()); + for (Column _iter4 : struct.columns) + { + _iter4.write(oprot); + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, SuperColumn struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.name = iprot.readBinary(); + struct.setNameIsSet(true); + { + org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.columns = new ArrayList(_list5.size); + for (int _i6 = 0; _i6 < _list5.size; ++_i6) + { + Column _elem7; // required + _elem7 = new Column(); + _elem7.read(iprot); + struct.columns.add(_elem7); + } + } + struct.setColumnsIsSet(true); + } + } + } 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 0a53222924..3112c98542 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/TimedOutException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/TimedOutException.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -45,23 +55,29 @@ import org.slf4j.LoggerFactory; /** * 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 org.apache.thrift.TBase, java.io.Serializable, Cloneable { +public class TimedOutException extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TimedOutException"); private static final org.apache.thrift.protocol.TField ACKNOWLEDGED_BY_FIELD_DESC = new org.apache.thrift.protocol.TField("acknowledged_by", org.apache.thrift.protocol.TType.I32, (short)1); private static final org.apache.thrift.protocol.TField ACKNOWLEDGED_BY_BATCHLOG_FIELD_DESC = new org.apache.thrift.protocol.TField("acknowledged_by_batchlog", org.apache.thrift.protocol.TType.BOOL, (short)2); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new TimedOutExceptionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new TimedOutExceptionTupleSchemeFactory()); + } + /** * if a write operation was acknowledged by some replicas but not by enough to * satisfy the required ConsistencyLevel, the number of successful * replies will be given here. In case of atomic_batch_mutate method this field * will be set to -1 if the batch was written to the batchlog and to 0 if it wasn't. */ - public int acknowledged_by; // required + public int acknowledged_by; // optional /** * in case of atomic_batch_mutate method this field tells if the batch was written to the batchlog. */ - public boolean acknowledged_by_batchlog; // required + public boolean acknowledged_by_batchlog; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -136,8 +152,8 @@ public class TimedOutException extends Exception implements org.apache.thrift.TB // isset id assignments private static final int __ACKNOWLEDGED_BY_ISSET_ID = 0; private static final int __ACKNOWLEDGED_BY_BATCHLOG_ISSET_ID = 1; - private BitSet __isset_bit_vector = new BitSet(2); - + private byte __isset_bitfield = 0; + private _Fields optionals[] = {_Fields.ACKNOWLEDGED_BY,_Fields.ACKNOWLEDGED_BY_BATCHLOG}; public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -156,8 +172,7 @@ public class TimedOutException extends Exception implements org.apache.thrift.TB * Performs a deep copy on other. */ public TimedOutException(TimedOutException other) { - __isset_bit_vector.clear(); - __isset_bit_vector.or(other.__isset_bit_vector); + __isset_bitfield = other.__isset_bitfield; this.acknowledged_by = other.acknowledged_by; this.acknowledged_by_batchlog = other.acknowledged_by_batchlog; } @@ -197,16 +212,16 @@ public class TimedOutException extends Exception implements org.apache.thrift.TB } public void unsetAcknowledged_by() { - __isset_bit_vector.clear(__ACKNOWLEDGED_BY_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ACKNOWLEDGED_BY_ISSET_ID); } /** Returns true if field acknowledged_by is set (has been assigned a value) and false otherwise */ public boolean isSetAcknowledged_by() { - return __isset_bit_vector.get(__ACKNOWLEDGED_BY_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __ACKNOWLEDGED_BY_ISSET_ID); } public void setAcknowledged_byIsSet(boolean value) { - __isset_bit_vector.set(__ACKNOWLEDGED_BY_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ACKNOWLEDGED_BY_ISSET_ID, value); } /** @@ -226,16 +241,16 @@ public class TimedOutException extends Exception implements org.apache.thrift.TB } public void unsetAcknowledged_by_batchlog() { - __isset_bit_vector.clear(__ACKNOWLEDGED_BY_BATCHLOG_ISSET_ID); + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ACKNOWLEDGED_BY_BATCHLOG_ISSET_ID); } /** Returns true if field acknowledged_by_batchlog is set (has been assigned a value) and false otherwise */ public boolean isSetAcknowledged_by_batchlog() { - return __isset_bit_vector.get(__ACKNOWLEDGED_BY_BATCHLOG_ISSET_ID); + return EncodingUtils.testBit(__isset_bitfield, __ACKNOWLEDGED_BY_BATCHLOG_ISSET_ID); } public void setAcknowledged_by_batchlogIsSet(boolean value) { - __isset_bit_vector.set(__ACKNOWLEDGED_BY_BATCHLOG_ISSET_ID, value); + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ACKNOWLEDGED_BY_BATCHLOG_ISSET_ID, value); } public void setFieldValue(_Fields field, Object value) { @@ -373,58 +388,11 @@ public class TimedOutException extends Exception implements org.apache.thrift.TB } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - case 1: // ACKNOWLEDGED_BY - if (field.type == org.apache.thrift.protocol.TType.I32) { - this.acknowledged_by = iprot.readI32(); - setAcknowledged_byIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: // ACKNOWLEDGED_BY_BATCHLOG - if (field.type == org.apache.thrift.protocol.TType.BOOL) { - this.acknowledged_by_batchlog = iprot.readBool(); - setAcknowledged_by_batchlogIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (isSetAcknowledged_by()) { - oprot.writeFieldBegin(ACKNOWLEDGED_BY_FIELD_DESC); - oprot.writeI32(this.acknowledged_by); - oprot.writeFieldEnd(); - } - if (isSetAcknowledged_by_batchlog()) { - oprot.writeFieldBegin(ACKNOWLEDGED_BY_BATCHLOG_FIELD_DESC); - oprot.writeBool(this.acknowledged_by_batchlog); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -449,6 +417,7 @@ public class TimedOutException extends Exception implements org.apache.thrift.TB public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -462,12 +431,119 @@ public class TimedOutException extends Exception implements org.apache.thrift.TB private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { try { // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. - __isset_bit_vector = new BitSet(1); + __isset_bitfield = 0; read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); } catch (org.apache.thrift.TException te) { throw new java.io.IOException(te); } } + private static class TimedOutExceptionStandardSchemeFactory implements SchemeFactory { + public TimedOutExceptionStandardScheme getScheme() { + return new TimedOutExceptionStandardScheme(); + } + } + + private static class TimedOutExceptionStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, TimedOutException struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // ACKNOWLEDGED_BY + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.acknowledged_by = iprot.readI32(); + struct.setAcknowledged_byIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // ACKNOWLEDGED_BY_BATCHLOG + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.acknowledged_by_batchlog = iprot.readBool(); + struct.setAcknowledged_by_batchlogIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, TimedOutException struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.isSetAcknowledged_by()) { + oprot.writeFieldBegin(ACKNOWLEDGED_BY_FIELD_DESC); + oprot.writeI32(struct.acknowledged_by); + oprot.writeFieldEnd(); + } + if (struct.isSetAcknowledged_by_batchlog()) { + oprot.writeFieldBegin(ACKNOWLEDGED_BY_BATCHLOG_FIELD_DESC); + oprot.writeBool(struct.acknowledged_by_batchlog); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class TimedOutExceptionTupleSchemeFactory implements SchemeFactory { + public TimedOutExceptionTupleScheme getScheme() { + return new TimedOutExceptionTupleScheme(); + } + } + + private static class TimedOutExceptionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, TimedOutException struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetAcknowledged_by()) { + optionals.set(0); + } + if (struct.isSetAcknowledged_by_batchlog()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetAcknowledged_by()) { + oprot.writeI32(struct.acknowledged_by); + } + if (struct.isSetAcknowledged_by_batchlog()) { + oprot.writeBool(struct.acknowledged_by_batchlog); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, TimedOutException struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.acknowledged_by = iprot.readI32(); + struct.setAcknowledged_byIsSet(true); + } + if (incoming.get(1)) { + struct.acknowledged_by_batchlog = iprot.readBool(); + struct.setAcknowledged_by_batchlogIsSet(true); + } + } + } + } 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 bcf57269c5..1393fd5197 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -59,11 +69,17 @@ public class TokenRange implements org.apache.thrift.TBase, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new TokenRangeStandardSchemeFactory()); + schemes.put(TupleScheme.class, new TokenRangeTupleSchemeFactory()); + } + public String start_token; // required public String end_token; // required public List endpoints; // required - public List rpc_endpoints; // required - public List endpoint_details; // required + public List rpc_endpoints; // optional + public List endpoint_details; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -136,7 +152,7 @@ public class TokenRange implements org.apache.thrift.TBase metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); @@ -628,148 +644,11 @@ public class TokenRange implements org.apache.thrift.TBase(_list24.size); - for (int _i25 = 0; _i25 < _list24.size; ++_i25) - { - String _elem26; // required - _elem26 = iprot.readString(); - this.endpoints.add(_elem26); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 4: // RPC_ENDPOINTS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list27 = iprot.readListBegin(); - this.rpc_endpoints = new ArrayList(_list27.size); - for (int _i28 = 0; _i28 < _list27.size; ++_i28) - { - String _elem29; // required - _elem29 = iprot.readString(); - this.rpc_endpoints.add(_elem29); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - case 5: // ENDPOINT_DETAILS - if (field.type == org.apache.thrift.protocol.TType.LIST) { - { - org.apache.thrift.protocol.TList _list30 = iprot.readListBegin(); - this.endpoint_details = new ArrayList(_list30.size); - for (int _i31 = 0; _i31 < _list30.size; ++_i31) - { - EndpointDetails _elem32; // required - _elem32 = new EndpointDetails(); - _elem32.read(iprot); - this.endpoint_details.add(_elem32); - } - iprot.readListEnd(); - } - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - break; - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - if (this.start_token != null) { - oprot.writeFieldBegin(START_TOKEN_FIELD_DESC); - oprot.writeString(this.start_token); - oprot.writeFieldEnd(); - } - if (this.end_token != null) { - oprot.writeFieldBegin(END_TOKEN_FIELD_DESC); - oprot.writeString(this.end_token); - oprot.writeFieldEnd(); - } - if (this.endpoints != null) { - oprot.writeFieldBegin(ENDPOINTS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.endpoints.size())); - for (String _iter33 : this.endpoints) - { - oprot.writeString(_iter33); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - if (this.rpc_endpoints != null) { - if (isSetRpc_endpoints()) { - oprot.writeFieldBegin(RPC_ENDPOINTS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.rpc_endpoints.size())); - for (String _iter34 : this.rpc_endpoints) - { - oprot.writeString(_iter34); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - } - if (this.endpoint_details != null) { - if (isSetEndpoint_details()) { - oprot.writeFieldBegin(ENDPOINT_DETAILS_FIELD_DESC); - { - oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, this.endpoint_details.size())); - for (EndpointDetails _iter35 : this.endpoint_details) - { - _iter35.write(oprot); - } - oprot.writeListEnd(); - } - oprot.writeFieldEnd(); - } - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -835,6 +714,7 @@ public class TokenRange implements org.apache.thrift.TBase { + + public void read(org.apache.thrift.protocol.TProtocol iprot, TokenRange struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // START_TOKEN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.start_token = iprot.readString(); + struct.setStart_tokenIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // END_TOKEN + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.end_token = iprot.readString(); + struct.setEnd_tokenIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // ENDPOINTS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list48 = iprot.readListBegin(); + struct.endpoints = new ArrayList(_list48.size); + for (int _i49 = 0; _i49 < _list48.size; ++_i49) + { + String _elem50; // required + _elem50 = iprot.readString(); + struct.endpoints.add(_elem50); + } + iprot.readListEnd(); + } + struct.setEndpointsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // RPC_ENDPOINTS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list51 = iprot.readListBegin(); + struct.rpc_endpoints = new ArrayList(_list51.size); + for (int _i52 = 0; _i52 < _list51.size; ++_i52) + { + String _elem53; // required + _elem53 = iprot.readString(); + struct.rpc_endpoints.add(_elem53); + } + iprot.readListEnd(); + } + struct.setRpc_endpointsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // ENDPOINT_DETAILS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list54 = iprot.readListBegin(); + struct.endpoint_details = new ArrayList(_list54.size); + for (int _i55 = 0; _i55 < _list54.size; ++_i55) + { + EndpointDetails _elem56; // required + _elem56 = new EndpointDetails(); + _elem56.read(iprot); + struct.endpoint_details.add(_elem56); + } + iprot.readListEnd(); + } + struct.setEndpoint_detailsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, TokenRange struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.start_token != null) { + oprot.writeFieldBegin(START_TOKEN_FIELD_DESC); + oprot.writeString(struct.start_token); + oprot.writeFieldEnd(); + } + if (struct.end_token != null) { + oprot.writeFieldBegin(END_TOKEN_FIELD_DESC); + oprot.writeString(struct.end_token); + oprot.writeFieldEnd(); + } + if (struct.endpoints != null) { + oprot.writeFieldBegin(ENDPOINTS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.endpoints.size())); + for (String _iter57 : struct.endpoints) + { + oprot.writeString(_iter57); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.rpc_endpoints != null) { + if (struct.isSetRpc_endpoints()) { + oprot.writeFieldBegin(RPC_ENDPOINTS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.rpc_endpoints.size())); + for (String _iter58 : struct.rpc_endpoints) + { + oprot.writeString(_iter58); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + if (struct.endpoint_details != null) { + if (struct.isSetEndpoint_details()) { + oprot.writeFieldBegin(ENDPOINT_DETAILS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.endpoint_details.size())); + for (EndpointDetails _iter59 : struct.endpoint_details) + { + _iter59.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class TokenRangeTupleSchemeFactory implements SchemeFactory { + public TokenRangeTupleScheme getScheme() { + return new TokenRangeTupleScheme(); + } + } + + private static class TokenRangeTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, TokenRange struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.start_token); + oprot.writeString(struct.end_token); + { + oprot.writeI32(struct.endpoints.size()); + for (String _iter60 : struct.endpoints) + { + oprot.writeString(_iter60); + } + } + BitSet optionals = new BitSet(); + if (struct.isSetRpc_endpoints()) { + optionals.set(0); + } + if (struct.isSetEndpoint_details()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetRpc_endpoints()) { + { + oprot.writeI32(struct.rpc_endpoints.size()); + for (String _iter61 : struct.rpc_endpoints) + { + oprot.writeString(_iter61); + } + } + } + if (struct.isSetEndpoint_details()) { + { + oprot.writeI32(struct.endpoint_details.size()); + for (EndpointDetails _iter62 : struct.endpoint_details) + { + _iter62.write(oprot); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, TokenRange struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.start_token = iprot.readString(); + struct.setStart_tokenIsSet(true); + struct.end_token = iprot.readString(); + struct.setEnd_tokenIsSet(true); + { + org.apache.thrift.protocol.TList _list63 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.endpoints = new ArrayList(_list63.size); + for (int _i64 = 0; _i64 < _list63.size; ++_i64) + { + String _elem65; // required + _elem65 = iprot.readString(); + struct.endpoints.add(_elem65); + } + } + struct.setEndpointsIsSet(true); + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list66 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.rpc_endpoints = new ArrayList(_list66.size); + for (int _i67 = 0; _i67 < _list66.size; ++_i67) + { + String _elem68; // required + _elem68 = iprot.readString(); + struct.rpc_endpoints.add(_elem68); + } + } + struct.setRpc_endpointsIsSet(true); + } + if (incoming.get(1)) { + { + org.apache.thrift.protocol.TList _list69 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.endpoint_details = new ArrayList(_list69.size); + for (int _i70 = 0; _i70 < _list69.size; ++_i70) + { + EndpointDetails _elem71; // required + _elem71 = new EndpointDetails(); + _elem71.read(iprot); + struct.endpoint_details.add(_elem71); + } + } + struct.setEndpoint_detailsIsSet(true); + } + } + } + } 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 da4d7a006c..a59b3dc1e6 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/UnavailableException.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/UnavailableException.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -45,10 +55,16 @@ import org.slf4j.LoggerFactory; /** * Not all the replicas required could be created and/or read. */ -public class UnavailableException extends Exception implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { +public class UnavailableException extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnavailableException"); + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new UnavailableExceptionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new UnavailableExceptionTupleSchemeFactory()); + } + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -190,32 +206,11 @@ public class UnavailableException extends Exception implements org.apache.thrift } public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { - org.apache.thrift.protocol.TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == org.apache.thrift.protocol.TType.STOP) { - break; - } - switch (field.id) { - default: - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type); - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - - // check for required fields of primitive type, which can't be checked in the validate method - validate(); + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); } public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { - validate(); - - oprot.writeStructBegin(STRUCT_DESC); - oprot.writeFieldStop(); - oprot.writeStructEnd(); + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); } @Override @@ -229,6 +224,7 @@ public class UnavailableException extends Exception implements org.apache.thrift public void validate() throws org.apache.thrift.TException { // check for required fields + // check for sub-struct validity } private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { @@ -247,5 +243,63 @@ public class UnavailableException extends Exception implements org.apache.thrift } } + private static class UnavailableExceptionStandardSchemeFactory implements SchemeFactory { + public UnavailableExceptionStandardScheme getScheme() { + return new UnavailableExceptionStandardScheme(); + } + } + + private static class UnavailableExceptionStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, UnavailableException struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, UnavailableException struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class UnavailableExceptionTupleSchemeFactory implements SchemeFactory { + public UnavailableExceptionTupleScheme getScheme() { + return new UnavailableExceptionTupleScheme(); + } + } + + private static class UnavailableExceptionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, UnavailableException struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, UnavailableException struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + } diff --git a/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java b/interface/thrift/gen-java/org/apache/cassandra/thrift/cassandraConstants.java similarity index 75% rename from interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java rename to interface/thrift/gen-java/org/apache/cassandra/thrift/cassandraConstants.java index d8ab801be1..c17fde4d46 100644 --- a/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java +++ b/interface/thrift/gen-java/org/apache/cassandra/thrift/cassandraConstants.java @@ -1,7 +1,8 @@ /** - * Autogenerated by Thrift Compiler (0.7.0) + * Autogenerated by Thrift Compiler (0.9.0) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated */ package org.apache.cassandra.thrift; /* @@ -27,6 +28,15 @@ package org.apache.cassandra.thrift; import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; import java.util.List; import java.util.ArrayList; import java.util.Map; @@ -42,7 +52,7 @@ import java.util.Arrays; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class Constants { +public class cassandraConstants { public static final String VERSION = "19.36.0"; diff --git a/lib/libthrift-0.7.0.jar b/lib/libthrift-0.7.0.jar deleted file mode 100644 index a0cc17562061822f3615c875a9ecfa2ff72a0437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301547 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�Q= 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

Y&F!gTq1d;=*omX#3onIpQg$bn%jK~<(An? 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

Z&H#|0UE%UN(-Xk%y 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 literal 0 HcmV?d00001 diff --git a/lib/licenses/libthrift-0.7.txt b/lib/licenses/libthrift-0.9.txt similarity index 100% rename from lib/licenses/libthrift-0.7.txt rename to lib/licenses/libthrift-0.9.txt diff --git a/src/java/org/apache/cassandra/cli/CliMain.java b/src/java/org/apache/cassandra/cli/CliMain.java index a3477478be..3f6ef02e61 100644 --- a/src/java/org/apache/cassandra/cli/CliMain.java +++ b/src/java/org/apache/cassandra/cli/CliMain.java @@ -127,16 +127,16 @@ public class CliMain sessionState.err.println("Keyspace " + sessionState.keyspace + " not found"); return; } - catch (TException e) - { - sessionState.err.println("Did you specify 'keyspace'?"); - return; - } catch (NotFoundException e) { sessionState.err.println("Keyspace " + sessionState.keyspace + " not found"); return; } + catch (TException e) + { + sessionState.err.println("Did you specify 'keyspace'?"); + return; + } } // Lookup the cluster name, this is to make it clear which cluster the user is connected to diff --git a/src/java/org/apache/cassandra/db/SystemTable.java b/src/java/org/apache/cassandra/db/SystemTable.java index 940300cb67..70a254769c 100644 --- a/src/java/org/apache/cassandra/db/SystemTable.java +++ b/src/java/org/apache/cassandra/db/SystemTable.java @@ -52,7 +52,7 @@ import org.apache.cassandra.io.util.DataOutputBuffer; import org.apache.cassandra.io.util.FastByteArrayOutputStream; import org.apache.cassandra.locator.IEndpointSnitch; import org.apache.cassandra.service.StorageService; -import org.apache.cassandra.thrift.Constants; +import org.apache.cassandra.thrift.cassandraConstants; import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.CounterId; import org.apache.cassandra.utils.FBUtilities; @@ -139,7 +139,7 @@ public class SystemTable LOCAL_KEY, FBUtilities.getReleaseVersionString(), QueryProcessor.CQL_VERSION.toString(), - Constants.VERSION, + cassandraConstants.VERSION, snitch.getDatacenter(FBUtilities.getBroadcastAddress()), snitch.getRack(FBUtilities.getBroadcastAddress()), DatabaseDescriptor.getPartitioner().getClass().getName())); diff --git a/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java b/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java index a78a4ca97b..2d153ab9c1 100644 --- a/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java +++ b/src/java/org/apache/cassandra/hadoop/ColumnFamilyInputFormat.java @@ -271,11 +271,11 @@ public class ColumnFamilyInputFormat extends InputFormat describe_ring(String keyspace) throws InvalidRequestException diff --git a/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java b/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java index a199a27fbb..4606fbccde 100644 --- a/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java +++ b/src/java/org/apache/cassandra/thrift/CustomTHsHaServer.java @@ -17,16 +17,8 @@ */ package org.apache.cassandra.thrift; -import java.io.IOException; import java.net.InetSocketAddress; -import java.nio.channels.SelectionKey; -import java.nio.channels.Selector; -import java.nio.channels.spi.SelectorProvider; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; import java.util.concurrent.ExecutorService; -import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.SynchronousQueue; import java.util.concurrent.TimeUnit; @@ -37,11 +29,10 @@ import org.slf4j.LoggerFactory; import org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor; import org.apache.cassandra.concurrent.NamedThreadFactory; import org.apache.cassandra.config.DatabaseDescriptor; -import org.apache.thrift.server.TNonblockingServer; +import org.apache.thrift.server.THsHaServer; import org.apache.thrift.server.TServer; import org.apache.thrift.transport.TNonblockingServerTransport; import org.apache.thrift.transport.TNonblockingSocket; -import org.apache.thrift.transport.TNonblockingTransport; import org.apache.thrift.transport.TTransportException; /** @@ -51,12 +42,9 @@ import org.apache.thrift.transport.TTransportException; * it is spread across multiple threads. Number of selector thread can be the * number of CPU available. */ -public class CustomTHsHaServer extends TNonblockingServer +public class CustomTHsHaServer extends THsHaServer { private static final Logger LOGGER = LoggerFactory.getLogger(CustomTHsHaServer.class.getName()); - private final Set ioThreads = new HashSet(); - private volatile boolean stopped = true; - private final ExecutorService invoker; /** * All the arguments to Non Blocking Server will apply here. In addition, @@ -64,290 +52,19 @@ public class CustomTHsHaServer extends TNonblockingServer * will process the data. threads for selection usually are equal to the * number of cpu's */ - public CustomTHsHaServer(Args args, ExecutorService invoker, int threadCount) + public CustomTHsHaServer(Args args) { super(args); - this.invoker = invoker; - // Create all the Network IO Threads. - for (int i = 0; i < threadCount; ++i) - ioThreads.add(new SelectorThread("Selector-Thread-" + i)); } - /** @inheritDoc */ - @Override - public void serve() + protected boolean requestInvoke(FrameBuffer frameBuffer) { - if (!startListening()) - return; - if (!startThreads()) - return; - setServing(true); - joinSelector(); - invoker.shutdown(); - setServing(false); - stopListening(); - } - - /** - * Save the remote socket as a thead local for future use of client state. - */ - protected class Invocation implements Runnable - { - private final FrameBuffer frameBuffer; - private final SelectorThread thread; - - public Invocation(final FrameBuffer frameBuffer, SelectorThread thread) - { - this.frameBuffer = frameBuffer; - this.thread = thread; - } - - public void run() - { - TNonblockingSocket socket = (TNonblockingSocket) frameBuffer.trans_; - ThriftSessionManager.instance.setCurrentSocket(socket.getSocketChannel().socket().getRemoteSocketAddress()); - frameBuffer.invoke(); - // this is how we let the same selector thread change the selection type. - thread.requestSelectInterestChange(frameBuffer); - } - } - - protected boolean startThreads() - { - stopped = false; - // start all the threads. - for (SelectorThread thread : ioThreads) - thread.start(); + TNonblockingSocket socket = (TNonblockingSocket) frameBuffer.trans_; + ThriftSessionManager.instance.setCurrentSocket(socket.getSocketChannel().socket().getRemoteSocketAddress()); + frameBuffer.invoke(); return true; } - @Override - protected void joinSelector() - { - try - { - // wait till all done with stuff's - for (SelectorThread thread : ioThreads) - thread.join(); - } - catch (InterruptedException e) - { - LOGGER.error("Interrupted while joining threads!", e); - } - } - - /** - * Stop serving and shut everything down. - */ - @Override - public void stop() - { - stopListening(); - stopped = true; - for (SelectorThread thread : ioThreads) - thread.wakeupSelector(); - joinSelector(); - } - - /** - * IO Threads will perform expensive IO operations... - */ - protected class SelectorThread extends Thread - { - private final Selector selector; - private final TNonblockingServerTransport serverTransport; - private final Set selectInterestChanges = new HashSet(); - - public SelectorThread(String name) - { - super(name); - try - { - this.selector = SelectorProvider.provider().openSelector(); - this.serverTransport = (TNonblockingServerTransport) serverTransport_; - this.serverTransport.registerSelector(selector); - } - catch (IOException ex) - { - throw new RuntimeException("Couldnt open the NIO selector", ex); - } - } - - public void run() - { - try - { - while (!stopped) - { - select(); - } - } - catch (Throwable t) - { - LOGGER.error("Uncaught Exception: ", t); - } - finally - { - try - { - selector.close(); // CASSANDRA-3867 - } - catch (IOException e) - { - // ignore this exception. - } - } - } - - private void select() throws InterruptedException, IOException - { - // wait for new keys - selector.select(); - Iterator keyIterator = selector.selectedKeys().iterator(); - while (keyIterator.hasNext()) - { - SelectionKey key = keyIterator.next(); - keyIterator.remove(); - - try - { - if (!key.isValid()) - { - // if invalid cleanup. - cleanupSelectionkey(key); - continue; - } - - if (key.isAcceptable()) - handleAccept(); - if (key.isReadable()) - handleRead(key); - else if (key.isWritable()) - handleWrite(key); - else - LOGGER.debug("Unexpected state " + key.interestOps()); - } - catch (Exception io) - { - // just ignore (?) - cleanupSelectionkey(key); - } - } - // process the changes which are inserted after completion. - processInterestChanges(); - } - - private void handleAccept() - { - SelectionKey clientKey = null; - TNonblockingTransport client = null; - try - { - // accept the connection - client = (TNonblockingTransport) serverTransport.accept(); - clientKey = client.registerSelector(selector, SelectionKey.OP_READ); - // add this key to the map - FrameBuffer frameBuffer = new FrameBuffer(client, clientKey); - clientKey.attach(frameBuffer); - } catch (TTransportException ex) - { - // ignore this might have been handled by the other threads. - // serverTransport.accept() as it returns null as nothing to accept. - return; - } - catch (IOException tte) - { - // something went wrong accepting. - LOGGER.warn("Exception trying to accept!", tte); - tte.printStackTrace(); - if (clientKey != null) - cleanupSelectionkey(clientKey); - if (client != null) - client.close(); - } - } - - private void handleRead(SelectionKey key) - { - FrameBuffer buffer = (FrameBuffer) key.attachment(); - if (!buffer.read()) - { - cleanupSelectionkey(key); - return; - } - - if (buffer.isFrameFullyRead()) - { - if (!requestInvoke(buffer, this)) - cleanupSelectionkey(key); - } - } - - private void handleWrite(SelectionKey key) - { - FrameBuffer buffer = (FrameBuffer) key.attachment(); - if (!buffer.write()) - cleanupSelectionkey(key); - } - - public void requestSelectInterestChange(FrameBuffer frameBuffer) - { - synchronized (selectInterestChanges) - { - selectInterestChanges.add(frameBuffer); - } - // Wake-up the selector, if it's currently blocked. - selector.wakeup(); - } - - private void processInterestChanges() - { - synchronized (selectInterestChanges) - { - for (FrameBuffer fb : selectInterestChanges) - fb.changeSelectInterests(); - selectInterestChanges.clear(); - } - } - - private void cleanupSelectionkey(SelectionKey key) - { - FrameBuffer buffer = (FrameBuffer) key.attachment(); - if (buffer != null) - buffer.close(); - // cancel the selection key - key.cancel(); - } - - public void wakeupSelector() - { - selector.wakeup(); - } - } - - protected boolean requestInvoke(FrameBuffer frameBuffer, SelectorThread thread) - { - try - { - Runnable invocation = new Invocation(frameBuffer, thread); - invoker.execute(invocation); - return true; - } - catch (RejectedExecutionException rx) - { - LOGGER.warn("ExecutorService rejected execution!", rx); - return false; - } - } - - @Override - protected void requestSelectInterestChange(FrameBuffer fb) - { - // Dont change the interest here, this has to be done by the selector - // thread because the method is not synchronized with the rest of the - // selectors threads. - } - public static class Factory implements TServerFactory { public TServer buildTServer(Args args) @@ -373,13 +90,14 @@ public class CustomTHsHaServer extends TNonblockingServer TimeUnit.SECONDS, new SynchronousQueue(), new NamedThreadFactory("RPC-Thread"), "RPC-THREAD-POOL"); - TNonblockingServer.Args serverArgs = new TNonblockingServer.Args(serverTransport).inputTransportFactory(args.inTransportFactory) + THsHaServer.Args serverArgs = new THsHaServer.Args(serverTransport).inputTransportFactory(args.inTransportFactory) .outputTransportFactory(args.outTransportFactory) .inputProtocolFactory(args.tProtocolFactory) .outputProtocolFactory(args.tProtocolFactory) - .processor(args.processor); + .processor(args.processor) + .executorService(executorService); // Check for available processors in the system which will be equal to the IO Threads. - return new CustomTHsHaServer(serverArgs, executorService, FBUtilities.getAvailableProcessors()); + return new CustomTHsHaServer(serverArgs); } } } diff --git a/src/java/org/apache/cassandra/tools/Shuffle.java b/src/java/org/apache/cassandra/tools/Shuffle.java index 8cf38b92fb..8395776843 100644 --- a/src/java/org/apache/cassandra/tools/Shuffle.java +++ b/src/java/org/apache/cassandra/tools/Shuffle.java @@ -538,15 +538,15 @@ public class Shuffle extends AbstractJmxClient { partitionerName = getThriftClient(hostName, port, framed).describe_partitioner(); } + catch (InvalidRequestException e) + { + throw new RuntimeException("Error calling describe_partitioner() defies explanation", e); + } catch (TException e) { throw new ShuffleError( String.format("Thrift request to %s:%d failed: %s", hostName, port, e.getMessage())); } - catch (InvalidRequestException e) - { - throw new RuntimeException("Error calling describe_partitioner() defies explanation", e); - } try {