List of usage examples for org.joda.time DateTime plusDays
public DateTime plusDays(int days)
From source file:dk.dma.arcticweb.service.AppDataServiceBean.java
License:Apache License
private void createOrasilaTestData() { logger.info("BEFORE CREATION - ORASILA"); // Create vessel and user Vessel newVessel = new Vessel(); newVessel.setMmsi(220443000L);/*from w ww .j a v a2s. com*/ newVessel.setCommCapabilities("Sat C 0581 422044310, GMDSS A1+A2+A3"); newVessel.setMaxSpeed(BigDecimal.valueOf(12.6)); newVessel.setGrossTonnage(2194); newVessel.setIceClass("A1"); newVessel.setHelipad(Boolean.FALSE); newVessel.getAisData().setImoNo(9336725L); newVessel.getAisData().setName("ORASILA"); newVessel.getAisData().setCallsign("OYDK2"); newVessel = vesselDao.saveEntity(newVessel); SailorRole sailorRole = new SailorRole(); sailorRole.setVessel(newVessel); vesselDao.saveEntity(sailorRole); SecuredUser user = SecurityUtil.createUser("orasila", testPassword, testEmail, null); user.setRole(sailorRole); vesselDao.saveEntity(user); DateTime now = DateTime.now(DateTimeZone.UTC); newVessel.addVoyageEntry(new Voyage("Is never shown", "25 47.16N", "080 22.410W", null, now.minusDays(6).withTime(17, 0, 0, 0), 0, 0, false)); newVessel.addVoyageEntry(new Voyage("Miami", "25 47.16N", "080 13.27W", now.minusDays(4).withTime(9, 30, 0, 0), now.minusDays(3).withTime(17, 0, 0, 0), 12, 0, true)); newVessel.addVoyageEntry(new Voyage("Nuuk", "64 10.4N", "051 43.5W", now.plusDays(3).withTime(10, 30, 0, 0), now.plusDays(5).withTime(9, 0, 0, 0), 12, 0, true)); newVessel.addVoyageEntry(new Voyage("Thule", "77 27.8N", "069 14.0W", now.plusDays(9).withTime(13, 15, 0, 0), now.plusDays(11).withTime(9, 0, 0, 0))); newVessel.addVoyageEntry(new Voyage("Upernavik", "72 47.5N", "056 09.4W", now.plusDays(13).withTime(10, 45, 0, 0), now.plusDays(14).withTime(9, 30, 0, 0))); for (Voyage v : newVessel.getSchedule()) { vesselDao.saveEntity(v); } }
From source file:dk.dma.arcticweb.service.AppDataServiceBean.java
License:Apache License
private void createOraTankTestData() { logger.info("BEFORE CREATION - ORATANK"); // Create vessel and user Vessel newVessel = new Vessel(); newVessel.getAisData().setName("ORATANK"); newVessel.setMmsi(220516000L);/*from w ww. j a v a 2s .c o m*/ newVessel.getAisData().setCallsign("OXPJ2"); newVessel = vesselDao.saveEntity(newVessel); SailorRole sailorRole = new SailorRole(); sailorRole.setVessel(newVessel); vesselDao.saveEntity(sailorRole); SecuredUser user = SecurityUtil.createUser("oratank", testPassword, testEmail, null); user.setRole(sailorRole); vesselDao.saveEntity(user); DateTime now = DateTime.now(DateTimeZone.UTC); newVessel.addVoyageEntry(new Voyage("Nuuk", "64 10.4N", "051 43.5W", now.plusDays(3).withTime(10, 30, 0, 0), now.plusDays(5).withTime(9, 0, 0, 0))); newVessel.addVoyageEntry(new Voyage("X", "63 41.81N", "051 29.00W", now.minusDays(4).withTime(9, 30, 0, 0), now.minusDays(3).withTime(17, 0, 0, 0))); for (Voyage v : newVessel.getSchedule()) { vesselDao.saveEntity(v); } }
From source file:dk.dma.arcticweb.service.AppDataServiceBean.java
License:Apache License
private void createCarnivalLegendTestData() { logger.info("BEFORE CREATION - CARNIVAL LEGEND"); // Create vessel and user Vessel newVessel = new Vessel(); newVessel.getAisData().setName("CARNIVAL LEGEND"); newVessel.setMmsi(354237000L);// ww w . j a va 2 s . com newVessel.getAisData().setCallsign("H3VT"); newVessel.getAisData().setImoNo(9224726L); newVessel.setGrossTonnage(85942); newVessel = vesselDao.saveEntity(newVessel); SailorRole sailorRole = new SailorRole(); sailorRole.setVessel(newVessel); vesselDao.saveEntity(sailorRole); SecuredUser user = SecurityUtil.createUser("carnivalLegend", testPassword, testEmail, null); user.setRole(sailorRole); vesselDao.saveEntity(user); DateTime now = DateTime.now(DateTimeZone.UTC); newVessel.addVoyageEntry(new Voyage("Copenhagen", "55 67.61N", "12 56.83E", null, now.withTime(12, 57, 0, 0), 12, 300, true)); newVessel.addVoyageEntry( new Voyage("Nuuk", "64 10.4N", "051 43.5W", now.plusDays(10).withTime(7, 10, 0, 0), null)); for (Voyage v : newVessel.getSchedule()) { vesselDao.saveEntity(v); } }
From source file:dk.nsi.haiba.lprimporter.rules.LPRDateTimeRule.java
License:Open Source License
@Override public LPRRule doProcessing(Statistics statistics) { List<Administration> adjustedContacts = new ArrayList<Administration>(); // sort list after inDate, if more contacts have same in datetime - then they are sorted after out datetime. Collections.sort(contacts, new AdministrationInDateComparator()); for (Administration contact : contacts) { // Increment counter for rule #4 statistics.rule4Counter += 1;/*from w ww.j a v a2s .c o m*/ // AdmissionStartHour for the contact is default set to 0 if not applied in the database, adjust it with the default value from the propertiesfile DateTime admissionStart = new DateTime(contact.getIndlaeggelsesDatetime()); if (admissionStart.getHourOfDay() == 0 && defaultContactInHour != 0) { admissionStart = admissionStart.withHourOfDay(defaultContactInHour); contact.setIndlaeggelsesDatetime(admissionStart.toDate()); } // AdmissionEndtime must be adjusted, if it was set to 0 Date udskrivningsDatetime = contact.getUdskrivningsDatetime(); if (udskrivningsDatetime != null) { DateTime admissionEnd = new DateTime(udskrivningsDatetime.getTime()); if (admissionEnd.getHourOfDay() == 0) { // does a procedure exist on the same date, set the procedure hour as admission end hour int hourOfDay = 0; for (LPRProcedure procedure : contact.getLprProcedures()) { DateTime procedureTime = new DateTime(procedure.getProcedureDatetime()); if (admissionEnd.getYear() == procedureTime.getYear() && admissionEnd.getMonthOfYear() == procedureTime.getMonthOfYear() && admissionEnd.getDayOfMonth() == procedureTime.getDayOfMonth()) { // examine all procedures from the same day, and get the latest hour of day. if (procedureTime.getHourOfDay() > hourOfDay) { hourOfDay = procedureTime.getHourOfDay(); } } } admissionEnd = admissionEnd.withHourOfDay(hourOfDay); } // Then if admissionEnd still is 0, check the in date time is the same day if (admissionEnd.getHourOfDay() == 0) { if (admissionEnd.getYear() == admissionStart.getYear() && admissionEnd.getMonthOfYear() == admissionStart.getMonthOfYear() && admissionEnd.getDayOfMonth() == admissionStart.getDayOfMonth()) { // if same date, set end-datetime to in-datetime + defaultvalue admissionEnd = admissionEnd.withHourOfDay(admissionStart.getHourOfDay()) .plusHours(defaultContactOuthoursAddedInhours); } } // Then if admissionEnd still is 0, and the enddate is after indate set it to a configured defaultvalue if (admissionEnd.getHourOfDay() == 0) { admissionEnd = admissionEnd.withHourOfDay(defaultAdmissionEndHours); } contact.setUdskrivningsDatetime(admissionEnd.toDate()); List<LPRProcedure> processedProcedures = new ArrayList<LPRProcedure>(); for (LPRProcedure procedure : contact.getLprProcedures()) { // if procedure time is set to 0 - set it to 12 the same day Date procedureDatetime = procedure.getProcedureDatetime(); if (procedureDatetime != null) { DateTime procedureDate = new DateTime(procedureDatetime.getTime()); // if procedureDate is more than 24 hours after admissionEndDate it is an error if (procedureDate.isAfter(admissionEnd.plusHours(24))) { BusinessRuleError be = new BusinessRuleError(contact.getLprReference().getDbId(), contact.getRecordNumber(), resolver.getMessage( "rule.datetime.proceduredate.is.more.than.24hous.after.enddate"), resolver.getMessage("rule.datetime.name")); businessRuleErrorLog.log(be); // error, procedure is deleted from the contact. continue; } if (procedureDate.getHourOfDay() == 0) { procedureDate = procedureDate.withHourOfDay(defaultProcedureHours); procedure.setProcedureDatetime(procedureDate.toDate()); } processedProcedures.add(procedure); } else { BusinessRuleError error = new BusinessRuleError(contact.getLprReference().getDbId(), contact.getRecordNumber(), resolver.getMessage("rule.datetime.proceduredate.isempty"), resolver.getMessage("rule.datetime.name")); throw new RuleAbortedException("Rule aborted due to BusinessRuleError", error); } } contact.setLprProcedures(processedProcedures); } else { // patient is currently at the hospital contact.setCurrentPatient(true); log.debug("Admission End datetime is null for LPR ref: " + contact.getRecordNumber() + " patient is probably not discharged from hospital yet"); // if in-date is not more than 30 days older than now - set out-date to today at 24:00 DateTime now = new DateTime(); DateTime in = new DateTime(contact.getIndlaeggelsesDatetime()); if (in.isAfter(now.minusDays(currentPatientDefaultInterval))) { DateTime out = in.withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0) .plusHours(currentPatientHoursIfLessThanInterval); contact.setUdskrivningsDatetime(out.toDate()); } else { // else set out-date to in-date + 30 days DateTime out = in.plusDays(currentPatientDaysIfGreaterThanInterval); contact.setUdskrivningsDatetime(out.toDate()); } } // Rule #6 in time is after out time DateTime in = new DateTime(contact.getIndlaeggelsesDatetime()); DateTime out = new DateTime(contact.getUdskrivningsDatetime()); if (in.isAfter(out)) { // Increment counter for rule #6 statistics.rule6Counter += 1; // log the error and ignore the contact. BusinessRuleError be = new BusinessRuleError(contact.getLprReference().getDbId(), contact.getRecordNumber(), resolver.getMessage("rule.datetime.indate.isafter.outdate"), resolver.getMessage("rule.datetime.name")); businessRuleErrorLog.log(be); // Increment count for contacts with errors statistics.contactErrorCounter += 1; lprDao.updateImportTime(contact.getLprReference(), Outcome.FAILURE); continue; } adjustedContacts.add(contact); } // set this for unittesting purpose contacts = adjustedContacts; if (contacts.size() == 0) { log.debug("all contacts were prone to error, abort the flow"); return null; } // setup the next rule in the chain removeIdenticalContactsRule.setContacts(contacts); return removeIdenticalContactsRule; }
From source file:dk.nsi.sdm4.ydelse.parser.SSRLineParser.java
License:Open Source License
public Interval parseIntervalFromTwoIdenticalDaysAsSpecifiedBySsr(String[] fields, int treatmentStartTimeField, int treatmentEndTimeField) throws ParserException { if (fieldIsMissing(fields, treatmentStartTimeField)) { throw new ParserException("Treatment start time must be present"); }//from w w w . j a va 2 s . c o m if (fieldIsMissing(fields, treatmentEndTimeField)) { throw new ParserException("Treatment end time must be present"); } DateTime admittedStart; try { admittedStart = parseDateAsSpecifiedBySsr(fields[treatmentStartTimeField]); } catch (ParseException e) { throw new ParserException("Treatment start time is malformed: " + fields[treatmentStartTimeField]); } DateTime admittedEnd; try { admittedEnd = parseDateAsSpecifiedBySsr(fields[treatmentEndTimeField]); } catch (ParseException e) { throw new ParserException("Treatment end time is malformed: " + fields[treatmentEndTimeField]); } if (!admittedStart.equals(admittedEnd)) { throw new ParserException("Treatment end time must be the same day as the treatment start time"); } admittedEnd = admittedEnd.plusDays(1); return new Interval(admittedStart, admittedEnd); }
From source file:dk.nsi.sdm4.ydelse.simulation.RandomSSR.java
License:Open Source License
private void setRandomTreatmentTime() { DateTime earliestTreatmentStart = new DateTime(2010, 12, 24, 0, 0, 0, 0); DateTime latestTreatmentStart = new DateTime(2011, 1, 31, 0, 0, 0, 0); DateTime treatet = testDataUtil.randomTime(earliestTreatmentStart, latestTreatmentStart); treatet = treatet.withTime(0, 0, 0, 0); treatmentInterval = new Interval(treatet, treatet.plusDays(1)); }
From source file:dk.teachus.frontend.components.calendar.CalendarPanel.java
License:Apache License
private int calculateNumberOfCalendarHours() { DateTime calStart = getCalendarStartTime().toDateTimeToday(); DateTime calEnd = getCalendarEndTime().toDateTimeToday(); if (getCalendarEndTime().getHourOfDay() == 0 && getCalendarEndTime().getMinuteOfHour() == 0) { calEnd = calEnd.plusDays(1); }/*from www .j ava 2s .c om*/ if (calEnd.getMinuteOfHour() > 0) { calEnd = calEnd.plusHours(1).withMinuteOfHour(0); } return new org.joda.time.Period(calStart, calEnd, PeriodType.hours()).getHours(); }
From source file:edu.nyu.vida.data_polygamy.utils.FrameworkUtils.java
License:BSD License
public static int addTimeSteps(int tempRes, int increment, DateTime start) { DateTime d;/*from w w w .j a va 2s.co m*/ switch (tempRes) { case FrameworkUtils.HOUR: d = start.plusHours(increment); break; case FrameworkUtils.DAY: d = start.plusDays(increment); break; case FrameworkUtils.WEEK: d = start.plusWeeks(increment); break; case FrameworkUtils.MONTH: d = start.plusMonths(increment); break; case FrameworkUtils.YEAR: d = start.plusYears(increment); break; default: d = start.plusHours(increment); break; } return (int) (d.getMillis() / 1000); }
From source file:edu.nyu.vida.data_polygamy.utils.FrameworkUtils.java
License:BSD License
public static DateTime addTime(int tempRes, int increment, DateTime start) { DateTime d = null;/* ww w.j a v a 2 s . co m*/ switch (tempRes) { case FrameworkUtils.HOUR: d = start.plusHours(increment); break; case FrameworkUtils.DAY: d = start.plusDays(increment); break; case FrameworkUtils.WEEK: d = start.plusWeeks(increment); break; case FrameworkUtils.MONTH: d = start.plusMonths(increment); break; case FrameworkUtils.YEAR: d = start.plusYears(increment); break; default: d = start.plusHours(increment); break; } return d; }
From source file:edu.wisc.wisccal.caldav2Exchange.impl.caldav.datagenerator.ICal4jTestDataGenerator.java
protected VToDo generateRandomTodo(DateTime baseStartTime) throws ValidationException { TimeZone randomTimeZone = getRandomTimeZone(); DateTime startDateTime = new DateTime(baseStartTime.plusHours(getRandomInt(23))); net.fortuna.ical4j.model.DateTime ical4jStartDateTime = new net.fortuna.ical4j.model.DateTime( startDateTime.getMillis());//from www. jav a 2s.c o m DtStart dtStart = new DtStart(); dtStart.setDate(ical4jStartDateTime); dtStart.setTimeZone(randomTimeZone); DateTime endDateTime = startDateTime.plusDays(getRandomInt(14)); net.fortuna.ical4j.model.DateTime ical4jEndDateTime = new net.fortuna.ical4j.model.DateTime( endDateTime.getMillis()); //different start/end timezones may cause problems... //<errordescription>DUE: 20000102T080000 is before DTSTART: 20000102T090000</errordescription> Due due = new Due(); due.setDate(ical4jEndDateTime); due.setTimeZone(randomTimeZone); VToDo toDo = new VToDo(); toDo.getProperties().add(dtStart); toDo.getProperties().add(due); toDo.getProperties().add(new Summary("Start: " + dtStart.getValue())); toDo.getProperties().addAll(getCommonProps()); toDo.getProperties().add(new Description(toDo.toString())); toDo.getAlarms().add(generateAlarm()); toDo.validate(); return toDo; }