You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2012/01/26 18:33:34 UTC

[2/3] git commit: move ConfigurationException check to Create statement

move ConfigurationException check to Create statement


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/96ecaff5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/96ecaff5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/96ecaff5

Branch: refs/heads/trunk
Commit: 96ecaff517418c63b93688865dbb435b2186372f
Parents: 54d9fbb
Author: Jonathan Ellis <jb...@apache.org>
Authored: Thu Jan 26 10:29:44 2012 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Thu Jan 26 11:25:25 2012 -0600

----------------------------------------------------------------------
 .../org/apache/cassandra/config/CFMetaData.java    |   45 ++++++--------
 .../statements/CreateColumnFamilyStatement.java    |    2 +
 .../apache/cassandra/db/marshal/CompositeType.java |   10 +---
 .../cassandra/db/marshal/CompositeTypeTest.java    |    9 +---
 4 files changed, 24 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/96ecaff5/src/java/org/apache/cassandra/config/CFMetaData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java
index c5b2633..dc50102 100644
--- a/src/java/org/apache/cassandra/config/CFMetaData.java
+++ b/src/java/org/apache/cassandra/config/CFMetaData.java
@@ -85,36 +85,29 @@ public final class CFMetaData
 
     private static CFMetaData schemaCFDefinition(String name, int index, String comment, AbstractType<?> comp, int nestingLevel)
     {
-        try
-        {
-            AbstractType<?> comparator;
-
-            if (nestingLevel == 1)
-            {
-                comparator = comp;
-            }
-            else
-            {
-                List<AbstractType<?>> composite = new ArrayList<AbstractType<?>>(nestingLevel);
-
-                for (int i = 0; i < nestingLevel; i++)
-                    composite.add(comp);
-
-                comparator = CompositeType.getInstance(composite);
-            }
+        AbstractType<?> comparator;
 
-            return newSystemMetadata(name,
-                                     index,
-                                     comment,
-                                     comparator,
-                                     null)
-                                     .keyValidator(AsciiType.instance)
-                                     .defaultValidator(UTF8Type.instance);
+        if (nestingLevel == 1)
+        {
+            comparator = comp;
         }
-        catch (ConfigurationException e)
+        else
         {
-            throw new RuntimeException(e);
+            List<AbstractType<?>> composite = new ArrayList<AbstractType<?>>(nestingLevel);
+
+            for (int i = 0; i < nestingLevel; i++)
+                composite.add(comp);
+
+            comparator = CompositeType.getInstance(composite);
         }
+
+        return newSystemMetadata(name,
+                                 index,
+                                 comment,
+                                 comparator,
+                                 null)
+                                 .keyValidator(AsciiType.instance)
+                                 .defaultValidator(UTF8Type.instance);
     }
 
     static

http://git-wip-us.apache.org/repos/asf/cassandra/blob/96ecaff5/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java b/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
index 48f4c61..eec47cf 100644
--- a/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/CreateColumnFamilyStatement.java
@@ -207,6 +207,8 @@ public class CreateColumnFamilyStatement extends SchemaAlteringStatement
                         if (!useCompactStorage)
                             types.add(CFDefinition.definitionType);
 
+                        if (types.isEmpty())
+                            throw new IllegalStateException("Nonsensical empty parameter list for CompositeType");
                         stmt.comparator = CompositeType.getInstance(types);
                     }
                 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/96ecaff5/src/java/org/apache/cassandra/db/marshal/CompositeType.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/marshal/CompositeType.java b/src/java/org/apache/cassandra/db/marshal/CompositeType.java
index 27cfea1..c9e866e 100644
--- a/src/java/org/apache/cassandra/db/marshal/CompositeType.java
+++ b/src/java/org/apache/cassandra/db/marshal/CompositeType.java
@@ -57,15 +57,9 @@ public class CompositeType extends AbstractCompositeType
     // interning instances
     private static final Map<List<AbstractType<?>>, CompositeType> instances = new HashMap<List<AbstractType<?>>, CompositeType>();
 
-    public static CompositeType getInstance(TypeParser parser) throws ConfigurationException
+    public static synchronized CompositeType getInstance(List<AbstractType<?>> types)
     {
-        return getInstance(parser.getTypeParameters());
-    }
-
-    public static synchronized CompositeType getInstance(List<AbstractType<?>> types) throws ConfigurationException
-    {
-        if (types == null || types.isEmpty())
-            throw new ConfigurationException("Nonsensical empty parameter list for CompositeType");
+        assert types != null && !types.isEmpty();
 
         CompositeType ct = instances.get(types);
         if (ct == null)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/96ecaff5/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java b/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java
index e32943b..80efe00 100644
--- a/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java
+++ b/test/unit/org/apache/cassandra/db/marshal/CompositeTypeTest.java
@@ -46,14 +46,7 @@ public class CompositeTypeTest extends CleanupHelper
         subComparators.add(BytesType.instance);
         subComparators.add(TimeUUIDType.instance);
         subComparators.add(IntegerType.instance);
-        try
-        {
-            comparator = CompositeType.getInstance(subComparators);
-        }
-        catch (ConfigurationException e)
-        {
-            throw new RuntimeException(e);
-        }
+        comparator = CompositeType.getInstance(subComparators);
 
     }