package edu.isi.karma.web.services.publish.es; import javax.servlet.ServletContext; import javax.ws.rs.core.MultivaluedMap; public class ElasticSearchConfig { private String hostname; private String port; private String protocol; private String index; private String type; public String getHostname() { return hostname; } public void setHostname(String hostname) { this.hostname = hostname; } public String getPort() { return port; } public void setPort(String port) { this.port = port; } public String getProtocol() { return protocol; } public void setProtocol(String protocol) { this.protocol = protocol; } public String getIndex() { return index; } public void setIndex(String index) { this.index = index; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String toString() { return protocol + "://" + hostname +":" + port + "/" + index + ", " + type; } public static ElasticSearchConfig parse(ServletContext context, MultivaluedMap<String, String> formParams) { ElasticSearchConfig config = new ElasticSearchConfig(); if (formParams != null && formParams.containsKey(FormParameters.ES_HOSTNAME)) { config.setHostname(formParams.getFirst(FormParameters.ES_HOSTNAME)); } else { config.setHostname(context.getInitParameter(FormParameters.ES_HOSTNAME)); } if(formParams != null && formParams.containsKey(FormParameters.ES_PROTOCOL)) { config.setProtocol(formParams.getFirst(FormParameters.ES_PROTOCOL)); } else { config.setProtocol(context.getInitParameter(FormParameters.ES_PROTOCOL)); } if(formParams != null && formParams.containsKey(FormParameters.ES_INDEX)) { config.setIndex(formParams.getFirst(FormParameters.ES_INDEX)); } else { config.setIndex(context.getInitParameter(FormParameters.ES_INDEX)); } if(formParams != null && formParams.containsKey(FormParameters.ES_TYPE)) { config.setType(formParams.getFirst(FormParameters.ES_TYPE)); } else { config.setType(context.getInitParameter(FormParameters.ES_TYPE)); } if(formParams != null && formParams.containsKey(FormParameters.ES_PORT)) { config.setPort(formParams.getFirst(FormParameters.ES_PORT)); } else { config.setPort(context.getInitParameter(FormParameters.ES_PORT)); } System.out.println("ES Config:" + config); return config; } }