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;

Reply via email to