Example usage for org.joda.time MutableDateTime setMillisOfDay

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

Introduction

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

Prototype

public void setMillisOfDay(final int millisOfDay) 

Source Link

Document

Set the millis of the day to the specified value.

Usage

From source file:com.tmathmeyer.sentinel.ui.views.week.WeekCalendar.java

License:Open Source License

/**
 * updates the week start and end variables
 * /*from   w w  w.ja va2  s  .c om*/
 * @param time a time in the week
 */
private void updateWeekStartAndEnd(DateTime time) {
    MutableDateTime mdt = new MutableDateTime(time);
    mdt.addDays(-(time.getDayOfWeek() % 7));
    mdt.setMillisOfDay(0);
    this.weekStartTime = mdt.toDateTime();
    mdt.addDays(7);
    this.weekEndTime = mdt.toDateTime();
}

From source file:com.tmathmeyer.sentinel.ui.views.week.WeekCalendar.java

License:Open Source License

/**
 * Selects an event's corresponding Displayable
 * /*  w  ww .  j a v a 2 s. c o  m*/
 * @param on Event being selected
 * @param setTo Displayable of Event being selected
 */
private void selectEvents(Event on, Displayable setTo) {
    // TODO: refactor this pattern
    DayPanel mLouvreTour;
    MutableDateTime startDay = new MutableDateTime(on.getStart());
    MutableDateTime endDay = new MutableDateTime(on.getEnd());

    endDay.setMillisOfDay(0);
    endDay.addDays(1);
    endDay.addMillis(-1);
    startDay.setMillisOfDay(0);

    Interval eventLength = new Interval(startDay, endDay);
    if (setTo == null || eventLength.toDuration().getStandardHours() > 24) {
        for (WeekMultidayEventItem multidayItem : multidayItemList) {
            if (setTo != null && multidayItem.getEvent().getUuid().equals(((Event) on).getUuid()))
                multidayItem.setSelected(true);
            else
                multidayItem.setSelected(false);
        }
        return;
    }

    // TODO: can be simplified now that multiday events are handled
    // elsewhere
    int index = 0;
    for (int i = 0; i < 7; i++) {
        if (startDay.getDayOfYear() == daysOfWeekArray[i].getDisplayDate().getDayOfYear()) {
            index = i;
            break;
        }
    }

    while (index < 7 && !endDay.isBefore(daysOfWeekArray[index].getDisplayDate())) {
        mLouvreTour = daysOfWeekArray[index];
        try {
            mLouvreTour.select(setTo);
        } catch (NullPointerException ex) {
            // silently ignore as this is apparently not in the view
        }
        index++;
    }
}

From source file:com.tmathmeyer.sentinel.ui.views.year.YearCalendar.java

License:Open Source License

/**
 * gets the drawn year/*from   w  ww .j a v a 2s . co  m*/
 * 
 * @param start the date time that starts the series.
 * @return the jpanel that contains the colored days and the S/M/T/W/R/F/S
 *         labels
 */
private JPanel getFourMonthGrid(MutableDateTime start) {
    int gridHeight = 19;
    int gridWidth = 7;

    JPanel p = new JPanel();
    p.setLayout(new GridLayout(gridHeight, gridWidth));

    String[] days = { "S", "M", "T", "W", "R", "F", "S" };
    for (int i = 0; i < 7; i++) {
        JLabel header = new JLabel(days[i]);
        header.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Colors.BORDER));
        header.setHorizontalAlignment(SwingConstants.CENTER);
        header.setFont(new Font("DejaVu Sans", Font.ITALIC, 12));
        p.add(header);
    }

    for (int j = 0; j < 18 * 7; j++) {
        Color dayBackground = start.getMonthOfYear() % 2 == 0 ? Colors.TABLE_BACKGROUND
                : Colors.TABLE_GRAY_HEADER;

        Integer eventCount = events.get(start.getDayOfYear());
        eventCount = eventCount == null ? 0 : eventCount;

        YearlyDayHolder day = new YearlyDayHolder(start.toDateTime(), dayBackground);
        MutableDateTime today = new MutableDateTime(DateTime.now());
        today.setMillisOfDay(0);
        MutableDateTime checking = new MutableDateTime(start);
        start.setMillisOfDay(0);
        if (checking.toDateTime().isEqual(today)) {
            day.setBackground(Colors.SELECTED_BACKGROUND);
            day.setForeground(Colors.SELECTED_TEXT);
        }
        JLabel dayLabel = new JLabel(start.getDayOfMonth() + "");
        dayLabel.setHorizontalAlignment(SwingConstants.CENTER);

        day.setLayout(new GridLayout(1, 1));
        day.add(dayLabel);
        day.setBorder(
                BorderFactory.createMatteBorder(0, start.getDayOfWeek() % 7 == 0 ? 1 : 0, 1, 1, Colors.BORDER));

        day.addMouseListener(new MouseListener() {

            @Override
            public void mouseClicked(MouseEvent me) {
                YearlyDayHolder event = (YearlyDayHolder) (me.getSource());
                MainPanel.getInstance().miniMove(event.getDateTime());
                MainPanel.getInstance().viewDay();
            }

            @Override
            public void mouseEntered(MouseEvent me) {
                // this is just a demo of what it can do
            }

            @Override
            public void mouseExited(MouseEvent me) {
            }

            @Override
            public void mousePressed(MouseEvent me) {
                // TODO: something? maybe nothing? have to decide with
                // team/steakholders
            }

            @Override
            public void mouseReleased(MouseEvent me) {
                YearlyDayHolder event = (YearlyDayHolder) (me.getSource());
                MainPanel.getInstance().miniMove(event.getDateTime());
            }

        });

        p.add(day);
        start.addDays(1);
    }

    int width = 280;
    int height = 570;

    p.setMinimumSize(new Dimension(0, height - 150));
    p.setPreferredSize(new Dimension(width, height));
    p.setMaximumSize(new Dimension(width + 350, height + 150));

    return p;
}

From source file:com.xpn.xwiki.criteria.impl.PeriodFactory.java

License:Open Source License

private static MutableDateTime toDayStart(MutableDateTime mdt) {
    mdt.setMillisOfDay(mdt.millisOfDay().getMinimumValue());
    return mdt;
}

From source file:edu.wpi.cs.wpisuitetng.modules.cal.models.data.Commitment.java

License:Open Source License

/**
 * this is primarily used for multiday events
 * /*from w w w .  j  a v a2s.c  o m*/
 * @param givenDay gets the time that this event starts on a given day
 * @return when this event starts
 */
public DateTime getStartTimeOnDay(DateTime givenDay) {
    MutableDateTime mDisplayedDay = new MutableDateTime(givenDay);
    mDisplayedDay.setMillisOfDay(1);
    //if it starts before the beginning of the day then its a multi day event, or all day event
    if (this.getStart().isBefore(mDisplayedDay)) {
        mDisplayedDay.setMillisOfDay(0);
        return (mDisplayedDay.toDateTime());
    } else
        return this.getStart();
}

From source file:edu.wpi.cs.wpisuitetng.modules.cal.ui.navigation.MiniMonth.java

License:Open Source License

public MiniMonth(DateTime time, final MiniCalendarHostIface mc, boolean monthOnly) {
    this.setLayout(new GridLayout(7, 7));
    MutableDateTime prevMonth = new MutableDateTime(time);
    prevMonth.setDayOfMonth(1);//from w ww  .  ja v  a2s .c  o m
    prevMonth.addMonths(-1); // What is prevMonth for?
    String[] dayLabel = { "S", "M", "T", "W", "R", "F", "S" };

    MouseListener monthChanger = new MouseListener() {
        @Override
        public void mouseClicked(MouseEvent me) {
        }

        @Override
        public void mouseEntered(MouseEvent me) {
        }

        @Override
        public void mouseExited(MouseEvent me) {
        }

        @Override
        public void mousePressed(MouseEvent me) {
        }

        @Override
        public void mouseReleased(MouseEvent me) {
            DayLabel d = (DayLabel) (me.getSource());
            if (!(d instanceof DescriptiveDayLabel)) {
                mc.display(d.getMonth());
            }
        }
    };

    MutableDateTime referenceDay = new MutableDateTime(time);
    // reset to the first of the month at midnight, then find Sunday
    referenceDay.setDayOfMonth(1);
    referenceDay.setMillisOfDay(0);
    int first = referenceDay.getDayOfWeek();
    referenceDay.addDays(-first);
    boolean flipFlop = false;

    // add day labels
    for (int i = 0; i < 7; i++) {
        DayLabel day = new DescriptiveDayLabel(dayLabel[i], time);
        day.borderize((i % 7) == 0, i >= 5 * 7, (i % 7) == 6);
        add(day);
        day.addMouseListener(monthChanger);
    }

    // generate days, 6*7 covers all possible months, so we just loop
    // through and add each day
    for (int i = 0; i < (6 * 7); i++) {
        DayLabel day;
        if (monthOnly || MainPanel.getInstance().getView() == ViewSize.Month) {
            if (referenceDay.getDayOfMonth() == 1)
                flipFlop ^= true; // flops the flip flop flappity flip
        } else if (MainPanel.getInstance().getView() == ViewSize.Day)
            flipFlop = referenceDay.getDayOfYear() == time.getDayOfYear()
                    && referenceDay.getYear() == time.getYear();
        else if (MainPanel.getInstance().getView() == ViewSize.Week) {
            if (Months.getWeekStart(time).getMonthOfYear() == 12
                    && Months.getWeekStart(time).getDayOfMonth() >= 26) // Exception case for weeks between years
                flipFlop = time.getMonthOfYear() == 12 ? i >= 35 : i <= 6;
            else
                flipFlop = referenceDay.getDayOfYear() >= Months.getWeekStart(time).getDayOfYear()
                        && referenceDay.getDayOfYear() <= Months.getWeekStart(time).getDayOfYear() + 6;
        }

        if (flipFlop)
            day = new ActiveDayLabel(referenceDay.toDateTime());
        else
            day = new InactiveDayLabel(referenceDay.toDateTime());

        day.borderize((i % 7) == 0, i >= 5 * 7, (i % 7) == 6);
        add(day);
        day.addMouseListener(monthChanger);
        referenceDay.addDays(1); // go to next day
    }
}

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

License:Open Source License

/**
 * Get visible events for the current day view
 * @return returns the list of events to display
 *//*from w w  w .j a  va  2  s. c  o  m*/
private List<Displayable> getVisibleDisplayables() {
    // Set up from and to datetime for search
    MutableDateTime f = new MutableDateTime(time);
    f.setMillisOfDay(0);
    DateTime from = f.toDateTime();
    f.addDays(1);
    DateTime to = f.toDateTime();

    // Return list of events to be displayed
    List<Displayable> visibleDisplayables = new ArrayList<Displayable>();
    visibleDisplayables.addAll(EventClient.getInstance().getEvents(from, to));
    visibleDisplayables.addAll(CommitmentClient.getInstance().getCommitments(from, to));

    Collections.sort(visibleDisplayables, new Comparator<Displayable>() {
        public int compare(Displayable d1, Displayable d2) {
            return d1.getStart().getMinuteOfDay() < d2.getStart().getMinuteOfDay() ? -1
                    : d1.getStart().getMinuteOfDay() > d2.getStart().getMinuteOfDay() ? 1 : 0;
        }
    });

    return visibleDisplayables;
}

From source file:edu.wpi.cs.wpisuitetng.modules.cal.ui.views.week.WeekCalendar.java

License:Open Source License

/**
 * Selects an event's corresponding Displayable
 * /* w w w  . jav a  2s  . co  m*/
 * @param on
 *            Event being selected
 * @param setTo
 *            Displayable of Event being selected
 */
private void selectEvents(Event on, Displayable setTo) {
    // TODO: refactor this pattern
    DayPanel mLouvreTour;
    MutableDateTime startDay = new MutableDateTime(on.getStart());
    MutableDateTime endDay = new MutableDateTime(on.getEnd());

    endDay.setMillisOfDay(0);
    endDay.addDays(1);
    endDay.addMillis(-1);
    startDay.setMillisOfDay(0);

    Interval eventLength = new Interval(startDay, endDay);
    if (setTo == null || eventLength.toDuration().getStandardHours() > 24) {
        for (WeekMultidayEventItem multidayItem : multidayItemList) {
            if (setTo != null && multidayItem.getEvent().getUuid().equals(((Event) on).getUuid()))
                multidayItem.setSelected(true);
            else
                multidayItem.setSelected(false);
        }
        return;
    }

    //TODO: can be simplified now that multiday events are handled elsewhere
    int index = 0;
    for (int i = 0; i < 7; i++) {
        if (startDay.getDayOfYear() == daysOfWeekArray[i].getDisplayDate().getDayOfYear()) {
            index = i;
            break;
        }
    }

    while (index < 7 && !endDay.isBefore(daysOfWeekArray[index].getDisplayDate())) {
        mLouvreTour = daysOfWeekArray[index];
        try {
            mLouvreTour.select(setTo);
        } catch (NullPointerException ex) {
            // silently ignore as this is apparently not in the view
        }
        index++;
    }
}

From source file:edu.wpi.cs.wpisuitetng.modules.cal.ui.views.year.YearCalendar.java

License:Open Source License

/**
 * gets the drawn year/* www .  j  a  v a2s  . c  o  m*/
 * 
 * @param start the date time that starts the series.
 * @return the jpanel that contains the colored days and the S/M/T/W/R/F/S labels
 */
private JPanel getFourMonthGrid(MutableDateTime start) {
    int gridHeight = 19;
    int gridWidth = 7;

    JPanel p = new JPanel();
    p.setLayout(new GridLayout(gridHeight, gridWidth));

    String[] days = { "S", "M", "T", "W", "R", "F", "S" };
    for (int i = 0; i < 7; i++) {
        JLabel header = new JLabel(days[i]);
        header.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Colors.BORDER));
        header.setHorizontalAlignment(SwingConstants.CENTER);
        header.setFont(new Font("DejaVu Sans", Font.ITALIC, 12));
        p.add(header);
    }

    for (int j = 0; j < 18 * 7; j++) {
        Color dayBackground = start.getMonthOfYear() % 2 == 0 ? Colors.TABLE_BACKGROUND
                : Colors.TABLE_GRAY_HEADER;

        Integer eventCount = events.get(start.getDayOfYear());
        eventCount = eventCount == null ? 0 : eventCount;

        YearlyDayHolder day = new YearlyDayHolder(start.toDateTime(), dayBackground);
        MutableDateTime today = new MutableDateTime(DateTime.now());
        today.setMillisOfDay(0);
        MutableDateTime checking = new MutableDateTime(start);
        start.setMillisOfDay(0);
        if (checking.toDateTime().isEqual(today)) {
            day.setBackground(Colors.SELECTED_BACKGROUND);
            day.setForeground(Colors.SELECTED_TEXT);
        }
        JLabel dayLabel = new JLabel(start.getDayOfMonth() + "");
        dayLabel.setHorizontalAlignment(SwingConstants.CENTER);

        day.setLayout(new GridLayout(1, 1));
        day.add(dayLabel);
        day.setBorder(
                BorderFactory.createMatteBorder(0, start.getDayOfWeek() % 7 == 0 ? 1 : 0, 1, 1, Colors.BORDER));

        day.addMouseListener(new MouseListener() {

            @Override
            public void mouseClicked(MouseEvent me) {
                YearlyDayHolder event = (YearlyDayHolder) (me.getSource());
                MainPanel.getInstance().miniMove(event.getDateTime());
                MainPanel.getInstance().viewDay();
            }

            @Override
            public void mouseEntered(MouseEvent me) {
                // this is just a demo of what it can do
            }

            @Override
            public void mouseExited(MouseEvent me) {
            }

            @Override
            public void mousePressed(MouseEvent me) {
                //TODO: something? maybe nothing? have to decide with team/steakholders
            }

            @Override
            public void mouseReleased(MouseEvent me) {
                YearlyDayHolder event = (YearlyDayHolder) (me.getSource());
                MainPanel.getInstance().miniMove(event.getDateTime());
            }

        });

        p.add(day);
        start.addDays(1);
    }

    int width = 280;
    int height = 570;

    p.setMinimumSize(new Dimension(0, height - 150));
    p.setPreferredSize(new Dimension(width, height));
    p.setMaximumSize(new Dimension(width + 350, height + 150));

    return p;
}

From source file:io.druid.server.log.FileRequestLogger.java

License:Apache License

@LifecycleStart
public void start() {
    try {//  ww  w  .java  2 s  .co  m
        baseDir.mkdirs();

        MutableDateTime mutableDateTime = new DateTime().toMutableDateTime();
        mutableDateTime.setMillisOfDay(0);
        currentDay = mutableDateTime.toDateTime();

        fileWriter = new OutputStreamWriter(
                new FileOutputStream(new File(baseDir, currentDay.toString("yyyy-MM-dd'.log'")), true),
                Charsets.UTF_8);
        long nextDay = currentDay.plusDays(1).getMillis();
        Duration delay = new Duration(nextDay - new DateTime().getMillis());

        ScheduledExecutors.scheduleWithFixedDelay(exec, delay, Duration.standardDays(1),
                new Callable<ScheduledExecutors.Signal>() {
                    @Override
                    public ScheduledExecutors.Signal call() {
                        currentDay = currentDay.plusDays(1);

                        try {
                            synchronized (lock) {
                                CloseQuietly.close(fileWriter);
                                fileWriter = new OutputStreamWriter(
                                        new FileOutputStream(new File(baseDir, currentDay.toString()), true),
                                        Charsets.UTF_8);
                            }
                        } catch (Exception e) {
                            Throwables.propagate(e);
                        }

                        return ScheduledExecutors.Signal.REPEAT;
                    }
                });
    } catch (IOException e) {
        Throwables.propagate(e);
    }
}