Merge pull request #5 from mgeiss/develop
freaking cluster builder with user and pwd
diff --git a/service/src/main/java/io/mifos/provisioner/internal/repository/TenantCassandraRepository.java b/service/src/main/java/io/mifos/provisioner/internal/repository/TenantCassandraRepository.java
index 4af47cd..bbc1b84 100644
--- a/service/src/main/java/io/mifos/provisioner/internal/repository/TenantCassandraRepository.java
+++ b/service/src/main/java/io/mifos/provisioner/internal/repository/TenantCassandraRepository.java
@@ -15,8 +15,10 @@
*/
package io.mifos.provisioner.internal.repository;
+import com.datastax.driver.core.AuthProvider;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.DataType;
+import com.datastax.driver.core.PlainTextAuthProvider;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Session;
import com.datastax.driver.core.schemabuilder.SchemaBuilder;
@@ -25,9 +27,11 @@
import com.datastax.driver.mapping.Result;
import io.mifos.core.cassandra.core.CassandraSessionProvider;
import io.mifos.core.cassandra.core.ReplicationStrategyResolver;
+import io.mifos.core.cassandra.util.CassandraConnectorConstants;
import io.mifos.core.lang.ServiceException;
import io.mifos.provisioner.internal.util.ContactPointUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import javax.annotation.Nonnull;
@@ -40,12 +44,16 @@
*/
@Component
public class TenantCassandraRepository {
+ private final Environment environment;
private final CassandraSessionProvider cassandraSessionProvider;
private MappingManager mappingManager;
@Autowired
public TenantCassandraRepository(
- final @Nonnull CassandraSessionProvider cassandraSessionProvider) {
+ final Environment environment,
+ final @Nonnull CassandraSessionProvider cassandraSessionProvider) {
+ super();
+ this.environment = environment;
this.cassandraSessionProvider = cassandraSessionProvider;
}
@@ -120,6 +128,13 @@
.builder()
.withClusterName(tenantEntity.getClusterName());
+ if (this.environment.containsProperty(CassandraConnectorConstants.CLUSTER_USER_PROP)) {
+ final String user = this.environment.getProperty(CassandraConnectorConstants.CLUSTER_USER_PROP);
+ final String pwd = this.environment.getProperty(CassandraConnectorConstants.CLUSTER_PASSWORD_PROP);
+
+ final AuthProvider authProvider = new PlainTextAuthProvider(user, pwd);
+ clusterBuilder.withAuthProvider(authProvider);
+ }
ContactPointUtils.process(clusterBuilder, tenantEntity.getContactPoints());
return clusterBuilder.build();