List of usage examples for org.joda.time DateMidnight plusDays
public DateMidnight plusDays(int days)
From source file:com.cubeia.backoffice.accounting.core.manager.AccountingManagerImpl.java
License:Open Source License
@Override public List<CurrencyRate> listRatesForCurrency(String currencyCode, Date date, int maxAgeDays) { // calculate dates DateMidnight dateMidnight = new DateTime(date).toDateMidnight(); DateMidnight end = dateMidnight.plusDays(1); DateMidnight start = dateMidnight.minusDays(maxAgeDays); // list rates List<CurrencyRate> rates = accountingDAO.listCurrencyRates(currencyCode, start.toDate(), end.toDate()); // remove duplicates Map<String, CurrencyRate> map = new HashMap<String, CurrencyRate>(); for (CurrencyRate rate : rates) { String key = rate.getSourceCurrencyCode() + ":" + rate.getTargetCurrencyCode(); map.put(key, rate);/*from w w w . ja va 2s.co m*/ } // re-sort results List<CurrencyRate> answer = new ArrayList<CurrencyRate>(map.values()); Collections.sort(rates, new Comparator<CurrencyRate>() { @Override public int compare(CurrencyRate o1, CurrencyRate o2) { int i = o1.getTimestamp().compareTo(o2.getTimestamp()); if (i != 0) { return i; } else { return o1.getId().compareTo(o2.getId()); } } }); return answer; }
From source file:com.cubeia.backoffice.accounting.core.manager.AccountingManagerImpl.java
License:Open Source License
private CurrencyRate getCurrencyRate(String sourceCurrencyCode, String targetCurrencyCode, Date date, int fallbackDays, boolean allowSearch) { DateMidnight dateMidnight = new DateTime(date).toDateMidnight(); DateMidnight end = dateMidnight.plusDays(1); DateMidnight start = dateMidnight.minusDays(fallbackDays); CurrencyRate rate = accountingDAO.getCurrencyRate(sourceCurrencyCode, targetCurrencyCode, start.toDate(), end.toDate());/*from w w w . ja va 2s .com*/ if (rate == null) { // try opposite direction rate = accountingDAO.getCurrencyRate(targetCurrencyCode, sourceCurrencyCode, start.toDate(), end.toDate()); if (rate != null) { rate = rate.invert(); } } if (rate == null && allowSearch) { // look for a first level chain List<CurrencyRate> chain = accountingDAO.getCurrencyRateChain(targetCurrencyCode, sourceCurrencyCode, start.toDate(), end.toDate()); if (!chain.isEmpty()) { // chain found, now we must put the rates in order and combine them CurrencyRate r0 = chain.get(0); CurrencyRate r1 = chain.get(1); CurrencyRate firstRate; CurrencyRate secondRate; if (r0.getSourceCurrencyCode().equals(sourceCurrencyCode) || r0.getTargetCurrencyCode().equals(sourceCurrencyCode)) { firstRate = r0; secondRate = r1; } else { firstRate = r1; secondRate = r0; } if (!firstRate.getSourceCurrencyCode().equals(sourceCurrencyCode)) { firstRate = firstRate.invert(); } if (!secondRate.getTargetCurrencyCode().equals(targetCurrencyCode)) { secondRate = secondRate.invert(); } rate = firstRate.combine(secondRate); } } return rate; }
From source file:com.google.sampling.experiential.server.EventMatcher.java
License:Open Source License
private boolean compareDateRange(String range, Event event) { Iterable<String> iterable = Splitter.on("-").split(range); Iterator<String> iter = iterable.iterator(); if (!iter.hasNext()) { throw new IllegalArgumentException("Illformed Date Range: " + range); }//from ww w .j av a 2 s . co m String firstDate = iter.next(); String secondDate = null; if (iter.hasNext()) { secondDate = iter.next(); } DateMidnight startDate = newDateMidnightFromString(firstDate); DateMidnight endDate = null; if (secondDate != null && !secondDate.isEmpty()) { endDate = newDateMidnightFromString(secondDate); } else { endDate = startDate.plusDays(1); } Interval r2 = new Interval(startDate, endDate); Date eventDate = event.getWhen(); if (eventDate == null) { return false; } DateMidnight eventDateMidnight = new DateMidnight(eventDate.getTime()); return r2.contains(eventDateMidnight); }
From source file:com.liteoc.logic.expressionTree.ArithmeticOpNode.java
License:LGPL
private String calculateGenericDate(String value1, String value2) { DateMidnight dm = new DateMidnight(ExpressionTreeHelper.getDate(value1).getTime()); DateTimeFormatter fmt = ISODateTimeFormat.date(); switch (op) { case PLUS: {/*from ww w. j a va2 s.c o m*/ dm = dm.plusDays(Double.valueOf(value2).intValue()); return fmt.print(dm); } case MINUS: { dm = dm.minusDays(Double.valueOf(value2).intValue()); return fmt.print(dm); } default: return null; // Bad operator! } }
From source file:com.manydesigns.portofino.calendar.AbstractMonth.java
License:Open Source License
public AbstractMonth(DateMidnight referenceDateMidnight) { logger.debug("Initializing month"); this.referenceDateMidnight = referenceDateMidnight; logger.debug("Reference date midnight: {}", referenceDateMidnight); monthStart = referenceDateMidnight.withDayOfMonth(1); monthEnd = monthStart.plusMonths(1); monthInterval = new Interval(monthStart, monthEnd); logger.debug("Month interval: {}", monthInterval); daysCount = Days.daysIn(monthInterval).getDays(); logger.debug("Initializing {} days", daysCount); days = createDaysArray(daysCount);/* ww w . j a v a 2 s .c o m*/ DateMidnight dayStart = monthStart; for (int i = 0; i < daysCount; i++) { DateMidnight dayEnd = dayStart.plusDays(1); days[i] = createDay(dayStart, dayEnd); // advance to next day dayStart = dayEnd; } }
From source file:com.manydesigns.portofino.calendar.AbstractWeek.java
License:Open Source License
public AbstractWeek(DateMidnight weekStart, DateMidnight weekEnd) { this.weekStart = weekStart; this.weekEnd = weekEnd; weekInterval = new Interval(weekStart, weekEnd); AbstractMonthView.logger.debug("Week interval: {}", weekInterval); AbstractMonthView.logger.debug("Initializing days"); days = createDaysArray(7);/*from w w w . j av a 2 s . c o m*/ DateMidnight dayStart = weekStart; for (int i = 0; i < 7; i++) { DateMidnight dayEnd = dayStart.plusDays(1); days[i] = createDay(dayStart, dayEnd); dayStart = dayEnd; } }
From source file:com.manydesigns.portofino.pageactions.calendar.AgendaView.java
License:Open Source License
public int addEvent(Event event) { DateMidnight day = new DateMidnight(event.getInterval().getStart()); DateTime end = event.getInterval().getEnd(); int added = 0; while (end.minus(1).compareTo(day) >= 0) { if (addEvent(day, event)) { added++;//from w w w .j a v a 2 s.co m } day = day.plusDays(1); } return added; }
From source file:ddf.metrics.plugin.webconsole.MetricsWebConsolePlugin.java
License:Open Source License
void addWeeklyReportUrls(PrintWriter pw, int numWeeklyReports, String metricsServiceUrl) { DateTime input = newDateTime();/*from w ww. j a v a 2 s. com*/ LOGGER.debug("NOW: {}", input); for (int i = 1; i <= numWeeklyReports; i++) { try { DateMidnight startOfLastWeek = new DateMidnight( input.minusWeeks(i).withDayOfWeek(DateTimeConstants.MONDAY)); String startDate = urlEncodeDate(startOfLastWeek); LOGGER.debug("Previous Week {} (start): {}", i, startDate); DateTime endOfLastWeek = startOfLastWeek.plusDays(DateTimeConstants.DAYS_PER_WEEK).toDateTime() .minus(1 /* millisecond */); String endDate = urlEncodeDate(endOfLastWeek); LOGGER.debug("Previous Week {} (end): ", i, endDate); startTableRow(pw, i); addCellLabelForRange(pw, startOfLastWeek, endOfLastWeek); addXLSCellLink(pw, startDate, endDate, metricsServiceUrl); addPPTCellLink(pw, startDate, endDate, metricsServiceUrl); endTableRow(pw); } catch (UnsupportedEncodingException e) { LOGGER.info("Unsupported encoding exception adding weekly reports", e); } } }
From source file:dk.frankbille.scoreboard.test.WicketSpringTestCase.java
License:Open Source License
private void insertTestData() { /*/*from w ww . j a va 2s . c o m*/ * Leagues */ List<League> leagues = new ArrayList<League>(); for (int i = 1; i <= 5; i++) { League league = new League(); league.setName("League " + i); getScoreBoardService().saveLeague(league); leagues.add(league); } /* * Players */ List<Player> players = new ArrayList<Player>(); for (int i = 1; i <= 10; i++) { Player player = new Player(); player.setName("Player " + i); player.setFullName("Player Full Name " + i); getScoreBoardService().savePlayer(player); players.add(player); User user = new User(); user.setUsername("username" + i); user.setDefaultLeague(getRandomLeague(leagues)); getScoreBoardService().createUser(user, "password" + i); } /* * Games */ DateMidnight date = new DateMidnight().minusMonths(1); DateMidnight today = new DateMidnight(); while (date.isBefore(today)) { for (League league : leagues) { Game game = new Game(); game.setDate(date.toDate()); GameTeam gameTeam1 = new GameTeam(); gameTeam1.setScore(getRandomScore(-1)); gameTeam1.setGame(game); Team team1 = new Team(); team1.setName("Team 1 " + date); Player player1 = getRandomPlayer(players, (Player[]) null); team1.addPlayer(player1); Player player2 = getRandomPlayer(players, player1); team1.addPlayer(player2); gameTeam1.setTeam(team1); game.setTeam1(gameTeam1); GameTeam gameTeam2 = new GameTeam(); gameTeam2.setScore(getRandomScore(gameTeam1.getScore())); gameTeam2.setGame(game); Team team2 = new Team(); team2.setName("Team 2 " + date); Player player3 = getRandomPlayer(players, player1, player2); team2.addPlayer(player3); Player player4 = getRandomPlayer(players, player1, player2, player3); team2.addPlayer(player4); gameTeam2.setTeam(team2); game.setTeam2(gameTeam2); game.setLeague(league); getScoreBoardService().saveGame(game); } date = date.plusDays(1); } }
From source file:dk.teachus.backend.domain.impl.PeriodImpl.java
License:Apache License
public DateMidnight generateDate(DateMidnight startDate) { if (hasDate(startDate) == false) { return null; }/*from w w w.j ava 2s.c o m*/ if (beginDate != null) { if (startDate.isBefore(beginDate)) { startDate = beginDate; } } while (hasWeekDay(startDate) == false) { startDate = startDate.plusDays(1); } return startDate; }