Merge pull request #1 from mgeiss/develop
added authentication provider
diff --git a/src/main/java/io/mifos/core/cassandra/core/CassandraSessionProvider.java b/src/main/java/io/mifos/core/cassandra/core/CassandraSessionProvider.java
index 7ce7850..5cf8d05 100644
--- a/src/main/java/io/mifos/core/cassandra/core/CassandraSessionProvider.java
+++ b/src/main/java/io/mifos/core/cassandra/core/CassandraSessionProvider.java
@@ -15,7 +15,9 @@
*/
package io.mifos.core.cassandra.core;
+import com.datastax.driver.core.AuthProvider;
import com.datastax.driver.core.Cluster;
+import com.datastax.driver.core.PlainTextAuthProvider;
import com.datastax.driver.core.Session;
import com.datastax.driver.core.exceptions.InvalidQueryException;
import com.datastax.driver.mapping.Mapper;
@@ -154,8 +156,16 @@
private Cluster getCluster(@Nonnull final String clusterName, @Nonnull final String contactPoints) {
CodecRegistry.register(new LocalDateTimeCodec());
- final Cluster.Builder clusterBuilder = Cluster.builder()
- .withClusterName(clusterName);
+ final Cluster.Builder clusterBuilder = Cluster.builder().withClusterName(clusterName);
+
+ if (this.env.containsProperty(CassandraConnectorConstants.CLUSTER_USER_PROP)) {
+ final String user = this.env.getProperty(CassandraConnectorConstants.CLUSTER_USER_PROP);
+ final String pwd = this.env.getProperty(CassandraConnectorConstants.CLUSTER_PASSWORD_PROP);
+
+ final AuthProvider authProvider = new PlainTextAuthProvider(user, pwd);
+ clusterBuilder.withAuthProvider(authProvider);
+ }
+
ContactPointUtils.process(clusterBuilder, contactPoints);
return clusterBuilder.build();
}
diff --git a/src/main/java/io/mifos/core/cassandra/util/CassandraConnectorConstants.java b/src/main/java/io/mifos/core/cassandra/util/CassandraConnectorConstants.java
index 2e6cc6d..66419ff 100644
--- a/src/main/java/io/mifos/core/cassandra/util/CassandraConnectorConstants.java
+++ b/src/main/java/io/mifos/core/cassandra/util/CassandraConnectorConstants.java
@@ -22,6 +22,9 @@
String CLUSTER_NAME_PROP = "cassandra.clusterName";
String CLUSTER_NAME_PROP_DEFAULT = "staging_cluster";
+ String CLUSTER_USER_PROP = "cassandra.cluster.user";
+ String CLUSTER_PASSWORD_PROP = "cassandra.cluster.pwd";
+
String CONTACT_POINTS_PROP = "cassandra.contactPoints";
String CONTACT_POINTS_PROP_DEFAULT = "127.0.0.1:9042,127.0.0.2:9042,127.0.0.3:9042";