@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } ReportTaskKey that = (ReportTaskKey) o; if (dashId != that.dashId) { return false; } if (reportId != that.reportId) { return false; } return user != null ? user.equals(that.user) : that.user == null; }
public User addFacebookUser(String email, String appName) { log.debug("Adding new facebook user {}. App : {}", email, appName); User newUser = new User(email, null, appName, region, host, true, false); users.put(new UserKey(email, appName), newUser); return newUser; }
private static void unlockContent(User user, int reward) { user.addEnergy(reward); log.info("Unlocking content for {}. Reward {}.", user.email, reward); }
public static void messageReceived(Holder holder, ChannelHandlerContext ctx, User user, StringMessage message) { String dashBoardIdString = message.body; int dashId; try { dashId = Integer.parseInt(dashBoardIdString); } catch (NumberFormatException ex) { throw new NotAllowedException("Dash board id not valid. Id : " + dashBoardIdString, message.id); } DashBoard dash = user.profile.getDashByIdOrThrow(dashId); String token = dash.sharedToken; //if token not exists. generate new one if (token == null) { if (user.notEnoughEnergy(PRIVATE_TOKEN_PRICE)) { ctx.writeAndFlush(energyLimit(message.id), ctx.voidPromise()); return; } token = holder.tokenManager.refreshSharedToken(user, dash); user.subtractEnergy(PRIVATE_TOKEN_PRICE); user.lastModifiedTs = System.currentTimeMillis(); } if (ctx.channel().isWritable()) { ctx.writeAndFlush(makeUTF8StringMessage(GET_SHARE_TOKEN, message.id, token), ctx.voidPromise()); } } }
private void email(User user, DashBoard dash, String subject, String body) { Mail mail = dash.getMailWidget(); if (mail == null) { log.debug("User has no mail widget."); return; } user.checkDailyEmailLimit(); String to = (mail.to == null || mail.to.isEmpty()) ? user.email : mail.to; if (BlynkEmailValidator.isNotValidEmail(to)) { log.error("Invalid mail receiver: {}.", to); return; } blockingIOProcessor.execute(() -> { try { mailWrapper.sendText(to, subject, body); } catch (Exception e) { log.warn("Error sending email from eventor. From user {}, to : {}. Reason : {}", user.email, to, e.getMessage()); } }); user.emailMessages++; }
private ArrayList<User> saveModified() { var users = new ArrayList<User>(); for (User user : userDao.getUsers().values()) { if (user.isUpdated(lastStart)) { try { fileManager.overrideUserFile(user); users.add(user); } catch (Exception e) { log.error("Error saving : {}.", user); } } } return users; }
private void reset(ChannelHandlerContext ctx, String token, String passHash, int msgId) { ResetPassToken resetPassToken = tokensPool.getResetPassToken(token); if (resetPassToken == null) { log.warn("Invalid token for reset pass {}", token); ctx.writeAndFlush(notAllowed(msgId), ctx.voidPromise()); } else { String email = resetPassToken.email; User user = userDao.getByName(email, resetPassToken.appName); if (user == null) { log.warn("User is not exists anymore. {}", resetPassToken); ctx.writeAndFlush(serverError(msgId), ctx.voidPromise()); return; } user.resetPass(passHash); tokensPool.removeToken(token); blockingIOProcessor.execute(() -> { try { mailWrapper.sendHtml(email, resetConfirmationSubj, resetConfirmationBody.replace(Placeholders.EMAIL, email)); log.debug("Confirmation {} mail sent.", email); } catch (Exception e) { log.error("Error sending confirmation mail for {}. Reason : {}", email, e.getMessage()); } }); ctx.writeAndFlush(ok(msgId), ctx.voidPromise()); } }
@Override public int hashCode() { int result = user != null ? user.hashCode() : 0; result = 31 * result + dashId; result = 31 * result + reportId; return result; } }
public boolean isUpdated(long lastStart) { return (lastStart <= lastModifiedTs) || isDashUpdated(lastStart); }
if (user.notEnoughEnergy(price)) { log.debug("Not enough energy."); return energyLimit(msgId); user.subtractEnergy(price); user.profile.dashBoards = ArrayUtil.add(user.profile.dashBoards, newDash, DashBoard.class);
if (user.isUpdated(lastStart)) { doNotRemovePaths.clear(); try {
@POST @Consumes(value = MediaType.APPLICATION_FORM_URLENCODED) @Path("updatePassword") public Response updatePassword(@FormParam("password") String passHash, @FormParam("token") String token) { ResetPassToken resetPassToken = tokensPool.getResetPassToken(token); if (resetPassToken == null) { return badRequest("Invalid token. Please repeat all steps."); } log.info("Resetting pass for {}", resetPassToken.email); User user = userDao.getByName(resetPassToken.email, resetPassToken.appName); if (user == null) { log.warn("No user with email {}", resetPassToken.email); return notFound(); } user.resetPass(passHash); log.info("{} password was reset.", user.email); tokensPool.removeToken(token); return ok("Password was successfully reset.", TEXT_PLAIN); }
if (user.notEnoughEnergy(price)) { log.debug("Not enough energy."); ctx.writeAndFlush(energyLimit(message.id), ctx.voidPromise()); return; user.subtractEnergy(price); user.profile.dashBoards = ArrayUtil.add(user.profile.dashBoards, newDash, DashBoard.class);
public void cancelStoredFuture(User user, int dashId) { Iterator<Map.Entry<ReportTaskKey, ScheduledFuture<?>>> iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry<ReportTaskKey, ScheduledFuture<?>> entry = iter.next(); ReportTaskKey reportTaskKey = entry.getKey(); if (reportTaskKey.dashId == dashId && reportTaskKey.user.equals(user)) { iter.remove(); ScheduledFuture<?> scheduledFuture = entry.getValue(); if (scheduledFuture != null) { scheduledFuture.cancel(true); } } } }
/** * Removes all widgets with tabId greater than lastTabIndex */ static Widget[] deleteTabs(TimerWorker timerWorker, User user, UserKey userKey, int dashId, long deviceTilesId, long templateId, Widget[] widgets, int lastTabIndex) { ArrayList<Widget> zeroTabWidgets = new ArrayList<>(); int removedWidgetPrice = 0; for (Widget widgetToDelete : widgets) { if (widgetToDelete.tabId > lastTabIndex) { removedWidgetPrice += widgetToDelete.getPrice(); if (widgetToDelete instanceof Timer) { timerWorker.delete(userKey, (Timer) widgetToDelete, dashId, deviceTilesId, templateId); } else if (widgetToDelete instanceof Eventor) { timerWorker.delete(userKey, (Eventor) widgetToDelete, dashId); } } else { zeroTabWidgets.add(widgetToDelete); } } user.addEnergy(removedWidgetPrice); return zeroTabWidgets.toArray(new Widget[0]); }
public User add(String email, String passHash, String appName) { log.debug("Adding new user {}. App : {}", email, appName); User newUser = new User(email, passHash, appName, region, host, false, false); users.put(new UserKey(email, appName), newUser); return newUser; }
if (user.notEnoughEnergy(price)) { log.debug("Not enough energy."); ctx.writeAndFlush(energyLimit(message.id), ctx.voidPromise()); user.subtractEnergy(price); reportingWidget.reports = ArrayUtil.add(reportingWidget.reports, report, Report.class); dash.updatedAt = System.currentTimeMillis();
if (!tokenValue.user.equals(state.user)) { log.debug("User {} allowed to access devices only within own account.", state.user); ctx.writeAndFlush(notAllowed(message.id), ctx.voidPromise());
public void messageReceived(ChannelHandlerContext ctx, MobileStateHolder state, StringMessage message) { var splitBody = split2(message.body); var user = state.user; var energyAmountToAdd = Integer.parseInt(splitBody[0]); ResponseMessage response; if (splitBody.length == 2 && isValidTransactionId(splitBody[1])) { double price = calcPrice(energyAmountToAdd); insertPurchase(user.email, energyAmountToAdd, price, splitBody[1]); user.addEnergy(energyAmountToAdd); response = ok(message.id); } else { if (!wasErrorPrinted) { log.warn("Purchase {} with invalid transaction id '{}'. {} ({}).", splitBody[0], splitBody[1], user.email, state.version); wasErrorPrinted = true; } response = notAllowed(message.id); } ctx.writeAndFlush(response, ctx.voidPromise()); }