Example usage for org.joda.time MutableDateTime addDays

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

Introduction

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

Prototype

public void addDays(final int days) 

Source Link

Document

Add a number of days to the date.

Usage

From source file:Bootstrap.java

License:Open Source License

public void doJob() {
    if (Play.mode == Play.Mode.DEV) {

        //BigTable.deleteAll();
        // BigTableR.deleteAll();
        ///*w ww .  j  av  a2 s .co  m*/
        Invoice.deleteAll();
        Customer.deleteAll();
        Employee.deleteAll();
        User.deleteAll();

        Fixtures.load("test-datas.yml");

        int maxEntries = 2500;
        int maxEntriesR = 500;

        if (BigTable.count() == 0) {
            Logger.info("Creating " + maxEntries + " entries for testing");

            BigTable bigTable;
            // Create an enty in the past, so that AsyncBlotter can fetch the updated rows
            MutableDateTime aDate = new MutableDateTime();
            aDate.setMonthOfYear(1);
            aDate.setYear(2010);

            for (int i = 0; i < maxEntries; i++) {
                bigTable = new BigTable();
                bigTable.variable01 = Math.random() * 100;
                bigTable.variable02 = Math.random() * 100;
                bigTable.lastUpdated = aDate.toDate();
                if (i % 100 == 0) {
                    aDate.addDays(1);
                    Logger.info("Created " + i + " entries" + aDate.toString());
                }
                bigTable.save();
            }
        }
        if (BigTableR.count() == 0) {
            Logger.info("Creating " + maxEntriesR + " entries for BigTableR");

            BigTableR bigTableR;

            int j = 0;
            String locCurs = "Localisation #0";
            String segCurs = "Segment #0";
            String perCurs = "Period #0";

            for (int i = 0; i < maxEntriesR; i++) {
                bigTableR = new BigTableR();
                bigTableR.difference = Math.random();
                bigTableR.evolution = Math.random() * 10;
                bigTableR.localisation = locCurs;
                bigTableR.segment = segCurs;
                bigTableR.period = perCurs;
                bigTableR.indicator = new StringBuffer("Indicator #").append(i).toString();
                bigTableR.product = new Long(10 * i);
                if (i % 100 == 0) {
                    Logger.info("Created " + i + " entries");
                    locCurs = new StringBuffer("Localisation ").append(j).toString();
                    segCurs = new StringBuffer("Segment #").append(j).toString();
                    perCurs = new StringBuffer("Period #").append(j).toString();
                    j++;
                }
                bigTableR.save();
            }

        }
    }
}

From source file:app.decoder.data.wrap.WrapEntry.java

License:BSD License

public TimeValue getTradeDate() {
    if (MessageRules.hasTradeDate(getMessage(), entry)) {
        final int days = MessageRules.getTradeDate(getMessage(), entry);
        final MutableDateTime date = new MutableDateTime(0, DateTimeZone.UTC);
        date.addDays(days);
        return ValueBuilder.newTime(date.getMillis());
    } else {/*from   w  ww  .j a va2 s  .  c o  m*/
        return ValueConst.NULL_TIME;
    }
}

From source file:br.com.centralit.evm.citsmartevm.util.CronExpression.java

License:Apache License

public DateTime nextTimeAfter(DateTime afterTime) {
    MutableDateTime nextTime = new MutableDateTime(afterTime);
    nextTime.setMillisOfSecond(0);/* ww w. j  av a2 s.co  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);
            }
            if (monthField.matches(nextTime.getMonthOfYear())) {
                break;
            }
            nextTime.addMonths(1);
            nextTime.setDayOfMonth(1);
            nextTime.setTime(0, 0, 0, 0);
        }
        if (dayOfWeekField.matches(new LocalDate(nextTime))) {
            break;
        }
        nextTime.addDays(1);
        nextTime.setTime(0, 0, 0, 0);
    }

    return nextTime.toDateTime();
}

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);
            expirationDate.setHourOfDay(8);
            expirationDate.setMinuteOfHour(0);
            expirationDate.setSecondOfMinute(0);
        }/*ww w .j  a v a 2  s .c  om*/
    } 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.almende.eve.agent.MeetingAgent.java

License:Apache License

/**
 * Merge the busy intervals of all attendees, and the preferred intervals
 */// w w  w.ja va  2 s . co  m
private void mergeTimeConstraints() {
    final ArrayList<Interval> infeasibleIntervals = new ArrayList<Interval>();
    final ArrayList<Weight> preferredIntervals = new ArrayList<Weight>();

    final Activity activity = getActivity();
    if (activity != null) {
        // read and merge the stored busy intervals of all attendees
        for (final Attendee attendee : activity.withConstraints().withAttendees()) {
            final String agent = attendee.getAgent();
            if (attendee.getResponseStatus() != RESPONSE_STATUS.declined) {
                if (new Boolean(true).equals(attendee.getOptional())) {
                    // This attendee is optional.
                    // Add its busy intervals to the soft constraints
                    final List<Interval> attendeeBusy = getAgentBusy(agent);
                    if (attendeeBusy != null) {
                        for (final Interval i : attendeeBusy) {
                            final Weight wi = new Weight(i.getStart(), i.getEnd(),
                                    WEIGHT_BUSY_OPTIONAL_ATTENDEE);

                            preferredIntervals.add(wi);
                        }
                    }
                } else {
                    // this attendee is required.
                    // Add its busy intervals to the hard constraints
                    final List<Interval> attendeeBusy = getAgentBusy(agent);
                    if (attendeeBusy != null) {
                        infeasibleIntervals.addAll(attendeeBusy);
                    }
                }
            }
            // else This attendee declined. Ignore this attendees busy
            // interval
        }

        // read the time preferences and add them to the soft constraints
        final List<Preference> preferences = activity.withConstraints().withTime().withPreferences();
        for (final Preference p : preferences) {
            if (p != null) {
                final Weight wi = new Weight(new DateTime(p.getStart()), new DateTime(p.getEnd()),
                        p.getWeight());

                preferredIntervals.add(wi);
            }
        }
    }

    // add office hours profile to the soft constraints
    // TODO: don't include (hardcoded) office hours here, should be handled
    // by a PersonalAgent
    final DateTime timeMin = DateTime.now();
    final DateTime timeMax = timeMin.plusDays(LOOK_AHEAD_DAYS);
    final List<Interval> officeHours = IntervalsUtil.getOfficeHours(timeMin, timeMax);
    for (final Interval i : officeHours) {
        final Weight wi = new Weight(i, WEIGHT_OFFICE_HOURS);
        preferredIntervals.add(wi);
    }

    // add delay penalties to the soft constraints
    final DateTime now = DateTime.now();
    final MutableDateTime d = new MutableDateTime(now.getYear(), now.getMonthOfYear(), now.getDayOfMonth(), 0,
            0, 0, 0);
    for (int i = 0; i <= LOOK_AHEAD_DAYS; i++) {
        final DateTime start = d.toDateTime();
        final DateTime end = start.plusDays(1);
        final Weight wi = new Weight(start, end, WEIGHT_DELAY_PER_DAY * i);
        preferredIntervals.add(wi);
        d.addDays(1);
    }

    // order and store the aggregated lists with intervals
    IntervalsUtil.order(infeasibleIntervals);
    getState().put("infeasible", infeasibleIntervals);
    WeightsUtil.order(preferredIntervals);
    getState().put("preferred", preferredIntervals);
}

From source file:com.huffingtonpost.chronos.util.CronExpression.java

License:Apache License

@CoverageIgnore
public DateTime nextTimeAfter(DateTime afterTime, DateTime dateTimeBarrier) {
    MutableDateTime nextTime = new MutableDateTime(afterTime);
    nextTime.setMillisOfSecond(0);/*from   w w w.  j a  va2 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:com.simopuve.rest.SimopuveRESTServices.java

@Path("/reports")
@GET/*  www . j a  va 2 s .  c  o  m*/
@Produces("text/plain")
public String getReportByDateInterval(@QueryParam("from") String from, @QueryParam("to") String to) {
    Date start;
    Date end;
    if (from == null) {
        start = new Date();
    } else {
        try {
            start = new SimpleDateFormat("dd/MM/yyyy").parse(from);
        } catch (ParseException ex) {
            start = new Date();
            Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    if (to == null) {
        end = new Date();
    } else {
        try {
            end = new SimpleDateFormat("dd/MM/yyyy").parse(to);
        } catch (ParseException ex) {
            end = new Date();
            Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    org.joda.time.format.DateTimeFormatter fmt = DateTimeFormat.forPattern("dd-MM-yyy");
    DateTime startDate = new DateTime(start);
    DateTime endDate = new DateTime(end);
    Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.INFO, "Received UA: " + start);
    Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.INFO, "Received UA: " + from);
    Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.INFO, "Received UA: " + startDate);
    MutableDateTime currentDate = new MutableDateTime(startDate);
    List<PDVSurvey> surveyList = new ArrayList<>();
    File currentFolder;
    File mallFolder;
    File officeFolder;
    File tmpFolder;
    String varPath;
    String tmpPath;
    PDVSurvey survey = null;
    Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.INFO, "Received startdate: " + startDate);
    while (!currentDate.isAfter(endDate)) {
        varPath = new StringBuilder(System.getProperty("jboss.server.data.dir")).append("/PDV/")
                .append(currentDate.toString(fmt)).append("/").toString();
        currentFolder = new File(varPath);

        if (currentFolder.exists()) {
            mallFolder = new File(varPath + "/Mall");
            officeFolder = new File(varPath + "/Oficina");
            if (mallFolder.exists()) {
                for (File fileEntry : mallFolder.listFiles()) {
                    try {
                        Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.INFO, "archivo {0} ",
                                fileEntry.getName());
                        tmpPath = varPath + "/Mall/" + fileEntry.getName();
                        survey = getPDVSurveyFromFile(tmpPath, true);
                        surveyList.add(survey);

                    } catch (IOException ex) {
                        Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            }
            if (officeFolder.exists()) {
                for (File fileEntry : officeFolder.listFiles()) {
                    try {
                        Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.INFO, "archivo {0} ",
                                fileEntry.getName());
                        tmpPath = varPath + "/Oficina/" + fileEntry.getName();
                        survey = getPDVSurveyFromFile(tmpPath, false);
                        surveyList.add(survey);
                    } catch (IOException ex) {
                        Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            }
        }
        Logger.getLogger(SimopuveRESTServices.class.getName()).log(Level.INFO, "-+-+-+-tamao de lista {0} ",
                surveyList.size());
        currentDate.addDays(1);
    }

    String filePath = new StringBuilder(System.getProperty("jboss.server.data.dir"))
            .append("/PDV/testFlow.xlsx").toString();

    Workbook flowWorkbook = POIHelper.getWorkbookFromLocalReource("plantilla-base-flujo.xlsx");
    FillFlowBaseSheet(surveyList, flowWorkbook.getSheetAt(0));
    FillDetailBaseSheet(surveyList, flowWorkbook.getSheetAt(1));
    POIHelper.writeWorkbookInPath(flowWorkbook, filePath);

    return "Listo";
}

From source file:com.tmathmeyer.sentinel.models.data.Event.java

License:Open Source License

@Override
public void setTime(DateTime newTime) {
    if (new Interval(new DateTime(this.start), new DateTime(this.end)).contains(newTime)) {
        // this is what stops the events from being dragged to the next day.
        // leaving it in case we might want it later
        // return;
    }/*from w w w.  java  2  s . c om*/

    Interval i;
    int daysBetween = 0;
    if (new DateTime(this.start).isAfter(newTime)) {
        i = new Interval(newTime, new DateTime(this.start));
        daysBetween = 0 - (int) i.toDuration().getStandardDays();
    } else {
        i = new Interval(new DateTime(this.start), newTime);
        daysBetween = (int) i.toDuration().getStandardDays();
    }

    MutableDateTime newEnd = new MutableDateTime(this.end);
    newEnd.addDays(daysBetween);

    MutableDateTime newStart = new MutableDateTime(this.start);
    newStart.addDays(daysBetween);

    this.end = newEnd.toDate();
    this.start = newStart.toDate();

}

From source file:com.tmathmeyer.sentinel.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 w  w.j a  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: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);//w  w w. j  a va 2s  .  c  o  m
    mdt.addDays(1);
    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();
}