You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by to...@apache.org on 2015/02/02 10:04:02 UTC
metamodel git commit: METAMODEL-109: CassandraDataContext throws
IllegalArgumentException with proper message instead of NPE when keystore
does not exist.
Repository: metamodel
Updated Branches:
refs/heads/master 406422c67 -> 3a7483c89
METAMODEL-109: CassandraDataContext throws IllegalArgumentException with
proper message instead of NPE when keystore does not exist.
Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/3a7483c8
Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/3a7483c8
Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/3a7483c8
Branch: refs/heads/master
Commit: 3a7483c89b2e4ab15ca6a2af514fe7679718603c
Parents: 406422c
Author: tomaszguzialek <to...@humaninference.com>
Authored: Fri Jan 30 13:33:26 2015 +0100
Committer: tomaszguzialek <to...@humaninference.com>
Committed: Fri Jan 30 13:33:26 2015 +0100
----------------------------------------------------------------------
.../metamodel/cassandra/CassandraDataContext.java | 3 +++
.../metamodel/cassandra/CassandraDataContextTest.java | 13 +++++++++++++
2 files changed, 16 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/3a7483c8/cassandra/src/main/java/org/apache/metamodel/cassandra/CassandraDataContext.java
----------------------------------------------------------------------
diff --git a/cassandra/src/main/java/org/apache/metamodel/cassandra/CassandraDataContext.java b/cassandra/src/main/java/org/apache/metamodel/cassandra/CassandraDataContext.java
index 03f35ae..f7af49b 100644
--- a/cassandra/src/main/java/org/apache/metamodel/cassandra/CassandraDataContext.java
+++ b/cassandra/src/main/java/org/apache/metamodel/cassandra/CassandraDataContext.java
@@ -105,6 +105,9 @@ public class CassandraDataContext extends QueryPostprocessDataContext implements
public static SimpleTableDef[] detectSchema(Cluster cluster, String keyspaceName) {
final Metadata metadata = cluster.getMetadata();
final KeyspaceMetadata keyspace = metadata.getKeyspace(keyspaceName);
+ if (keyspace == null) {
+ throw new IllegalArgumentException("Keyspace '" + keyspaceName + "' does not exist in the database");
+ }
final Collection<TableMetadata> tables = keyspace.getTables();
final SimpleTableDef[] result = new SimpleTableDef[tables.size()];
int i = 0;
http://git-wip-us.apache.org/repos/asf/metamodel/blob/3a7483c8/cassandra/src/test/java/org/apache/metamodel/cassandra/CassandraDataContextTest.java
----------------------------------------------------------------------
diff --git a/cassandra/src/test/java/org/apache/metamodel/cassandra/CassandraDataContextTest.java b/cassandra/src/test/java/org/apache/metamodel/cassandra/CassandraDataContextTest.java
index b736ab1..a48e3a9 100644
--- a/cassandra/src/test/java/org/apache/metamodel/cassandra/CassandraDataContextTest.java
+++ b/cassandra/src/test/java/org/apache/metamodel/cassandra/CassandraDataContextTest.java
@@ -197,6 +197,19 @@ public class CassandraDataContextTest extends CassandraTestCase {
assertTrue(thrown);
}
+ public void testNonExistentKeystore() {
+ if (!isConfigured()) {
+ System.err.println(getInvalidConfigurationMessage());
+ return;
+ }
+ try {
+ new CassandraDataContext(cluster, "nonExistentKeyspace");
+ fail();
+ } catch (IllegalArgumentException e) {
+ assertNotNull(e);
+ }
+ }
+
private void createCassandraKeySpaceAndTable(Session session) {
session.execute("CREATE KEYSPACE IF NOT EXISTS " + getKeyspaceName() + " WITH replication "
+ "= {'class':'SimpleStrategy', 'replication_factor':1};");