List of usage examples for org.joda.time LocalDateTime minusSeconds
public LocalDateTime minusSeconds(int seconds)
From source file:cherry.entree.signup.SignupEntryServiceImpl.java
License:Apache License
@Transactional @Override/*from w ww .j a v a2 s . c o m*/ public boolean createSignupRequest(String mailAddr, Locale locale, UriComponentsSource source) { LocalDateTime now = bizdateHelper.now(); if (!signupRequestHelper.validateMailAddr(mailAddr, now.minusSeconds(intervalInSec), now.minusSeconds(rangeInSec), numOfReq)) { if (log.isDebugEnabled()) { log.debug("Invalid: mailAddr={0}, intervalInSec={1}, rangeInSec={2}, numOfReq={3}", mailAddr, intervalInSec, rangeInSec, numOfReq); } return false; } UUID token = UUID.randomUUID(); LocalDateTime appliedAt = bizdateHelper.now(); long id = signupRequestHelper.createSignupRequest(mailAddr, token.toString(), appliedAt); if (log.isDebugEnabled()) { log.debug("signup_requests is created, id={0}, mailAddr={1}, token={2}", id, mailAddr, token); } Model model = new Model(); model.setMailAddr(mailAddr); model.setSignupUri(source.buildUriComponents(token).toUriString()); MailData msg = mailFacade.createMailData("SIGNUP_ENTRY", mailAddr, model); mailFacade.send("unknown", "SIGNUP_ENTRY", msg.getFromAddr(), msg.getToAddr(), msg.getCcAddr(), msg.getBccAddr(), msg.getReplyToAddr(), msg.getSubject(), msg.getBody()); return true; }
From source file:cherry.entree.signup.SignupRegisterServiceImpl.java
License:Apache License
@Transactional @Override// ww w . j av a 2 s .c o m public boolean createUser(String mailAddr, String token, String firstName, String lastName, Locale locale) { LocalDateTime now = bizDateTime.now(); if (!signupRequestHelper.validateToken(mailAddr, token, now.minusSeconds(validInSec))) { if (log.isDebugEnabled()) { log.debug("Invalid: mailAddr={0}, token={1}, validInSec={2}", mailAddr, token, validInSec); } return false; } String rawPassword = RandomStringUtils.random(pwdLength, pwdChars); String password = passwordEncoder.encode(rawPassword); BUser entity = new BUser(); entity.setLoginId(mailAddr); entity.setPassword(password); entity.setFirstName(firstName); entity.setLastName(lastName); long count = queryFactory.insert(u).populate(entity).execute(); checkState(count == 1, "failed to create user: user=%s, count=%s", entity, count); if (log.isDebugEnabled()) { log.debug("user is created: user={0}", entity); } Model model = new Model(); model.setMailAddr(mailAddr); model.setPassword(rawPassword); model.setFirstName(firstName); model.setLastName(lastName); MailData msg = mailFacade.createMailData("SIGNUP_REGISTER", mailAddr, model); mailFacade.send("unknown", "SIGNUP_REGISTER", msg.getFromAddr(), msg.getToAddr(), msg.getCcAddr(), msg.getBccAddr(), msg.getReplyToAddr(), msg.getSubject(), msg.getBody()); return true; }
From source file:cherry.sqlman.password.PasswordRequestServiceImpl.java
License:Apache License
@Transactional @Override/* w w w . j a v a2 s .com*/ public boolean createRequest(String mailAddr, Locale locale, UriComponentsSource source) { boolean mailAddrExists = queryFactory.from(ua).where(ua.mailAddr.eq(mailAddr)).exists(); if (!mailAddrExists) { if (log.isDebugEnabled()) { log.debug("{0} does not exist: mailAddr={1}", ua.getTableName(), mailAddr); } } else { LocalDateTime now = bizDateTime.now(); boolean requestAcceptable = queryFactory.from(pr0) .where(pr0.mailAddr.eq(mailAddr), pr0.appliedAt.goe(now.minusSeconds(rangeInSec))) .uniqueResult(cases().when(pr0.id.count().eq(0L)).then(true).when(pr0.id.count().goe(numOfReq)) .then(false).when(pr0.appliedAt.max().goe(now.minusSeconds(intervalInSec))).then(false) .otherwise(true)); if (!requestAcceptable) { if (log.isDebugEnabled()) { log.debug("Not acceptable: mailAddr={0}, intervalInSec={1}, rangeInSec={2}, numOfReq={3}", mailAddr, intervalInSec, rangeInSec, numOfReq); } return false; } UUID token = UUID.randomUUID(); BPasswordRequest pr = new BPasswordRequest(); pr.setMailAddr(mailAddr); pr.setToken(token.toString()); pr.setAppliedAt(now); pr.setDoneFlg(FlagCode.FALSE.code()); Integer id = queryFactory.insert(pr0).populate(pr).executeWithKey(pr0.id); if (log.isDebugEnabled()) { log.debug("{0} is created, id={1}, mailAddr={2}, token={3}", pr0.getTableName(), id, mailAddr, token); } Model model = new Model(); model.setMailAddr(mailAddr); model.setUri(source.buildUriComponents(token).toUriString()); MailData msg = mailFacade.createMailData(MAILID_PASSWORD_REQUEST, mailAddr, model); mailFacade.send(mailAddr, MAILID_PASSWORD_REQUEST, msg.getFromAddr(), msg.getToAddr(), msg.getCcAddr(), msg.getBccAddr(), msg.getReplyToAddr(), msg.getSubject(), msg.getBody()); } return true; }
From source file:cherry.sqlman.password.PasswordRequestServiceImpl.java
License:Apache License
@Transactional @Override/*from w w w. j a va 2s. c om*/ public boolean updatePassword(String token, String mailAddr, String password, Locale locale) { LocalDateTime now = bizDateTime.now(); Integer requestId = queryFactory.from(pr0).forUpdate() .where(pr0.mailAddr.eq(mailAddr), pr0.appliedAt.goe(now.minusSeconds(validInSec))) .where(pr0.token.eq(token), pr0.doneFlg.ne(FlagCode.TRUE.code())) .where(queryFactory.subQuery(pr1) .where(pr1.mailAddr.eq(pr0.mailAddr), pr1.appliedAt.gt(pr0.appliedAt)).notExists()) .uniqueResult(pr0.id); if (requestId == null) { if (log.isDebugEnabled()) { log.debug("Request unmatch: mailAddr={0}, token={1}, validInSec={2}", mailAddr, token, validInSec); } return false; } long count0 = queryFactory.update(pr0).set(pr0.doneFlg, FlagCode.TRUE.code()) .set(pr0.lockVersion, pr0.lockVersion.add(1)).where(pr0.id.eq(requestId)).execute(); checkState(count0 == 1L, "failed to update {0}: id={1}", pr0.getTableName(), requestId); long count1 = queryFactory.update(ua).set(ua.password, passwordEncoder.encode(password)) .set(ua.lockVersion, ua.lockVersion.add(1)).where(ua.mailAddr.eq(mailAddr)).execute(); checkState(count1 == 1L, "failed to update {0}: mailAddr={1}", ua.getTableName(), mailAddr); return true; }
From source file:com.axelor.apps.crm.service.EventService.java
License:Open Source License
public LocalDateTime computeStartDateTime(int duration, LocalDateTime endDateTime) { return endDateTime.minusSeconds(duration); }
From source file:com.axelor.csv.script.ImportDateTime.java
License:Open Source License
public LocalDateTime updateSecond(LocalDateTime dateTime, String second) { if (!Strings.isNullOrEmpty(second)) { Matcher matcher = patternMonth.matcher(second); if (matcher.find()) { Integer seconds = Integer.parseInt(matcher.group()); if (second.startsWith("+")) dateTime = dateTime.plusSeconds(seconds); else if (second.startsWith("-")) dateTime = dateTime.minusSeconds(seconds); else//from w ww . ja v a 2 s . c o m dateTime = dateTime.withSecondOfMinute(seconds); } } return dateTime; }
From source file:de.appsolve.padelcampus.listener.SessionEventListener.java
@Override public void sessionDestroyed(HttpSessionEvent se) { if (activeSessions > 0) { activeSessions--;/*from w w w . j a v a2 s . c om*/ } initDependencies(se.getSession().getServletContext()); LocalDateTime now = new LocalDateTime(); Booking booking = sessionUtil.getBooking(se.getSession()); if (booking != null) { if (booking.getId() != null) { //get latest booking from DB booking = bookingBaseDAO.findById(booking.getId()); } cancelBooking(booking, now); } //also look for other blocking bookings that might no have been deleted LocalDateTime maxAge = now.minusSeconds(se.getSession().getMaxInactiveInterval()); List<Booking> findBlockedBookings = bookingBaseDAO.findUnpaidBlockingBookings(); for (Booking blockingBooking : findBlockedBookings) { cancelBooking(blockingBooking, maxAge); } }
From source file:uk.co.onehp.trickle.services.betfair.ScheduledServiceImpl.java
License:Open Source License
private String nextBetPriceSchedule() { LocalDateTime nextBetTime = this.domainService.getNextBetTime(); if (null == nextBetTime) { nextBetTime = new LocalDateTime().plusMinutes(1); } else {/*from w w w . j a v a 2 s. co m*/ nextBetTime = nextBetTime.minusSeconds(this.upcomingBetsSeconds); } String cron = String.format("%s %s %s %s %s ?", nextBetTime.getSecondOfMinute(), nextBetTime.getMinuteOfHour(), nextBetTime.getHourOfDay(), nextBetTime.getDayOfMonth(), nextBetTime.getMonthOfYear()); return cron; }