public static long parse()

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);
    }