package qa.qcri.aidr.analysis.utils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.apache.log4j.Logger;
import qa.qcri.aidr.common.code.DateFormatConfig;
import qa.qcri.aidr.common.code.impl.BaseConfigurator;
import qa.qcri.aidr.common.exception.ConfigurationPropertyFileException;
import qa.qcri.aidr.common.exception.ConfigurationPropertyNotRecognizedException;
import qa.qcri.aidr.common.exception.ConfigurationPropertyNotSetException;
public class AnalyticsConfigurator extends BaseConfigurator {
private static final Logger logger = Logger
.getLogger(AnalyticsConfigurator.class);
public static final String configLoadFileName = "config.properties";
private static final AnalyticsConfigurator instance = new AnalyticsConfigurator();
//private Map<String, String> granularities;
private AnalyticsConfigurator() {
this.initProperties(configLoadFileName,
AnalyticsConfigurationProperty.values());
}
public static AnalyticsConfigurator getInstance() {
return instance;
}
public List<Long> getGranularities()
throws ConfigurationPropertyNotSetException,
ConfigurationPropertyNotRecognizedException,
ConfigurationPropertyFileException {
List<Long> granularityList = new ArrayList<Long>();
String granularities = this.getProperty(
AnalyticsConfigurationProperty.GRANULARITY);
if(granularities != null)
{
String values[] = granularities.split(",");
for (int i = 0; i < values.length; i++) {
granularityList.add(DateFormatConfig.parseTime(values[i]));
}
Collections.sort(granularityList);
} else {
return null;
}
return granularityList;
}
}