Example usage for org.joda.time MutableDateTime setMillis

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

Introduction

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

Prototype

public void setMillis(ReadableInstant instant) 

Source Link

Document

Sets the millisecond instant of this instant from another.

Usage

From source file:ch.windmobile.server.mongo.MongoDataSource.java

License:Open Source License

static protected DateTime getExpirationDate(DateTime now, DateTime lastUpdate) {
    MutableDateTime expirationDate = new MutableDateTime(lastUpdate.getZone());

    if (isSummerFrequency(now)) {
        expirationDate.setMillis(lastUpdate.getMillis() + 20 * 60 * 1000);
        if (expirationDate.getHourOfDay() >= 20) {
            expirationDate.addDays(1);/*w  w  w . jav a  2 s  .  c  o m*/
            expirationDate.setHourOfDay(8);
            expirationDate.setMinuteOfHour(0);
            expirationDate.setSecondOfMinute(0);
        }
    } else {
        expirationDate.setMillis(lastUpdate.getMillis() + 60 * 60 * 1000);
        if (expirationDate.getHourOfDay() >= 17) {
            expirationDate.addDays(1);
            expirationDate.setHourOfDay(9);
            expirationDate.setMinuteOfHour(0);
            expirationDate.setSecondOfMinute(0);
        }
    }
    return expirationDate.toDateTime();
}

From source file:com.soen.hasslefree.models.PhysicianAvailability.java

public boolean generateTimeSlots(DateTime startTime, DateTime endTime, int dropInDurationInMinutes) {
    MutableDateTime slotStatTime = new MutableDateTime();
    MutableDateTime slotEndTime = new MutableDateTime();

    long availabilityStartTimeInMillis = startTime.getMillis();
    long availabilityEndTimeInMillis = startTime.getMillis();

    long availableDuration = availabilityEndTimeInMillis - availabilityStartTimeInMillis;
    long slotDuration = dropInDurationInMinutes * 60 * 1000; // 20 min * 60 sec * 1000 millisecond
    ArrayList<RoomTimeSlot> roomSlots = RoomTimeSlot.getFilteredAvailableRoomSlotsForDate(startTime, endTime);

    if (availableDuration > 0) {

        long currentSlotStartTime = availabilityStartTimeInMillis;
        boolean stopSlicing = false;

        while (!stopSlicing) {
            //<editor-fold defaultstate="collapsed" desc="new PhysicianTimeSlot ">
            int roomSlotIndex = hasFoundFreeRoomSlot(currentSlotStartTime, roomSlots);
            if (roomSlotIndex < 0) {
                return false;
            } else {
                PhysicianTimeSlot newTimeSlot = new PhysicianTimeSlot();
                slotStatTime.setMillis(currentSlotStartTime);
                slotEndTime.setMillis(currentSlotStartTime + slotDuration);

                newTimeSlot.setStartTime(slotStatTime.toDateTime());
                newTimeSlot.setEndTime(slotEndTime.toDateTime());
                newTimeSlot.setIsAvailable(true);
                newTimeSlot.setPhysicianAvailability(this);
                newTimeSlot.setRelatedPhysician(this.relatedPhysician);
                RoomTimeSlot roomTime = roomSlots.get(roomSlotIndex);
                newTimeSlot.setRelatedRoomTimeSlot(roomTime);

                roomTime.setPhysicianTimeSlot(newTimeSlot);
                roomTime.setIsAvailable(false);

                //</editor-fold>
                this.physicianTimeSlots.add(newTimeSlot);
                availableDuration = availableDuration - slotDuration;
                currentSlotStartTime = currentSlotStartTime + slotDuration;
                if (availableDuration < slotDuration) { // I removed = because I want to add the last slot to the time slots.
                    stopSlicing = true;/*from  w w w . j a  v  a2 s.co m*/
                }
            }
        }

    }

    ObjectDao physicianAvailabilityDao = new ObjectDao();
    reserveRoomSlot(roomSlots);
    physicianAvailabilityDao.addOrUpdateObject(this);
    return true;
}

From source file:com.soen.hasslefree.models.Room.java

public void generateTimeSlots(DateTime clinicStartTime, DateTime clinicEndTime, int dropInDurationInMinutes) {
    MutableDateTime slotStatTime = new MutableDateTime();
    MutableDateTime slotEndTime = new MutableDateTime();

    //ArrayList<ClinicHours> clinicHoursList = ClinicHours.getAllClinicHours();
    // ClinicHours clinicHours = clinicHoursList.get(0);
    long availabilityStartTime = clinicStartTime.getMillis();
    long availabilityEndTime = clinicEndTime.getMillis();

    long availableDuration = availabilityEndTime - availabilityStartTime;
    long slotDuration = dropInDurationInMinutes * 60 * 1000; // dropIn Duration min * 60 sec * 1000 millisecond

    if (availableDuration > 0) {

        long currentSlotStartTime = availabilityStartTime;
        boolean stopSlicing = false;
        while (!stopSlicing) {
            //<editor-fold defaultstate="collapsed" desc="new RoomTimeSlot ">
            RoomTimeSlot newTimeSlot = new RoomTimeSlot();
            slotStatTime.setMillis(currentSlotStartTime);
            slotEndTime.setMillis(currentSlotStartTime + slotDuration);

            newTimeSlot.setStartTime(slotStatTime.toDateTime());
            newTimeSlot.setEndTime(slotEndTime.toDateTime());
            newTimeSlot.setIsAvailable(true);
            newTimeSlot.setRelatedRoom(this);

            //</editor-fold>
            this.roomTimeSlots.add(newTimeSlot);
            availableDuration = availableDuration - slotDuration;
            currentSlotStartTime = currentSlotStartTime + slotDuration;
            if (availableDuration < slotDuration) { // I ti should be smaller than only to add the last slot to the time slots.
                stopSlicing = true;/* w w  w.  j  a v a  2s.c  om*/
            }
        }

    }
}

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

License:Open Source License

public DayCalendar(DateTime on) {
    this.time = on;

    MutableDateTime mdt = time.toMutableDateTime();
    mdt.setMillis(0);
    mdt.addDays(1);/*  www.ja v a2s . c om*/
    mdt.addMillis(-1);

    scroll.setBackground(Colors.TABLE_BACKGROUND);
    scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    scroll.getVerticalScrollBar().setUnitIncrement(20);
    scroll.setAutoscrolls(true);
    scroll.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
    holder.setBackground(Colors.TABLE_BACKGROUND);

    this.setLayout(new BorderLayout());
    this.holder.setLayout(new BorderLayout());

    generateDay();
}

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

License:Open Source License

private void createSummary(Workbook wb, List<String> metricNames, String metricsDir, long startTime,
        long endTime, SUMMARY_INTERVALS summaryInterval) throws IOException, MetricsGraphException {
    // convert seconds to milliseconds
    startTime = TimeUnit.SECONDS.toMillis(startTime);
    endTime = TimeUnit.SECONDS.toMillis(endTime);
    DateTime reportStart = new DateTime(startTime, DateTimeZone.UTC);
    DateTime reportEnd = new DateTime(endTime, DateTimeZone.UTC);

    Sheet sheet = wb.createSheet();/*from  ww  w .ja va 2 s  .c o  m*/
    wb.setSheetName(0,
            reportStart.toString(SUMMARY_TIMESTAMP) + " to " + reportEnd.toString(SUMMARY_TIMESTAMP));
    Row headingRow = sheet.createRow(0);

    int columnMax = 1;
    for (String metricName : metricNames) {
        MutableDateTime chunkStart = new MutableDateTime(reportStart);
        MutableDateTime chunkEnd = new MutableDateTime(chunkStart);
        Row row = sheet.createRow(metricNames.indexOf(metricName) + 1);
        int columnCounter = 1;
        Boolean isSum = null;

        while (reportEnd.compareTo(chunkEnd) > 0 && columnCounter < EXCEL_MAX_COLUMNS) {
            increment(chunkEnd, summaryInterval);
            if (chunkEnd.isAfter(reportEnd)) {
                chunkEnd.setMillis(reportEnd);
            }

            // offset range by one millisecond so rrd will calculate granularity correctly
            chunkEnd.addMillis(-1);
            MetricData metricData = getMetricData(getRrdFilename(metricsDir, metricName),
                    TimeUnit.MILLISECONDS.toSeconds(chunkStart.getMillis()),
                    TimeUnit.MILLISECONDS.toSeconds(chunkEnd.getMillis()));
            isSum = metricData.hasTotalCount();
            chunkEnd.addMillis(1);

            if (headingRow.getCell(columnCounter) == null) {
                Cell headingRowCell = headingRow.createCell(columnCounter);
                headingRowCell.getCellStyle().setWrapText(true);
                headingRowCell.setCellValue(getTimestamp(chunkStart, chunkEnd, columnCounter, summaryInterval));
            }

            Cell sumOrAvg = row.createCell(columnCounter);
            if (isSum) {
                sumOrAvg.setCellValue((double) metricData.getTotalCount());
            } else {
                sumOrAvg.setCellValue(cumulativeRunningAverage(metricData.getValues()));
            }

            chunkStart.setMillis(chunkEnd);
            columnCounter++;
        }
        columnMax = columnCounter;

        if (isSum != null) {
            row.createCell(0).setCellValue(convertCamelCase(metricName) + " (" + (isSum ? "sum" : "avg") + ")");
        }
    }
    for (int i = 0; i < columnMax; i++) {
        sheet.autoSizeColumn(i);
    }
}

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

License:Open Source License

public DayCalendar(DateTime on) {
    this.time = on;

    MutableDateTime mdt = time.toMutableDateTime();
    mdt.setMillis(0);
    this.dayStart = mdt.toDateTime();
    mdt.addDays(1);//w  w w .  j  av  a 2s  . c  o  m
    mdt.addMillis(-1);
    this.dayEnd = mdt.toDateTime();

    scroll.setBackground(Colors.TABLE_BACKGROUND);
    scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    scroll.getVerticalScrollBar().setUnitIncrement(20);
    scroll.setAutoscrolls(true);
    scroll.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
    holder.setBackground(Colors.TABLE_BACKGROUND);

    this.setLayout(new BorderLayout());
    this.holder.setLayout(new BorderLayout());

    generateDay();
}

From source file:org.elasticsearch.index.field.data.longs.LongFieldData.java

License:Apache License

public MutableDateTime date(int docId) {
    MutableDateTime dateTime = dateTimeCache.get().get();
    dateTime.setMillis(value(docId));
    return dateTime;
}

From source file:org.elasticsearch.index.field.data.longs.LongFieldData.java

License:Apache License

public void date(int docId, MutableDateTime dateTime) {
    dateTime.setMillis(value(docId));
}

From source file:org.elasticsearch.index.field.data.longs.MultiValueLongFieldData.java

License:Apache License

@Override
public void forEachValueInDoc(int docId, DateValueInDocProc proc) {
    MutableDateTime dateTime = dateTimeCache.get().get();
    for (int[] ordinal : ordinals) {
        int loc = ordinal[docId];
        if (loc == 0) {
            break;
        }//w w w .j  a  v  a  2  s  .com
        dateTime.setMillis(values[loc]);
        proc.onValue(docId, dateTime);
    }
}

From source file:org.elasticsearch.index.field.data.longs.MultiValueLongFieldData.java

License:Apache License

@Override
public void forEachValueInDoc(int docId, MutableDateTime dateTime, DateValueInDocProc proc) {
    for (int[] ordinal : ordinals) {
        int loc = ordinal[docId];
        if (loc == 0) {
            break;
        }/*from   w  ww.  j  a  va  2 s. c  om*/
        dateTime.setMillis(values[loc]);
        proc.onValue(docId, dateTime);
    }
}