*/
package org.onap.aai.sparky.dal.elasticsearch.config;
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.IOException;
import java.util.Properties;
-import org.onap.aai.sparky.dal.exception.ElasticSearchOperationException;
-import org.onap.aai.sparky.synchronizer.config.TaskProcessorConfig;
import org.onap.aai.sparky.util.ConfigHelper;
import org.onap.aai.sparky.viewandinspect.config.TierSupportUiConstants;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
/**
* The Class ElasticSearchConfig.
private String settingsFileName;
- private int syncAdapterMaxConcurrentWorkers;
-
- private String auditIndexName;
+ private String topographicalSearchIndex;
private String entityCountHistoryIndex;
private static final String BULK_API = "_bulk";
- private TaskProcessorConfig processorConfig;
-
- public TaskProcessorConfig getProcessorConfig() {
- return processorConfig;
- }
-
- public void setProcessorConfig(TaskProcessorConfig processorConfig) {
- this.processorConfig = processorConfig;
- }
-
public static ElasticSearchConfig getConfig() throws Exception {
if (instance == null) {
private void initializeProperties() {
Properties props = ConfigHelper.loadConfigFromExplicitPath(CONFIG_FILE);
+ if (props == null || props.isEmpty()) {
+ return;
+ }
+
ipAddress = props.getProperty("elasticsearch.ipAddress", IP_ADDRESS_DEFAULT);
httpPort = props.getProperty("elasticsearch.httpPort", "" + HTTP_PORT_DEFAULT);
javaApiPort = props.getProperty("elasticsearch.javaApiPort", "" + JAVA_API_PORT_DEFAULT);
indexName = props.getProperty("elasticsearch.indexName", INDEX_NAME_DEFAULT);
mappingsFileName = props.getProperty("elasticsearch.mappingsFileName");
settingsFileName = props.getProperty("elasticsearch.settingsFileName");
- auditIndexName = props.getProperty("elasticsearch.auditIndexName", AUDIT_INDEX_NAME_DEFAULT);
+ topographicalSearchIndex =
+ props.getProperty("elasticsearch.topographicalIndexName", TOPOGRAPHICAL_INDEX_NAME_DEFAULT);
entityCountHistoryIndex = props.getProperty("elasticsearch.entityCountHistoryIndexName",
ENTITY_COUNT_HISTORY_INDEX_NAME_DEFAULT);
+
entityCountHistoryMappingsFileName =
props.getProperty("elasticsearch.entityCountHistoryMappingsFileName");
dynamicMappingsFileName = props.getProperty("elasticsearch.dynamicMappingsFileName",
ENTITY_DYNAMIC_MAPPINGS_FILE_DEFAULT);
- syncAdapterMaxConcurrentWorkers =
- Integer.parseInt(props.getProperty("elasticsearch.syncAdapter.maxConcurrentWorkers", "5"));
-
- processorConfig = new TaskProcessorConfig();
- processorConfig.initializeFromProperties(
- ConfigHelper.getConfigWithPrefix("elasticsearch.taskProcessor", props));
-
}
public String getIpAddress() {
return settingsFileName;
}
- public int getSyncAdapterMaxConcurrentWorkers() {
- return syncAdapterMaxConcurrentWorkers;
- }
-
- public void setSyncAdapterMaxConcurrentWorkers(int syncAdapterMaxConcurrentWorkers) {
- this.syncAdapterMaxConcurrentWorkers = syncAdapterMaxConcurrentWorkers;
- }
-
public void setSettingsFileName(String settingsFileName) {
this.settingsFileName = settingsFileName;
}
- public String getAuditIndexName() {
- return auditIndexName;
+ public String getTopographicalSearchIndex() {
+ return topographicalSearchIndex;
}
- public void setAuditIndexName(String auditIndexName) {
- this.auditIndexName = auditIndexName;
+ public void setTopographicalSearchIndex(String topographicalSearchIndex) {
+ this.topographicalSearchIndex = topographicalSearchIndex;
}
public String getEntityCountHistoryIndex() {
return String.format("http://%s:%s/%s", url, port, BULK_API);
}
- public String getConfigAsString(String configItem, String configFileName)
- throws ElasticSearchOperationException {
- String indexConfig = null;
-
- try {
- indexConfig = ConfigHelper.getFileContents(configFileName);
- } catch (IOException exc) {
- throw new ElasticSearchOperationException(
- "Failed to read index " + configItem + " from file = " + configFileName + ".", exc);
- }
-
- if (indexConfig == null) {
- throw new ElasticSearchOperationException(
- "Failed to load index " + configItem + " with filename = " + configFileName + ".");
- }
- return indexConfig;
- }
-
- public String getElasticSearchSettings() throws ElasticSearchOperationException {
- return getConfigAsString("settings",
- TierSupportUiConstants.getConfigPath(this.getSettingsFileName()));
- }
-
- public String getDynamicMappings() throws ElasticSearchOperationException {
- return getConfigAsString("mapping",
- TierSupportUiConstants.getConfigPath(this.getDynamicMappingsFileName()));
- }
-
- public String getElasticSearchMappings() throws ElasticSearchOperationException {
- return getConfigAsString("mapping",
- TierSupportUiConstants.getConfigPath(this.getMappingsFileName()));
- }
-
- public String getElasticSearchEntityCountHistoryMappings()
- throws ElasticSearchOperationException {
- return getConfigAsString("mapping",
- TierSupportUiConstants.getConfigPath(this.getEntityCountHistoryMappingsFileName()));
- }
-
- public String getAutosuggestIndexSettings() throws ElasticSearchOperationException {
- return getConfigAsString("setting",
- TierSupportUiConstants.getConfigPath(this.getAutoSuggestSettingsFileName()));
- }
-
- public String getAutosuggestIndexMappings() throws ElasticSearchOperationException {
- return getConfigAsString("mapping",
- TierSupportUiConstants.getConfigPath(this.getAutoSuggestMappingsFileName()));
- }
-
public String getAutosuggestIndexname() {
return autosuggestIndexname;
}
this.autoSuggestMappingsFileName = autoSuggestMappingsFileName;
}
- public String getDynamicMappingsFileName() {
- return dynamicMappingsFileName;
- }
-
- public void setDynamicMappingsFileName(String dynamicMappingsFileName) {
- this.dynamicMappingsFileName = dynamicMappingsFileName;
- }
-
- /**
- * Builds the elastic search table config.
- *
- * @return the string
- * @throws ElasticSearchOperationException the elastic search operation exception
- */
- public String buildElasticSearchTableConfig() throws ElasticSearchOperationException {
-
- JsonNode esSettingsNode;
- JsonNode esMappingsNodes;
- ObjectMapper mapper = new ObjectMapper();
-
- try {
- esSettingsNode = mapper.readTree(getElasticSearchSettings());
- esMappingsNodes = mapper.readTree(getElasticSearchMappings());
- } catch (IOException e1) {
- throw new ElasticSearchOperationException("Caught an exception building initial ES index");
- }
-
- ObjectNode esConfig = (ObjectNode) mapper.createObjectNode().set("settings", esSettingsNode);
- ObjectNode mappings = (ObjectNode) mapper.createObjectNode().set(getType(), esMappingsNodes);
-
- esConfig.set("mappings", mappings);
-
- try {
- return mapper.writeValueAsString(esConfig);
- } catch (JsonProcessingException exc) {
- throw new ElasticSearchOperationException("Error getting object node as string", exc);
- }
-
- }
-
- /**
- * Builds the elastic search entity count history table config.
- *
- * @return the string
- * @throws ElasticSearchOperationException the elastic search operation exception
- */
- public String buildElasticSearchEntityCountHistoryTableConfig()
- throws ElasticSearchOperationException {
-
- JsonNode esSettingsNode;
- JsonNode esMappingsNodes;
- ObjectMapper mapper = new ObjectMapper();
-
- try {
- esSettingsNode = mapper.readTree(getElasticSearchSettings());
- esMappingsNodes = mapper.readTree(getElasticSearchEntityCountHistoryMappings());
- } catch (IOException e1) {
- throw new ElasticSearchOperationException("Caught an exception building initial ES index");
- }
-
- ObjectNode esConfig = (ObjectNode) mapper.createObjectNode().set("settings", esSettingsNode);
- ObjectNode mappings = (ObjectNode) mapper.createObjectNode().set(getType(), esMappingsNodes);
-
- esConfig.set("mappings", mappings);
-
- try {
- return mapper.writeValueAsString(esConfig);
- } catch (JsonProcessingException exc) {
- throw new ElasticSearchOperationException("Error getting object node as string", exc);
- }
-
- }
-
- public String buildAggregationTableConfig() throws ElasticSearchOperationException {
-
- JsonNode esMappingsNodes;
- ObjectMapper mapper = new ObjectMapper();
-
- try {
- esMappingsNodes = mapper.readTree(this.getDynamicMappings());
- } catch (IOException e1) {
- throw new ElasticSearchOperationException(
- "Caught an exception building Aggreagation ES index");
- }
-
- ObjectNode mappings = (ObjectNode) mapper.createObjectNode().set(getType(), esMappingsNodes);
-
- ObjectNode indexConfig = (ObjectNode) mapper.createObjectNode().set("mappings", mappings);
-
- try {
- return mapper.writeValueAsString(indexConfig);
- } catch (JsonProcessingException exc) {
- throw new ElasticSearchOperationException("Error getting object node as string", exc);
- }
-
- }
-
- public String buildAutosuggestionTableConfig() throws ElasticSearchOperationException {
-
- JsonNode esSettingsNode;
- JsonNode esMappingsNodes;
- ObjectMapper mapper = new ObjectMapper();
-
- try {
- esSettingsNode = mapper.readTree(this.getAutosuggestIndexSettings());
- esMappingsNodes = mapper.readTree(this.getAutosuggestIndexMappings());
- } catch (IOException e1) {
- throw new ElasticSearchOperationException(
- "Caught an exception building Autosuggestion ES index");
- }
-
- ObjectNode indexConfig = (ObjectNode) mapper.createObjectNode().set("settings", esSettingsNode);
- ObjectNode mappings = (ObjectNode) mapper.createObjectNode().set(getType(), esMappingsNodes);
-
- indexConfig.set("mappings", mappings);
-
- try {
- return mapper.writeValueAsString(indexConfig);
- } catch (JsonProcessingException exc) {
- throw new ElasticSearchOperationException("Error getting object node as string", exc);
- }
-
- }
-
- /**
- * @return the instance
- */
- public static ElasticSearchConfig getInstance() {
- return instance;
- }
-
- /**
- * @param instance the instance to set
- */
- public static void setInstance(ElasticSearchConfig instance) {
- ElasticSearchConfig.instance = instance;
- }
-
- /**
- * @return the configFile
- */
- public static String getConfigFile() {
- return CONFIG_FILE;
- }
-
- /**
- * @return the ipAddressDefault
- */
- public static String getIpAddressDefault() {
- return IP_ADDRESS_DEFAULT;
- }
-
- /**
- * @return the httpPortDefault
- */
- public static String getHttpPortDefault() {
- return HTTP_PORT_DEFAULT;
- }
-
- /**
- * @return the javaApiPortDefault
- */
- public static String getJavaApiPortDefault() {
- return JAVA_API_PORT_DEFAULT;
- }
-
- /**
- * @return the typeDefault
- */
- public static String getTypeDefault() {
- return TYPE_DEFAULT;
- }
-
- /**
- * @return the clusterNameDefault
- */
- public static String getClusterNameDefault() {
- return CLUSTER_NAME_DEFAULT;
- }
-
- /**
- * @return the indexNameDefault
- */
- public static String getIndexNameDefault() {
- return INDEX_NAME_DEFAULT;
- }
-
- /**
- * @return the auditIndexNameDefault
- */
- public static String getAuditIndexNameDefault() {
- return AUDIT_INDEX_NAME_DEFAULT;
- }
-
- /**
- * @return the topographicalIndexNameDefault
- */
- public static String getTopographicalIndexNameDefault() {
- return TOPOGRAPHICAL_INDEX_NAME_DEFAULT;
- }
-
- /**
- * @return the entityCountHistoryIndexNameDefault
- */
- public static String getEntityCountHistoryIndexNameDefault() {
- return ENTITY_COUNT_HISTORY_INDEX_NAME_DEFAULT;
- }
-
- /**
- * @return the entityAutoSuggestIndexNameDefault
- */
- public static String getEntityAutoSuggestIndexNameDefault() {
- return ENTITY_AUTO_SUGGEST_INDEX_NAME_DEFAULT;
- }
-
- /**
- * @return the entityAutoSuggestSettingsFileDefault
- */
- public static String getEntityAutoSuggestSettingsFileDefault() {
- return ENTITY_AUTO_SUGGEST_SETTINGS_FILE_DEFAULT;
- }
-
- /**
- * @return the entityAutoSuggestMappingsFileDefault
- */
- public static String getEntityAutoSuggestMappingsFileDefault() {
- return ENTITY_AUTO_SUGGEST_MAPPINGS_FILE_DEFAULT;
- }
-
- /**
- * @return the entityDynamicMappingsFileDefault
- */
- public static String getEntityDynamicMappingsFileDefault() {
- return ENTITY_DYNAMIC_MAPPINGS_FILE_DEFAULT;
- }
-
- /**
- * @return the bulkApi
- */
- public static String getBulkApi() {
- return BULK_API;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return "ElasticSearchConfig [ipAddress=" + ipAddress + ", httpPort=" + httpPort
- + ", javaApiPort=" + javaApiPort + ", indexName=" + indexName + ", type=" + type
- + ", clusterName=" + clusterName + ", mappingsFileName=" + mappingsFileName
- + ", settingsFileName=" + settingsFileName + ", syncAdapterMaxConcurrentWorkers="
- + syncAdapterMaxConcurrentWorkers + ", auditIndexName=" + auditIndexName
- + ", entityCountHistoryIndex=" + entityCountHistoryIndex + ", autosuggestIndexname="
- + autosuggestIndexname + ", entityCountHistoryMappingsFileName="
- + entityCountHistoryMappingsFileName + ", autoSuggestSettingsFileName="
- + autoSuggestSettingsFileName + ", autoSuggestMappingsFileName="
- + autoSuggestMappingsFileName + ", dynamicMappingsFileName=" + dynamicMappingsFileName
- + ", processorConfig=" + processorConfig + "]";
- }
}