Example usage for org.joda.time MutableDateTime MutableDateTime

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

Introduction

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

Prototype

public MutableDateTime(Object instant) 

Source Link

Document

Constructs an instance from an Object that represents a datetime.

Usage

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  ww . j a  v a 2s .  c om
 * @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//from   www . j a  v  a2 s.  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:fc.cron.CronExpression.java

License:Apache License

public DateTime nextTimeAfter(DateTime afterTime, DateTime dateTimeBarrier) {
    MutableDateTime nextTime = new MutableDateTime(afterTime);
    nextTime.setMillisOfSecond(0);/*  w  ww.j  a  v  a2 s.c  o  m*/
    nextTime.secondOfDay().add(1);

    while (true) { // day of week
        while (true) { // month
            while (true) { // day of month
                while (true) { // hour
                    while (true) { // minute
                        while (true) { // second
                            if (secondField.matches(nextTime.getSecondOfMinute())) {
                                break;
                            }
                            nextTime.secondOfDay().add(1);
                        }
                        if (minuteField.matches(nextTime.getMinuteOfHour())) {
                            break;
                        }
                        nextTime.minuteOfDay().add(1);
                        nextTime.secondOfMinute().set(0);
                    }
                    if (hourField.matches(nextTime.getHourOfDay())) {
                        break;
                    }
                    nextTime.hourOfDay().add(1);
                    nextTime.minuteOfHour().set(0);
                    nextTime.secondOfMinute().set(0);
                }
                if (dayOfMonthField.matches(new LocalDate(nextTime))) {
                    break;
                }
                nextTime.addDays(1);
                nextTime.setTime(0, 0, 0, 0);
                checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
            }
            if (monthField.matches(nextTime.getMonthOfYear())) {
                break;
            }
            nextTime.addMonths(1);
            nextTime.setDayOfMonth(1);
            nextTime.setTime(0, 0, 0, 0);
            checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
        }
        if (dayOfWeekField.matches(new LocalDate(nextTime))) {
            break;
        }
        nextTime.addDays(1);
        nextTime.setTime(0, 0, 0, 0);
        checkIfDateTimeBarrierIsReached(nextTime, dateTimeBarrier);
    }

    return nextTime.toDateTime();
}

From source file:influent.server.rest.BigChartResource.java

License:MIT License

@Post("json")
public Map<String, ChartData> getBigChartData(String jsonData) {

    try {/*from www . ja  v a  2s.  c  o m*/
        JSONProperties request = new JSONProperties(jsonData);

        final String focusContextId = request.getString("focuscontextid", null);

        final String sessionId = request.getString("sessionId", null);
        if (!GuidValidator.validateGuidString(sessionId)) {
            throw new ResourceException(Status.CLIENT_ERROR_EXPECTATION_FAILED,
                    "sessionId is not a valid UUID");
        }

        DateTime startDate = null;
        try {
            startDate = DateTimeParser.parse(request.getString("startDate", null));
        } catch (IllegalArgumentException iae) {
            throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST,
                    "BigChartResource: An illegal argument was passed into the 'startDate' parameter.");
        }

        DateTime endDate = null;
        try {
            endDate = DateTimeParser.parse(request.getString("endDate", null));
        } catch (IllegalArgumentException iae) {
            throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST,
                    "BigChartResource: An illegal argument was passed into the 'endDate' parameter.");
        }

        List<String> focusIds = new LinkedList<String>();
        Iterable<String> focusIter = request.getStrings("focusId");

        for (String entityId : focusIter) {
            List<String> entities = new ArrayList<String>();

            InfluentId id = InfluentId.fromInfluentId(entityId);

            // Point account owners and summaries to their owner account
            if (id.getIdClass() == InfluentId.ACCOUNT_OWNER || id.getIdClass() == InfluentId.CLUSTER_SUMMARY) {

                entities.add(InfluentId.fromNativeId(InfluentId.ACCOUNT, id.getIdType(), id.getNativeId())
                        .toString());

            } else if (id.getIdClass() == InfluentId.CLUSTER) {

                String nId = id.getNativeId();
                if (nId.startsWith("|")) { // group cluster
                    for (String sId : nId.split("\\|")) {
                        if (!sId.isEmpty()) {
                            entities.add(sId);
                        }
                    }
                } else {
                    entities.add(entityId);
                }
            } else {
                entities.add(entityId);
            }

            for (String fid : entities) {
                if (!focusIds.contains(fid)) {
                    focusIds.add(fid);
                }
            }
        }

        final Double focusMaxDebitCredit = request.getDouble("focusMaxDebitCredit", null);
        final Integer width = request.getInteger("width", 145);
        final Integer height = request.getInteger("height", 60);

        List<Properties> entityArray = Lists.newArrayList(request.getPropertiesSets("entities"));

        Map<String, ChartData> infoList = new HashMap<String, ChartData>(entityArray.size());

        /// TODO : make this date range sanity check better
        if (startDate.getYear() < 1900 || startDate.getYear() > 9999) {
            MutableDateTime msdt = new MutableDateTime(startDate);
            msdt.setYear(2007);
            startDate = msdt.toDateTime();
            logger.warn("Invalid start date passed from UI, setting to default");
        }
        if (endDate.getYear() < 1900 || endDate.getYear() > 9999) {
            MutableDateTime medt = new MutableDateTime(endDate);
            medt.setYear(2013);
            endDate = medt.toDateTime();
            logger.warn("Invalid end date passed from UI, setting to default");
        }
        FL_DateRange dateRange = DateRangeBuilder.getBigChartDateRange(startDate, endDate);

        // compute an individual chart for each entity received
        for (Properties entityRequest : entityArray) {
            final String entityId = entityRequest.getString("dataId", null);
            final String entityContextId = entityRequest.getString("contextId", null);

            List<String> entityIds = new ArrayList<String>();

            // Check to see if this entityId belongs to a group cluster.
            InfluentId id = InfluentId.fromInfluentId(entityId);

            if (id.getIdClass() == InfluentId.CLUSTER) {
                String nId = id.getNativeId();
                if (nId.startsWith("|")) { // group cluster
                    for (String sId : nId.split("\\|")) {
                        if (!sId.isEmpty()) {
                            entityIds.add(sId);
                        }
                    }
                } else {
                    entityIds.add(entityId);
                }
            } else {
                entityIds.add(entityId);
            }

            ChartHash hash = new ChartHash(entityIds, startDate, endDate, focusIds, focusMaxDebitCredit,
                    dateRange.getNumBins().intValue(), width, height, entityContextId, focusContextId,
                    sessionId, contextCache);

            ChartData chartData = chartBuilder.computeChart(dateRange, entityIds, focusIds, entityContextId,
                    focusContextId, sessionId, dateRange.getNumBins().intValue(), hash);

            infoList.put(entityId, //memberIds.get(0), 
                    chartData);
        }

        return infoList;

    } catch (AvroRemoteException e) {
        throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, "Data access error.", e);
    } catch (JSONException je) {
        throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, "JSON parse error.", je);
    }
}

From source file:influent.server.rest.ChartResource.java

License:MIT License

@Post("json")
public Map<String, ChartData> getChartData(String jsonData) {

    try {/*w  w w .ja  va2  s  .c o m*/
        JSONProperties request = new JSONProperties(jsonData);

        final String focusContextId = request.getString("focuscontextid", null);

        final String sessionId = request.getString("sessionId", null);
        if (!GuidValidator.validateGuidString(sessionId)) {
            throw new ResourceException(Status.CLIENT_ERROR_EXPECTATION_FAILED,
                    "sessionId is not a valid UUID");
        }

        DateTime startDate = null;
        try {
            startDate = DateTimeParser.parse(request.getString("startDate", null));
        } catch (IllegalArgumentException iae) {
            throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST,
                    "ChartResource: An illegal argument was passed into the 'startDate' parameter.");
        }

        DateTime endDate = null;
        try {
            endDate = DateTimeParser.parse(request.getString("endDate", null));
        } catch (IllegalArgumentException iae) {
            throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST,
                    "ChartResource: An illegal argument was passed into the 'endDate' parameter.");
        }

        List<String> focusIds = new LinkedList<String>();
        Iterable<String> focusIter = request.getStrings("focusId");

        for (String entityId : focusIter) {
            List<String> entities = new ArrayList<String>();

            InfluentId id = InfluentId.fromInfluentId(entityId);

            // Point account owners and summaries to their owner account
            if (id.getIdClass() == InfluentId.ACCOUNT_OWNER || id.getIdClass() == InfluentId.CLUSTER_SUMMARY) {

                entities.add(InfluentId.fromNativeId(InfluentId.ACCOUNT, id.getIdType(), id.getNativeId())
                        .toString());

            } else if (id.getIdClass() == InfluentId.CLUSTER) {

                String nId = id.getNativeId();
                if (nId.startsWith("|")) { // group cluster
                    for (String sId : nId.split("\\|")) {
                        if (!sId.isEmpty()) {
                            entities.add(sId);
                        }
                    }
                } else {
                    entities.add(entityId);
                }
            } else {
                entities.add(entityId);
            }

            for (String fid : entities) {
                if (!focusIds.contains(fid)) {
                    focusIds.add(fid);
                }
            }
        }

        final Double focusMaxDebitCredit = request.getDouble("focusMaxDebitCredit", null);
        final Integer width = request.getInteger("width", 140);
        final Integer height = request.getInteger("height", 60);

        List<Properties> entityArray = Lists.newArrayList(request.getPropertiesSets("entities"));

        Map<String, ChartData> infoList = new HashMap<String, ChartData>(entityArray.size());

        final Integer numBuckets = request.getInteger("numBuckets", 15);

        /// TODO : make this date range sanity check better
        if (startDate.getYear() < 1900 || startDate.getYear() > 9999) {
            MutableDateTime msdt = new MutableDateTime(startDate);
            msdt.setYear(2007);
            startDate = msdt.toDateTime();
            logger.warn("Invalid start date passed from UI, setting to default");
        }
        if (endDate.getYear() < 1900 || endDate.getYear() > 9999) {
            MutableDateTime medt = new MutableDateTime(endDate);
            medt.setYear(2013);
            endDate = medt.toDateTime();
            logger.warn("Invalid end date passed from UI, setting to default");
        }
        FL_DateRange dateRange = DateRangeBuilder.getDateRange(startDate, endDate);

        // compute an individual chart for each entity received
        for (Properties entityRequest : entityArray) {
            final String entityId = entityRequest.getString("dataId", null);
            final String entityContextId = entityRequest.getString("contextId", null);

            List<String> entityIds = new ArrayList<String>();

            InfluentId id = InfluentId.fromInfluentId(entityId);

            if (id.getIdClass() == InfluentId.CLUSTER) {
                String nId = id.getNativeId();
                if (nId.startsWith("|")) {
                    for (String sId : nId.split("\\|")) {
                        if (!sId.isEmpty()) {
                            entityIds.add(sId);
                        }
                    }
                } else {
                    entityIds.add(entityId);
                }
            } else {
                entityIds.add(entityId);
            }
            ChartHash hash = new ChartHash(entityIds, startDate, endDate, focusIds, focusMaxDebitCredit,
                    numBuckets, width, height, entityContextId, focusContextId, sessionId, contextCache);

            ChartData chartData = chartBuilder.computeChart(dateRange, entityIds, focusIds, entityContextId,
                    focusContextId, sessionId, numBuckets, hash);

            infoList.put(entityId, //memberIds.get(0), 
                    chartData);
        }

        return infoList;

    } catch (AvroRemoteException e) {
        throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, "Data access error.", e);
    } catch (JSONException je) {
        throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, "JSON parse error.", je);
    }
}

From source file:net.naonedbus.rest.controller.impl.HoraireController.java

License:Open Source License

/**
 * Rcuprer les horaires depuis le WebService.
 * //  ww w.ja v  a  2  s  .  com
 * @throws IOException
 * @throws MalformedURLException
 */
public synchronized List<Horaire> getAllFromWeb(final Arret arret, final DateMidnight date) throws IOException {
    final UrlBuilder url = new UrlBuilder(PATH);
    final List<HoraireNode> horaires;
    List<Horaire> result = null;

    url.addSegment(arret.getCodeArret());
    url.addSegment(arret.getCodeLigne());
    url.addSegment(arret.getCodeSens());
    url.addSegment(mDateFormat.format(date.toDate()));
    final HoraireContainer content = parseJsonObject(url.getUrl());

    MutableDateTime mutableDateTime = new MutableDateTime(date);

    if (content != null) {
        horaires = content.horaires;
        result = new ArrayList<Horaire>();

        int lastHour = Integer.MIN_VALUE;

        // Transformation des horaires TAN en horaire naonedbus.
        for (final HoraireNode horaireTan : horaires) {
            final int hour = Integer.parseInt(horaireTan.heure.replaceAll("[^\\d.]", ""));

            mutableDateTime.setHourOfDay(hour);

            // Changement de jour
            if (hour < lastHour) {
                mutableDateTime.addDays(1);
            }
            lastHour = hour;

            for (final String passage : horaireTan.passages) {
                int minute = Integer.parseInt(passage.replaceAll("[^\\d.]", ""));

                mutableDateTime.setMinuteOfHour(minute);

                final Horaire horaire = new Horaire();
                horaire.setJour(date);
                horaire.setHoraire(mutableDateTime.toDateTime());
                horaire.setTerminus(parseTerminus(passage, content.notes));
                horaire.setSection(new DateMidnight(horaire.getHoraire()));
                result.add(horaire);
            }
        }
    }

    return result;
}

From source file:net.solarnetwork.central.dras.mock.biz.MockDRASQueryBiz.java

License:Open Source License

@Override
public List<? extends NodeDatum> getAggregatedDatum(Class<? extends NodeDatum> datumClass,
        DatumQueryCommand criteria) {/*www. j  a  va  2 s . c  o m*/
    MutableDateTime mdt = new MutableDateTime(criteria.getStartDate());
    Period period;
    switch (criteria.getAggregate()) {
    case Hour:
        period = Period.hours(1);
        break;

    case Day:
        period = Period.days(1);
        break;

    case Week:
        period = Period.weeks(1);
        break;

    case Month:
        period = Period.months(1);
        break;

    default:
        period = Period.minutes(1);
    }
    List<NodeDatum> results = new ArrayList<NodeDatum>();
    do {
        NodeDatum datum = null;
        if (ConsumptionDatum.class.isAssignableFrom(datumClass)) {
            ReportingConsumptionDatum d = new ReportingConsumptionDatum();
            d.setNodeId(criteria.getNodeId());
            d.setCreated(mdt.toDateTime());
            Duration dur = period.toDurationFrom(mdt);
            float hours = (float) ((double) dur.getMillis() / (double) (1000 * 60 * 60));
            d.setWattHours(Double.valueOf(hours * consumptionWattHours));
            datum = d;
        } else if (PowerDatum.class.isAssignableFrom(datumClass)) {
            ReportingPowerDatum d = new ReportingPowerDatum();
            d.setNodeId(criteria.getNodeId());
            d.setCreated(mdt.toDateTime());
            Duration dur = period.toDurationFrom(mdt);
            float hours = (float) ((double) dur.getMillis() / (double) (1000 * 60 * 60));
            d.setWattHours(Double.valueOf(hours * generationWattHours));
            datum = d;
        }
        if (datum != null) {
            results.add(datum);
        }
        mdt.add(period);
    } while (mdt.isBefore(criteria.getEndDate()));
    return results;
}

From source file:org.apache.hive.common.util.TimestampParser.java

License:Apache License

/**
 * Parse the input string and return a timestamp value
 * @param strValue/*w  w w. ja va  2s  .  c om*/
 * @return
 * @throws IllegalArgumentException if input string cannot be parsed into timestamp
 */
public Timestamp parseTimestamp(String strValue) throws IllegalArgumentException {
    if (fmt != null) {
        // reset value in case any date fields are missing from the date pattern
        MutableDateTime mdt = new MutableDateTime(startingDateValue);

        // Using parseInto() avoids throwing exception when parsing,
        // allowing fallback to default timestamp parsing if custom patterns fail.
        int ret = fmt.parseInto(mdt, strValue, 0);
        // Only accept parse results if we parsed the entire string
        if (ret == strValue.length()) {
            return new Timestamp(mdt.getMillis());
        }
    }

    // Otherwise try default timestamp parsing
    return Timestamp.valueOf(strValue);
}

From source file:org.apache.wicket.extensions.yui.calendar.DateTimeField.java

License:Apache License

/**
 * @see org.apache.wicket.Component#onBeforeRender()
 *//*from   www  . j av  a2 s.c o m*/
@Override
protected void onBeforeRender() {
    dateField.setRequired(isRequired());
    hoursField.setRequired(isRequired());
    minutesField.setRequired(isRequired());

    boolean use12HourFormat = use12HourFormat();
    amOrPmChoice.setVisible(use12HourFormat);

    Date modelObject = (Date) getDefaultModelObject();
    if (modelObject == null) {
        date = null;
        hours = null;
        minutes = null;
    } else {
        // convert date to the client's time zone if we have that info
        TimeZone zone = getClientTimeZone();
        if (zone != null) {
            modelObject = changeTimeZone(modelObject, zone);
        }

        MutableDateTime mDate = new MutableDateTime(modelObject);

        date = mDate.toDate();

        if (use12HourFormat) {
            int hourOfHalfDay = mDate.get(DateTimeFieldType.hourOfHalfday());
            hours = hourOfHalfDay == 0 ? 12 : hourOfHalfDay;
        } else {
            hours = mDate.get(DateTimeFieldType.hourOfDay());
        }

        amOrPm = (mDate.get(DateTimeFieldType.halfdayOfDay()) == 0) ? AM_PM.AM : AM_PM.PM;
        minutes = mDate.getMinuteOfHour();
    }

    super.onBeforeRender();
}

From source file:org.bahmni.module.bahmnicore.db.hibernate.DropMillisecondsHibernateInterceptor.java

License:Open Source License

private Date removeMilliseconds(Date date) {
    MutableDateTime dt = new MutableDateTime(date);
    dt.setMillisOfSecond(0);
    return dt.toDate();
}