
info.archinnov.achilles.embedded.CassandraEmbeddedConfigParameters Maven / Gradle / Ivy
/*
* Copyright (C) 2012-2016 DuyHai DOAN
*
* 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.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package info.archinnov.achilles.embedded;
import java.util.Set;
import com.datastax.driver.core.ProtocolOptions;
import com.datastax.driver.core.policies.Policies;
import info.archinnov.achilles.type.TypedMap;
public class CassandraEmbeddedConfigParameters {
/**
* Configuration parameters
*/
public static final String USE_UNSAFE_CASSANDRA_DAEMON = "useUnsafeCassandraDaemon";
public static final String CLEAN_CASSANDRA_DATA_FILES = "cleanCassandraDataFiles";
public static final String CLEAN_CASSANDRA_CONFIG_FILE = "cleanCassandraConfigFile";
public static final String DATA_FILE_FOLDER = "datafileFolder";
public static final String COMMIT_LOG_FOLDER = "commitlogFolder";
public static final String SAVED_CACHES_FOLDER = "savedCachesFolder";
public static final String HINTS_FOLDER = "hintsFolder";
public static final String LOGBACK_FILE = "logbackXmlFile";
public static final String CLUSTER_NAME = "clusterName";
public static final String COMPRESSION_TYPE = "compressionType";
public static final String LOAD_BALANCING_POLICY = "loadBalancingPolicy";
public static final String RETRY_POLICY = "retryPolicy";
public static final String RECONNECTION_POLICY = "reconnectionPolicy";
public static final String CASSANDRA_THRIFT_PORT = "thriftPort";
public static final String CASSANDRA_CQL_PORT = "cqlPort";
public static final String CASSANDRA_STORAGE_PORT = "storagePort";
public static final String CASSANDRA_STORAGE_SSL_PORT = "storageSSLPort";
public static final String CASSANDRA_JMX_PORT = "jmxPort";
public static final String CASSANDRA_CONCURRENT_READS = "concurrentReads";
public static final String CASSANDRA_CONCURRENT_WRITES = "concurrentWrites";
public static final String DEFAULT_KEYSPACE_NAME = "defaultKeyspaceName";
public static final String KEYSPACE_DURABLE_WRITE = "keyspaceDurableWrite";
public static final String SCRIPT_LOCATIONS = "scriptLocations";
public static final String SCRIPT_TEMPLATES = "scriptTemplates";
/*
* Default values
*/
public static final String DEFAULT_CASSANDRA_HOST = "localhost";
public static final String DEFAULT_CASSANDRA_EMBEDDED_KEYSPACE_NAME = "achilles_embedded";
static final String DEFAULT_ACHILLES_TEST_DATA_FOLDER = "target/cassandra_embedded/data";
static final String DEFAULT_ACHILLES_TEST_COMMIT_LOG_FOLDER = "target/cassandra_embedded/commitlog";
static final String DEFAULT_ACHILLES_TEST_SAVED_CACHES_FOLDER = "target/cassandra_embedded/saved_caches";
static final String DEFAULT_ACHILLES_TEST_TRIGGERS_FOLDER = "target/cassandra_embedded/cassandra_triggers";
static final String DEFAULT_ACHILLES_TEST_HINTS_FOLDER = "target/cassandra_embedded/hints";
static final Set DEFAULT_ACHILLES_TEST_FOLDERS = SetUtils.of(DEFAULT_ACHILLES_TEST_DATA_FOLDER,
DEFAULT_ACHILLES_TEST_COMMIT_LOG_FOLDER, DEFAULT_ACHILLES_TEST_SAVED_CACHES_FOLDER,
DEFAULT_ACHILLES_TEST_HINTS_FOLDER);
static final String DEFAULT_CASSANDRA_EMBEDDED_LOGBACK_FILE = "target/cassandra_embedded/logback.xml";
static final String DEFAULT_CASSANDRA_EMBEDDED_CLUSTER_NAME = "Achilles Embedded Cassandra Cluster";
static final Boolean DEFAULT_CASSANDRA_EMBEDDED_KEYSPACE_DURABLE_WRITE = false;
/**
* Default values
*/
static TypedMap mergeWithDefaultParameters(TypedMap parameters) {
TypedMap defaultParams = new TypedMap();
defaultParams.put(USE_UNSAFE_CASSANDRA_DAEMON, false);
defaultParams.put(CLEAN_CASSANDRA_DATA_FILES, true);
defaultParams.put(CLEAN_CASSANDRA_CONFIG_FILE, true);
defaultParams.put(DATA_FILE_FOLDER, DEFAULT_ACHILLES_TEST_DATA_FOLDER);
defaultParams.put(COMMIT_LOG_FOLDER, DEFAULT_ACHILLES_TEST_COMMIT_LOG_FOLDER);
defaultParams.put(SAVED_CACHES_FOLDER, DEFAULT_ACHILLES_TEST_SAVED_CACHES_FOLDER);
defaultParams.put(HINTS_FOLDER, DEFAULT_ACHILLES_TEST_HINTS_FOLDER);
defaultParams.put(LOGBACK_FILE, DEFAULT_CASSANDRA_EMBEDDED_LOGBACK_FILE);
defaultParams.put(CLUSTER_NAME, DEFAULT_CASSANDRA_EMBEDDED_CLUSTER_NAME);
defaultParams.put(DEFAULT_KEYSPACE_NAME, DEFAULT_CASSANDRA_EMBEDDED_KEYSPACE_NAME);
defaultParams.put(KEYSPACE_DURABLE_WRITE, DEFAULT_CASSANDRA_EMBEDDED_KEYSPACE_DURABLE_WRITE);
defaultParams.put(COMPRESSION_TYPE, ProtocolOptions.Compression.NONE);
defaultParams.put(LOAD_BALANCING_POLICY, Policies.defaultLoadBalancingPolicy());
defaultParams.put(RETRY_POLICY, Policies.defaultRetryPolicy());
defaultParams.put(RECONNECTION_POLICY, Policies.defaultReconnectionPolicy());
defaultParams.putAll(parameters);
return defaultParams;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy