labs-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kayyag...@apache.org
Subject svn commit: r1499333 - /labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java
Date Wed, 03 Jul 2013 11:41:22 GMT
Author: kayyagari
Date: Wed Jul  3 11:41:22 2013
New Revision: 1499333

URL: http://svn.apache.org/r1499333
Log:
o added a checks to avoid ClassCastException while deriving the key type
o set the comparator also while setting the serializer

Modified:
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java?rev=1499333&r1=1499332&r2=1499333&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/BTree.java Wed Jul 
3 11:41:22 2013
@@ -496,11 +496,19 @@ public class BTree<K, V>
         // We will extract the Type to use for keys, using the comparator for that
         Class<?> comparatorClass = comparator.getClass();
         Type[] types = comparatorClass.getGenericInterfaces();
-        Type[] argumentTypes = ( ( ParameterizedType ) types[0] ).getActualTypeArguments();
-
-        if ( ( argumentTypes != null ) && ( argumentTypes.length > 0 ) &&
( argumentTypes[0] instanceof Class<?> ) )
+        
+        if ( types[0] instanceof Class )
+        {
+        	keyType = ( Class<?> ) types[0];
+        }
+        else
         {
-            keyType = ( Class<?> ) argumentTypes[0];
+        	Type[] argumentTypes = ( ( ParameterizedType ) types[0] ).getActualTypeArguments();
+        	
+        	if ( ( argumentTypes != null ) && ( argumentTypes.length > 0 ) &&
( argumentTypes[0] instanceof Class<?> ) )
+        	{
+        		keyType = ( Class<?> ) argumentTypes[0];
+        	}
         }
 
         writeLock = new ReentrantLock();
@@ -1314,6 +1322,7 @@ public class BTree<K, V>
     public void setKeySerializer( ElementSerializer<K> keySerializer )
     {
         this.keySerializer = keySerializer;
+        this.comparator = keySerializer.getComparator();
         btreeHeader.setKeySerializerFQCN( keySerializer.getClass().getName() );
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org


Mime
View raw message