in alerting/service/src/main/java/org/apache/karaf/decanter/alerting/service/model/PeriodParser.java [24:54]
public static long parse(String period) throws IllegalArgumentException {
if (period == null) {
return 0;
}
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(period);
if (matcher.matches()) {
return new Long(period);
}
pattern = Pattern.compile("(\\d+)MILLISECONDS");
matcher = pattern.matcher(period);
if (matcher.matches()) {
return new Long(matcher.group(1));
}
pattern = Pattern.compile("(\\d+)SECONDS");
matcher = pattern.matcher(period);
if (matcher.matches()) {
return new Long(matcher.group(1)) * 1000;
}
pattern = Pattern.compile("(\\d+)MINUTES");
matcher = pattern.matcher(period);
if (matcher.matches()) {
return new Long(matcher.group(1)) * 60 * 1000;
}
pattern = Pattern.compile("(\\d+)HOURS");
matcher = pattern.matcher(period);
if (matcher.matches()) {
return new Long(matcher.group(1)) * 60 * 60 * 1000;
}
throw new IllegalStateException("Invalid period syntax: " + period);
}