List of usage examples for org.apache.commons.lang.time DateUtils addSeconds
public static Date addSeconds(Date date, int amount)
From source file:ch.astina.hesperid.web.services.scheduler.SchedulerService.java
private void startFailureChecker() { try {/*from w w w .ja v a2 s . co m*/ JobDetail jobDetail = JobBuilder.newJob(FailureCheckerJobExecutor.class) .withIdentity("failureChecker", "failureChecker").build(); jobDetail.getJobDataMap().put("perthreadManager", perthreadManager); jobDetail.getJobDataMap().put("failureCheckerJob", failureCheckerJob); // Failure checker is started in one and a half minute that auto resolving can run first. Trigger trigger = TriggerBuilder.newTrigger().withIdentity("failureChecker-trigger") .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(DEFAULT_INTERVAL)) .startAt(DateUtils.addSeconds(new Date(), 90)).build(); scheduler.scheduleJob(jobDetail, trigger); } catch (Exception e) { logger.error("Error while starting failure checker", e); } }
From source file:mitm.common.security.ca.CAImpl.java
private void setNextUpdate(CertificateRequest certificateRequest) { int index = certificateRequest.getIteration(); /*/*from ww w . jav a 2 s . c o m*/ * Use last delay if we have no more delay's left */ if (index > delayTimes.length - 1) { index = delayTimes.length - 1; } Date nextUpdate = DateUtils.addSeconds(new Date(), delayTimes[index]); logger.debug("Next update for " + StringUtils.defaultString(certificateRequest.getEmail()) + " set to " + nextUpdate); certificateRequest.setNextUpdate(nextUpdate); }
From source file:ch.ksfx.web.services.chart.ObservationChartGenerator.java
public TimePeriodValues getExponentialMovingAverage(TimeSeries asset, Date startDate, Date endDate, Integer emaTimeframeSeconds, Integer emaTimeframesBack, Boolean addCurrentPrice) { TimePeriodValues movingAverageBand = new TimePeriodValues( "EMA" + emaTimeframesBack + "TIMEFRAMES (" + emaTimeframeSeconds + ") " + asset.getName()); List<Observation> assetPrices = observationDAO.queryObservationsSparse(asset.getId().intValue(), startDate, endDate);// w ww. j a va2s . com //Get some earlier prices to calc exponential moving average List<Observation> movingAveragePrices = observationDAO.queryObservationsSparse(asset.getId().intValue(), (startDate.getTime() == 0l) ? startDate : DateUtils.addSeconds(startDate, (emaTimeframesBack * emaTimeframeSeconds * 2) * -1), endDate); //logger.info("Calculated date which is needed " + DateUtils.addDays(startDate, emaDaysBack * -1)); assetPrices = simplifyAssetPrices(assetPrices); Integer filterSizer = 0; List<Observation> relevantMovingAveragePrices = null; Double movingAverage = null; for (Observation ap : assetPrices) { Date referenceDate = DateUtils.addSeconds(ap.getObservationTime(), (emaTimeframesBack * emaTimeframeSeconds) * -1); if (movingAveragePrices.get(0).getObservationTime().after(referenceDate)) { logger.info("Could not calc EMA earliest available date is " + movingAveragePrices.get(0).getObservationTime()); continue; } /* for (Integer iI = filterSizer; iI < movingAveragePrices.size(); iI++) { if (movingAveragePrices.get(iI + 1).getPricingTime().after(referenceDate)) { //We went too far, begin index was the last one filterSizer = iI; break; } } */ relevantMovingAveragePrices = movingAveragePrices.subList(filterSizer, movingAveragePrices.indexOf(ap)); logger.info("Calculating EMA"); movingAverage = MovingAverageCalculator.calcExponentialMovingAverageObservation(emaTimeframeSeconds, emaTimeframesBack, relevantMovingAveragePrices, true, addCurrentPrice, null); movingAverageBand.add(new SimpleTimePeriod(ap.getObservationTime(), ap.getObservationTime()), movingAverage); } return movingAverageBand; }
From source file:it.issue.IssueSearchTest.java
/** * SONAR-4563//from w ww . j av a 2s. c om */ @Test public void search_by_exact_creation_date() { final Issue issue = search(IssueQuery.create()).list().get(0); assertThat(issue.creationDate()).isNotNull(); // search the issue key with the same date assertThat(search(IssueQuery.create().issues().issues(issue.key()).createdAt(issue.creationDate())).list()) .hasSize(1); // search issue key with 1 second more and less should return nothing assertThat(search(IssueQuery.create().issues().issues(issue.key()) .createdAt(DateUtils.addSeconds(issue.creationDate(), 1))).size()).isEqualTo(0); assertThat(search(IssueQuery.create().issues().issues(issue.key()) .createdAt(DateUtils.addSeconds(issue.creationDate(), -1))).size()).isEqualTo(0); // search with future and past dates that do not match any issues assertThat(search(IssueQuery.create().createdAt(toDate("2020-01-01"))).size()).isEqualTo(0); assertThat(search(IssueQuery.create().createdAt(toDate("2010-01-01"))).size()).isEqualTo(0); }
From source file:gov.nasa.ensemble.core.plan.resources.ui.profile.editor.ProfileDataPointsEditor.java
@SuppressWarnings("unchecked") private TreeTableViewer createTreeTableViewer(final Composite parent, FormToolkit toolkit, final Profile profile) { boolean isProfileEditable = isProfileEditable(profile); //create tree viewer List<AbstractTreeTableColumn> columns = new ProfileDataPointColumnProvider(profile, isProfileEditable) .getColumns();/* w w w . j a v a 2 s . c o m*/ TreeTableColumnConfiguration config = new TreeTableColumnConfiguration(columns.get(0), columns, columns.get(0)); TreeTableComposite ttc = new TreeTableComposite(parent, config, false); ttc.setLayout(new TreeTableColumnLayout(false)); final TreeTableViewer viewer = new TreeTableViewer(ttc, config, null); //set providers viewer.setContentProvider(new ProfileEditorContentProvider()); viewer.setLabelProvider(new TreeTableLabelProvider() { @Override public boolean needsUpdate(Object feature) { return false; } @Override public Font getFont(Object element) { return null; } @Override public Color getBackground(Object element) { return null; } }); //if there's any changes in the profile data points... refresh viewer! final TransactionalEditingDomain domain = gov.nasa.ensemble.emf.transaction.TransactionUtils .getDomain(profile); final ResourceSetListenerImpl viewerRefreshListener = new ResourceSetListenerImpl() { @Override public void resourceSetChanged(ResourceSetChangeEvent event) { for (Notification notification : event.getNotifications()) { if (notification.getNotifier() == profile && notification.getFeature() == JSciencePackage.Literals.PROFILE__DATA_POINTS) { WidgetUtils.runInDisplayThread(viewer.getTree(), new Runnable() { @Override public void run() { viewer.refresh(); parent.getParent().getParent().layout(); } }); } } } }; if (domain != null) { domain.addResourceSetListener(viewerRefreshListener); } if (isProfileEditable) { Composite buttonsComposite = toolkit.createComposite(parent); buttonsComposite.setLayout(new GridLayout(2, false)); buttonsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 2, 1)); //insert new DataPoint final Button insertButton = toolkit.createButton(buttonsComposite, INSERT_BUTTON_TEXT, SWT.PUSH); insertButton.setToolTipText(INSERT_TOOLTIP_MESSAGE); final SelectionAdapter insertButtonSelectionListener = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { EList<DataPoint> dataPoints = profile.getDataPoints(); DataPoint newDataPoint; if (dataPoints.isEmpty()) { EPlan ePlan = EPlanUtils.getPlanFromResourceSet(profile); Date date = (ePlan != null ? ePlan.getMember(TemporalMember.class).getStartTime() : new Date()); newDataPoint = JScienceFactory.eINSTANCE.createEDataPoint(date, null); } else { Date date; ISelection selection = viewer.getSelection(); if (selection == null || selection.isEmpty()) { date = dataPoints.get(dataPoints.size() - 1).getDate(); } else if (selection instanceof StructuredSelection) { Object[] array = ((StructuredSelection) selection).toArray(); date = ((DataPoint) array[array.length - 1]).getDate(); } else { date = new Date(); //if everything fails... just set to now } newDataPoint = JScienceFactory.eINSTANCE.createEDataPoint(DateUtils.addSeconds(date, 1), null); } if (!dataPoints.contains(newDataPoint)) { try { AddProfileDataPointOperation op = new AddProfileDataPointOperation(profile, newDataPoint); op.addContext(viewer.getModel().getUndoContext()); IOperationHistory history = OperationHistoryFactory.getOperationHistory(); history.execute(op, null, null); viewer.setSelection(new StructuredSelection(newDataPoint)); } catch (Exception e) { LogUtil.error(e); } } else { showOperationError(); viewer.setSelection(new StructuredSelection(newDataPoint)); } } }; insertButton.addSelectionListener(insertButtonSelectionListener); //remove Data Point final Button removeButton = toolkit.createButton(buttonsComposite, REMOVE_BUTTON_TEXT, SWT.PUSH); removeButton.setToolTipText(REMOVE_TOOLTIP_MESSAGE); removeButton.setEnabled(!viewer.getSelection().isEmpty()); final SelectionAdapter removeButtonSelectionListener = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { ISelection selection = viewer.getSelection(); if (!selection.isEmpty()) { if (selection instanceof StructuredSelection) { StructuredSelection ss = (StructuredSelection) selection; int selectionSize = ss.size(); DataPoint[] dps = new DataPoint[selectionSize]; Iterator<DataPoint> iterator = ss.iterator(); int i = 0; while (iterator.hasNext()) { dps[i++] = iterator.next(); } RemoveProfileDataPointsOperation op = new RemoveProfileDataPointsOperation(profile, dps); op.addContext(EMFUtils.getUndoContext(profile)); IOperationHistory history = OperationHistoryFactory.getOperationHistory(); try { history.execute(op, null, null); viewer.setSelection(StructuredSelection.EMPTY); } catch (Exception e) { LogUtil.error(e); } } } } }; removeButton.addSelectionListener(removeButtonSelectionListener); final ISelectionChangedListener removeButtonEnablementListener = new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { removeButton.setEnabled(!viewer.getSelection().isEmpty()); } }; viewer.addSelectionChangedListener(removeButtonEnablementListener); //set dispose listener for editable profiles viewer.getControl().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { if (domain != null) { domain.removeResourceSetListener(viewerRefreshListener); } insertButton.removeSelectionListener(insertButtonSelectionListener); removeButton.removeSelectionListener(removeButtonSelectionListener); viewer.removeSelectionChangedListener(removeButtonEnablementListener); dispose(viewer); } }); } else { //set dispose listener for non-editable profiles viewer.getControl().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { if (domain != null) { domain.removeResourceSetListener(viewerRefreshListener); } dispose(viewer); } }); } return viewer; }
From source file:ch.ksfx.web.services.chart.ObservationChartGenerator.java
public List<TimePeriodValues> getBollingerBands(TimeSeries asset, Date startDate, Date endDate, Integer movingAverageSeconds, Integer bollingerK) { List<TimePeriodValues> bollingerBands = new ArrayList<TimePeriodValues>(); List<Observation> assetPrices = observationDAO.queryObservationsSparse(asset.getId().intValue(), startDate, endDate);/*from w w w . j a v a 2s . co m*/ //Get some earlier prices to calc simple moving average List<Observation> movingAveragePrices = observationDAO.queryObservationsSparse(asset.getId().intValue(), (startDate.getTime() == 0l) ? startDate : DateUtils.addSeconds(startDate, movingAverageSeconds * -1), endDate); assetPrices = simplifyAssetPrices(assetPrices); TimePeriodValues middleBand = new TimePeriodValues( "SMA" + (movingAverageSeconds / 60 / 60 / 24) + "DAYS " + asset.getName()); TimePeriodValues topBand = new TimePeriodValues("TimeBollinger Top K" + bollingerK + " " + asset.getName()); TimePeriodValues bottomBand = new TimePeriodValues( "TimeBollinger Bottom K" + bollingerK + " " + asset.getName()); List<Observation> relevantMovingAveragePrices = null; Double movingAverage = null; Double standardDeviation = null; Integer filterSizer = 0; for (Observation ap : assetPrices) { Date referenceDate = DateUtils.addSeconds(ap.getObservationTime(), movingAverageSeconds * -1); if (movingAveragePrices.get(0).getObservationTime().after(referenceDate)) { continue; } for (Integer iI = filterSizer; iI < movingAveragePrices.size(); iI++) { if (movingAveragePrices.get(iI + 1).getObservationTime().after(referenceDate)) { //We went to far, begin index was the last one filterSizer = iI; break; } } relevantMovingAveragePrices = movingAveragePrices.subList(filterSizer, movingAveragePrices.indexOf(ap)); movingAverage = MovingAverageCalculator.calculateMovingAverageObservation(relevantMovingAveragePrices, true); middleBand.add(new SimpleTimePeriod(ap.getObservationTime(), ap.getObservationTime()), movingAverage); if (relevantMovingAveragePrices.size() > 1) { standardDeviation = BollingerCalculator .calcStandardDeviationObservation(relevantMovingAveragePrices, true); topBand.add(new SimpleTimePeriod(ap.getObservationTime(), ap.getObservationTime()), movingAverage + (standardDeviation * bollingerK)); bottomBand.add(new SimpleTimePeriod(ap.getObservationTime(), ap.getObservationTime()), movingAverage - (standardDeviation * bollingerK)); } } bollingerBands.add(middleBand); bollingerBands.add(topBand); bollingerBands.add(bottomBand); return bollingerBands; }
From source file:mitm.common.security.ca.hibernate.CertificateRequestStoreImplTest.java
@Test public void testGetNextRequest() throws Exception { AutoTransactDelegator delegator = AutoTransactDelegator.createProxy(); Date now = new Date(); Date newer = DateUtils.addDays(now, 1); delegator.addRequest(newer, null, "2@example.com", 0, null, null, "dummy", null, null, null, null); delegator.addRequest(now, null, "1@example.com", 0, null, null, "dummy", null, null, null, null); CertificateRequest request = delegator.getNextRequest(); assertNotNull(request);//from ww w. ja v a 2 s. c om assertEquals("1@example.com", request.getEmail()); request = delegator.getNextRequest(); assertNotNull(request); assertEquals("1@example.com", request.getEmail()); delegator.updateRequest(request.getID(), new byte[] { 1, 2, 3 }, new Date(), "message", DateUtils.addSeconds(new Date(), 5)); request = delegator.getNextRequest(); assertNotNull(request); assertEquals("2@example.com", request.getEmail()); request = delegator.getNextRequest(); assertNotNull(request); assertEquals("2@example.com", request.getEmail()); delegator.updateRequest(request.getID(), new byte[] { 1, 2, 3 }, new Date(), "message", DateUtils.addSeconds(new Date(), 6)); request = delegator.getNextRequest(); assertNull(request); }
From source file:com.twitter.elephanttwin.util.DateUtil.java
/** * Add seconds to a calendar/*from ww w . ja v a 2s . com*/ * @param cal the calendar * @param numSeconds the seconds to subtract * @return the new calendar */ public static Calendar addSeconds(Calendar cal, int numSeconds) { Date newDate = DateUtils.addSeconds(cal.getTime(), numSeconds); Calendar newCal = Calendar.getInstance(UTC_TIMEZONE); newCal.setTime(newDate); return newCal; }
From source file:com.haulmont.cuba.core.app.Emailer.java
protected List<SendingMessage> loadEmailsToSend() { Date sendTimeoutTime = DateUtils.addSeconds(timeSource.currentTimestamp(), -config.getSendingTimeoutSec()); List<SendingMessage> emailsToSend = new ArrayList<>(); try (Transaction tx = persistence.createTransaction()) { EntityManager em = persistence.getEntityManager(); TypedQuery<SendingMessage> query = em.createQuery("select sm from sys$SendingMessage sm" + " where sm.status = :statusQueue or (sm.status = :statusSending and sm.updateTs < :time)" + " order by sm.createTs", SendingMessage.class); query.setParameter("statusQueue", SendingStatus.QUEUE.getId()); query.setParameter("time", sendTimeoutTime); query.setParameter("statusSending", SendingStatus.SENDING.getId()); View view = metadata.getViewRepository().getView(SendingMessage.class, "sendingMessage.loadFromQueue"); view.setLoadPartialEntities(true); // because SendingAttachment.content has FetchType.LAZY query.setView(view);/*from w w w. j a v a 2 s. c o m*/ query.setMaxResults(config.getMessageQueueCapacity()); List<SendingMessage> resList = query.getResultList(); for (SendingMessage msg : resList) { if (shouldMarkNotSent(msg)) { msg.setStatus(SendingStatus.NOTSENT); } else { msg.setStatus(SendingStatus.SENDING); emailsToSend.add(msg); } } tx.commit(); } for (SendingMessage message : emailsToSend) { loadBodyAndAttachments(message); } return emailsToSend; }
From source file:com.dp2345.service.impl.OrderServiceImpl.java
public Order create(Cart cart, Receiver receiver, PaymentMethod paymentMethod, ShippingMethod shippingMethod, CouponCode couponCode, boolean isInvoice, String invoiceTitle, boolean useBalance, String memo, Admin operator) {//from ww w .j av a 2 s . c o m Assert.notNull(cart); Assert.notNull(cart.getMember()); Assert.notEmpty(cart.getCartItems()); Assert.notNull(receiver); Assert.notNull(paymentMethod); Assert.notNull(shippingMethod); Order order = build(cart, receiver, paymentMethod, shippingMethod, couponCode, isInvoice, invoiceTitle, useBalance, memo); order.setSn(snDao.generate(Sn.Type.order)); if (paymentMethod.getMethod() == PaymentMethod.Method.online) { order.setLockExpire(DateUtils.addSeconds(new Date(), 20)); order.setOperator(operator); } if (order.getCouponCode() != null) { couponCode.setIsUsed(true); couponCode.setUsedDate(new Date()); couponCodeDao.merge(couponCode); } for (Promotion promotion : cart.getPromotions()) { for (Coupon coupon : promotion.getCoupons()) { order.getCoupons().add(coupon); } } Setting setting = SettingUtils.get(); if (setting.getStockAllocationTime() == StockAllocationTime.order || (setting.getStockAllocationTime() == StockAllocationTime.payment && (order.getPaymentStatus() == PaymentStatus.partialPayment || order.getPaymentStatus() == PaymentStatus.paid))) { order.setIsAllocatedStock(true); } else { order.setIsAllocatedStock(false); } orderDao.persist(order); OrderLog orderLog = new OrderLog(); orderLog.setType(Type.create); orderLog.setOperator(operator != null ? operator.getUsername() : null); orderLog.setOrder(order); orderLogDao.persist(orderLog); Member member = cart.getMember(); if (order.getAmountPaid().compareTo(new BigDecimal(0)) > 0) { memberDao.lock(member, LockModeType.PESSIMISTIC_WRITE); member.setBalance(member.getBalance().subtract(order.getAmountPaid())); memberDao.merge(member); Deposit deposit = new Deposit(); deposit.setType(operator != null ? Deposit.Type.adminPayment : Deposit.Type.memberPayment); deposit.setCredit(new BigDecimal(0)); deposit.setDebit(order.getAmountPaid()); deposit.setBalance(member.getBalance()); deposit.setOperator(operator != null ? operator.getUsername() : null); deposit.setMember(member); deposit.setOrder(order); depositDao.persist(deposit); } if (setting.getStockAllocationTime() == StockAllocationTime.order || (setting.getStockAllocationTime() == StockAllocationTime.payment && (order.getPaymentStatus() == PaymentStatus.partialPayment || order.getPaymentStatus() == PaymentStatus.paid))) { for (OrderItem orderItem : order.getOrderItems()) { if (orderItem != null) { Product product = orderItem.getProduct(); productDao.lock(product, LockModeType.PESSIMISTIC_WRITE); if (product != null && product.getStock() != null) { product.setAllocatedStock(product.getAllocatedStock() + (orderItem.getQuantity() - orderItem.getShippedQuantity())); productDao.merge(product); orderDao.flush(); staticService.build(product); } } } } cartDao.remove(cart); return order; }