Refine search
/** * Determines how two calendars compare up to no more than the specified * most significant field. * * @param cal1 the first calendar, not <code>null</code> * @param cal2 the second calendar, not <code>null</code> * @param field the field from <code>Calendar</code> * @return a negative integer, zero, or a positive integer as the first * calendar is less than, equal to, or greater than the second. * @throws IllegalArgumentException if any argument is <code>null</code> * @see #truncate(Calendar, int) * @see #truncatedCompareTo(Date, Date, int) * @since 2.6 */ public static int truncatedCompareTo(Calendar cal1, Calendar cal2, int field) { Calendar truncatedCal1 = truncate(cal1, field); Calendar truncatedCal2 = truncate(cal2, field); return truncatedCal1.getTime().compareTo(truncatedCal2.getTime()); }
/** Attempt to parse the Date from a Date-based header, primarily If-Modified-Since */ public static Date fromIfModifiedSince( String headerValue ) { Date moded = null; if ( !StringUtils.isEmpty( headerValue ) ) { try { moded = DateUtils.parseDate( headerValue, DEFAULT_PATTERNS ); } catch ( ParseException pe ) { logger.error( "Could not parse date format from If-Modified-Since header: {}", headerValue ); } } return moded; }
@Override public Void call() { LOG.info("{} start...", dataSourceInfo.getUrl()); stop = false; String name = Thread.currentThread().getName(); try { Thread.currentThread().setName(dataSourceInfo.getUrl()); long begin = System.currentTimeMillis(); while ((!isStop() && !timeout(begin))) { Date since = DateUtils.addSeconds(new Date(), -DEFAULT_TIME_INTEL); List<MsgQueue> errorMessages = messageClientStore.findErrorMsg(this.dataSource, since); if (errorMessages == null || errorMessages.isEmpty()) { break; } logRemainMsg(errorMessages); processErrorMessages(errorMessages, since); } } catch (Exception e) { throw new RuntimeException("process message error, url: " + dataSourceInfo.getUrl(), e); } finally { stop = true; Thread.currentThread().setName(name); LOG.info("{} finish", dataSourceInfo.getUrl()); } return null; }
/** * Convert date to String like "yyyy-MM-dd HH:mm:ss". */ public static String getCurrentLongDateTime() { return new SimpleDateFormat(LONG_DATETIME_FORMAT).format(DateUtils.addHours(new Date(), DATE_NUM)); }
@Test public void purge_inactive_short_living_branches() { when(system2.now()).thenReturn(new Date().getTime()); RuleDefinitionDto rule = db.rules().insert(); ComponentDto project = db.components().insertMainBranch(); ComponentDto longBranch = db.components().insertProjectBranch(project); ComponentDto recentShortBranch = db.components().insertProjectBranch(project, b -> b.setBranchType(BranchType.SHORT)); // short branch with other components and issues, updated 31 days ago when(system2.now()).thenReturn(DateUtils.addDays(new Date(), -31).getTime()); ComponentDto shortBranch = db.components().insertProjectBranch(project, b -> b.setBranchType(BranchType.SHORT)); ComponentDto module = db.components().insertComponent(newModuleDto(shortBranch)); ComponentDto subModule = db.components().insertComponent(newModuleDto(module)); ComponentDto file = db.components().insertComponent(newFileDto(subModule)); db.issues().insert(rule, shortBranch, file); db.issues().insert(rule, shortBranch, subModule); db.issues().insert(rule, shortBranch, module); // back to present when(system2.now()).thenReturn(new Date().getTime()); underTest.purge(dbSession, newConfigurationWith30Days(system2, project.uuid()), PurgeListener.EMPTY, new PurgeProfiler()); dbSession.commit(); assertThat(uuidsIn("projects")).containsOnly(project.uuid(), longBranch.uuid(), recentShortBranch.uuid()); }
/** * Convert date to String like "yyyy-MM-dd HH:mm:ss". */ public static String getCurrentLongDateTime(int num) { return new SimpleDateFormat(LONG_DATETIME_FORMAT).format(DateUtils.addDays(new Date(), num)); }
@Test @UseDataProvider("allResolutionsBeforeClosing") public void automatically_reopen_closed_issue_to_previous_resolution_from_changelog(String resolutionBeforeClosed) { String randomPreviousStatus = ALL_STATUSES_LEADING_TO_CLOSED[new Random().nextInt(ALL_STATUSES_LEADING_TO_CLOSED.length)]; DefaultIssue[] issues = Arrays.stream(SUPPORTED_RESOLUTIONS_FOR_UNCLOSING) .map(resolution -> { DefaultIssue issue = newClosedIssue(resolution); addResolutionAndStatusChange(issue, new Date(), randomPreviousStatus, STATUS_CLOSED, resolutionBeforeClosed, resolution); return issue; }) .toArray(DefaultIssue[]::new); Date now = new Date(); workflow.start(); Arrays.stream(issues).forEach(issue -> { workflow.doAutomaticTransition(issue, IssueChangeContext.createScan(now)); assertThat(issue.status()).isEqualTo(randomPreviousStatus); assertThat(issue.resolution()).isEqualTo(resolutionBeforeClosed); assertThat(issue.updateDate()).isEqualTo(DateUtils.truncate(now, Calendar.SECOND)); assertThat(issue.closeDate()).isNull(); assertThat(issue.isChanged()).isTrue(); }); }
private void writeToLog(String name) throws IOException { if (logWriter == null) return; // Increment the date if we have to Date now = new Date(); if (!DateUtils.isSameDay(today, now)) { today = now; startNewLog(); } logWriter.append(logFormatter.format(now)).append(" Metric: ").append(name).append(": ") .append(registry.get(name).toString()).append("\n"); }
@Test public void should_sort_by_update_date() { Date date = new Date(); Date date1 = DateUtils.addDays(date, -3); Date date2 = DateUtils.addDays(date, -2); Date date3 = DateUtils.addDays(date, -1); IssueDto issue1 = new IssueDto().setId(1L).setIssueUpdateDate(date1); IssueDto issue2 = new IssueDto().setId(2L).setIssueUpdateDate(date3); IssueDto issue3 = new IssueDto().setId(3L).setIssueUpdateDate(date2); List<IssueDto> dtoList = newArrayList(issue1, issue2, issue3); IssueQuery query = IssueQuery.builder().sort(IssueQuery.SORT_BY_UPDATE_DATE).asc(false).build(); IssuesFinderSort issuesFinderSort = new IssuesFinderSort(dtoList, query); List<IssueDto> result = newArrayList(issuesFinderSort.sort()); assertThat(result).hasSize(3); assertThat(result.get(0).getIssueUpdateDate()).isEqualTo(date3); assertThat(result.get(1).getIssueUpdateDate()).isEqualTo(date2); assertThat(result.get(2).getIssueUpdateDate()).isEqualTo(date1); }
private static void setupCommits( Injector injector ) throws Exception { // Commits shouldn't have the same createDate b/c of issues with sorting them Date now = new Date(); commitDao = injector.getInstance( CommitDao.class ); Commit commit = new BasicCommit( COMMIT_ID_1, // commitId MODULE_ID_1, // moduleId "742e2a76a6ba161f9efb87ce58a9187e", // warMD5 now, // createDate "/some/dummy/path" ); commitDao.save( commit ); commit = new BasicCommit( COMMIT_ID_2, // commitId MODULE_ID_2, // moduleId "395cfdfc3b77242a6f957d6d92da8958", // warMD5 DateUtils.addMinutes( now, 1 ), // createDate "/some/dummy/path" ); commitDao.save( commit ); commit = new BasicCommit( COMMIT_ID_3, // commitId MODULE_ID_2, // moduleId "b9860ffa5e39b6f7123ed8c72c4b7046", // warMD5 DateUtils.addMinutes( now, 2 ), // createDate "/some/dummy/path" ); commitDao.save( commit ); }
private Calendar calExpiredTime() { Calendar calendar = Calendar.getInstance(); calendar.setTime(DateUtils.addHours(new Date(), portalConfig.survivalDuration())); return calendar; }
@Test @UseDataProvider("allStatusesLeadingToClosed") public void automatically_reopen_closed_issue_to_most_recent_previous_status_from_changelog(String previousStatus) { DefaultIssue[] issues = Arrays.stream(SUPPORTED_RESOLUTIONS_FOR_UNCLOSING) .map(resolution -> { DefaultIssue issue = newClosedIssue(resolution); Date now = new Date(); addStatusChange(issue, addDays(now, -60), STATUS_OPEN, STATUS_CONFIRMED); addStatusChange(issue, addDays(now, -10), STATUS_CONFIRMED, previousStatus); setStatusPreviousToClosed(issue, previousStatus); return issue; }) .toArray(DefaultIssue[]::new); Date now = new Date(); workflow.start(); Arrays.stream(issues).forEach(issue -> { workflow.doAutomaticTransition(issue, IssueChangeContext.createScan(now)); assertThat(issue.status()).isEqualTo(previousStatus); assertThat(issue.updateDate()).isEqualTo(DateUtils.truncate(now, Calendar.SECOND)); assertThat(issue.closeDate()).isNull(); assertThat(issue.isChanged()).isTrue(); }); }
/** * 得到当月结束的时间点 * * @param date * @return 当月的最后1毫秒 */ public static final Date monthEnd(Date date) { if (date == null) return null; Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));// 设置为当月的最后一天 calendar = org.apache.commons.lang.time.DateUtils.truncate(calendar, Calendar.DATE);// 去除时分秒 Date d = calendar.getTime(); d.setTime(d.getTime() + MILLISECONDS_IN_DAY - 1); // 调整到当天的最后1毫秒 return d; }
/** * Method to return formatted String representation of a date time the number of days from today * given in the argument. * * @param daysFromToday argument to determine which default formatted date to generate. * @return String */ public static String generateStdDateTime(int daysFromToday) { Date now = new Date(); Date newDate = DateUtils.addDays(now, daysFromToday); DateFormat stdDate = new SimpleDateFormat(rideDefaultDateFormat); return stdDate.format(newDate); }
private Optional<UserDto> getUserFromToken(HttpServletRequest request, HttpServletResponse response) { Optional<JwtHttpHandler.Token> token = jwtHttpHandler.getToken(request, response); if (!token.isPresent()) { return Optional.empty(); } Date now = new Date(system2.now()); int refreshIntervalInMinutes = Integer.parseInt(settingsByKey.get(SONAR_WEB_SSO_REFRESH_INTERVAL_IN_MINUTES.getKey())); Long lastFreshTime = (Long) token.get().getProperties().get(LAST_REFRESH_TIME_TOKEN_PARAM); if (lastFreshTime == null || now.after(addMinutes(new Date(lastFreshTime), refreshIntervalInMinutes))) { return Optional.empty(); } return Optional.of(token.get().getUserDto()); }
private Optional<Token> validateToken(String tokenEncoded, HttpServletRequest request, HttpServletResponse response) { Optional<Claims> claims = jwtSerializer.decode(tokenEncoded); if (!claims.isPresent()) { return Optional.empty(); } Date now = new Date(system2.now()); Claims token = claims.get(); if (now.after(addSeconds(token.getIssuedAt(), SESSION_DISCONNECT_IN_SECONDS))) { return Optional.empty(); } jwtCsrfVerifier.verifyState(request, (String) token.get(CSRF_JWT_PARAM), token.getSubject()); if (now.after(addSeconds(getLastRefreshDate(token), SESSION_REFRESH_IN_SECONDS))) { refreshToken(token, request, response); } Optional<UserDto> user = selectUserFromUuid(token.getSubject()); if (!user.isPresent()) { return Optional.empty(); } return Optional.of(new Token(user.get(), claims.get())); }
public boolean lock(final String action) { if (isClusteringEnabled()) { final Date timeout = DateUtils.add(new Date(), Calendar.MILLISECOND, (int) -parameterService.getLong(ParameterConstants.CLUSTER_LOCK_TIMEOUT_MS)); return lock(action, timeout, new Date(), getServerId()); } else { return true; } }
/** * 返回当月的最后一天 * * @param date * @return 当月的最后一天 */ public static final Date lastDayOfMonth(Date date) { if (date == null) return null; Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));// 设置为当月的最后一天 calendar = org.apache.commons.lang.time.DateUtils.truncate(calendar, Calendar.DATE);// 去除时分秒 return calendar.getTime(); }
/** * <p>Checks if two date objects are on the same day ignoring time.</p> * * <p>28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true. * 28 Mar 2002 13:45 and 12 Mar 2002 13:45 would return false. * </p> * * @param date1 the first date, not altered, not null * @param date2 the second date, not altered, not null * @return true if they represent the same day * @throws IllegalArgumentException if either date is <code>null</code> * @since 2.1 */ public static boolean isSameDay(Date date1, Date date2) { if (date1 == null || date2 == null) { throw new IllegalArgumentException("The date must not be null"); } Calendar cal1 = Calendar.getInstance(); cal1.setTime(date1); Calendar cal2 = Calendar.getInstance(); cal2.setTime(date2); return isSameDay(cal1, cal2); }