Example usage for org.joda.time DateMidnight plusDays

List of usage examples for org.joda.time DateMidnight plusDays

Introduction

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

Prototype

public DateMidnight plusDays(int days) 

Source Link

Document

Returns a copy of this date plus the specified number of days.

Usage

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;
}