@Override public Trigger clone() { return new ExecutionTrigger(name, expression.clone(), action); }
@Override public Expression clone() { return new TriggerExpression(counterLimit.clone(), predicate); }
List<String> getTriggerCounterNames() { List<String> counterNames = new ArrayList<>(); if (sessionTriggerProvider != null) { List<Trigger> activeTriggers = sessionTriggerProvider.getTriggers(); for (Trigger trigger : activeTriggers) { counterNames.add(trigger.getExpression().getCounterLimit().getName()); } } return counterNames; } }
public void addTriggers(final List<Trigger> triggers) { if (triggers != null) { this.appliedTriggers.addAll(triggers); // reset and add counters. This can happen during start of query or a session being moved to another pool with its // own set of triggers Set<String> counters = new HashSet<>(); for (Trigger trigger : triggers) { counters.add(trigger.getExpression().getCounterLimit().getName()); } addSubscribedCounters(counters); } }
public static ExecutionTrigger fromWMTrigger(final WMTrigger trigger) { final Action action = Action.fromMetastoreExpression(trigger.getActionExpression()); ExecutionTrigger execTrigger = new ExecutionTrigger(trigger.getTriggerName(), ExpressionFactory.fromString(trigger.getTriggerExpression()), action); return execTrigger; } }
@Override public CounterLimit clone() { return new VertexCounterLimit(vertexCounter, limit); }
@Override public CounterLimit clone() { return new FileSystemCounterLimit(scheme, fsCounter, limit); }
@Override public CounterLimit clone() { return new CustomCounterLimit(counterName, limit); }
@Override public String toString() { return "counter: " + timeCounter.name() + " limit: " + limit; }
@Override public boolean equals(final Object other) { if (other == null || !(other instanceof TimeCounterLimit)) { return false; } if (other == this) { return true; } TimeCounterLimit otherTcl = (TimeCounterLimit) other; return timeCounter.equals(otherTcl.timeCounter) && limit == otherTcl.limit; } }
@Override public String toString() { return type.getDisplayName() + (poolName == null ? "" : " " + poolName); } }
@Override public int hashCode() { int hash = 31 * vertexCounter.hashCode(); hash += 31 * limit; return 31 * hash; }
@Override public boolean equals(final Object other) { if (other == null || !(other instanceof VertexCounterLimit)) { return false; } if (other == this) { return true; } VertexCounterLimit otherVcl = (VertexCounterLimit) other; return vertexCounter.equals(otherVcl.vertexCounter) && limit == otherVcl.limit; } }
@Override public int hashCode() { int hash = 31 * timeCounter.hashCode(); hash += 31 * limit; return 31 * hash; }
@Override public boolean apply(final long current) { return expression.evaluate(current); }
@Override public String toString() { return "counter: " + getName() + " limit: " + limit; }
static Expression createExpression(CounterLimit counterLimit) { return new TriggerExpression(counterLimit, Expression.Predicate.GREATER_THAN); } }
@Override public String getName() { return timeCounter.name(); }