Example usage for org.joda.time DateTime plusDays

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

Introduction

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

Prototype

public DateTime plusDays(int days) 

Source Link

Document

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

Usage

From source file:org.encuestame.utils.DateUtil.java

License:Apache License

/**
 * Retrieve before day midnight./* w w  w. java 2  s . co  m*/
 * @return
 */
public static Date getBeforeDayMidnightDate() {
    DateTime midNight = new DateTime();
    midNight = midNight.plusDays(-1);
    final DateMidnight midnightDate = midNight.toDateMidnight();
    return midnightDate.toDate();
}

From source file:org.entcore.auth.security.SamlValidator.java

License:Open Source License

/**
 * Build the java assertion//from ww w.j a  v a  2  s .  c  o m
 *
 * @param idp identity provider name qualifier
 * @param serviceProvider service provider name qualifier
 * @param nameId nameId value
 * @param recipient recipient of the assertion (SP Assertion Consumer Service)
 * @param userId user id neo4j
 * @return the java assertion
 *
 * @throws UnsupportedEncodingException
 * @throws NoSuchAlgorithmException
 * @throws InvalidKeyException
 * @throws SignatureException
 */
private Assertion generateAssertion(String idp, String serviceProvider, String nameId, String recipient,
        String userId)
        throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException, SignatureException {
    debug("start generating assertion");
    debug("IDP : " + idp);
    debug("SP : " + serviceProvider);

    // Init assertion
    AssertionBuilder assertionBuilder = new AssertionBuilder();

    // --- TAG Assertion ---
    final Assertion assertion = assertionBuilder.buildObject();
    // attribut ID
    // ID must not be a number
    assertion.setID("ENT_" + UUID.randomUUID().toString());
    debug("Assertion ID : " + assertion.getID());

    // attribut IssueInstant
    DateTime authenticationTime = new DateTime();
    assertion.setIssueInstant(authenticationTime);
    debug("IssueInstant : " + assertion.getIssueInstant());

    // --- TAG Issuer ---
    Issuer issuer = createIssuer(idp);
    assertion.setIssuer(issuer);

    // --- TAG Subject ---
    Subject subject = createSubject(nameId, 5, idp, serviceProvider, recipient);
    assertion.setSubject(subject);

    // --- TAG Conditions ---
    ConditionsBuilder conditionsBuilder = new ConditionsBuilder();
    Conditions conditions = conditionsBuilder.buildObject();
    conditions.setNotBefore(authenticationTime);
    DateTime notOnOrAfter = new DateTime();
    notOnOrAfter = notOnOrAfter.plusDays(1);
    conditions.setNotOnOrAfter(notOnOrAfter);

    AudienceRestriction audienceRestriction = new AudienceRestrictionBuilder().buildObject();
    Audience issuerAudience = new AudienceBuilder().buildObject();
    issuerAudience.setAudienceURI(serviceProvider);
    audienceRestriction.getAudiences().add(issuerAudience);

    conditions.getAudienceRestrictions().add(audienceRestriction);
    assertion.setConditions(conditions);

    // --- TAG AuthnStatement ---
    AuthnStatement authnStatement = createAuthnStatement(authenticationTime);
    authnStatement.setSessionIndex(assertion.getID());
    assertion.getAuthnStatements().add(authnStatement);

    return assertion;
}

From source file:org.entcore.auth.security.SamlValidator.java

License:Open Source License

private Subject createSubject(String nameIdValue, Integer samlAssertionDays, String idpNameQualifier,
        String spNameQualifier, String recipient) {
    debug("createSubject for nameid : " + nameIdValue);
    debug("idpNameQualifier : " + idpNameQualifier);
    debug("spNameQualifier : " + spNameQualifier);

    DateTime currentDate = new DateTime();
    if (samlAssertionDays != null)
        currentDate = currentDate.plusDays(samlAssertionDays);

    // create name element
    NameIDBuilder nameIdBuilder = new NameIDBuilder();
    NameID nameId = nameIdBuilder.buildObject();
    nameId.setValue(nameIdValue);//  w ww .  j  a  v  a2  s.co  m
    nameId.setFormat("urn:oasis:names:tc:SAML:2.0:nameid-format:transient");
    nameId.setNameQualifier(idpNameQualifier);
    nameId.setSPNameQualifier(spNameQualifier);

    SubjectConfirmationDataBuilder dataBuilder = new SubjectConfirmationDataBuilder();
    SubjectConfirmationData subjectConfirmationData = dataBuilder.buildObject();
    subjectConfirmationData.setNotOnOrAfter(currentDate);
    subjectConfirmationData.setRecipient(recipient);

    SubjectConfirmationBuilder subjectConfirmationBuilder = new SubjectConfirmationBuilder();
    SubjectConfirmation subjectConfirmation = subjectConfirmationBuilder.buildObject();
    subjectConfirmation.setMethod("urn:oasis:names:tc:SAML:2.0:cm:bearer");
    subjectConfirmation.setSubjectConfirmationData(subjectConfirmationData);

    // create subject element
    SubjectBuilder subjectBuilder = new SubjectBuilder();
    Subject subject = subjectBuilder.buildObject();
    subject.setNameID(nameId);
    subject.getSubjectConfirmations().add(subjectConfirmation);

    return subject;
}

From source file:org.entcore.feeder.timetable.udt.UDTImporter.java

License:Open Source License

void initSchoolYear(JsonObject currentEntity) {
    startDateWeek1 = startDateStudents// w w w.j  a v a 2 s  . c  o  m
            .withWeekOfWeekyear(Integer.parseInt(currentEntity.getString("premiere_semaine_ISO")))
            .withDayOfWeek(1);
    slotDuration = Integer.parseInt(currentEntity.getString("duree_seq")) / 2;
    DateTime h = startDateWeek1;
    while (h.isBefore(startDateStudents)) {
        holidays.add(h);
        h = h.plusDays(1);
        holidaysWeeks.add(h.getWeekOfWeekyear());
    }
}

From source file:org.entcore.feeder.timetable.udt.UDTImporter.java

License:Open Source License

void initHolidays(JsonObject currentEntity) {
    DateTime s = DateTime.parse(currentEntity.getString("debut"), DateTimeFormat.forPattern(DATE_FORMAT));
    DateTime e = DateTime.parse(currentEntity.getString("fin"), DateTimeFormat.forPattern(DATE_FORMAT));
    while (s.isBefore(e)) {
        holidays.add(s);//w ww.  j av a  2s  .c o m
        s = s.plusDays(1);
        holidaysWeeks.add(s.getWeekOfWeekyear());
    }
    holidays.add(e);
}

From source file:org.epics.archiverappliance.common.TimeUtils.java

public static Timestamp plusDays(Timestamp ts, int days) {
    DateTime dateTime = new DateTime(ts.getTime(), DateTimeZone.UTC);
    DateTime retval = dateTime.plusDays(days);
    Timestamp retts = new Timestamp(retval.getMillis());
    retts.setNanos(ts.getNanos());//from ww w .jav  a 2s  . c  o  m
    return retts;
}

From source file:org.epics.archiverappliance.common.TimeUtils.java

/**
 * Given an epoch seconds and a granularity, this method gives you the first second in the next partition as epoch seconds.
 * @param epochSeconds/*from   w  w  w  .ja  v  a  2  s  .  c  om*/
 * @param granularity
 * @return
 */
public static long getNextPartitionFirstSecond(long epochSeconds, PartitionGranularity granularity) {
    DateTime dateTime = new DateTime(epochSeconds * 1000, DateTimeZone.UTC);
    DateTime nextPartitionFirstSecond = null;
    switch (granularity) {
    case PARTITION_YEAR:
        nextPartitionFirstSecond = dateTime.plusYears(1).withMonthOfYear(1).withDayOfMonth(1).withHourOfDay(0)
                .withMinuteOfHour(0).withSecondOfMinute(0);
        return nextPartitionFirstSecond.getMillis() / 1000;
    case PARTITION_MONTH:
        nextPartitionFirstSecond = dateTime.plusMonths(1).withDayOfMonth(1).withHourOfDay(0).withMinuteOfHour(0)
                .withSecondOfMinute(0);
        return nextPartitionFirstSecond.getMillis() / 1000;
    case PARTITION_DAY:
        nextPartitionFirstSecond = dateTime.plusDays(1).withHourOfDay(0).withMinuteOfHour(0)
                .withSecondOfMinute(0);
        return nextPartitionFirstSecond.getMillis() / 1000;
    case PARTITION_HOUR:
        nextPartitionFirstSecond = dateTime.plusHours(1).withMinuteOfHour(0).withSecondOfMinute(0);
        return nextPartitionFirstSecond.getMillis() / 1000;
    case PARTITION_5MIN:
    case PARTITION_15MIN:
    case PARTITION_30MIN:
        int approxMinutesPerChunk = granularity.getApproxMinutesPerChunk();
        DateTime nextPartForMin = dateTime.plusMinutes(approxMinutesPerChunk);
        int startOfPartitionForMin = (nextPartForMin.getMinuteOfHour() / approxMinutesPerChunk)
                * approxMinutesPerChunk;
        nextPartitionFirstSecond = nextPartForMin.withMinuteOfHour(startOfPartitionForMin)
                .withSecondOfMinute(0);
        return nextPartitionFirstSecond.getMillis() / 1000;
    default:
        throw new UnsupportedOperationException("Invalid Partition type " + granularity);
    }
}

From source file:org.everit.jira.core.impl.TimetrackerComponent.java

License:Apache License

@Override
public DateTime firstMissingWorklogsDate(final Set<DateTime> excludeDatesSet,
        final Set<DateTime> includeDatesSet, final DateTime currentDay) {
    DateTime scannedDate = currentDay;
    // one week//  w  w w  .j a va 2  s  .c  o  m
    scannedDate = scannedDate.minusDays(DateTimeConverterUtil.DAYS_PER_WEEK);
    for (int i = 0; i < DateTimeConverterUtil.DAYS_PER_WEEK; i++) {
        // check excludse - pass
        if (TimetrackerUtil.containsSetTheSameDay(excludeDatesSet, scannedDate)) {
            scannedDate = scannedDate.plusDays(1);
            continue;
        }
        // check includes - not check weekend
        // check weekend - pass
        if (!TimetrackerUtil.containsSetTheSameDay(includeDatesSet, scannedDate)
                && ((scannedDate.getDayOfWeek() == DateTimeConstants.SUNDAY)
                        || (scannedDate.getDayOfWeek() == DateTimeConstants.SATURDAY))) {
            scannedDate = scannedDate.plusDays(1);
            continue;
        }
        // check worklog. if no worklog set result else ++ scanedDate
        scannedDate = DateTimeConverterUtil.setDateToDayStart(scannedDate);
        boolean isDateContainsWorklog = TimetrackerUtil.isContainsWorklog(new Date(scannedDate.getMillis()));
        if (!isDateContainsWorklog) {
            return scannedDate;
        } else {
            scannedDate = scannedDate.plusDays(1);
        }
    }
    // if we find everything all right then return with the current date
    return scannedDate;
}

From source file:org.fenixedu.academic.api.infra.FenixAPICanteen.java

License:Open Source License

public static String get(String daySearch) {

    String locale = I18N.getLocale().toString().replace("_", "-");
    if (canteenInfo == null || canteenInfo.isJsonNull() || oldInformation()) {

        String canteenUrl = FenixEduAcademicConfiguration.getConfiguration().getFenixApiCanteenUrl();
        try {/*from   ww  w  .  j  a  v a  2s . c  o m*/
            Response response = HTTP_CLIENT.target(canteenUrl).request(MediaType.APPLICATION_JSON)
                    .header("Authorization", getServiceAuth()).get();

            if (response.getStatus() == 200) {
                JsonParser parser = new JsonParser();
                canteenInfo = (JsonObject) parser.parse(response.readEntity(String.class));
                day = new DateTime();
            } else {
                return new JsonObject().toString();
            }
        } catch (ProcessingException e) {
            e.printStackTrace();
            return new JsonObject().toString();
        }
    }

    JsonArray jsonArrayWithLang = canteenInfo.getAsJsonArray(locale);

    DateTime dayToCompareStart;
    DateTime dayToCompareEnd;

    DateTime dateTime = DateTime.parse(daySearch, DateTimeFormat.forPattern(datePattern));
    int dayOfWeek = dateTime.getDayOfWeek();
    if (dayOfWeek != 7) {
        dayToCompareStart = dateTime.minusDays(dayOfWeek);
        dayToCompareEnd = dateTime.plusDays(7 - dayOfWeek);
    } else {
        dayToCompareStart = dateTime;
        dayToCompareEnd = dateTime.plusDays(7);
    }

    JsonArray jsonResult = new JsonArray();
    for (JsonElement jObj : jsonArrayWithLang) {

        DateTime dateToCompare = DateTime.parse(((JsonObject) jObj).get("day").getAsString(),
                DateTimeFormat.forPattern(datePattern));

        if (dateToCompare.isAfter(dayToCompareStart) && dateToCompare.isBefore(dayToCompareEnd)) {
            jsonResult.add(jObj);
        }
    }
    Gson gson = new GsonBuilder().setPrettyPrinting().create();

    return gson.toJson(jsonResult);

}

From source file:org.fenixedu.academic.api.infra.FenixAPIFromExternalServer.java

License:Open Source License

public static String getCanteen(String daySearch) {
    getInformation();//from w  ww  . j a  va2 s.  c  o m

    String lang = I18N.getLocale().toLanguageTag();

    if (!canteenInfo.has(lang)) {
        return empty.toString();
    }
    JsonArray jsonArrayWithLang = canteenInfo.getAsJsonObject().getAsJsonArray(lang);

    DateTime dayToCompareStart;
    DateTime dayToCompareEnd;

    DateTime dateTime = DateTime.parse(daySearch, DateTimeFormat.forPattern(datePattern));
    int dayOfWeek = dateTime.getDayOfWeek();
    if (dayOfWeek != 7) {
        dayToCompareStart = dateTime.minusDays(dayOfWeek);
        dayToCompareEnd = dateTime.plusDays(7 - dayOfWeek);
    } else {
        dayToCompareStart = dateTime;
        dayToCompareEnd = dateTime.plusDays(7);
    }

    Interval validInterval = new Interval(dayToCompareStart, dayToCompareEnd);
    JsonArray jsonResult = new JsonArray();

    for (JsonElement jObj : jsonArrayWithLang) {

        DateTime dateToCompare = DateTime.parse(((JsonObject) jObj).get("day").getAsString(),
                DateTimeFormat.forPattern(datePattern));

        if (validInterval.contains(dateToCompare)) {
            jsonResult.add(jObj);
        }
    }

    return gson.toJson(jsonResult);
}