Repository: gora Updated Branches: refs/heads/master f267370f1 -> eedcfed9d
GORA-399 Signed-off-by: Renato Marroquin <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/eedcfed9 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/eedcfed9 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/eedcfed9 Branch: refs/heads/master Commit: eedcfed9d3ef3d82ce02fd5ef91f24c362773553 Parents: f267370 Author: Renato Marroquin <[email protected]> Authored: Sun Nov 9 12:11:29 2014 +0100 Committer: Renato Marroquin <[email protected]> Committed: Sun Nov 9 12:23:20 2014 +0100 ---------------------------------------------------------------------- .../gora/cassandra/serializers/GoraSerializerTypeInferer.java | 4 +++- .../java/org/apache/gora/cassandra/store/CassandraClient.java | 2 ++ .../java/org/apache/gora/cassandra/store/CassandraStore.java | 3 +-- 3 files changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/gora/blob/eedcfed9/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/GoraSerializerTypeInferer.java ---------------------------------------------------------------------- diff --git a/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/GoraSerializerTypeInferer.java b/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/GoraSerializerTypeInferer.java index c95d51c..e9521c8 100644 --- a/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/GoraSerializerTypeInferer.java +++ b/gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/GoraSerializerTypeInferer.java @@ -55,6 +55,8 @@ public class GoraSerializerTypeInferer { Serializer serializer = null; if (value == null) { serializer = ByteBufferSerializer.get(); + } else if (value instanceof CharSequence) { + serializer = CharSequenceSerializer.get(); } else if (value instanceof Utf8) { serializer = CharSequenceSerializer.get(); } else if (value instanceof Boolean) { @@ -103,7 +105,7 @@ public class GoraSerializerTypeInferer { @SuppressWarnings({ "rawtypes", "unchecked" }) public static <T> Serializer<T> getSerializer(Class<?> valueClass) { Serializer serializer = null; - if (valueClass.equals(Utf8.class)) { + if (valueClass.equals(Utf8.class) || valueClass.equals(CharSequence.class)) { serializer = CharSequenceSerializer.get(); } else if (valueClass.equals(Boolean.class) || valueClass.equals(boolean.class)) { serializer = BooleanSerializer.get(); http://git-wip-us.apache.org/repos/asf/gora/blob/eedcfed9/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraClient.java ---------------------------------------------------------------------- diff --git a/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraClient.java b/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraClient.java index 59bf8bd..4df1aa4 100644 --- a/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraClient.java +++ b/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraClient.java @@ -148,6 +148,8 @@ public class CassandraClient<K, T extends PersistentBase> { this.keyspace = HFactory.createKeyspace(this.cassandraMapping.getKeyspaceName(), this.cluster); this.keySerializer = GoraSerializerTypeInferer.getSerializer(keyClass); + if (this.keySerializer == null) + LOG.error("Serializer for " + keyClass + " not found."); this.mutator = HFactory.createMutator(this.keyspace, this.keySerializer); } http://git-wip-us.apache.org/repos/asf/gora/blob/eedcfed9/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java ---------------------------------------------------------------------- diff --git a/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java b/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java index 660391e..95f8090 100644 --- a/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java +++ b/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraStore.java @@ -46,7 +46,6 @@ import org.apache.avro.generic.GenericData.Array; import org.apache.avro.io.BinaryEncoder; import org.apache.avro.specific.SpecificData; import org.apache.avro.specific.SpecificDatumWriter; -import org.apache.avro.util.Utf8; import org.apache.gora.cassandra.query.CassandraQuery; import org.apache.gora.cassandra.query.CassandraResult; import org.apache.gora.cassandra.query.CassandraResultSet; @@ -629,7 +628,7 @@ public class CassandraStore<K, T extends PersistentBase> extends DataStoreBase<K Iterator<Schema> it = pUnionSchema.getTypes().iterator(); while ( it.hasNext() ){ Type schemaType = it.next().getType(); - if (pValue instanceof Utf8 && schemaType.equals(Type.STRING)) + if (pValue instanceof CharSequence && schemaType.equals(Type.STRING)) return unionSchemaPos; else if (pValue instanceof ByteBuffer && schemaType.equals(Type.BYTES)) return unionSchemaPos;
