Example usage for org.joda.time DateTime plusYears

List of usage examples for org.joda.time DateTime plusYears

Introduction

In this page you can find the example usage for org.joda.time DateTime plusYears.

Prototype

public DateTime plusYears(int years) 

Source Link

Document

Returns a copy of this datetime plus the specified number of years.

Usage

From source file:com.ning.billing.util.clock.OldClockMock.java

License:Apache License

private DateTime adjustFromDuration(final DateTime input) {

    DateTime result = input;
    for (final Duration cur : deltaFromRealityDuration) {
        switch (cur.getUnit()) {
        case DAYS:
            result = result.plusDays(cur.getNumber());
            break;

        case MONTHS:
            result = result.plusMonths(cur.getNumber());
            break;

        case YEARS:
            result = result.plusYears(cur.getNumber());
            break;

        case UNLIMITED:
        default://  ww  w  .j av  a2s  .  c  o  m
            throw new RuntimeException("ClockMock is adjusting an unlimited time period");
        }
    }
    if (deltaFromRealityDurationEpsilon != 0) {
        result = result.plus(deltaFromRealityDurationEpsilon);
    }
    return result;
}

From source file:com.norconex.collector.http.recrawl.impl.GenericRecrawlableResolver.java

License:Apache License

private boolean isRecrawlableFromFrequency(SitemapChangeFrequency cf, PreviousCrawlData prevData,
        String context) {// w ww  .  j  av  a 2  s .  c  o  m
    if (cf == null) {
        return true;
    }

    if (LOG.isDebugEnabled()) {
        LOG.debug("The " + context + " change frequency is " + cf + " for: " + prevData.getReference());
    }
    if (cf == SitemapChangeFrequency.ALWAYS) {
        return true;
    }
    if (cf == SitemapChangeFrequency.NEVER) {
        return false;
    }

    DateTime minCrawlDate = new DateTime(prevData.getCrawlDate());
    switch (cf) {
    case HOURLY:
        minCrawlDate = minCrawlDate.plusHours(1);
        break;
    case DAILY:
        minCrawlDate = minCrawlDate.plusDays(1);
        break;
    case WEEKLY:
        minCrawlDate = minCrawlDate.plusWeeks(1);
        break;
    case MONTHLY:
        minCrawlDate = minCrawlDate.plusMonths(1);
        break;
    case YEARLY:
        minCrawlDate = minCrawlDate.plusYears(1);
        break;
    default:
        break;
    }

    if (minCrawlDate.isBeforeNow()) {
        if (LOG.isDebugEnabled()) {
            LOG.debug("Recrawl suggested according to " + context
                    + " directive (change frequency < elapsed time since " + prevData.getCrawlDate() + ") for: "
                    + prevData.getReference());
        }
        return true;
    }
    if (LOG.isDebugEnabled()) {
        LOG.debug("No recrawl suggested according to " + context
                + " directive (change frequency >= elapsed time since " + prevData.getCrawlDate() + ") for: "
                + prevData.getReference());
    }
    return false;
}

From source file:com.quinsoft.zeidon.domains.DateTimeDomain.java

License:Open Source License

private Object addWithContext(Task task, AttributeInstance attributeInstance, AttributeDef attributeDef,
        Object currentValue, Object operand, String contextName) {
    assert !StringUtils.isBlank(contextName);

    if (operand instanceof AttributeInstance)
        operand = ((AttributeInstance) operand).getValue();

    if (!(operand instanceof Integer) && !(operand instanceof Long)) {
        throw new ZeidonException(
                "When adding to DateTime with a context, operand must be integer or long value.  "
                        + "Type of operand = %s",
                operand.getClass().getName()).prependAttributeDef(attributeDef);
    }//from   w w  w . j a  va 2  s  .  c  om

    int value = ((Number) operand).intValue();
    DateTime dt = (DateTime) currentValue;

    switch (contextName.toLowerCase()) {
    case "day":
    case "days":
        return dt.plusDays(value);

    case "hour":
    case "hours":
        return dt.plusHours(value);

    case "minute":
    case "minutes":
        return dt.plusMinutes(value);

    case "milli":
    case "millis":
    case "millisecond":
    case "milliseconds":
        return dt.plus(((Number) operand).longValue());

    case "month":
    case "months":
        return dt.plusMonths(value);

    case "second":
    case "seconds":
        return dt.plusSeconds(value);

    case "week":
    case "weeks":
        return dt.plusWeeks(value);

    case "year":
    case "years":
        return dt.plusYears(value);
    }

    // TODO Auto-generated method stub
    throw new ZeidonException("Unknown context name '%s' for DateTime domain", contextName)
            .prependAttributeDef(attributeDef);
}

From source file:com.sonicle.webtop.core.dal.IMMessageDAO.java

License:Open Source License

public List<DateTime> selectDatesByProfileChatYear(Connection con, UserProfileId profile, String chatJid,
        int year, DateTimeZone timezone) throws DAOException {
    DSLContext dsl = getDSL(con);// ww w .  j av  a  2  s.  c om
    final DateTime ts1 = new DateTime(year, 1, 1, 0, 0, 0, timezone);
    final DateTime ts2 = ts1.plusYears(1);
    return dsl.selectDistinct(IM_MESSAGES.TIMESTAMP).from(IM_MESSAGES)
            .where(IM_MESSAGES.DOMAIN_ID.equal(profile.getDomainId())
                    .and(IM_MESSAGES.USER_ID.equal(profile.getUserId()))
                    .and(IM_MESSAGES.CHAT_JID.equal(chatJid)).and(timestampCondition(false, ts1, ts2)))
            .orderBy(IM_MESSAGES.TIMESTAMP.asc()).fetchInto(DateTime.class);
}

From source file:com.thoughtworks.go.security.X509CertificateGenerator.java

License:Apache License

private X509Certificate createTypeOneX509Certificate(Date startDate, String principalDn, KeyPair keyPair) {
    X509V1CertificateGenerator certGen = new X509V1CertificateGenerator();
    X500Principal principal = new X500Principal(principalDn);
    certGen.setSerialNumber(serialNumber());
    certGen.setIssuerDN(principal);//from w  w  w  .ja  v  a 2 s . c  o  m
    certGen.setNotBefore(startDate);
    DateTime now = new DateTime(new Date());
    certGen.setNotAfter(now.plusYears(YEARS).toDate());
    certGen.setSubjectDN(principal); // note: same as issuer
    certGen.setPublicKey(keyPair.getPublic());
    certGen.setSignatureAlgorithm(new SystemEnvironment().get(GO_SSL_CERTS_ALGORITHM));

    try {
        return certGen.generate(keyPair.getPrivate(), "BC");
    } catch (Exception e) {
        throw bomb(e);
    }
}

From source file:com.tysanclan.site.projectewok.util.FinancialTimeline.java

License:Open Source License

private void init() {
    reserve = new CashReserve();

    DonationFilter df = new DonationFilter();
    df.addOrderBy("donationTime", true);
    for (Donation d : donationDAO.findByFilter(df)) {
        DateTime dt = new DateTime(d.getDonationTime());
        MapUtil.listAdd(mutations, dt, d.getAmount());
        reserve.addReserve(dt, d.getDonator(), d.getAmount());
    }//from  w ww . ja  v  a 2s . c  o m

    PaidExpenseFilter pef = new PaidExpenseFilter();
    pef.addOrderBy("paymentDate", true);

    for (PaidExpense expense : paidExpenseDAO.findByFilter(pef)) {
        DateTime dt = new DateTime(expense.getPaymentDate());
        MapUtil.listAdd(mutations, dt, expense.getAmount().negate());
        reserve.spend(dt, expense.getAmount());
    }

    BigDecimal current = BigDecimal.ZERO;
    DateTime last = null;

    for (Entry<DateTime, List<BigDecimal>> e : mutations.entrySet()) {
        if (!e.getKey().equals(last)) {
            if (current.compareTo(BigDecimal.ZERO) < 0) {
                current = BigDecimal.ZERO;
            }
            if (last != null) {
                cashFlow.put(last, current);
            }
        }

        last = e.getKey();

        current = current.add(SumFunction.INSTANCE.apply(e.getValue()));

    }

    if (last != null) {
        cashFlow.put(last, current);
    }

    expenses: for (PaidExpense expense : paidExpenseDAO.findByFilter(pef)) {
        DateTime dt = new DateTime(expense.getPaymentDate());

        BigDecimal toFulfill = expense.getAmount();

        Map<User, BigDecimal> reservesAtTime = Maps.newLinkedHashMap(reserve.getReservesAt(dt));

        for (Entry<User, BigDecimal> e : reservesAtTime.entrySet()) {
            if (e.getValue().compareTo(toFulfill) >= 0) {
                Contribution c = new Contribution(e.getKey(), toFulfill);

                contributionsByDate.put(dt, c);
                contributionsByExpense.put(expense.getId(), c);

                continue expenses;
            } else {
                Contribution c = new Contribution(e.getKey(), e.getValue());

                contributionsByDate.put(dt, c);
                contributionsByExpense.put(expense.getId(), c);

                toFulfill = toFulfill.subtract(e.getValue());
            }
        }

        if (toFulfill.compareTo(BigDecimal.ZERO) > 0) {
            Contribution c = new Contribution(expense.getPaidBy(), toFulfill);
            contributionsByDate.put(dt, c);
            contributionsByExpense.put(expense.getId(), c);

        }
    }

    Map<DateTime, List<BigDecimal>> futureMutations = new TreeMap<DateTime, List<BigDecimal>>();

    DateTime now = new DateTime();
    DateTime threeYearsFromNow = now.plusYears(3);
    List<Expense> expenses = expenseDAO.getActiveExpenses();
    for (Expense e : expenses) {
        DateTime c = now;

        DateTime eStart = new DateTime(e.getStart());
        DateTime eEnd = e.getEnd() != null ? new DateTime(e.getEnd()) : null;

        while (!c.isAfter(threeYearsFromNow) && (e.getEnd() == null || !c.isAfter(eEnd))) {
            if (!c.isBefore(eStart)) {
                MapUtil.listAdd(futureMutations, c, e.getAmount().negate());
            }

            c = new DateTime(e.getPeriod().nextDate(c.toDate()));
        }
    }

    List<Subscription> subscriptions = subscriptionDAO.findAll();
    for (Subscription s : subscriptions) {
        DateTime c = now;

        DateTime sStart = new DateTime(s.getStart());

        while (!c.isAfter(threeYearsFromNow)) {
            if (!c.isBefore(sStart)) {
                MapUtil.listAdd(futureMutations, c, s.getAmount());
            }

            c = new DateTime(s.getInterval().nextDate(c.toDate()));
        }
    }

    for (Entry<DateTime, List<BigDecimal>> e : futureMutations.entrySet()) {
        current = current.add(SumFunction.INSTANCE.apply(e.getValue()));

        if (current.compareTo(BigDecimal.ZERO) < 0) {
            exhaustionPoint = "until " + e.getKey().toString("dd MMMM yyyy");
            break;
        }
    }

}

From source file:com.webarch.common.datetime.DateTimeUtils.java

License:Apache License

/**
 * ?// w ww .j  ava 2s.  c o  m
 *
 * @param date     ?
 * @param after    ??
 * @param timeUnit ??
 * @return ??
 */
public static Date getAfterDate(Date date, final int after, final int timeUnit) {
    DateTime dateTime = new DateTime(date);
    Date result;
    switch (timeUnit) {
    case YEAR_UNIT:
        result = dateTime.plusYears(after).toDate();
        break;
    case MONTH_UNIT:
        result = dateTime.plusMonths(after).toDate();
        break;
    case DAY_UNIT:
        result = dateTime.plusDays(after).toDate();
        break;
    case HOURE_UNIT:
        result = dateTime.plusHours(after).toDate();
        break;
    case MINUTE_UNIT:
        result = dateTime.plusMinutes(after).toDate();
        break;
    default:
        result = date;
    }
    return result;
}

From source file:de.azapps.mirakel.model.list.meta.SpecialListsDueProperty.java

License:Open Source License

@NonNull
@Override//  w w w .ja  v a  2 s  . c o  m
public MirakelQueryBuilder getWhereQueryBuilder(@NonNull final Context ctx) {
    MirakelQueryBuilder qb = new MirakelQueryBuilder(ctx).and(Task.DUE, MirakelQueryBuilder.Operation.NOT_EQ,
            (String) null);
    DateTime date = new LocalDate().toDateTimeAtStartOfDay().plusDays(1).minusSeconds(10);
    Log.w(TAG, String.valueOf(date.getMillis()));
    switch (unit) {
    case DAY:
        date = date.plusDays(length);
        break;
    case MONTH:
        date = date.plusMonths(length);
        break;
    case YEAR:
        date = date.plusYears(length);
        break;
    }
    qb = qb.and(Task.DUE, isSet ? Operation.GT : Operation.LT, date.getMillis());
    Log.w(TAG, qb.toString(Task.URI));
    return qb;
}

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 ww . jav a  2  s . com

    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;//from w  ww.  ja  va  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;

}