You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gora.apache.org by le...@apache.org on 2017/08/23 20:55:17 UTC
[19/37] gora git commit: Add avro serialization support
Add avro serialization support
Project: http://git-wip-us.apache.org/repos/asf/gora/repo
Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/a51b719c
Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/a51b719c
Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/a51b719c
Branch: refs/heads/master
Commit: a51b719cb265ec63f9699f74b498efc0d27c1920
Parents: 4343982
Author: madhawa <ma...@gmail.com>
Authored: Tue Jul 25 00:09:57 2017 +0530
Committer: madhawa <ma...@gmail.com>
Committed: Tue Jul 25 00:09:57 2017 +0530
----------------------------------------------------------------------
.../src/examples/avro/cassandraKey.json | 21 +
.../src/examples/avro/cassandraRecord.json | 106 ++
.../avroSerialization/CassandraKey.java | 380 +++++
.../avroSerialization/CassandraRecord.java | 1293 ++++++++++++++++++
.../gora/cassandra/bean/CassandraKey.java | 21 +-
.../gora/cassandra/bean/ClusterKeyField.java | 16 +-
.../gora/cassandra/query/CassandraColumn.java | 51 -
.../cassandra/query/CassandraResultSet.java | 4 +
.../gora/cassandra/query/CassandraRow.java | 79 --
.../serializers/AvroCassandraUtils.java | 274 ++++
.../cassandra/serializers/AvroSerializer.java | 250 +++-
.../serializers/CassandraQueryFactory.java | 327 ++++-
.../serializers/CassandraSerializer.java | 47 +-
.../cassandra/serializers/NativeSerializer.java | 43 +-
.../gora/cassandra/store/CassandraMapping.java | 67 +-
.../store/CassandraMappingBuilder.java | 32 +-
.../gora/cassandra/store/CassandraStore.java | 2 +-
.../test/conf/avro/gora-cassandra-mapping.xml | 49 +-
.../compositeKey/gora-cassandra-mapping.xml | 31 +-
.../src/test/conf/gora-cassandra-mapping.xml | 2 +-
.../TestCassandraStoreWithCassandraKey.java | 210 +++
...stCassandraStoreWithNativeSerialization.java | 4 +-
22 files changed, 2954 insertions(+), 355 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/examples/avro/cassandraKey.json
----------------------------------------------------------------------
diff --git a/gora-cassandra-cql/src/examples/avro/cassandraKey.json b/gora-cassandra-cql/src/examples/avro/cassandraKey.json
new file mode 100644
index 0000000..6db3127
--- /dev/null
+++ b/gora-cassandra-cql/src/examples/avro/cassandraKey.json
@@ -0,0 +1,21 @@
+{
+ "type": "record",
+ "name": "CassandraKey",
+ "default": null,
+ "namespace": "org.apache.gora.cassandra.example.generated.avroSerialization",
+ "fields": [
+ {
+ "name": "url",
+ "type": [
+ "null",
+ "string"
+ ],
+ "default": null
+ },
+ {
+ "name": "timestamp",
+ "type": "long",
+ "default": 0
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/examples/avro/cassandraRecord.json
----------------------------------------------------------------------
diff --git a/gora-cassandra-cql/src/examples/avro/cassandraRecord.json b/gora-cassandra-cql/src/examples/avro/cassandraRecord.json
new file mode 100644
index 0000000..bd741cd
--- /dev/null
+++ b/gora-cassandra-cql/src/examples/avro/cassandraRecord.json
@@ -0,0 +1,106 @@
+{
+ "type": "record",
+ "name": "CassandraRecord",
+ "default": null,
+ "namespace": "org.apache.gora.cassandra.example.generated.avroSerialization",
+ "fields": [
+ {
+ "name": "dataString",
+ "type": "string",
+ "default": ""
+ },
+ {
+ "name": "dataInt",
+ "type": "int",
+ "default": 0
+ },
+ {
+ "name": "dataLong",
+ "type": [
+ "null",
+ "long"
+ ],
+ "default": null
+ },
+ {
+ "name": "dataDouble",
+ "type": [
+ "null",
+ "double"
+ ],
+ "default": null
+ },
+ {
+ "name": "dataBytes",
+ "type": [
+ "null",
+ "bytes"
+ ],
+ "default": null
+ },
+ {
+ "name": "arrayInt",
+ "type": {
+ "type": "array",
+ "items": "int"
+ },
+ "default": null
+ },
+ {
+ "name": "arrayString",
+ "type": {
+ "type": "array",
+ "items": "string"
+ },
+ "default": null
+ },
+ {
+ "name": "arrayLong",
+ "type": {
+ "type": "array",
+ "items": "long"
+ },
+ "default": null
+ },
+ {
+ "name": "arrayDouble",
+ "type": {
+ "type": "array",
+ "items": "double"
+ },
+ "default": null
+ },
+ {
+ "name": "mapInt",
+ "type": {
+ "type": "map",
+ "values": "int"
+ },
+ "default": {}
+ },
+ {
+ "name": "mapString",
+ "type": {
+ "type": "map",
+ "values": "string"
+ },
+ "default": {}
+ },
+ {
+ "name": "mapLong",
+ "type": {
+ "type": "map",
+ "values": "long"
+ },
+ "default": {}
+ },
+ {
+ "name": "mapDouble",
+ "type": {
+ "type": "map",
+ "values": "double"
+ },
+ "default": {}
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraKey.java
----------------------------------------------------------------------
diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraKey.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraKey.java
new file mode 100644
index 0000000..ffe4aff
--- /dev/null
+++ b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraKey.java
@@ -0,0 +1,380 @@
+/**
+ *Licensed to the Apache Software Foundation (ASF) under one
+ *or more contributor license agreements. See the NOTICE file
+ *distributed with this work for additional information
+ *regarding copyright ownership. The ASF licenses this file
+ *to you under the Apache License, Version 2.0 (the"
+ *License"); you may not use this file except in compliance
+ *with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *Unless required by applicable law or agreed to in writing, software
+ *distributed under the License is distributed on an "AS IS" BASIS,
+ *WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *See the License for the specific language governing permissions and
+ *limitations under the License.
+ */
+package org.apache.gora.cassandra.example.generated.avroSerialization;
+
+public class CassandraKey extends org.apache.gora.persistency.impl.PersistentBase implements org.apache.avro.specific.SpecificRecord, org.apache.gora.persistency.Persistent {
+ public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CassandraKey\",\"namespace\":\"org.apache.gora.cassandra.example.generated.avroSerialization\",\"fields\":[{\"name\":\"url\",\"type\":[\"null\",\"string\"],\"default\":null},{\"name\":\"timestamp\",\"type\":\"long\",\"default\":0}],\"default\":null}");
+ private static final long serialVersionUID = -2302778495178225103L;
+ /** Enum containing all data bean's fields. */
+ public static enum Field {
+ URL(0, "url"),
+ TIMESTAMP(1, "timestamp"),
+ ;
+ /**
+ * Field's index.
+ */
+ private int index;
+
+ /**
+ * Field's name.
+ */
+ private String name;
+
+ /**
+ * Field's constructor
+ * @param index field's index.
+ * @param name field's name.
+ */
+ Field(int index, String name) {this.index=index;this.name=name;}
+
+ /**
+ * Gets field's index.
+ * @return int field's index.
+ */
+ public int getIndex() {return index;}
+
+ /**
+ * Gets field's name.
+ * @return String field's name.
+ */
+ public String getName() {return name;}
+
+ /**
+ * Gets field's attributes to string.
+ * @return String field's attributes to string.
+ */
+ public String toString() {return name;}
+ };
+
+ public static final String[] _ALL_FIELDS = {
+ "url",
+ "timestamp",
+ };
+
+ /**
+ * Gets the total field count.
+ * @return int field count
+ */
+ public int getFieldsCount() {
+ return CassandraKey._ALL_FIELDS.length;
+ }
+
+ private java.lang.CharSequence url;
+ private long timestamp;
+ public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+ // Used by DatumWriter. Applications should not call.
+ public java.lang.Object get(int field$) {
+ switch (field$) {
+ case 0: return url;
+ case 1: return timestamp;
+ default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+ }
+ }
+
+ // Used by DatumReader. Applications should not call.
+ @SuppressWarnings(value="unchecked")
+ public void put(int field$, java.lang.Object value) {
+ switch (field$) {
+ case 0: url = (java.lang.CharSequence)(value); break;
+ case 1: timestamp = (java.lang.Long)(value); break;
+ default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+ }
+ }
+
+ /**
+ * Gets the value of the 'url' field.
+ */
+ public java.lang.CharSequence getUrl() {
+ return url;
+ }
+
+ /**
+ * Sets the value of the 'url' field.
+ * @param value the value to set.
+ */
+ public void setUrl(java.lang.CharSequence value) {
+ this.url = value;
+ setDirty(0);
+ }
+
+ /**
+ * Checks the dirty status of the 'url' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isUrlDirty() {
+ return isDirty(0);
+ }
+
+ /**
+ * Gets the value of the 'timestamp' field.
+ */
+ public java.lang.Long getTimestamp() {
+ return timestamp;
+ }
+
+ /**
+ * Sets the value of the 'timestamp' field.
+ * @param value the value to set.
+ */
+ public void setTimestamp(java.lang.Long value) {
+ this.timestamp = value;
+ setDirty(1);
+ }
+
+ /**
+ * Checks the dirty status of the 'timestamp' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isTimestampDirty() {
+ return isDirty(1);
+ }
+
+ /** Creates a new CassandraKey RecordBuilder */
+ public static org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder newBuilder() {
+ return new org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder();
+ }
+
+ /** Creates a new CassandraKey RecordBuilder by copying an existing Builder */
+ public static org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder newBuilder(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder other) {
+ return new org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder(other);
+ }
+
+ /** Creates a new CassandraKey RecordBuilder by copying an existing CassandraKey instance */
+ public static org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder newBuilder(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey other) {
+ return new org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder(other);
+ }
+
+ private static java.nio.ByteBuffer deepCopyToReadOnlyBuffer(
+ java.nio.ByteBuffer input) {
+ java.nio.ByteBuffer copy = java.nio.ByteBuffer.allocate(input.capacity());
+ int position = input.position();
+ input.reset();
+ int mark = input.position();
+ int limit = input.limit();
+ input.rewind();
+ input.limit(input.capacity());
+ copy.put(input);
+ input.rewind();
+ copy.rewind();
+ input.position(mark);
+ input.mark();
+ copy.position(mark);
+ copy.mark();
+ input.position(position);
+ copy.position(position);
+ input.limit(limit);
+ copy.limit(limit);
+ return copy.asReadOnlyBuffer();
+ }
+
+ /**
+ * RecordBuilder for CassandraKey instances.
+ */
+ public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<CassandraKey>
+ implements org.apache.avro.data.RecordBuilder<CassandraKey> {
+
+ private java.lang.CharSequence url;
+ private long timestamp;
+
+ /** Creates a new Builder */
+ private Builder() {
+ super(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.SCHEMA$);
+ }
+
+ /** Creates a Builder by copying an existing Builder */
+ private Builder(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder other) {
+ super(other);
+ }
+
+ /** Creates a Builder by copying an existing CassandraKey instance */
+ private Builder(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey other) {
+ super(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.SCHEMA$);
+ if (isValidValue(fields()[0], other.url)) {
+ this.url = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.url);
+ fieldSetFlags()[0] = true;
+ }
+ if (isValidValue(fields()[1], other.timestamp)) {
+ this.timestamp = (java.lang.Long) data().deepCopy(fields()[1].schema(), other.timestamp);
+ fieldSetFlags()[1] = true;
+ }
+ }
+
+ /** Gets the value of the 'url' field */
+ public java.lang.CharSequence getUrl() {
+ return url;
+ }
+
+ /** Sets the value of the 'url' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder setUrl(java.lang.CharSequence value) {
+ validate(fields()[0], value);
+ this.url = value;
+ fieldSetFlags()[0] = true;
+ return this;
+ }
+
+ /** Checks whether the 'url' field has been set */
+ public boolean hasUrl() {
+ return fieldSetFlags()[0];
+ }
+
+ /** Clears the value of the 'url' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder clearUrl() {
+ url = null;
+ fieldSetFlags()[0] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'timestamp' field */
+ public java.lang.Long getTimestamp() {
+ return timestamp;
+ }
+
+ /** Sets the value of the 'timestamp' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder setTimestamp(long value) {
+ validate(fields()[1], value);
+ this.timestamp = value;
+ fieldSetFlags()[1] = true;
+ return this;
+ }
+
+ /** Checks whether the 'timestamp' field has been set */
+ public boolean hasTimestamp() {
+ return fieldSetFlags()[1];
+ }
+
+ /** Clears the value of the 'timestamp' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraKey.Builder clearTimestamp() {
+ fieldSetFlags()[1] = false;
+ return this;
+ }
+
+ @Override
+ public CassandraKey build() {
+ try {
+ CassandraKey record = new CassandraKey();
+ record.url = fieldSetFlags()[0] ? this.url : (java.lang.CharSequence) defaultValue(fields()[0]);
+ record.timestamp = fieldSetFlags()[1] ? this.timestamp : (java.lang.Long) defaultValue(fields()[1]);
+ return record;
+ } catch (Exception e) {
+ throw new org.apache.avro.AvroRuntimeException(e);
+ }
+ }
+ }
+
+ public CassandraKey.Tombstone getTombstone(){
+ return TOMBSTONE;
+ }
+
+ public CassandraKey newInstance(){
+ return newBuilder().build();
+ }
+
+ private static final Tombstone TOMBSTONE = new Tombstone();
+
+ public static final class Tombstone extends CassandraKey implements org.apache.gora.persistency.Tombstone {
+
+ private Tombstone() { }
+
+ /**
+ * Gets the value of the 'url' field.
+ */
+ public java.lang.CharSequence getUrl() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'url' field.
+ * @param value the value to set.
+ */
+ public void setUrl(java.lang.CharSequence value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'url' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isUrlDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'timestamp' field.
+ */
+ public java.lang.Long getTimestamp() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'timestamp' field.
+ * @param value the value to set.
+ */
+ public void setTimestamp(java.lang.Long value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'timestamp' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isTimestampDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+
+ }
+
+ private static final org.apache.avro.io.DatumWriter
+ DATUM_WRITER$ = new org.apache.avro.specific.SpecificDatumWriter(SCHEMA$);
+ private static final org.apache.avro.io.DatumReader
+ DATUM_READER$ = new org.apache.avro.specific.SpecificDatumReader(SCHEMA$);
+
+ /**
+ * Writes AVRO data bean to output stream in the form of AVRO Binary encoding format. This will transform
+ * AVRO data bean from its Java object form to it s serializable form.
+ *
+ * @param out java.io.ObjectOutput output stream to write data bean in serializable form
+ */
+ @Override
+ public void writeExternal(java.io.ObjectOutput out)
+ throws java.io.IOException {
+ out.write(super.getDirtyBytes().array());
+ DATUM_WRITER$.write(this, org.apache.avro.io.EncoderFactory.get()
+ .directBinaryEncoder((java.io.OutputStream) out,
+ null));
+ }
+
+ /**
+ * Reads AVRO data bean from input stream in it s AVRO Binary encoding format to Java object format.
+ * This will transform AVRO data bean from it s serializable form to deserialized Java object form.
+ *
+ * @param in java.io.ObjectOutput input stream to read data bean in serializable form
+ */
+ @Override
+ public void readExternal(java.io.ObjectInput in)
+ throws java.io.IOException {
+ byte[] __g__dirty = new byte[getFieldsCount()];
+ in.read(__g__dirty);
+ super.setDirtyBytes(java.nio.ByteBuffer.wrap(__g__dirty));
+ DATUM_READER$.read(this, org.apache.avro.io.DecoderFactory.get()
+ .directBinaryDecoder((java.io.InputStream) in,
+ null));
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraRecord.java
----------------------------------------------------------------------
diff --git a/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraRecord.java b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraRecord.java
new file mode 100644
index 0000000..4a92882
--- /dev/null
+++ b/gora-cassandra-cql/src/examples/java/org/apache/gora/cassandra/example/generated/avroSerialization/CassandraRecord.java
@@ -0,0 +1,1293 @@
+/**
+ *Licensed to the Apache Software Foundation (ASF) under one
+ *or more contributor license agreements. See the NOTICE file
+ *distributed with this work for additional information
+ *regarding copyright ownership. The ASF licenses this file
+ *to you under the Apache License, Version 2.0 (the"
+ *License"); you may not use this file except in compliance
+ *with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *Unless required by applicable law or agreed to in writing, software
+ *distributed under the License is distributed on an "AS IS" BASIS,
+ *WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *See the License for the specific language governing permissions and
+ *limitations under the License.
+ */
+package org.apache.gora.cassandra.example.generated.avroSerialization;
+
+public class CassandraRecord extends org.apache.gora.persistency.impl.PersistentBase implements org.apache.avro.specific.SpecificRecord, org.apache.gora.persistency.Persistent {
+ public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"CassandraRecord\",\"namespace\":\"org.apache.gora.cassandra.example.generated.avroSerialization\",\"fields\":[{\"name\":\"dataString\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"dataInt\",\"type\":\"int\",\"default\":0},{\"name\":\"dataLong\",\"type\":[\"null\",\"long\"],\"default\":null},{\"name\":\"dataDouble\",\"type\":[\"null\",\"double\"],\"default\":null},{\"name\":\"dataBytes\",\"type\":[\"null\",\"bytes\"],\"default\":null},{\"name\":\"arrayInt\",\"type\":{\"type\":\"array\",\"items\":\"int\"},\"default\":null},{\"name\":\"arrayString\",\"type\":{\"type\":\"array\",\"items\":\"string\"},\"default\":null},{\"name\":\"arrayLong\",\"type\":{\"type\":\"array\",\"items\":\"long\"},\"default\":null},{\"name\":\"arrayDouble\",\"type\":{\"type\":\"array\",\"items\":\"double\"},\"default\":null},{\"name\":\"mapInt\",\"type\":{\"type\":\"map\",\"valu
es\":\"int\"},\"default\":{}},{\"name\":\"mapString\",\"type\":{\"type\":\"map\",\"values\":\"string\"},\"default\":{}},{\"name\":\"mapLong\",\"type\":{\"type\":\"map\",\"values\":\"long\"},\"default\":{}},{\"name\":\"mapDouble\",\"type\":{\"type\":\"map\",\"values\":\"double\"},\"default\":{}}],\"default\":null}");
+ private static final long serialVersionUID = 5865822911454498901L;
+ /** Enum containing all data bean's fields. */
+ public static enum Field {
+ DATA_STRING(0, "dataString"),
+ DATA_INT(1, "dataInt"),
+ DATA_LONG(2, "dataLong"),
+ DATA_DOUBLE(3, "dataDouble"),
+ DATA_BYTES(4, "dataBytes"),
+ ARRAY_INT(5, "arrayInt"),
+ ARRAY_STRING(6, "arrayString"),
+ ARRAY_LONG(7, "arrayLong"),
+ ARRAY_DOUBLE(8, "arrayDouble"),
+ MAP_INT(9, "mapInt"),
+ MAP_STRING(10, "mapString"),
+ MAP_LONG(11, "mapLong"),
+ MAP_DOUBLE(12, "mapDouble"),
+ ;
+ /**
+ * Field's index.
+ */
+ private int index;
+
+ /**
+ * Field's name.
+ */
+ private String name;
+
+ /**
+ * Field's constructor
+ * @param index field's index.
+ * @param name field's name.
+ */
+ Field(int index, String name) {this.index=index;this.name=name;}
+
+ /**
+ * Gets field's index.
+ * @return int field's index.
+ */
+ public int getIndex() {return index;}
+
+ /**
+ * Gets field's name.
+ * @return String field's name.
+ */
+ public String getName() {return name;}
+
+ /**
+ * Gets field's attributes to string.
+ * @return String field's attributes to string.
+ */
+ public String toString() {return name;}
+ };
+
+ public static final String[] _ALL_FIELDS = {
+ "dataString",
+ "dataInt",
+ "dataLong",
+ "dataDouble",
+ "dataBytes",
+ "arrayInt",
+ "arrayString",
+ "arrayLong",
+ "arrayDouble",
+ "mapInt",
+ "mapString",
+ "mapLong",
+ "mapDouble",
+ };
+
+ /**
+ * Gets the total field count.
+ * @return int field count
+ */
+ public int getFieldsCount() {
+ return CassandraRecord._ALL_FIELDS.length;
+ }
+
+ private java.lang.CharSequence dataString;
+ private int dataInt;
+ private java.lang.Long dataLong;
+ private java.lang.Double dataDouble;
+ private java.nio.ByteBuffer dataBytes;
+ private java.util.List<java.lang.Integer> arrayInt;
+ private java.util.List<java.lang.CharSequence> arrayString;
+ private java.util.List<java.lang.Long> arrayLong;
+ private java.util.List<java.lang.Double> arrayDouble;
+ private java.util.Map<java.lang.CharSequence,java.lang.Integer> mapInt;
+ private java.util.Map<java.lang.CharSequence,java.lang.CharSequence> mapString;
+ private java.util.Map<java.lang.CharSequence,java.lang.Long> mapLong;
+ private java.util.Map<java.lang.CharSequence,java.lang.Double> mapDouble;
+ public org.apache.avro.Schema getSchema() { return SCHEMA$; }
+ // Used by DatumWriter. Applications should not call.
+ public java.lang.Object get(int field$) {
+ switch (field$) {
+ case 0: return dataString;
+ case 1: return dataInt;
+ case 2: return dataLong;
+ case 3: return dataDouble;
+ case 4: return dataBytes;
+ case 5: return arrayInt;
+ case 6: return arrayString;
+ case 7: return arrayLong;
+ case 8: return arrayDouble;
+ case 9: return mapInt;
+ case 10: return mapString;
+ case 11: return mapLong;
+ case 12: return mapDouble;
+ default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+ }
+ }
+
+ // Used by DatumReader. Applications should not call.
+ @SuppressWarnings(value="unchecked")
+ public void put(int field$, java.lang.Object value) {
+ switch (field$) {
+ case 0: dataString = (java.lang.CharSequence)(value); break;
+ case 1: dataInt = (java.lang.Integer)(value); break;
+ case 2: dataLong = (java.lang.Long)(value); break;
+ case 3: dataDouble = (java.lang.Double)(value); break;
+ case 4: dataBytes = (java.nio.ByteBuffer)(value); break;
+ case 5: arrayInt = (java.util.List<java.lang.Integer>)((value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyListWrapper((java.util.List)value)); break;
+ case 6: arrayString = (java.util.List<java.lang.CharSequence>)((value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyListWrapper((java.util.List)value)); break;
+ case 7: arrayLong = (java.util.List<java.lang.Long>)((value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyListWrapper((java.util.List)value)); break;
+ case 8: arrayDouble = (java.util.List<java.lang.Double>)((value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyListWrapper((java.util.List)value)); break;
+ case 9: mapInt = (java.util.Map<java.lang.CharSequence,java.lang.Integer>)((value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyMapWrapper((java.util.Map)value)); break;
+ case 10: mapString = (java.util.Map<java.lang.CharSequence,java.lang.CharSequence>)((value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyMapWrapper((java.util.Map)value)); break;
+ case 11: mapLong = (java.util.Map<java.lang.CharSequence,java.lang.Long>)((value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyMapWrapper((java.util.Map)value)); break;
+ case 12: mapDouble = (java.util.Map<java.lang.CharSequence,java.lang.Double>)((value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyMapWrapper((java.util.Map)value)); break;
+ default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+ }
+ }
+
+ /**
+ * Gets the value of the 'dataString' field.
+ */
+ public java.lang.CharSequence getDataString() {
+ return dataString;
+ }
+
+ /**
+ * Sets the value of the 'dataString' field.
+ * @param value the value to set.
+ */
+ public void setDataString(java.lang.CharSequence value) {
+ this.dataString = value;
+ setDirty(0);
+ }
+
+ /**
+ * Checks the dirty status of the 'dataString' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isDataStringDirty() {
+ return isDirty(0);
+ }
+
+ /**
+ * Gets the value of the 'dataInt' field.
+ */
+ public java.lang.Integer getDataInt() {
+ return dataInt;
+ }
+
+ /**
+ * Sets the value of the 'dataInt' field.
+ * @param value the value to set.
+ */
+ public void setDataInt(java.lang.Integer value) {
+ this.dataInt = value;
+ setDirty(1);
+ }
+
+ /**
+ * Checks the dirty status of the 'dataInt' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isDataIntDirty() {
+ return isDirty(1);
+ }
+
+ /**
+ * Gets the value of the 'dataLong' field.
+ */
+ public java.lang.Long getDataLong() {
+ return dataLong;
+ }
+
+ /**
+ * Sets the value of the 'dataLong' field.
+ * @param value the value to set.
+ */
+ public void setDataLong(java.lang.Long value) {
+ this.dataLong = value;
+ setDirty(2);
+ }
+
+ /**
+ * Checks the dirty status of the 'dataLong' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isDataLongDirty() {
+ return isDirty(2);
+ }
+
+ /**
+ * Gets the value of the 'dataDouble' field.
+ */
+ public java.lang.Double getDataDouble() {
+ return dataDouble;
+ }
+
+ /**
+ * Sets the value of the 'dataDouble' field.
+ * @param value the value to set.
+ */
+ public void setDataDouble(java.lang.Double value) {
+ this.dataDouble = value;
+ setDirty(3);
+ }
+
+ /**
+ * Checks the dirty status of the 'dataDouble' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isDataDoubleDirty() {
+ return isDirty(3);
+ }
+
+ /**
+ * Gets the value of the 'dataBytes' field.
+ */
+ public java.nio.ByteBuffer getDataBytes() {
+ return dataBytes;
+ }
+
+ /**
+ * Sets the value of the 'dataBytes' field.
+ * @param value the value to set.
+ */
+ public void setDataBytes(java.nio.ByteBuffer value) {
+ this.dataBytes = value;
+ setDirty(4);
+ }
+
+ /**
+ * Checks the dirty status of the 'dataBytes' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isDataBytesDirty() {
+ return isDirty(4);
+ }
+
+ /**
+ * Gets the value of the 'arrayInt' field.
+ */
+ public java.util.List<java.lang.Integer> getArrayInt() {
+ return arrayInt;
+ }
+
+ /**
+ * Sets the value of the 'arrayInt' field.
+ * @param value the value to set.
+ */
+ public void setArrayInt(java.util.List<java.lang.Integer> value) {
+ this.arrayInt = (value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyListWrapper(value);
+ setDirty(5);
+ }
+
+ /**
+ * Checks the dirty status of the 'arrayInt' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isArrayIntDirty() {
+ return isDirty(5);
+ }
+
+ /**
+ * Gets the value of the 'arrayString' field.
+ */
+ public java.util.List<java.lang.CharSequence> getArrayString() {
+ return arrayString;
+ }
+
+ /**
+ * Sets the value of the 'arrayString' field.
+ * @param value the value to set.
+ */
+ public void setArrayString(java.util.List<java.lang.CharSequence> value) {
+ this.arrayString = (value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyListWrapper(value);
+ setDirty(6);
+ }
+
+ /**
+ * Checks the dirty status of the 'arrayString' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isArrayStringDirty() {
+ return isDirty(6);
+ }
+
+ /**
+ * Gets the value of the 'arrayLong' field.
+ */
+ public java.util.List<java.lang.Long> getArrayLong() {
+ return arrayLong;
+ }
+
+ /**
+ * Sets the value of the 'arrayLong' field.
+ * @param value the value to set.
+ */
+ public void setArrayLong(java.util.List<java.lang.Long> value) {
+ this.arrayLong = (value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyListWrapper(value);
+ setDirty(7);
+ }
+
+ /**
+ * Checks the dirty status of the 'arrayLong' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isArrayLongDirty() {
+ return isDirty(7);
+ }
+
+ /**
+ * Gets the value of the 'arrayDouble' field.
+ */
+ public java.util.List<java.lang.Double> getArrayDouble() {
+ return arrayDouble;
+ }
+
+ /**
+ * Sets the value of the 'arrayDouble' field.
+ * @param value the value to set.
+ */
+ public void setArrayDouble(java.util.List<java.lang.Double> value) {
+ this.arrayDouble = (value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyListWrapper(value);
+ setDirty(8);
+ }
+
+ /**
+ * Checks the dirty status of the 'arrayDouble' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isArrayDoubleDirty() {
+ return isDirty(8);
+ }
+
+ /**
+ * Gets the value of the 'mapInt' field.
+ */
+ public java.util.Map<java.lang.CharSequence,java.lang.Integer> getMapInt() {
+ return mapInt;
+ }
+
+ /**
+ * Sets the value of the 'mapInt' field.
+ * @param value the value to set.
+ */
+ public void setMapInt(java.util.Map<java.lang.CharSequence,java.lang.Integer> value) {
+ this.mapInt = (value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyMapWrapper(value);
+ setDirty(9);
+ }
+
+ /**
+ * Checks the dirty status of the 'mapInt' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isMapIntDirty() {
+ return isDirty(9);
+ }
+
+ /**
+ * Gets the value of the 'mapString' field.
+ */
+ public java.util.Map<java.lang.CharSequence,java.lang.CharSequence> getMapString() {
+ return mapString;
+ }
+
+ /**
+ * Sets the value of the 'mapString' field.
+ * @param value the value to set.
+ */
+ public void setMapString(java.util.Map<java.lang.CharSequence,java.lang.CharSequence> value) {
+ this.mapString = (value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyMapWrapper(value);
+ setDirty(10);
+ }
+
+ /**
+ * Checks the dirty status of the 'mapString' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isMapStringDirty() {
+ return isDirty(10);
+ }
+
+ /**
+ * Gets the value of the 'mapLong' field.
+ */
+ public java.util.Map<java.lang.CharSequence,java.lang.Long> getMapLong() {
+ return mapLong;
+ }
+
+ /**
+ * Sets the value of the 'mapLong' field.
+ * @param value the value to set.
+ */
+ public void setMapLong(java.util.Map<java.lang.CharSequence,java.lang.Long> value) {
+ this.mapLong = (value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyMapWrapper(value);
+ setDirty(11);
+ }
+
+ /**
+ * Checks the dirty status of the 'mapLong' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isMapLongDirty() {
+ return isDirty(11);
+ }
+
+ /**
+ * Gets the value of the 'mapDouble' field.
+ */
+ public java.util.Map<java.lang.CharSequence,java.lang.Double> getMapDouble() {
+ return mapDouble;
+ }
+
+ /**
+ * Sets the value of the 'mapDouble' field.
+ * @param value the value to set.
+ */
+ public void setMapDouble(java.util.Map<java.lang.CharSequence,java.lang.Double> value) {
+ this.mapDouble = (value instanceof org.apache.gora.persistency.Dirtyable) ? value : new org.apache.gora.persistency.impl.DirtyMapWrapper(value);
+ setDirty(12);
+ }
+
+ /**
+ * Checks the dirty status of the 'mapDouble' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isMapDoubleDirty() {
+ return isDirty(12);
+ }
+
+ /** Creates a new CassandraRecord RecordBuilder */
+ public static org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder newBuilder() {
+ return new org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder();
+ }
+
+ /** Creates a new CassandraRecord RecordBuilder by copying an existing Builder */
+ public static org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder newBuilder(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder other) {
+ return new org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder(other);
+ }
+
+ /** Creates a new CassandraRecord RecordBuilder by copying an existing CassandraRecord instance */
+ public static org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder newBuilder(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord other) {
+ return new org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder(other);
+ }
+
+ private static java.nio.ByteBuffer deepCopyToReadOnlyBuffer(
+ java.nio.ByteBuffer input) {
+ java.nio.ByteBuffer copy = java.nio.ByteBuffer.allocate(input.capacity());
+ int position = input.position();
+ input.reset();
+ int mark = input.position();
+ int limit = input.limit();
+ input.rewind();
+ input.limit(input.capacity());
+ copy.put(input);
+ input.rewind();
+ copy.rewind();
+ input.position(mark);
+ input.mark();
+ copy.position(mark);
+ copy.mark();
+ input.position(position);
+ copy.position(position);
+ input.limit(limit);
+ copy.limit(limit);
+ return copy.asReadOnlyBuffer();
+ }
+
+ /**
+ * RecordBuilder for CassandraRecord instances.
+ */
+ public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<CassandraRecord>
+ implements org.apache.avro.data.RecordBuilder<CassandraRecord> {
+
+ private java.lang.CharSequence dataString;
+ private int dataInt;
+ private java.lang.Long dataLong;
+ private java.lang.Double dataDouble;
+ private java.nio.ByteBuffer dataBytes;
+ private java.util.List<java.lang.Integer> arrayInt;
+ private java.util.List<java.lang.CharSequence> arrayString;
+ private java.util.List<java.lang.Long> arrayLong;
+ private java.util.List<java.lang.Double> arrayDouble;
+ private java.util.Map<java.lang.CharSequence,java.lang.Integer> mapInt;
+ private java.util.Map<java.lang.CharSequence,java.lang.CharSequence> mapString;
+ private java.util.Map<java.lang.CharSequence,java.lang.Long> mapLong;
+ private java.util.Map<java.lang.CharSequence,java.lang.Double> mapDouble;
+
+ /** Creates a new Builder */
+ private Builder() {
+ super(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.SCHEMA$);
+ }
+
+ /** Creates a Builder by copying an existing Builder */
+ private Builder(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder other) {
+ super(other);
+ }
+
+ /** Creates a Builder by copying an existing CassandraRecord instance */
+ private Builder(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord other) {
+ super(org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.SCHEMA$);
+ if (isValidValue(fields()[0], other.dataString)) {
+ this.dataString = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.dataString);
+ fieldSetFlags()[0] = true;
+ }
+ if (isValidValue(fields()[1], other.dataInt)) {
+ this.dataInt = (java.lang.Integer) data().deepCopy(fields()[1].schema(), other.dataInt);
+ fieldSetFlags()[1] = true;
+ }
+ if (isValidValue(fields()[2], other.dataLong)) {
+ this.dataLong = (java.lang.Long) data().deepCopy(fields()[2].schema(), other.dataLong);
+ fieldSetFlags()[2] = true;
+ }
+ if (isValidValue(fields()[3], other.dataDouble)) {
+ this.dataDouble = (java.lang.Double) data().deepCopy(fields()[3].schema(), other.dataDouble);
+ fieldSetFlags()[3] = true;
+ }
+ if (isValidValue(fields()[4], other.dataBytes)) {
+ this.dataBytes = (java.nio.ByteBuffer) data().deepCopy(fields()[4].schema(), other.dataBytes);
+ fieldSetFlags()[4] = true;
+ }
+ if (isValidValue(fields()[5], other.arrayInt)) {
+ this.arrayInt = (java.util.List<java.lang.Integer>) data().deepCopy(fields()[5].schema(), other.arrayInt);
+ fieldSetFlags()[5] = true;
+ }
+ if (isValidValue(fields()[6], other.arrayString)) {
+ this.arrayString = (java.util.List<java.lang.CharSequence>) data().deepCopy(fields()[6].schema(), other.arrayString);
+ fieldSetFlags()[6] = true;
+ }
+ if (isValidValue(fields()[7], other.arrayLong)) {
+ this.arrayLong = (java.util.List<java.lang.Long>) data().deepCopy(fields()[7].schema(), other.arrayLong);
+ fieldSetFlags()[7] = true;
+ }
+ if (isValidValue(fields()[8], other.arrayDouble)) {
+ this.arrayDouble = (java.util.List<java.lang.Double>) data().deepCopy(fields()[8].schema(), other.arrayDouble);
+ fieldSetFlags()[8] = true;
+ }
+ if (isValidValue(fields()[9], other.mapInt)) {
+ this.mapInt = (java.util.Map<java.lang.CharSequence,java.lang.Integer>) data().deepCopy(fields()[9].schema(), other.mapInt);
+ fieldSetFlags()[9] = true;
+ }
+ if (isValidValue(fields()[10], other.mapString)) {
+ this.mapString = (java.util.Map<java.lang.CharSequence,java.lang.CharSequence>) data().deepCopy(fields()[10].schema(), other.mapString);
+ fieldSetFlags()[10] = true;
+ }
+ if (isValidValue(fields()[11], other.mapLong)) {
+ this.mapLong = (java.util.Map<java.lang.CharSequence,java.lang.Long>) data().deepCopy(fields()[11].schema(), other.mapLong);
+ fieldSetFlags()[11] = true;
+ }
+ if (isValidValue(fields()[12], other.mapDouble)) {
+ this.mapDouble = (java.util.Map<java.lang.CharSequence,java.lang.Double>) data().deepCopy(fields()[12].schema(), other.mapDouble);
+ fieldSetFlags()[12] = true;
+ }
+ }
+
+ /** Gets the value of the 'dataString' field */
+ public java.lang.CharSequence getDataString() {
+ return dataString;
+ }
+
+ /** Sets the value of the 'dataString' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setDataString(java.lang.CharSequence value) {
+ validate(fields()[0], value);
+ this.dataString = value;
+ fieldSetFlags()[0] = true;
+ return this;
+ }
+
+ /** Checks whether the 'dataString' field has been set */
+ public boolean hasDataString() {
+ return fieldSetFlags()[0];
+ }
+
+ /** Clears the value of the 'dataString' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearDataString() {
+ dataString = null;
+ fieldSetFlags()[0] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'dataInt' field */
+ public java.lang.Integer getDataInt() {
+ return dataInt;
+ }
+
+ /** Sets the value of the 'dataInt' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setDataInt(int value) {
+ validate(fields()[1], value);
+ this.dataInt = value;
+ fieldSetFlags()[1] = true;
+ return this;
+ }
+
+ /** Checks whether the 'dataInt' field has been set */
+ public boolean hasDataInt() {
+ return fieldSetFlags()[1];
+ }
+
+ /** Clears the value of the 'dataInt' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearDataInt() {
+ fieldSetFlags()[1] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'dataLong' field */
+ public java.lang.Long getDataLong() {
+ return dataLong;
+ }
+
+ /** Sets the value of the 'dataLong' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setDataLong(java.lang.Long value) {
+ validate(fields()[2], value);
+ this.dataLong = value;
+ fieldSetFlags()[2] = true;
+ return this;
+ }
+
+ /** Checks whether the 'dataLong' field has been set */
+ public boolean hasDataLong() {
+ return fieldSetFlags()[2];
+ }
+
+ /** Clears the value of the 'dataLong' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearDataLong() {
+ dataLong = null;
+ fieldSetFlags()[2] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'dataDouble' field */
+ public java.lang.Double getDataDouble() {
+ return dataDouble;
+ }
+
+ /** Sets the value of the 'dataDouble' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setDataDouble(java.lang.Double value) {
+ validate(fields()[3], value);
+ this.dataDouble = value;
+ fieldSetFlags()[3] = true;
+ return this;
+ }
+
+ /** Checks whether the 'dataDouble' field has been set */
+ public boolean hasDataDouble() {
+ return fieldSetFlags()[3];
+ }
+
+ /** Clears the value of the 'dataDouble' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearDataDouble() {
+ dataDouble = null;
+ fieldSetFlags()[3] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'dataBytes' field */
+ public java.nio.ByteBuffer getDataBytes() {
+ return dataBytes;
+ }
+
+ /** Sets the value of the 'dataBytes' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setDataBytes(java.nio.ByteBuffer value) {
+ validate(fields()[4], value);
+ this.dataBytes = value;
+ fieldSetFlags()[4] = true;
+ return this;
+ }
+
+ /** Checks whether the 'dataBytes' field has been set */
+ public boolean hasDataBytes() {
+ return fieldSetFlags()[4];
+ }
+
+ /** Clears the value of the 'dataBytes' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearDataBytes() {
+ dataBytes = null;
+ fieldSetFlags()[4] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'arrayInt' field */
+ public java.util.List<java.lang.Integer> getArrayInt() {
+ return arrayInt;
+ }
+
+ /** Sets the value of the 'arrayInt' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setArrayInt(java.util.List<java.lang.Integer> value) {
+ validate(fields()[5], value);
+ this.arrayInt = value;
+ fieldSetFlags()[5] = true;
+ return this;
+ }
+
+ /** Checks whether the 'arrayInt' field has been set */
+ public boolean hasArrayInt() {
+ return fieldSetFlags()[5];
+ }
+
+ /** Clears the value of the 'arrayInt' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearArrayInt() {
+ arrayInt = null;
+ fieldSetFlags()[5] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'arrayString' field */
+ public java.util.List<java.lang.CharSequence> getArrayString() {
+ return arrayString;
+ }
+
+ /** Sets the value of the 'arrayString' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setArrayString(java.util.List<java.lang.CharSequence> value) {
+ validate(fields()[6], value);
+ this.arrayString = value;
+ fieldSetFlags()[6] = true;
+ return this;
+ }
+
+ /** Checks whether the 'arrayString' field has been set */
+ public boolean hasArrayString() {
+ return fieldSetFlags()[6];
+ }
+
+ /** Clears the value of the 'arrayString' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearArrayString() {
+ arrayString = null;
+ fieldSetFlags()[6] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'arrayLong' field */
+ public java.util.List<java.lang.Long> getArrayLong() {
+ return arrayLong;
+ }
+
+ /** Sets the value of the 'arrayLong' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setArrayLong(java.util.List<java.lang.Long> value) {
+ validate(fields()[7], value);
+ this.arrayLong = value;
+ fieldSetFlags()[7] = true;
+ return this;
+ }
+
+ /** Checks whether the 'arrayLong' field has been set */
+ public boolean hasArrayLong() {
+ return fieldSetFlags()[7];
+ }
+
+ /** Clears the value of the 'arrayLong' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearArrayLong() {
+ arrayLong = null;
+ fieldSetFlags()[7] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'arrayDouble' field */
+ public java.util.List<java.lang.Double> getArrayDouble() {
+ return arrayDouble;
+ }
+
+ /** Sets the value of the 'arrayDouble' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setArrayDouble(java.util.List<java.lang.Double> value) {
+ validate(fields()[8], value);
+ this.arrayDouble = value;
+ fieldSetFlags()[8] = true;
+ return this;
+ }
+
+ /** Checks whether the 'arrayDouble' field has been set */
+ public boolean hasArrayDouble() {
+ return fieldSetFlags()[8];
+ }
+
+ /** Clears the value of the 'arrayDouble' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearArrayDouble() {
+ arrayDouble = null;
+ fieldSetFlags()[8] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'mapInt' field */
+ public java.util.Map<java.lang.CharSequence,java.lang.Integer> getMapInt() {
+ return mapInt;
+ }
+
+ /** Sets the value of the 'mapInt' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setMapInt(java.util.Map<java.lang.CharSequence,java.lang.Integer> value) {
+ validate(fields()[9], value);
+ this.mapInt = value;
+ fieldSetFlags()[9] = true;
+ return this;
+ }
+
+ /** Checks whether the 'mapInt' field has been set */
+ public boolean hasMapInt() {
+ return fieldSetFlags()[9];
+ }
+
+ /** Clears the value of the 'mapInt' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearMapInt() {
+ mapInt = null;
+ fieldSetFlags()[9] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'mapString' field */
+ public java.util.Map<java.lang.CharSequence,java.lang.CharSequence> getMapString() {
+ return mapString;
+ }
+
+ /** Sets the value of the 'mapString' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setMapString(java.util.Map<java.lang.CharSequence,java.lang.CharSequence> value) {
+ validate(fields()[10], value);
+ this.mapString = value;
+ fieldSetFlags()[10] = true;
+ return this;
+ }
+
+ /** Checks whether the 'mapString' field has been set */
+ public boolean hasMapString() {
+ return fieldSetFlags()[10];
+ }
+
+ /** Clears the value of the 'mapString' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearMapString() {
+ mapString = null;
+ fieldSetFlags()[10] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'mapLong' field */
+ public java.util.Map<java.lang.CharSequence,java.lang.Long> getMapLong() {
+ return mapLong;
+ }
+
+ /** Sets the value of the 'mapLong' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setMapLong(java.util.Map<java.lang.CharSequence,java.lang.Long> value) {
+ validate(fields()[11], value);
+ this.mapLong = value;
+ fieldSetFlags()[11] = true;
+ return this;
+ }
+
+ /** Checks whether the 'mapLong' field has been set */
+ public boolean hasMapLong() {
+ return fieldSetFlags()[11];
+ }
+
+ /** Clears the value of the 'mapLong' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearMapLong() {
+ mapLong = null;
+ fieldSetFlags()[11] = false;
+ return this;
+ }
+
+ /** Gets the value of the 'mapDouble' field */
+ public java.util.Map<java.lang.CharSequence,java.lang.Double> getMapDouble() {
+ return mapDouble;
+ }
+
+ /** Sets the value of the 'mapDouble' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder setMapDouble(java.util.Map<java.lang.CharSequence,java.lang.Double> value) {
+ validate(fields()[12], value);
+ this.mapDouble = value;
+ fieldSetFlags()[12] = true;
+ return this;
+ }
+
+ /** Checks whether the 'mapDouble' field has been set */
+ public boolean hasMapDouble() {
+ return fieldSetFlags()[12];
+ }
+
+ /** Clears the value of the 'mapDouble' field */
+ public org.apache.gora.cassandra.example.generated.avroSerialization.CassandraRecord.Builder clearMapDouble() {
+ mapDouble = null;
+ fieldSetFlags()[12] = false;
+ return this;
+ }
+
+ @Override
+ public CassandraRecord build() {
+ try {
+ CassandraRecord record = new CassandraRecord();
+ record.dataString = fieldSetFlags()[0] ? this.dataString : (java.lang.CharSequence) defaultValue(fields()[0]);
+ record.dataInt = fieldSetFlags()[1] ? this.dataInt : (java.lang.Integer) defaultValue(fields()[1]);
+ record.dataLong = fieldSetFlags()[2] ? this.dataLong : (java.lang.Long) defaultValue(fields()[2]);
+ record.dataDouble = fieldSetFlags()[3] ? this.dataDouble : (java.lang.Double) defaultValue(fields()[3]);
+ record.dataBytes = fieldSetFlags()[4] ? this.dataBytes : (java.nio.ByteBuffer) defaultValue(fields()[4]);
+ record.arrayInt = fieldSetFlags()[5] ? this.arrayInt : (java.util.List<java.lang.Integer>) new org.apache.gora.persistency.impl.DirtyListWrapper((java.util.List)defaultValue(fields()[5]));
+ record.arrayString = fieldSetFlags()[6] ? this.arrayString : (java.util.List<java.lang.CharSequence>) new org.apache.gora.persistency.impl.DirtyListWrapper((java.util.List)defaultValue(fields()[6]));
+ record.arrayLong = fieldSetFlags()[7] ? this.arrayLong : (java.util.List<java.lang.Long>) new org.apache.gora.persistency.impl.DirtyListWrapper((java.util.List)defaultValue(fields()[7]));
+ record.arrayDouble = fieldSetFlags()[8] ? this.arrayDouble : (java.util.List<java.lang.Double>) new org.apache.gora.persistency.impl.DirtyListWrapper((java.util.List)defaultValue(fields()[8]));
+ record.mapInt = fieldSetFlags()[9] ? this.mapInt : (java.util.Map<java.lang.CharSequence,java.lang.Integer>) new org.apache.gora.persistency.impl.DirtyMapWrapper((java.util.Map)defaultValue(fields()[9]));
+ record.mapString = fieldSetFlags()[10] ? this.mapString : (java.util.Map<java.lang.CharSequence,java.lang.CharSequence>) new org.apache.gora.persistency.impl.DirtyMapWrapper((java.util.Map)defaultValue(fields()[10]));
+ record.mapLong = fieldSetFlags()[11] ? this.mapLong : (java.util.Map<java.lang.CharSequence,java.lang.Long>) new org.apache.gora.persistency.impl.DirtyMapWrapper((java.util.Map)defaultValue(fields()[11]));
+ record.mapDouble = fieldSetFlags()[12] ? this.mapDouble : (java.util.Map<java.lang.CharSequence,java.lang.Double>) new org.apache.gora.persistency.impl.DirtyMapWrapper((java.util.Map)defaultValue(fields()[12]));
+ return record;
+ } catch (Exception e) {
+ throw new org.apache.avro.AvroRuntimeException(e);
+ }
+ }
+ }
+
+ public CassandraRecord.Tombstone getTombstone(){
+ return TOMBSTONE;
+ }
+
+ public CassandraRecord newInstance(){
+ return newBuilder().build();
+ }
+
+ private static final Tombstone TOMBSTONE = new Tombstone();
+
+ public static final class Tombstone extends CassandraRecord implements org.apache.gora.persistency.Tombstone {
+
+ private Tombstone() { }
+
+ /**
+ * Gets the value of the 'dataString' field.
+ */
+ public java.lang.CharSequence getDataString() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'dataString' field.
+ * @param value the value to set.
+ */
+ public void setDataString(java.lang.CharSequence value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'dataString' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isDataStringDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'dataInt' field.
+ */
+ public java.lang.Integer getDataInt() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'dataInt' field.
+ * @param value the value to set.
+ */
+ public void setDataInt(java.lang.Integer value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'dataInt' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isDataIntDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'dataLong' field.
+ */
+ public java.lang.Long getDataLong() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'dataLong' field.
+ * @param value the value to set.
+ */
+ public void setDataLong(java.lang.Long value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'dataLong' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isDataLongDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'dataDouble' field.
+ */
+ public java.lang.Double getDataDouble() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'dataDouble' field.
+ * @param value the value to set.
+ */
+ public void setDataDouble(java.lang.Double value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'dataDouble' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isDataDoubleDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'dataBytes' field.
+ */
+ public java.nio.ByteBuffer getDataBytes() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'dataBytes' field.
+ * @param value the value to set.
+ */
+ public void setDataBytes(java.nio.ByteBuffer value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'dataBytes' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isDataBytesDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'arrayInt' field.
+ */
+ public java.util.List<java.lang.Integer> getArrayInt() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'arrayInt' field.
+ * @param value the value to set.
+ */
+ public void setArrayInt(java.util.List<java.lang.Integer> value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'arrayInt' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isArrayIntDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'arrayString' field.
+ */
+ public java.util.List<java.lang.CharSequence> getArrayString() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'arrayString' field.
+ * @param value the value to set.
+ */
+ public void setArrayString(java.util.List<java.lang.CharSequence> value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'arrayString' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isArrayStringDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'arrayLong' field.
+ */
+ public java.util.List<java.lang.Long> getArrayLong() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'arrayLong' field.
+ * @param value the value to set.
+ */
+ public void setArrayLong(java.util.List<java.lang.Long> value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'arrayLong' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isArrayLongDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'arrayDouble' field.
+ */
+ public java.util.List<java.lang.Double> getArrayDouble() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'arrayDouble' field.
+ * @param value the value to set.
+ */
+ public void setArrayDouble(java.util.List<java.lang.Double> value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'arrayDouble' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isArrayDoubleDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'mapInt' field.
+ */
+ public java.util.Map<java.lang.CharSequence,java.lang.Integer> getMapInt() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'mapInt' field.
+ * @param value the value to set.
+ */
+ public void setMapInt(java.util.Map<java.lang.CharSequence,java.lang.Integer> value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'mapInt' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isMapIntDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'mapString' field.
+ */
+ public java.util.Map<java.lang.CharSequence,java.lang.CharSequence> getMapString() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'mapString' field.
+ * @param value the value to set.
+ */
+ public void setMapString(java.util.Map<java.lang.CharSequence,java.lang.CharSequence> value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'mapString' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isMapStringDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'mapLong' field.
+ */
+ public java.util.Map<java.lang.CharSequence,java.lang.Long> getMapLong() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'mapLong' field.
+ * @param value the value to set.
+ */
+ public void setMapLong(java.util.Map<java.lang.CharSequence,java.lang.Long> value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'mapLong' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isMapLongDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+ /**
+ * Gets the value of the 'mapDouble' field.
+ */
+ public java.util.Map<java.lang.CharSequence,java.lang.Double> getMapDouble() {
+ throw new java.lang.UnsupportedOperationException("Get is not supported on tombstones");
+ }
+
+ /**
+ * Sets the value of the 'mapDouble' field.
+ * @param value the value to set.
+ */
+ public void setMapDouble(java.util.Map<java.lang.CharSequence,java.lang.Double> value) {
+ throw new java.lang.UnsupportedOperationException("Set is not supported on tombstones");
+ }
+
+ /**
+ * Checks the dirty status of the 'mapDouble' field. A field is dirty if it represents a change that has not yet been written to the database.
+ * @param value the value to set.
+ */
+ public boolean isMapDoubleDirty() {
+ throw new java.lang.UnsupportedOperationException("IsDirty is not supported on tombstones");
+ }
+
+
+ }
+
+ private static final org.apache.avro.io.DatumWriter
+ DATUM_WRITER$ = new org.apache.avro.specific.SpecificDatumWriter(SCHEMA$);
+ private static final org.apache.avro.io.DatumReader
+ DATUM_READER$ = new org.apache.avro.specific.SpecificDatumReader(SCHEMA$);
+
+ /**
+ * Writes AVRO data bean to output stream in the form of AVRO Binary encoding format. This will transform
+ * AVRO data bean from its Java object form to it s serializable form.
+ *
+ * @param out java.io.ObjectOutput output stream to write data bean in serializable form
+ */
+ @Override
+ public void writeExternal(java.io.ObjectOutput out)
+ throws java.io.IOException {
+ out.write(super.getDirtyBytes().array());
+ DATUM_WRITER$.write(this, org.apache.avro.io.EncoderFactory.get()
+ .directBinaryEncoder((java.io.OutputStream) out,
+ null));
+ }
+
+ /**
+ * Reads AVRO data bean from input stream in it s AVRO Binary encoding format to Java object format.
+ * This will transform AVRO data bean from it s serializable form to deserialized Java object form.
+ *
+ * @param in java.io.ObjectOutput input stream to read data bean in serializable form
+ */
+ @Override
+ public void readExternal(java.io.ObjectInput in)
+ throws java.io.IOException {
+ byte[] __g__dirty = new byte[getFieldsCount()];
+ in.read(__g__dirty);
+ super.setDirtyBytes(java.nio.ByteBuffer.wrap(__g__dirty));
+ DATUM_READER$.read(this, org.apache.avro.io.DecoderFactory.get()
+ .directBinaryDecoder((java.io.InputStream) in,
+ null));
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/CassandraKey.java
----------------------------------------------------------------------
diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/CassandraKey.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/CassandraKey.java
index ca9657b..37ec84e 100644
--- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/CassandraKey.java
+++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/CassandraKey.java
@@ -31,28 +31,33 @@ public class CassandraKey{
private List<PartitionKeyField> partitionKeyFields;
+ private List<Field> fieldList;
public CassandraKey(String name) {
this.name = name;
+ this.fieldList = new ArrayList<>();
+ this.partitionKeyFields = new ArrayList<>();
}
public String getName() {
- return name;
+ return this.name;
}
public List<ClusterKeyField> getClusterKeyFields() {
- return clusterKeyFields;
+ return this.clusterKeyFields;
}
public List<PartitionKeyField> getPartitionKeyFields() {
- return partitionKeyFields;
+ return this.partitionKeyFields;
}
public void addPartitionKeyField(PartitionKeyField partitionKeyField) {
- if(this.partitionKeyFields == null) {
- this.partitionKeyFields = new ArrayList<>();
- }
this.partitionKeyFields.add(partitionKeyField);
+ if(partitionKeyField.isComposite()) {
+ this.fieldList.addAll(partitionKeyField.getFields());
+ } else {
+ this.fieldList.add(partitionKeyField);
+ }
}
public void addClusterKeyField(ClusterKeyField clusterKeyField) {
@@ -62,4 +67,8 @@ public class CassandraKey{
this.clusterKeyFields.add(clusterKeyField);
}
+ public List<Field> getFieldList() {
+ return this.fieldList;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java
----------------------------------------------------------------------
diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java
index 560b61c..ba4a743 100644
--- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java
+++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/bean/ClusterKeyField.java
@@ -20,7 +20,21 @@ package org.apache.gora.cassandra.bean;
/**
* This class represents Cassandra Clustering Key.
*/
-public class ClusterKeyField extends Field {
+public class ClusterKeyField {
+
+ public String getColumnName() {
+ return columnName;
+ }
+
+ public void setColumnName(String columnName) {
+ this.columnName = columnName;
+ }
+
+ private String columnName;
+
+ public ClusterKeyField() {
+
+ }
public enum Order {
DESC,
http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraColumn.java
----------------------------------------------------------------------
diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraColumn.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraColumn.java
deleted file mode 100644
index e95b815..0000000
--- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraColumn.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.gora.cassandra.query;
-
-import org.apache.avro.Schema.Field;
-
-/**
- * Created by madhawa on 7/1/17.
- */
-public class CassandraColumn {
-
- public CassandraColumn(Field field, Object value) {
- this.field = field;
- this.name = field.name();
- this.value = value;
- }
-
- public String getName() {
- return name;
- }
-
- public Field getField() {
- return field;
- }
-
- private String name;
-
- private Field field;
-
- public Object getValue() {
- return value;
- }
-
- private Object value;
-}
http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraResultSet.java
----------------------------------------------------------------------
diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraResultSet.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraResultSet.java
index c23a11c..1b4876e 100644
--- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraResultSet.java
+++ b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraResultSet.java
@@ -79,4 +79,8 @@ public class CassandraResultSet<K, T extends Persistent> extends ResultBase<K, T
this.persistentObject.add(token);
this.size++;
}
+
+ public void setLimit(long limit) {
+ this.limit = limit;
+ }
}
http://git-wip-us.apache.org/repos/asf/gora/blob/a51b719c/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraRow.java
----------------------------------------------------------------------
diff --git a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraRow.java b/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraRow.java
deleted file mode 100644
index 857e1b2..0000000
--- a/gora-cassandra-cql/src/main/java/org/apache/gora/cassandra/query/CassandraRow.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.gora.cassandra.query;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by madhawa on 7/1/17.
- */
-public class CassandraRow<K> extends ArrayList<CassandraColumn> {
- private static final long serialVersionUID = -7620939600192859652L;
- private K key;
-
- public K getKey() {
- return this.key;
- }
-
- public void setKey(K key) {
- this.key = key;
- }
-
- /**
- * Gets a specific CassandraColumn within a row using its name
- *
- * @param cassandraColumnName columnName
- * @return CassandraColumn
- */
- public CassandraColumn getCassandraColumn(String cassandraColumnName) {
- for (CassandraColumn cColumn : this) {
- if (cassandraColumnName.equals(cColumn.getName())) {
- return cColumn;
- }
- }
- return null;
- }
-
- /**
- *
- * @return
- */
- public String[] getFields() {
- List<String> columnNames = new ArrayList<>();
- for (CassandraColumn cColumn : this) {
- columnNames.add(cColumn.getName());
- }
- String[] columnNameArray = new String[columnNames.size()];
- columnNameArray = columnNames.toArray(columnNameArray);
- return columnNameArray;
- }
-
- /**
- *
- * @return
- */
- public Object[] getValues() {
- List<Object> columnValues = new ArrayList<>();
- for (CassandraColumn cColumn : this) {
- columnValues.add(cColumn.getValue());
- }
- return columnValues.toArray();
- }
-}