List of usage examples for org.apache.commons.lang3.time DateUtils addDays
public static Date addDays(final Date date, final int amount)
From source file:io.lavagna.service.StatisticsServiceTest.java
@Before public void prepare() { Helper.createUser(userRepository, "test", "test-user"); user = userRepository.findUserByName("test", "test-user"); Project p = projectService.create("test", "TEST", "desc"); board = boardRepository.createNewBoard("test-board", "TEST-BRD", null, p.getId()); List<BoardColumnDefinition> definitions = projectService .findColumnDefinitionsByProjectId(projectService.findByShortName("TEST").getId()); for (BoardColumnDefinition def : definitions) { if (def.getValue() == ColumnDefinition.OPEN) { openCol = boardColumnRepository.addColumnToBoard("col1", def.getId(), BoardColumn.BoardColumnLocation.BOARD, board.getId()); }//from w w w .jav a 2s . c o m } today = DateUtils.truncate(new Date(), Calendar.DATE); yesterday = DateUtils.addDays(today, -1); oneMonthAgo = DateUtils.addMonths(today, -1); lastSnapshot = DateUtils.addYears(today, -10); card = cardService.createCard("card1", openCol.getId(), today, user); assigned = cardLabelRepository.findLabelByName(p.getId(), "ASSIGNED", CardLabel.LabelDomain.SYSTEM); customLabel = cardLabelRepository.addLabel(p.getId(), true, CardLabel.LabelType.USER, CardLabel.LabelDomain.USER, "Custom label", 0); labelValueToUser = new CardLabelValue.LabelValue(null, null, null, null, user.getId(), null); }
From source file:io.lavagna.web.api.UserController.java
@RequestMapping(value = "/api/user/activity/{provider}/{name}", method = RequestMethod.GET) public List<Event> getUserActivity(@PathVariable("provider") String provider, @PathVariable("name") String name, UserWithPermission currentUser) { User user = userRepository.findUserByName(provider, name); Date lastWeek = DateUtils.setMinutes(DateUtils.setHours(DateUtils.addDays(new Date(), -6), 0), 0); if (currentUser.getBasePermissions().containsKey(Permission.READ)) { return eventRepository.getLatestActivity(user.getId(), lastWeek); } else {//from w w w . ja va 2s .c o m Collection<Integer> visibleProjectsIds = currentUser.projectsIdWithPermission(Permission.READ); return eventRepository.getLatestActivityByProjects(user.getId(), lastWeek, visibleProjectsIds); } }
From source file:com.ibm.watson.developer_cloud.dialog.v1.DialogServiceIT.java
/** * Test create conversation.//from www .ja v a 2 s . c o m * * @throws ParseException the parse exception * @throws InterruptedException the interrupted exception */ @Test public void testConverseAndGetConversationData() throws ParseException, InterruptedException { Conversation c = service.createConversation(dialogId).execute(); testConversation(c); final String[] messages = new String[] { "large", "onions, pepperoni, cheese", "pickup", "yes" }; for (final String message : messages) { c = service.converse(c, message).execute(); testConversation(c); Thread.sleep(500); } final List<DialogContent> dialogContent = service.getContent(dialogId).execute(); assertNotNull(dialogContent); assertFalse(dialogContent.isEmpty()); assertNotNull(dialogContent.get(0)); Map<String, String> profile = service.getProfile(dialogId, c.getClientId()).execute(); // update profile String variable = profile.keySet().iterator().next(); profile.put(variable, "foo"); service.updateProfile(dialogId, c.getClientId(), profile).execute(); assertEquals(service.getProfile(dialogId, c.getClientId()).execute().get(variable), "foo"); assertEquals(service.getProfile(dialogId, c.getClientId(), variable).execute().get(variable), "foo"); ConversationDataOptions options = new ConversationDataOptions.Builder() .from(DateUtils.addDays(new Date(), -10)).to(new Date()).dialogId(dialogId).offset(0).limit(10) .build(); List<ConversationData> data = service.getConversationData(options).execute(); assertNotNull(data); assertFalse(data.isEmpty()); }
From source file:com.epam.ta.reportportal.core.job.BaseInterruptTest.java
protected TestItem prepareTestItem(Launch launch) { String randomPart = RandomStringUtils.randomAlphabetic(5); TestItem item = new TestItem(); item.setId(ObjectId.get().toString()); item.setStartTime(DateUtils.addDays(Calendar.getInstance().getTime(), -1)); item.setName("testItem".concat(randomPart)); item.setLaunchRef(launch.getId());//from w w w.jav a2s . c o m item.setStatus(Status.IN_PROGRESS); item.setLastModified(DateUtils.addDays(Calendar.getInstance().getTime(), -1)); item.setStatistics(new Statistics(new ExecutionCounter(), new IssueCounter())); item.setType(TestItemType.TEST); return item; }
From source file:io.lavagna.service.EventRepositoryTest.java
@Test public void testLastUpdateOnCardChange() { assertTrue(cardDataService.findAllCommentsByCardId(card1.getId()).isEmpty()); assertTrue(cardDataRepo.findCountsByBoardIdAndLocation(board.getId(), BoardColumnLocation.BOARD).isEmpty()); Date now = new Date(); Date oneDayAgo = DateUtils.addDays(now, -1); // simulate CardDataService here CardData commentOld = cardDataRepo.createData(card1.getId(), CardType.COMMENT, "test-comment-old"); eventRepository.insertCardDataEvent(commentOld.getId(), card1.getId(), EventType.COMMENT_CREATE, userAlt.getId(), commentOld.getId(), oneDayAgo); CardFull cardBeforeUpdate = cardRepository.findFullBy(card1.getId()); assertEquals(userAlt.getId(), cardBeforeUpdate.getLastUpdateUserId()); CardData comment = cardDataRepo.createData(card1.getId(), CardType.COMMENT, "test-comment"); eventRepository.insertCardDataEvent(comment.getId(), card1.getId(), EventType.COMMENT_CREATE, user.getId(), comment.getId(), now);//from w ww. ja va2s .co m assertEquals(2, cardDataService.findAllCommentsByCardId(card1.getId()).size()); CardFull cardAfterUpdate = cardRepository.findFullBy(card1.getId()); assertEquals(user.getId(), cardAfterUpdate.getLastUpdateUserId()); assertTrue(cardAfterUpdate.getLastUpdateTime().after(cardBeforeUpdate.getLastUpdateTime())); }
From source file:alfio.manager.FileUploadManager.java
public void cleanupUnreferencedBlobFiles() { int deleted = repository.cleanupUnreferencedBlobFiles(DateUtils.addDays(new Date(), -1)); log.debug("removed {} unused file_blob", deleted); }
From source file:com.inkubator.hrm.service.impl.ApprovalActivityNotSendListenerServiceImpl.java
public void sendNotificationApprovalNotSend() throws Exception { LOGGER.warn("Proses krim approval activiei karena schcedullerrerere"); List<ApprovalActivity> dataToSend = approvalActivityDao.getDataNotSendEmailYet(); for (ApprovalActivity appActivity : dataToSend) { Date deadline = DateUtils.addDays(appActivity.getCreatedTime(), appActivity.getApprovalDefinition().getDelayTime()); SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMMM-yyyy", new Locale(appActivity.getLocale())); JsonObject jsonObject = (JsonObject) jsonConverter.getClassFromJson(appActivity.getPendingData(), JsonObject.class); HrmUser approverUser = hrmUserDao.getByUserId(appActivity.getApprovedBy()); HrmUser requesterUser = hrmUserDao.getByUserId(appActivity.getRequestBy()); VelocityTempalteModel vtm = new VelocityTempalteModel(); List<String> toSend = new ArrayList<>(); List<String> toSentCC = new ArrayList<String>(); List<String> toSentBCC = new ArrayList<String>(); vtm.setFrom(ownerEmail);//from w w w .ja v a 2 s . co m /*if(appActivity.getApprovalStatus() == HRMConstant.APPROVAL_STATUS_WAITING) { //kirim email ke approver nya jika status waiting toSend.add(approverUser.getEmailAddress()); } else { //kirim email ke requester nya jika statusnya sudah di approved/rejected. Dan cc email (if any) toSentCC = getCcEmailAddressesOnApproveOrReject(appActivity); toSend.add(requesterUser.getEmailAddress()); } }*/ // toSend.add("deni.arianto24@yahoo.com"); // toSentCC.add("amjadicky@gmail.com"); toSend.add("rizal2_dhfr@yahoo.com"); // toSentCC.add("rizkykojek@gmail.com"); vtm.setTo(toSend.toArray(new String[toSend.size()])); vtm.setCc(toSentCC.toArray(new String[toSentCC.size()])); vtm.setBcc(toSentBCC.toArray(new String[toSentBCC.size()])); Map maptoSend = new HashMap(); if (StringUtils.equals(appActivity.getLocale(), "en")) { vtm.setSubject("Permohonan Perjalanan Dinas"); //not yet implemented } else { if (Objects.equals(appActivity.getApprovalStatus(), HRMConstant.APPROVAL_STATUS_WAITING_APPROVAL)) { switch (appActivity.getApprovalDefinition().getName()) { case HRMConstant.BUSINESS_TRAVEL: double totalAmount = 0; Gson gson = JsonUtil.getHibernateEntityGsonBuilder().create(); // String pendingData = appActivity.getPendingData(); JsonObject businessTravelObj = gson.fromJson(appActivity.getPendingData(), JsonObject.class); List<BusinessTravelComponent> businessTravelComponents = gson.fromJson( businessTravelObj.get("businessTravelComponents"), new TypeToken<List<BusinessTravelComponent>>() { }.getType()); for (BusinessTravelComponent btc : businessTravelComponents) { totalAmount = totalAmount + btc.getPayByAmount(); } vtm.setSubject("Permohonan Perjalanan Dinas"); vtm.setTemplatePath("email_travel_waiting_approval.vm"); maptoSend.put("approverName", approverUser.getEmpData().getBioData().getFullName()); maptoSend.put("requesterName", requesterUser.getEmpData().getBioData().getFullName()); maptoSend.put("nik", requesterUser.getEmpData().getNik()); maptoSend.put("businessTravelNo", jsonObject.get("businessTravelNo").getAsString()); maptoSend.put("proposeDate", jsonObject.get("proposeDate").getAsString()); maptoSend.put("destination", jsonObject.get("destination").getAsString()); maptoSend.put("start", jsonObject.get("startDate").getAsString()); maptoSend.put("end", jsonObject.get("endDate").getAsString()); maptoSend.put("description", jsonObject.get("description").getAsString()); maptoSend.put("totalAmount", new DecimalFormat("###,###").format(totalAmount)); break; case HRMConstant.REIMBURSEMENT: vtm.setSubject("Permohonan Penggantian Biaya"); vtm.setTemplatePath("email_reimbursment_waiting_approval.vm"); maptoSend.put("approverName", approverUser.getEmpData().getBioData().getFullName()); maptoSend.put("requesterName", requesterUser.getEmpData().getBioData().getFullName()); maptoSend.put("nik", requesterUser.getEmpData().getNik()); Gson gs = JsonUtil.getHibernateEntityGsonBuilder().create(); RmbsApplication application = gs.fromJson(appActivity.getPendingData(), RmbsApplication.class); RmbsType rmbsType = rmbsTypeDao.getEntiyByPK(application.getRmbsType().getId()); maptoSend.put("reimbursementType", rmbsType.getName()); maptoSend.put("applicationDate", jsonObject.get("applicationDate").getAsString()); maptoSend.put("nominal", jsonObject.get("nominal").getAsString()); maptoSend.put("applicationDate", jsonObject.get("applicationDate").getAsString()); maptoSend.put("proposeDate", jsonObject.get("createdOn").getAsString()); maptoSend.put("deadline", dateFormat.format(deadline)); // maptoSend.put("urlLinkToApprove", jsonObject.get(HRMConstant.CONTEXT_PATH).getAsString() + "" + HRMConstant.REIMBURSMENT_APPROVAL_PAGE + "" + "?faces-redirect=true&execution=e" + appActivity.getId()); break; case HRMConstant.LOAN: vtm.setSubject("Permohonan Pinjaman Lunak"); vtm.setTemplatePath("email_loan_waiting_approval.vm"); maptoSend.put("approverName", approverUser.getEmpData().getBioData().getFullName()); maptoSend.put("requesterName", requesterUser.getEmpData().getBioData().getFullName()); maptoSend.put("nik", requesterUser.getEmpData().getNik()); maptoSend.put("proposeDate", jsonObject.get("proposeDate").getAsString()); maptoSend.put("loanSchemaName", jsonObject.get("loanSchemaName").getAsString()); maptoSend.put("nominalPrincipal", jsonObject.get("nominalPrincipal").getAsString()); maptoSend.put("interestRate", jsonObject.get("interestRate").getAsString()); maptoSend.put("nominalInstallment", jsonObject.get("nominalInstallment").getAsString()); maptoSend.put("interestInstallment", jsonObject.get("interestInstallment").getAsString()); maptoSend.put("totalNominalInstallment", jsonObject.get("totalNominalInstallment").getAsString()); break; default: break; } } else if ((appActivity.getApprovalStatus() == HRMConstant.APPROVAL_STATUS_APPROVED) || (appActivity.getApprovalStatus() == HRMConstant.APPROVAL_STATUS_REJECTED)) { //configure email parameter based on approval name switch (appActivity.getApprovalDefinition().getName()) { case HRMConstant.BUSINESS_TRAVEL: double totalAmount = 0; Gson gson = JsonUtil.getHibernateEntityGsonBuilder().create(); // String pendingData = appActivity.getPendingData(); JsonObject businessTravelObj = gson.fromJson(appActivity.getPendingData(), JsonObject.class); List<BusinessTravelComponent> businessTravelComponents = gson.fromJson( businessTravelObj.get("businessTravelComponents"), new TypeToken<List<BusinessTravelComponent>>() { }.getType()); for (BusinessTravelComponent btc : businessTravelComponents) { totalAmount = totalAmount + btc.getPayByAmount(); } vtm.setSubject("Permohonan Perjalanan Dinas"); vtm.setTemplatePath("email_travel_approved_or_rejected_approval.vm"); maptoSend.put("requesterName", requesterUser.getEmpData().getBioData().getFullName()); maptoSend.put("nik", requesterUser.getEmpData().getNik()); maptoSend.put("businessTravelNo", jsonObject.get("businessTravelNo").getAsString()); maptoSend.put("proposeDate", jsonObject.get("proposeDate").getAsString()); maptoSend.put("destination", jsonObject.get("destination").getAsString()); maptoSend.put("start", jsonObject.get("startDate").getAsString()); maptoSend.put("end", jsonObject.get("endDate").getAsString()); maptoSend.put("description", jsonObject.get("description").getAsString()); maptoSend.put("totalAmount", new DecimalFormat("###,###").format(totalAmount)); if (appActivity.getApprovalStatus() == HRMConstant.APPROVAL_STATUS_APPROVED) { maptoSend.put("statusDesc", "Permohonan Diterima"); } else if (appActivity.getApprovalStatus() == HRMConstant.APPROVAL_STATUS_REJECTED) { maptoSend.put("statusDesc", "Permohonan Ditolak"); } break; case HRMConstant.REIMBURSEMENT: vtm.setSubject("Permohonan Pergantian Biaya"); vtm.setTemplatePath("email_reimbursment_approved_or_rejected.vm"); maptoSend.put("requesterName", requesterUser.getEmpData().getBioData().getFullName()); maptoSend.put("nik", requesterUser.getEmpData().getNik()); Gson gs = JsonUtil.getHibernateEntityGsonBuilder().create(); RmbsApplication application = gs.fromJson(appActivity.getPendingData(), RmbsApplication.class); RmbsType rmbsType = rmbsTypeDao.getEntiyByPK(application.getRmbsType().getId()); maptoSend.put("reimbursementType", rmbsType.getName()); maptoSend.put("applicationDate", jsonObject.get("applicationDate").getAsString()); maptoSend.put("nominal", jsonObject.get("nominal").getAsString()); maptoSend.put("applicationDate", jsonObject.get("applicationDate").getAsString()); maptoSend.put("proposeDate", jsonObject.get("createdOn").getAsString()); if (appActivity.getApprovalStatus() == HRMConstant.APPROVAL_STATUS_APPROVED) { maptoSend.put("statusDesc", "Permohonan Diterima"); } else if (appActivity.getApprovalStatus() == HRMConstant.APPROVAL_STATUS_REJECTED) { maptoSend.put("statusDesc", "Permohonan Ditolak"); } break; case HRMConstant.LOAN: vtm.setSubject("Permohonan Pinjaman Lunak"); vtm.setTemplatePath("email_loan_approved_or_rejected_approval.vm"); maptoSend.put("requesterName", requesterUser.getEmpData().getBioData().getFullName()); maptoSend.put("nik", requesterUser.getEmpData().getNik()); maptoSend.put("proposeDate", jsonObject.get("proposeDate").getAsString()); maptoSend.put("loanSchemaName", jsonObject.get("loanSchemaName").getAsString()); maptoSend.put("nominalPrincipal", jsonObject.get("nominalPrincipal").getAsString()); maptoSend.put("interestRate", jsonObject.get("interestRate").getAsString()); maptoSend.put("nominalInstallment", jsonObject.get("nominalInstallment").getAsString()); maptoSend.put("interestInstallment", jsonObject.get("interestInstallment").getAsString()); maptoSend.put("totalNominalInstallment", jsonObject.get("totalNominalInstallment").getAsString()); if (appActivity.getApprovalStatus() == HRMConstant.APPROVAL_STATUS_APPROVED) { maptoSend.put("statusDesc", "Permohonan Diterima"); } else if (appActivity.getApprovalStatus() == HRMConstant.APPROVAL_STATUS_REJECTED) { maptoSend.put("statusDesc", "Permohonan Ditolak"); } break; default: break; } } if (jsonObject.get(HRMConstant.CONTEXT_PATH).getAsString() != null) { String urlLinkToApprove = serverName + "" + jsonObject.get(HRMConstant.CONTEXT_PATH).getAsString() + "" + HRMConstant.REIMBURSMENT_APPROVAL_PAGE + "" + "?faces-redirect=true&execution=e" + appActivity.getId(); maptoSend.put("urlLinkToApprove", urlLinkToApprove); } else { maptoSend.put("urlLinkToApprove", applicationUrl); } maptoSend.put("ownerAdministrator", ownerAdministrator); maptoSend.put("ownerCompany", ownerCompany); maptoSend.put("applicationUrl", applicationUrl); maptoSend.put("applicationName", applicationName); velocityTemplateSender.sendMail(vtm, maptoSend); //update approval activity, set notification true if (appActivity.getNotificationSend() == false) { appActivity.setNotificationSend(true); this.approvalActivityDao.update(appActivity); } } } }
From source file:io.lavagna.service.NotificationServiceTest.java
@Test public void testCheck() { Set<Integer> noUsersToNotify = notificationService.check(DateUtils.addDays(new Date(), -1)); Assert.assertTrue(noUsersToNotify.isEmpty()); // assign card labelService.addLabelValueToCard(assignedLabel.getId(), card1.getId(), new CardLabelValue.LabelValue(null, null, null, null, user.getId(), null), user, new Date()); cardDataService.createComment(card1.getId(), "first comment", new Date(), user.getId()); notificationService.check(DateUtils.addDays(new Date(), 1)); Assert.assertTrue(notificationService.check(DateUtils.addDays(new Date(), 2)).contains(user.getId())); }
From source file:eu.ggnet.dwoss.report.assist.gen.ReportLineGenerator.java
/** * Makes one special Reportline// w ww .j av a 2 s . co m * <p/> * @param contractors the contractor * @param posTypes the allowed types of positions * @param starting a starting date, this is the earlies date a line will have the reporting date set * @param maxDeltaDays this is a max delta for days of the reporting date. The date will be between starting and starting+maxDeltaDays. * @param docTypes documetTypes * @return the ReportingLine */ public ReportLine makeReportLine(List<TradeName> contractors, Date starting, int maxDeltaDays, List<PositionType> posTypes, List<DocumentType> docTypes) { ReportLine line = new ReportLine(); line.setName("ReportLine-" + getRandomInt()); line.setDescription("desription-" + getRandomInt()); line.setDossierId(getRandomLong()); line.setDocumentIdentifier("dossierIdentifier-" + getRandomInt()); line.setDocumentId(getRandomLong()); line.setDocumentIdentifier("documentIdentifier-" + getRandomInt()); line.setPositionType(posTypes.get(R.nextInt(posTypes.size()))); line.setDocumentType(docTypes.get(R.nextInt(docTypes.size()))); line.setCustomerId(getRandomLong()); line.setContractorPartNo("123.456"); line.setAmount(getRandomLong()); double tax = GlobalConfig.TAX; double price = Math.abs(R.nextDouble() * R.nextInt(1500)); line.setManufacturerCostPrice(price * 1.10); line.setContractorReferencePrice(price * 1.10); line.setAfterTaxPrice(price + (price * tax)); line.setPrice(price); line.setTax(tax); line.setBookingAccount(getRandomInt()); GeneratedAddress makeAddress = new NameGenerator().makeAddress(); Name makeName = new NameGenerator().makeName(); String name = makeName.getFirst() + " " + makeName.getLast(); line.setCustomerName(name); String invoiceAdress = name + ", " + makeAddress.getStreet() + " " + makeAddress.getNumber() + ", " + makeAddress.getPostalCode() + " " + makeAddress.getTown(); line.setCustomerCompany(R.nextInt(10) < 7 ? "" : "TestFirma"); line.setInvoiceAddress(invoiceAdress); line.setRefurbishId("" + R.nextInt(100000)); line.setUniqueUnitId(getRandomLong()); line.setSerial("serial" + getRandomInt()); line.setProductId(getRandomLong()); line.setPartNo("partNo" + getRandomInt()); line.setContractor( contractors.size() == 1 ? contractors.get(0) : contractors.get(R.nextInt(contractors.size()))); line.setProductBrand(brands.get(R.nextInt(brands.size()))); Date pastFiveYears = DateUtils.setYears(new Date(), 2009); line.setMfgDate(DateUtils.addDays(pastFiveYears, R.nextInt(2000))); line.setReportingDate(maxDeltaDays > 0 ? DateUtils.addDays(starting, R.nextInt(maxDeltaDays)) : starting); return line; }
From source file:gr.abiss.calipso.service.impl.UserServiceImpl.java
@Override @Transactional(readOnly = false)//w w w . j ava 2 s . c o m public void expireResetPasswordTokens() { // get a hibernate session suitable for read-only access to large datasets StatelessSession session = ((Session) this.repository.getEntityManager().getDelegate()).getSessionFactory() .openStatelessSession(); Date yesterday = DateUtils.addDays(new Date(), -1); // send email notifications for account confirmation tokens that expired org.hibernate.Query query = session.createQuery( "SELECT new gr.abiss.calipso.model.UserDTO(u.id, u.firstName, u.lastName,u.username, u.email, u.emailHash) FROM User u " + "WHERE u.password IS NULL and u.resetPasswordTokenCreated IS NOT NULL and u.resetPasswordTokenCreated < :yesterday"); query.setParameter("yesterday", yesterday); query.setFetchSize(Integer.valueOf(1000)); query.setReadOnly(true); query.setLockMode("a", LockMode.NONE); ScrollableResults results = query.scroll(ScrollMode.FORWARD_ONLY); while (results.next()) { UserDTO dto = (UserDTO) results.get(0); // TODO: send expiration email this.emailService.sendAccountConfirmationExpired(new User(dto)); } results.close(); session.close(); // expire tokens, including password reset requests this.repository.expireResetPasswordTokens(yesterday); }