X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fsa%2Fsearchdbabstraction%2Felasticsearch%2Fdao%2FElasticSearchHttpController.java;h=a4af160db55c74fc40e7bad98bda1b49d66558c2;hb=refs%2Fchanges%2F31%2F79131%2F1;hp=c4a52b44199a0134420212ecc934f4814631e873;hpb=0afd8dd50d1a9c141b9135f491de9f8cc83f9b29;p=aai%2Fsearch-data-service.git diff --git a/src/main/java/org/onap/aai/sa/searchdbabstraction/elasticsearch/dao/ElasticSearchHttpController.java b/src/main/java/org/onap/aai/sa/searchdbabstraction/elasticsearch/dao/ElasticSearchHttpController.java index c4a52b4..a4af160 100644 --- a/src/main/java/org/onap/aai/sa/searchdbabstraction/elasticsearch/dao/ElasticSearchHttpController.java +++ b/src/main/java/org/onap/aai/sa/searchdbabstraction/elasticsearch/dao/ElasticSearchHttpController.java @@ -22,7 +22,6 @@ package org.onap.aai.sa.searchdbabstraction.elasticsearch.dao; import static javax.ws.rs.core.HttpHeaders.CONTENT_TYPE; -import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED; import static javax.ws.rs.core.MediaType.APPLICATION_JSON; import com.fasterxml.jackson.annotation.JsonInclude.Include; @@ -72,6 +71,7 @@ import org.onap.aai.sa.rest.ApiUtils; import org.onap.aai.sa.rest.BulkRequest; import org.onap.aai.sa.rest.BulkRequest.OperationType; import org.onap.aai.sa.rest.DocumentSchema; +import org.onap.aai.sa.rest.SettingConfiguration; import org.onap.aai.sa.searchdbabstraction.elasticsearch.config.ElasticSearchConfig; import org.onap.aai.sa.searchdbabstraction.elasticsearch.exception.DocumentStoreOperationException; import org.onap.aai.sa.searchdbabstraction.elasticsearch.exception.DocumentStoreOperationException.ErrorMessage; @@ -133,10 +133,12 @@ public class ElasticSearchHttpController implements DocumentStoreInterface { private final ElasticSearchConfig config; protected AnalysisConfiguration analysisConfig; + protected SettingConfiguration settingConfig; public ElasticSearchHttpController(ElasticSearchConfig config) { this.config = config; analysisConfig = new AnalysisConfiguration(); + settingConfig = new SettingConfiguration(); String rootUrl = null; try { @@ -184,8 +186,8 @@ public class ElasticSearchHttpController implements DocumentStoreInterface { public OperationResult createIndex(String index, DocumentSchema documentSchema) { try { // Submit the request to ElasticSearch to create the index using a default document type. - OperationResult result = createTable(index, DEFAULT_TYPE, analysisConfig.getEsIndexSettings(), - DocumentSchemaUtil.generateDocumentMappings(documentSchema)); + OperationResult result = createTable(index, DEFAULT_TYPE, analysisConfig, + DocumentSchemaUtil.generateDocumentMappings(documentSchema), settingConfig); // ElasticSearch will return us a 200 code on success when we // want to report a 201, so translate the result here. @@ -236,10 +238,10 @@ public class ElasticSearchHttpController implements DocumentStoreInterface { } // @Override - protected OperationResult createTable(String indexName, String typeName, String indexSettings, String indexMappings) - throws DocumentStoreOperationException { - if (indexSettings == null) { - logger.debug("No settings provided."); + protected OperationResult createTable(String indexName, String typeName, AnalysisConfiguration ac, + String indexMappings, SettingConfiguration sc) throws DocumentStoreOperationException { + if (ac.getEsIndexSettings() == null) { + logger.debug("No analysis settings provided."); } if (indexMappings == null) { @@ -249,10 +251,10 @@ public class ElasticSearchHttpController implements DocumentStoreInterface { MdcOverride override = getStartTime(new MdcOverride()); HttpURLConnection conn = createConnection(buildUrl(createUriBuilder(indexName)), HttpMethod.PUT); - + StringBuilder sb = new StringBuilder(128); sb.append("{ \"settings\" : "); - sb.append(indexSettings); + sb.append(sc.getSettingsWithAnalysis(ac)); sb.append(","); sb.append("\"mappings\" : {");