diff options
Diffstat (limited to 'catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/schema/SdcSchemaUtils.java')
-rw-r--r-- | catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/schema/SdcSchemaUtils.java | 75 |
1 files changed, 25 insertions, 50 deletions
diff --git a/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/schema/SdcSchemaUtils.java b/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/schema/SdcSchemaUtils.java index 862e2adcc0..f6e60ece01 100644 --- a/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/schema/SdcSchemaUtils.java +++ b/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/schema/SdcSchemaUtils.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -28,41 +28,34 @@ import com.datastax.driver.core.SocketOptions; import com.datastax.driver.core.policies.DCAwareRoundRobinPolicy; import com.datastax.driver.core.policies.LoadBalancingPolicy; import com.datastax.driver.core.policies.TokenAwarePolicy; +import java.util.List; +import java.util.function.Supplier; import org.openecomp.sdc.be.config.Configuration; import org.openecomp.sdc.be.config.ConfigurationManager; import org.openecomp.sdc.common.log.wrappers.Logger; -import java.util.List; -import java.util.function.Supplier; - public class SdcSchemaUtils { private static Logger log = Logger.getLogger(SdcSchemaUtils.class.getName()); private Cluster cluster; - private boolean isConnected; - - + private boolean isConnected; public SdcSchemaUtils() { super(); try { isConnected = false; - cluster = createCluster(); + cluster = createCluster(); isConnected = true; } catch (Exception e) { log.info("** CassandraClient isn't connected. error is", e); } - log.info("** cluster created"); } /** - * the method creates the cluster object using the supplied cassandra nodes - * in the configuration + * the method creates the cluster object using the supplied cassandra nodes in the configuration * * @return cluster object our null in case of an invalid configuration - * - * */ public Cluster createCluster() { final Configuration.CassandrConfig config = getCassandraConfig(); @@ -75,62 +68,53 @@ public class SdcSchemaUtils { log.info("Connecting to node: {} port: {}.", nodes, cassandraPort); Cluster.Builder clusterBuilder = Cluster.builder(); nodes.forEach(node -> clusterBuilder.addContactPoint(node).withPort(cassandraPort)); - log.info("Connection timeout in seconds : {}", config.getMaxWaitSeconds()); clusterBuilder.withMaxSchemaAgreementWaitSeconds(config.getMaxWaitSeconds()); - setSocketOptions(clusterBuilder, config); if (!enableAuthentication(clusterBuilder, config)) { return null; } - if (!enableSsl(clusterBuilder, config)) { return null; } setLocalDc(clusterBuilder, config); - return clusterBuilder.build(); } - + /** - * * @return */ - public Session connect() { + public Session connect() { Session session = null; if (cluster != null) { try { session = cluster.connect(); - } catch (Throwable e) { - log.debug("Failed to connect cluster, error :", e); - + log.debug("Failed to connect cluster, error :", e); } } return session; } - - public Metadata getMetadata(){ - if (cluster != null){ + + public Metadata getMetadata() { + if (cluster != null) { return cluster.getMetadata(); } return null; } - + private void setLocalDc(Cluster.Builder clusterBuilder, Configuration.CassandrConfig config) { String localDataCenter = config.getLocalDataCenter(); if (localDataCenter != null) { - log.info("localDatacenter was provided, setting Cassndra clint to use datacenter: {} as local.", - localDataCenter); - LoadBalancingPolicy tokenAwarePolicy = new TokenAwarePolicy( - DCAwareRoundRobinPolicy.builder().withLocalDc(localDataCenter).build()); + log.info("localDatacenter was provided, setting Cassndra clint to use datacenter: {} as local.", localDataCenter); + LoadBalancingPolicy tokenAwarePolicy = new TokenAwarePolicy(DCAwareRoundRobinPolicy.builder().withLocalDc(localDataCenter).build()); clusterBuilder.withLoadBalancingPolicy(tokenAwarePolicy); } else { log.info( - "localDatacenter was provided, the driver will use the datacenter of the first contact point that was reached at initialization"); + "localDatacenter was provided, the driver will use the datacenter of the first contact point that was reached at initialization"); } } - + private boolean enableSsl(Cluster.Builder clusterBuilder, Configuration.CassandrConfig config) { boolean ssl = config.isSsl(); if (ssl) { @@ -144,7 +128,6 @@ public class SdcSchemaUtils { System.setProperty("javax.net.ssl.trustStorePassword", truststorePassword); clusterBuilder.withSSL(); } - } return true; } @@ -153,23 +136,19 @@ public class SdcSchemaUtils { SocketOptions socketOptions = new SocketOptions(); Integer socketConnectTimeout = config.getSocketConnectTimeout(); if (socketConnectTimeout != null) { - log.info("SocketConnectTimeout was provided, setting Cassandra client to use SocketConnectTimeout: {} .", - socketConnectTimeout); + log.info("SocketConnectTimeout was provided, setting Cassandra client to use SocketConnectTimeout: {} .", socketConnectTimeout); socketOptions.setConnectTimeoutMillis(socketConnectTimeout); } - Integer socketReadTimeout = config.getSocketReadTimeout(); if (socketReadTimeout != null) { - log.info("SocketReadTimeout was provided, setting Cassandra client to use SocketReadTimeout: {} .", - socketReadTimeout); + log.info("SocketReadTimeout was provided, setting Cassandra client to use SocketReadTimeout: {} .", socketReadTimeout); socketOptions.setReadTimeoutMillis(socketReadTimeout); } clusterBuilder.withSocketOptions(socketOptions); } - + private boolean enableAuthentication(Cluster.Builder clusterBuilder, Configuration.CassandrConfig config) { boolean authenticate = config.isAuthenticate(); - if (authenticate) { String username = config.getUsername(); String password = config.getPassword(); @@ -179,7 +158,6 @@ public class SdcSchemaUtils { } else { clusterBuilder.withCredentials(username, password); } - } return true; } @@ -188,7 +166,7 @@ public class SdcSchemaUtils { return executeStatement(this::createCluster, statement); } - public boolean executeStatements(String ... statements) { + public boolean executeStatements(String... statements) { return executeStatements(this::createCluster, statements); } @@ -196,9 +174,8 @@ public class SdcSchemaUtils { return executeStatements(clusterSupplier, statement); } - boolean executeStatements(Supplier<Cluster> clusterSupplier, String ... statements) { - try(Cluster cluster = clusterSupplier.get(); - Session session = cluster.connect()) { + boolean executeStatements(Supplier<Cluster> clusterSupplier, String... statements) { + try (Cluster cluster = clusterSupplier.get(); Session session = cluster.connect()) { for (String statement : statements) { session.execute(statement); } @@ -212,13 +189,11 @@ public class SdcSchemaUtils { Configuration.CassandrConfig getCassandraConfig() { return ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig(); } - - + public void closeCluster() { if (isConnected) { cluster.close(); } log.info("** CassandraClient cluster closed"); } - } |