Author: jbellis
Date: Mon Nov 8 20:27:44 2010
New Revision: 1032693
URL: http://svn.apache.org/viewvc?rev=1032693&view=rev
Log:
replace ad-hoc checks in update/set keyspace with ThriftValidation.validateTable
patch by jbellis
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/CassandraServer.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java
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=1032693&r1=1032692&r2=1032693&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
Mon Nov 8 20:27:44 2010
@@ -815,13 +815,11 @@ public class CassandraServer implements
public String system_update_keyspace(KsDef ks_def) throws
InvalidRequestException, TException
{
state().hasKeyspaceListAccess(Permission.WRITE);
-
+
+ ThriftValidation.validateTable(ks_def.name);
if (ks_def.getCf_defs() != null && ks_def.getCf_defs().size() > 0)
throw new InvalidRequestException("Keyspace update must not
contain any column family definitions.");
- if (DatabaseDescriptor.getTableDefinition(ks_def.name) == null)
- throw new InvalidRequestException("Keyspace does not exist.");
-
try
{
KSMetaData ksm = new KSMetaData(
@@ -935,11 +933,8 @@ public class CassandraServer implements
public void set_keyspace(String keyspace) throws InvalidRequestException,
TException
{
- if (DatabaseDescriptor.getTableDefinition(keyspace) == null)
- {
- throw new InvalidRequestException("Keyspace does not exist");
- }
-
+ ThriftValidation.validateTable(keyspace);
+
state().setKeyspace(keyspace);
}
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java?rev=1032693&r1=1032692&r2=1032693&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java
Mon Nov 8 20:27:44 2010
@@ -59,11 +59,11 @@ public class ThriftValidation
}
}
- private static void validateTable(String tablename) throws
KeyspaceNotDefinedException
+ public static void validateTable(String tablename) throws
KeyspaceNotDefinedException
{
if (!DatabaseDescriptor.getTables().contains(tablename))
{
- throw new KeyspaceNotDefinedException("Keyspace " + tablename + "
does not exist in this schema.");
+ throw new KeyspaceNotDefinedException("Keyspace " + tablename + "
does not exist");
}
}