Example usage for org.joda.time MutableDateTime addMinutes

List of usage examples for org.joda.time MutableDateTime addMinutes

Introduction

In this page you can find the example usage for org.joda.time MutableDateTime addMinutes.

Prototype

public void addMinutes(final int minutes) 

Source Link

Document

Add a number of minutes to the date.

Usage

From source file:com.tmathmeyer.sentinel.ui.views.day.collisiondetection.DayItem.java

License:Open Source License

public void addMinutesToEnd(int minutes) {
    MutableDateTime d = displayable.getEnd().toMutableDateTime();
    d.addMinutes(minutes);
    DateTime newEnd = d.toDateTime();/*from w  w w.  j ava  2s  .  c om*/
    try {
        Interval potential = new Interval(displayable.getStart(), newEnd);
        if (potential.toDurationMillis() < 1000) {
            throw new IllegalArgumentException("cant make the event that short!!");
        }
        height = Math.max(45, height + minutes);

        displayable.setEnd(newEnd);
        height = Math.max(45, height + minutes);
        length = potential;
        reval();
    } catch (IllegalArgumentException e) {
        // if the date time interval is malformed (the user dragged to a bad spot)
    }
}

From source file:com.tmathmeyer.sentinel.ui.views.day.collisiondetection.DayItem.java

License:Open Source License

public void addMinutesToStart(int minutes) {
    MutableDateTime d = displayable.getStart().toMutableDateTime();
    d.addMinutes(minutes);
    DateTime newStart = d.toDateTime();// w w  w . j a v  a  2  s  .  c om

    try {
        Interval potential = new Interval(newStart, displayable.getEnd());
        if (potential.toDurationMillis() < 1000) {
            throw new IllegalArgumentException("cant make the event that short!!");
        }
        height = Math.max(45, height + minutes);

        displayable.setStart(newStart);
        height += minutes;
        length = potential;
        reval();
    } catch (IllegalArgumentException e) {
        // if the date time interval is malformed (the user dragged to a bad spot)
    }
}

From source file:controllers.api.DashboardsApiController.java

License:Open Source License

private void nextStep(String interval, MutableDateTime currentTime) {
    switch (interval) {
    case "minute":
        currentTime.addMinutes(1);
        break;//w ww.j a  va  2s. c  om
    case "hour":
        currentTime.addHours(1);
        break;
    case "day":
        currentTime.addDays(1);
        break;
    case "week":
        currentTime.addWeeks(1);
        break;
    case "month":
        currentTime.addMonths(1);
        break;
    case "quarter":
        currentTime.addMonths(3);
        break;
    case "year":
        currentTime.addYears(1);
        break;
    default:
        throw new IllegalArgumentException("Invalid duration specified: " + interval);
    }
}

From source file:ddf.metrics.reporting.internal.rrd4j.RrdMetricsRetriever.java

License:Open Source License

private void increment(MutableDateTime chunkStart, SUMMARY_INTERVALS summaryInterval) {
    switch (summaryInterval) {
    case minute:/*w w w .j ava2 s .c  o m*/
        chunkStart.addMinutes(1);
        break;
    case hour:
        chunkStart.addHours(1);
        break;
    case day:
        chunkStart.addDays(1);
        break;
    case week:
        chunkStart.addWeeks(1);
        break;
    case month:
        chunkStart.addMonths(1);
        break;
    }
}

From source file:edu.wpi.cs.wpisuitetng.modules.cal.ui.views.day.collisiondetection.DayItem.java

License:Open Source License

public void addMinutesToEnd(int minutes) {
    MutableDateTime d = displayable.getEnd().toMutableDateTime();
    d.addMinutes(minutes);
    if (displayable instanceof Event)
        ((Event) displayable).setEnd(d.toDateTime());
    length = new Interval(displayable.getStart(), displayable.getEnd());
    height = Math.max(45, height + minutes);
    firstDraw = true;//from w ww .  j  av a  2  s .  c  om
    isBeingDragged = true;
    putTimeOn();
    revalidate();
    repaint();
}

From source file:edu.wpi.cs.wpisuitetng.modules.cal.ui.views.day.collisiondetection.DayItem.java

License:Open Source License

public void addMinutesToStart(int minutes) {
    MutableDateTime d = displayable.getStart().toMutableDateTime();
    d.addMinutes(minutes);
    displayable.setStart(d.toDateTime());
    length = new Interval(displayable.getStart(), displayable.getEnd());
    height += minutes;/*from   ww w . j  av a  2  s.  c o  m*/
    firstDraw = true;
    isBeingDragged = true;
    putTimeOn();
    getParent().revalidate();
    getParent().repaint();
}

From source file:org.codelibs.elasticsearch.common.joda.DateMathParser.java

License:Apache License

private long parseMath(String mathString, long time, boolean roundUp, DateTimeZone timeZone)
        throws ElasticsearchParseException {
    if (timeZone == null) {
        timeZone = DateTimeZone.UTC;//from w  w w  .  j  a  v a2 s  . com
    }
    MutableDateTime dateTime = new MutableDateTime(time, timeZone);
    for (int i = 0; i < mathString.length();) {
        char c = mathString.charAt(i++);
        final boolean round;
        final int sign;
        if (c == '/') {
            round = true;
            sign = 1;
        } else {
            round = false;
            if (c == '+') {
                sign = 1;
            } else if (c == '-') {
                sign = -1;
            } else {
                throw new ElasticsearchParseException("operator not supported for date math [{}]", mathString);
            }
        }

        if (i >= mathString.length()) {
            throw new ElasticsearchParseException("truncated date math [{}]", mathString);
        }

        final int num;
        if (!Character.isDigit(mathString.charAt(i))) {
            num = 1;
        } else {
            int numFrom = i;
            while (i < mathString.length() && Character.isDigit(mathString.charAt(i))) {
                i++;
            }
            if (i >= mathString.length()) {
                throw new ElasticsearchParseException("truncated date math [{}]", mathString);
            }
            num = Integer.parseInt(mathString.substring(numFrom, i));
        }
        if (round) {
            if (num != 1) {
                throw new ElasticsearchParseException("rounding `/` can only be used on single unit types [{}]",
                        mathString);
            }
        }
        char unit = mathString.charAt(i++);
        MutableDateTime.Property propertyToRound = null;
        switch (unit) {
        case 'y':
            if (round) {
                propertyToRound = dateTime.yearOfCentury();
            } else {
                dateTime.addYears(sign * num);
            }
            break;
        case 'M':
            if (round) {
                propertyToRound = dateTime.monthOfYear();
            } else {
                dateTime.addMonths(sign * num);
            }
            break;
        case 'w':
            if (round) {
                propertyToRound = dateTime.weekOfWeekyear();
            } else {
                dateTime.addWeeks(sign * num);
            }
            break;
        case 'd':
            if (round) {
                propertyToRound = dateTime.dayOfMonth();
            } else {
                dateTime.addDays(sign * num);
            }
            break;
        case 'h':
        case 'H':
            if (round) {
                propertyToRound = dateTime.hourOfDay();
            } else {
                dateTime.addHours(sign * num);
            }
            break;
        case 'm':
            if (round) {
                propertyToRound = dateTime.minuteOfHour();
            } else {
                dateTime.addMinutes(sign * num);
            }
            break;
        case 's':
            if (round) {
                propertyToRound = dateTime.secondOfMinute();
            } else {
                dateTime.addSeconds(sign * num);
            }
            break;
        default:
            throw new ElasticsearchParseException("unit [{}] not supported for date math [{}]", unit,
                    mathString);
        }
        if (propertyToRound != null) {
            if (roundUp) {
                // we want to go up to the next whole value, even if we are already on a rounded value
                propertyToRound.add(1);
                propertyToRound.roundFloor();
                dateTime.addMillis(-1); // subtract 1 millisecond to get the largest inclusive value
            } else {
                propertyToRound.roundFloor();
            }
        }
    }
    return dateTime.getMillis();
}

From source file:org.elasticsearch.common.joda.DateMathParser.java

License:Apache License

private long parseMath(String mathString, long time, boolean roundUp) throws ElasticsearchParseException {
    MutableDateTime dateTime = new MutableDateTime(time, DateTimeZone.UTC);
    try {/*from   www  .  j a v  a  2  s  .com*/
        for (int i = 0; i < mathString.length();) {
            char c = mathString.charAt(i++);
            int type;
            if (c == '/') {
                type = 0;
            } else if (c == '+') {
                type = 1;
            } else if (c == '-') {
                type = 2;
            } else {
                throw new ElasticsearchParseException(
                        "operator not supported for date math [" + mathString + "]");
            }

            int num;
            if (!Character.isDigit(mathString.charAt(i))) {
                num = 1;
            } else {
                int numFrom = i;
                while (Character.isDigit(mathString.charAt(i))) {
                    i++;
                }
                num = Integer.parseInt(mathString.substring(numFrom, i));
            }
            if (type == 0) {
                // rounding is only allowed on whole numbers
                if (num != 1) {
                    throw new ElasticsearchParseException(
                            "rounding `/` can only be used on single unit types [" + mathString + "]");
                }
            }
            char unit = mathString.charAt(i++);
            switch (unit) {
            case 'y':
                if (type == 0) {
                    if (roundUp) {
                        dateTime.yearOfCentury().roundCeiling();
                    } else {
                        dateTime.yearOfCentury().roundFloor();
                    }
                } else if (type == 1) {
                    dateTime.addYears(num);
                } else if (type == 2) {
                    dateTime.addYears(-num);
                }
                break;
            case 'M':
                if (type == 0) {
                    if (roundUp) {
                        dateTime.monthOfYear().roundCeiling();
                    } else {
                        dateTime.monthOfYear().roundFloor();
                    }
                } else if (type == 1) {
                    dateTime.addMonths(num);
                } else if (type == 2) {
                    dateTime.addMonths(-num);
                }
                break;
            case 'w':
                if (type == 0) {
                    if (roundUp) {
                        dateTime.weekOfWeekyear().roundCeiling();
                    } else {
                        dateTime.weekOfWeekyear().roundFloor();
                    }
                } else if (type == 1) {
                    dateTime.addWeeks(num);
                } else if (type == 2) {
                    dateTime.addWeeks(-num);
                }
                break;
            case 'd':
                if (type == 0) {
                    if (roundUp) {
                        dateTime.dayOfMonth().roundCeiling();
                    } else {
                        dateTime.dayOfMonth().roundFloor();
                    }
                } else if (type == 1) {
                    dateTime.addDays(num);
                } else if (type == 2) {
                    dateTime.addDays(-num);
                }
                break;
            case 'h':
            case 'H':
                if (type == 0) {
                    if (roundUp) {
                        dateTime.hourOfDay().roundCeiling();
                    } else {
                        dateTime.hourOfDay().roundFloor();
                    }
                } else if (type == 1) {
                    dateTime.addHours(num);
                } else if (type == 2) {
                    dateTime.addHours(-num);
                }
                break;
            case 'm':
                if (type == 0) {
                    if (roundUp) {
                        dateTime.minuteOfHour().roundCeiling();
                    } else {
                        dateTime.minuteOfHour().roundFloor();
                    }
                } else if (type == 1) {
                    dateTime.addMinutes(num);
                } else if (type == 2) {
                    dateTime.addMinutes(-num);
                }
                break;
            case 's':
                if (type == 0) {
                    if (roundUp) {
                        dateTime.secondOfMinute().roundCeiling();
                    } else {
                        dateTime.secondOfMinute().roundFloor();
                    }
                } else if (type == 1) {
                    dateTime.addSeconds(num);
                } else if (type == 2) {
                    dateTime.addSeconds(-num);
                }
                break;
            default:
                throw new ElasticsearchParseException(
                        "unit [" + unit + "] not supported for date math [" + mathString + "]");
            }
        }
    } catch (Exception e) {
        if (e instanceof ElasticsearchParseException) {
            throw (ElasticsearchParseException) e;
        }
        throw new ElasticsearchParseException("failed to parse date math [" + mathString + "]");
    }
    return dateTime.getMillis();
}

From source file:se.toxbee.sleepfighter.service.AlarmPlannerService.java

License:Open Source License

/**
 * Reschedule an {@link Alarm}, that has gone of, to some minutes from now,
 * defined by the alarm itself.// w w w  .j a  v a 2  s.c om
 * 
 * @param alarmId
 *            the alarm's id
 */
private void snooze(int alarmId) {
    Alarm alarm = SFApplication.get().getPersister().fetchAlarmById(alarmId);
    if (alarm == null) {
        throw new IllegalArgumentException("No alarm was found with given id");
    }

    // Determine which time to schedule at by adding offset minutes from alarm to current time
    MutableDateTime dateTime = MutableDateTime.now();

    int mins = alarm.getSnoozeConfig().getSnoozeTime();

    dateTime.addMinutes(mins);

    long scheduleTime = dateTime.getMillis();
    schedule(scheduleTime, alarm);
    showSnoozingNotification(alarm, dateTime.toString("HH:mm"));
}