Author: jbellis
Date: Thu Dec  9 15:53:09 2010
New Revision: 1044012

URL: http://svn.apache.org/viewvc?rev=1044012&view=rev
Log:
infer org.apache.cassandra.locator for replication strategy classes when not 
otherwise specified
patch by jbellis

Modified:
    cassandra/branches/cassandra-0.7/CHANGES.txt
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/CassandraServer.java
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/FBUtilities.java

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1044012&r1=1044011&r2=1044012&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Dec  9 15:53:09 2010
@@ -1,8 +1,11 @@
 dev
  * expose getNaturalEndpoints in StorageServiceMBean taking byte[]
    key; RMI cannot serialize ByteBuffer (CASSANDRA-1833)
+ * infer org.apache.cassandra.locator for replication strategy classes
+   when not otherwise specified
  * validation that generates less garbage (CASSANDRA-1814)
 
+
 0.7.0-rc2
  * fix live-column-count of slice ranges including tombstoned supercolumn 
    with live subcolumn (CASSANDRA-1591)

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/CassandraServer.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/CassandraServer.java?rev=1044012&r1=1044011&r2=1044012&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/CassandraServer.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/CassandraServer.java
 Thu Dec  9 15:53:09 2010
@@ -42,12 +42,10 @@ import org.apache.avro.ipc.AvroRemoteExc
 import org.apache.avro.util.Utf8;
 import org.apache.cassandra.concurrent.Stage;
 import org.apache.cassandra.db.migration.DropKeyspace;
-import org.apache.cassandra.db.migration.RenameKeyspace;
 import org.apache.cassandra.db.migration.UpdateColumnFamily;
 import org.apache.cassandra.db.migration.UpdateKeyspace;
 import org.apache.cassandra.dht.*;
-import org.apache.cassandra.gms.Gossiper;
-import org.apache.cassandra.utils.FBUtilities;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -66,7 +64,6 @@ import org.apache.cassandra.db.migration
 import org.apache.cassandra.db.migration.AddKeyspace;
 import org.apache.cassandra.db.migration.DropColumnFamily;
 import org.apache.cassandra.db.migration.Migration;
-import org.apache.cassandra.db.migration.RenameColumnFamily;
 import org.apache.cassandra.locator.AbstractReplicationStrategy;
 import org.apache.cassandra.scheduler.IRequestScheduler;
 import org.apache.cassandra.service.ClientState;
@@ -646,7 +643,7 @@ public class CassandraServer implements 
 
             KSMetaData ksmeta = new KSMetaData(
                     ksDef.name.toString(),
-                    
FBUtilities.<AbstractReplicationStrategy>classForName(ksDef.strategy_class.toString(),
 "keyspace replication strategy"),
+                    
AbstractReplicationStrategy.getClass(ksDef.strategy_class.toString()),
                     strategyOptions,
                     ksDef.replication_factor,
                     cfDefs.toArray(new CFMetaData[cfDefs.size()]));
@@ -738,7 +735,7 @@ public class CassandraServer implements 
             
             KSMetaData ksm = new KSMetaData(
                     ks_def.name.toString(), 
-                    (Class<? extends AbstractReplicationStrategy>) 
FBUtilities.<AbstractReplicationStrategy>classForName(ks_def.strategy_class.toString(),
 "keyspace replication strategy"),
+                    
AbstractReplicationStrategy.getClass(ks_def.strategy_class.toString()),
                     strategyOptions,
                     ks_def.replication_factor);
             applyMigrationOnStage(new UpdateKeyspace(ksm));

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java?rev=1044012&r1=1044011&r2=1044012&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
 Thu Dec  9 15:53:09 2010
@@ -261,7 +261,13 @@ public abstract class AbstractReplicatio
                                                                         
Map<String, String> strategyOptions)
             throws ConfigurationException
     {
-        Class<AbstractReplicationStrategy> c = 
FBUtilities.<AbstractReplicationStrategy>classForName(strategyClassName, 
"replication-strategy");
+        Class<AbstractReplicationStrategy> c = getClass(strategyClassName);
         return createReplicationStrategy(table, c, tokenMetadata, snitch, 
strategyOptions);
     }
+
+    public static Class<AbstractReplicationStrategy> getClass(String cls) 
throws ConfigurationException
+    {
+        String className = cls.contains(".") ? cls : 
"org.apache.cassandra.locator." + cls;
+        return FBUtilities.classForName(className, "replication strategy");
+    }
 }

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=1044012&r1=1044011&r2=1044012&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java
 Thu Dec  9 15:53:09 2010
@@ -42,7 +42,6 @@ import org.apache.cassandra.config.Confi
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.config.KSMetaData;
 import org.apache.cassandra.db.ColumnFamily;
-import org.apache.cassandra.db.ColumnFamilyNotDefinedException;
 import org.apache.cassandra.db.ColumnFamilyType;
 import org.apache.cassandra.db.DecoratedKey;
 import org.apache.cassandra.db.ExpiringColumn;
@@ -60,8 +59,6 @@ import org.apache.cassandra.db.migration
 import org.apache.cassandra.db.migration.DropColumnFamily;
 import org.apache.cassandra.db.migration.DropKeyspace;
 import org.apache.cassandra.db.migration.Migration;
-import org.apache.cassandra.db.migration.RenameColumnFamily;
-import org.apache.cassandra.db.migration.RenameKeyspace;
 import org.apache.cassandra.db.migration.UpdateColumnFamily;
 import org.apache.cassandra.db.migration.UpdateKeyspace;
 import org.apache.cassandra.dht.AbstractBounds;
@@ -75,7 +72,6 @@ import org.apache.cassandra.scheduler.IR
 import org.apache.cassandra.service.ClientState;
 import org.apache.cassandra.service.StorageProxy;
 import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.utils.FBUtilities;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -767,7 +763,7 @@ public class CassandraServer implements 
             }
 
             KSMetaData ksm = new KSMetaData(ks_def.name,
-                                            
FBUtilities.<AbstractReplicationStrategy>classForName(ks_def.strategy_class, 
"keyspace replication strategy"),
+                                            
AbstractReplicationStrategy.getClass(ks_def.strategy_class),
                                             ks_def.strategy_options,
                                             ks_def.replication_factor,
                                             cfDefs.toArray(new 
CFMetaData[cfDefs.size()]));
@@ -826,7 +822,7 @@ public class CassandraServer implements 
         {
             KSMetaData ksm = new KSMetaData(
                     ks_def.name, 
-                    
FBUtilities.<AbstractReplicationStrategy>classForName(ks_def.strategy_class, 
"keyspace replication strategy"),
+                    
AbstractReplicationStrategy.getClass(ks_def.strategy_class),
                     ks_def.strategy_options,
                     ks_def.replication_factor);
             applyMigrationOnStage(new UpdateKeyspace(ksm));

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/FBUtilities.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/FBUtilities.java?rev=1044012&r1=1044011&r2=1044012&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/FBUtilities.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/FBUtilities.java
 Thu Dec  9 15:53:09 2010
@@ -50,6 +50,7 @@ import org.apache.cassandra.db.marshal.A
 import org.apache.cassandra.dht.IPartitioner;
 import org.apache.cassandra.dht.Range;
 import org.apache.cassandra.dht.Token;
+import org.apache.cassandra.locator.AbstractReplicationStrategy;
 import org.apache.cassandra.locator.PropertyFileSnitch;
 import org.apache.thrift.TBase;
 import org.apache.thrift.TDeserializer;


Reply via email to