private void setCheckers(final Map<String, ConditionChecker> checkers) { this.checkers = checkers; for (final ConditionChecker checker : checkers.values()) { this.context.set(checker.getId(), checker); } updateNextCheckTime(); }
private void updateNextCheckTime() { long time = Long.MAX_VALUE; for (final ConditionChecker checker : this.checkers.values()) { time = Math.min(time, checker.getNextCheckTime()); } this.nextCheckTime = time; }
public Object toJson() { final Map<String, Object> jsonObj = new HashMap<>(); jsonObj.put("expression", this.expression.getExpression()); final List<Object> checkersJson = new ArrayList<>(); for (final ConditionChecker checker : this.checkers.values()) { final Map<String, Object> oneChecker = new HashMap<>(); oneChecker.put("type", checker.getType()); oneChecker.put("checkerJson", checker.toJson()); checkersJson.add(oneChecker); } jsonObj.put("checkers", checkersJson); jsonObj.put("nextCheckTime", String.valueOf(this.nextCheckTime)); return jsonObj; }
public void stopCheckers() { for (final ConditionChecker checker : this.triggerCondition.getCheckers().values()) { checker.stopChecker(); } for (final ConditionChecker checker : this.expireCondition.getCheckers().values()) { checker.stopChecker(); } }
private BasicTimeChecker getBasicTimeChecker(final Map<String, ConditionChecker> checkers) { for (final ConditionChecker checker : checkers.values()) { if (checker.getType().equals(BasicTimeChecker.type)) { return (BasicTimeChecker) checker; } } return null; }
public void resetCheckers() { for (final ConditionChecker checker : this.checkers.values()) { checker.reset(); } updateNextCheckTime(); logger.info("Done resetting checkers. The next check time will be " + new DateTime(this.nextCheckTime)); }
checker.setContext(context); checker.setContext(context);
public void stopCheckers() { for(ConditionChecker checker : triggerCondition.getCheckers().values()) { checker.stopChecker(); } for(ConditionChecker checker : expireCondition.getCheckers().values()) { checker.stopChecker(); } }
private BasicTimeChecker getBasicTimeChecker(final Map<String, ConditionChecker> checkers) { for (final ConditionChecker checker : checkers.values()) { if (checker.getType().equals(BasicTimeChecker.type)) { return (BasicTimeChecker) checker; } } return null; }
public void resetCheckers() { for(ConditionChecker checker : checkers.values()) { checker.reset(); } updateNextCheckTime(); logger.info("Done resetting checkers. The next check time will be " + new DateTime(nextCheckTime)); }
checker.setContext(context); checker.setContext(context);
public static Condition fromJson(final Object obj) throws Exception { if (checkerLoader == null) { throw new Exception("Condition Checker loader not initialized!"); } final Map<String, Object> jsonObj = (HashMap<String, Object>) obj; Condition cond = null; try { final Map<String, ConditionChecker> checkers = new HashMap<>(); final List<Object> checkersJson = (List<Object>) jsonObj.get("checkers"); for (final Object oneCheckerJson : checkersJson) { final Map<String, Object> oneChecker = (HashMap<String, Object>) oneCheckerJson; final String type = (String) oneChecker.get("type"); final ConditionChecker ck = checkerLoader.createCheckerFromJson(type, oneChecker.get("checkerJson")); checkers.put(ck.getId(), ck); } final String expr = (String) jsonObj.get("expression"); final Long nextCheckTime = Long.valueOf((String) jsonObj.get("nextCheckTime")); cond = new Condition(checkers, expr, nextCheckTime); } catch (final Exception e) { e.printStackTrace(); logger.error("Failed to recreate condition from json.", e); throw new Exception("Failed to recreate condition from json.", e); } return cond; }
public Object toJson() { Map<String, Object> jsonObj = new HashMap<String, Object>(); jsonObj.put("expression", expression.getExpression()); List<Object> checkersJson = new ArrayList<Object>(); for(ConditionChecker checker : checkers.values()) { Map<String, Object> oneChecker = new HashMap<String, Object>(); oneChecker.put("type", checker.getType()); oneChecker.put("checkerJson", checker.toJson()); checkersJson.add(oneChecker); } jsonObj.put("checkers", checkersJson); jsonObj.put("nextCheckTime", String.valueOf(nextCheckTime)); return jsonObj; }
public void stopCheckers() { for (final ConditionChecker checker : this.triggerCondition.getCheckers().values()) { checker.stopChecker(); } for (final ConditionChecker checker : this.expireCondition.getCheckers().values()) { checker.stopChecker(); } }
private void updateNextCheckTime() { long time = Long.MAX_VALUE; for (final ConditionChecker checker : this.checkers.values()) { time = Math.min(time, checker.getNextCheckTime()); } this.nextCheckTime = time; }
BasicTimeChecker ck = null; for(ConditionChecker checker : checkers.values()) { if(checker.getType().equals(BasicTimeChecker.type)) { ck = (BasicTimeChecker) checker; break;
public void resetCheckers() { for (final ConditionChecker checker : this.checkers.values()) { checker.reset(); } updateNextCheckTime(); logger.info("Done resetting checkers. The next check time will be " + new DateTime(this.nextCheckTime)); }
checker.setContext(context); checker.setContext(context);
private Condition createExpireCondition(final Schedule s) { final Map<String, ConditionChecker> checkers = new HashMap<>(); final ConditionChecker checker = new BasicTimeChecker("EndTimeChecker_1", s.getFirstSchedTime(), s.getTimezone(), s.getEndSchedTime(), false, false, null, null); checkers.put(checker.getId(), checker); final String expr = checker.getId() + ".eval()"; return new Condition(checkers, expr); }
public Object toJson() { final Map<String, Object> jsonObj = new HashMap<>(); jsonObj.put("expression", this.expression.getExpression()); final List<Object> checkersJson = new ArrayList<>(); for (final ConditionChecker checker : this.checkers.values()) { final Map<String, Object> oneChecker = new HashMap<>(); oneChecker.put("type", checker.getType()); oneChecker.put("checkerJson", checker.toJson()); checkersJson.add(oneChecker); } jsonObj.put("checkers", checkersJson); jsonObj.put("nextCheckTime", String.valueOf(this.nextCheckTime)); return jsonObj; }