/*
* Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.tsdr.spi.util;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.Properties;
import com.google.common.base.Charsets;
import com.google.common.collect.Maps;
import com.google.common.io.Files;
/**
* @author <a href="mailto:saichler@cisco.com">Sharon Aicler</a>
* <p>
* Created: March 29, 2016
*/
public final class ConfigFileUtil {
public static final String CONFIG_DIR = "." + File.separator + "etc" + File.separator;
public static final String CASSANDRA_STORE_CONFIG_FILE = CONFIG_DIR + "tsdr-persistence-cassandra.properties";
public static final String HBASE_STORE_CONFIG_FILE = CONFIG_DIR + "tsdr-persistence-hbase.properties";
public static final String HSQLDB_STORE_CONFIG_FILE = CONFIG_DIR + "tsdr-persistence-hsqldb.properties";
public static final String ELASTICSEARCH_STORE_CONFIG_FILE = CONFIG_DIR + "tsdr-persistence-elasticsearch.properties";
public static final String METRIC_PERSISTENCE_PROPERTY = "metric-persistency";
public static final String LOG_PERSISTENCE_PROPERTY = "log-persistency";
public static final String BINARY_PERSISTENCE_PROPERTY = "binary-persistency";
private ConfigFileUtil() {
throw new AssertionError(); // Protection from reflection.
}
public static Map<String, String> loadConfig(String config) throws IOException {
Properties properties = new Properties();
properties.load(Files.asCharSource(new File(config), Charsets.UTF_8).openStream());
return Maps.fromProperties(properties);
}
public static boolean isMetricPersistenceEnabled(Map<String, String> properties) {
return Boolean.valueOf(properties.getOrDefault(METRIC_PERSISTENCE_PROPERTY, Boolean.FALSE.toString()));
}
public static boolean isLogPersistenceEnabled(Map<String, String> properties) {
return Boolean.valueOf(properties.getOrDefault(LOG_PERSISTENCE_PROPERTY, Boolean.FALSE.toString()));
}
public static boolean isBinaryPersistenceEnabled(Map<String, String> properties) {
return Boolean.valueOf(properties.getOrDefault(BINARY_PERSISTENCE_PROPERTY, Boolean.FALSE.toString()));
}
}