
com.tinkerpop.rexster.server.metrics.AbstractHostPortReporterConfig Maven / Gradle / Ivy
The newest version!
package com.tinkerpop.rexster.server.metrics;
import com.codahale.metrics.MetricRegistry;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
/**
* A base configuration that accepts host and port combinations for configuration.
*
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
public abstract class AbstractHostPortReporterConfig extends AbstractReporterConfig {
private static final Logger logger = Logger.getLogger(AbstractHostPortReporterConfig.class);
private List hosts;
protected String hostsString;
public AbstractHostPortReporterConfig(final HierarchicalConfiguration config, final MetricRegistry metricRegistry) {
super(config, metricRegistry);
}
public List getHosts(){
return hosts;
}
public List parseHostString(){
final List hosts = new ArrayList();
final String[] hostPairs = this.hostsString.split(",");
for (int i = 0; i < hostPairs.length; i++)
{
final String[] pair = hostPairs[i].split(":");
hosts.add(new HostPort(pair[0], Integer.valueOf(pair[1])));
}
return hosts;
}
public List getHostListAndStringList(){
// some simple log valadatin' sinc we can't || the @NotNulls
// make mini protected functions sans logging for Ganglia
if (getHosts() == null && this.hostsString == null)
{
logger.warn("No hosts specified as a list or delimited string");
return null;
}
if (getHosts() != null && this.hostsString != null)
{
logger.warn("There are reporter hosts configured as a list and delimited string?");
}
final ArrayList combinedHosts = new ArrayList();
if (getHosts() != null)
{
combinedHosts.addAll(getHosts());
}
if (this.hostsString != null)
{
combinedHosts.addAll(parseHostString());
}
return combinedHosts;
}
public abstract List getFullHostList();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy