-/**
+/**
* ============LICENSE_START=======================================================
* org.onap.aai
* ================================================================================
*/
package org.onap.aai.sa.searchdbabstraction.util;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.FileInputStream;
private static final String DYNAMIC_CUSTOM_TEMPALTE_FILE =
System.getProperty("CONFIG_HOME") + File.separator + "dynamic-custom-template.json";
- public static String generateDocumentMappings(String documentSchema)
- throws JsonParseException, JsonMappingException, IOException {
+ private DocumentSchemaUtil() { // Do not instantiate
+ }
+ public static String generateDocumentMappings(String documentSchema) throws IOException {
// Unmarshal the json content into a document schema object.
ObjectMapper mapper = new ObjectMapper();
DocumentSchema schema = mapper.readValue(documentSchema, DocumentSchema.class);
-
return generateDocumentMappings(schema);
}
public static String generateDocumentMappings(DocumentSchema schema) throws IOException {
-
// Adding dynamic template to add fielddata=true to dynamic fields of type "string"
// in order to avoid aggregation queries breaking in ESv6.1.2
if (dynamicCustomMapping == null) {
sb.append("\"type\": \"").append(fieldSchema.getDataType()).append("\"");
// For date type fields we may optionally supply a format specifier.
- if (fieldSchema.getDataType().equals("date")) {
- if (fieldSchema.getFormat() != null) {
- sb.append(", \"format\": \"").append(fieldSchema.getFormat()).append("\"");
- }
+ if (fieldSchema.getDataType().equals("date") && fieldSchema.getFormat() != null) {
+ sb.append(", \"format\": \"").append(fieldSchema.getFormat()).append("\"");
}
// If the index field was specified, then append it.