protected static long parseTimeValue(Map<String, Object> jiraSettings, String key, long defaultDuration,
TimeUnit defaultTimeUnit) {
long ret = 0;
if (jiraSettings == null || !jiraSettings.containsKey(key)) {
if (defaultTimeUnit != null) {
ret = new TimeValue(defaultDuration, defaultTimeUnit).millis();
}
} else {
try {
ret = TimeValue.parseTimeValue(XContentMapValues.nodeStringValue(jiraSettings.get(key), null),
new TimeValue(defaultDuration, defaultTimeUnit)).millis();
} catch (ElasticSearchParseException e) {
throw new ElasticSearchParseException(e.getMessage() + " for setting: " + key);
}
}
return ret;