List of usage examples for org.joda.time MutableDateTime addDays
public void addDays(final int days)
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(); }