List of usage examples for org.joda.time DateTime plusDays
public DateTime plusDays(int days)
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); }