/** * * @param index action fire index * @param order action fire order (before/after) * @param scope action fire scope */ public void addAction(int index, TriggerAction.Order order, TriggerAction.Scope scope) { actions.add(new TriggerAction(index, order, scope)); }
@Override public boolean deleteTrigger(TriggerDefinition trigger) { logger.trace("deleteTrigger.enter; git trigger definition: {}", trigger); int cnt = 0; Schema schema = repo.getSchema(); for (TriggerAction action: trigger.getActions()) { String key = getTriggerScopeKey(action.getOrder(), action.getScope()); Map<Integer, List<TriggerContainer>> current = triggers.get(key); if (current == null) { continue; } int collectId = tx_collection; if (!isTransactionalAction(action)) { if (trigger.getCollection() == null) { collectId = default_collection; } else { collectId = schema.getCollection(trigger.getCollection()).getId(); } } List<TriggerContainer> impls = current.get(collectId); if (impls != null) { if (impls.remove(action.getIndex()) != null) { cnt++; } } } logger.trace("deleteTrigger.exit; {} triggers deleted, for collection: {}", cnt, trigger.getCollection()); return cnt > 0; }
if (trigger.isEnabled() && impl != null) { for (TriggerAction action: trigger.getActions()) { String key = getTriggerScopeKey(action.getOrder(), action.getScope()); Map<Integer, List<TriggerContainer>> current = triggers.get(key); if (current == null) { current.put(collectId, impls); int index = action.getIndex(); if (index > impls.size()) { logger.info("addTrigger; wrong trigger index specified: {}, when size is: {}", index, impls.size());
String order = st.nextToken(); String scope = st.nextToken(); acts.add(new TriggerAction(index, Order.valueOf(order), Scope.valueOf(scope)));
@Override public TriggerAction read(ObjectDataInput in) throws IOException { TriggerAction xAction = new TriggerAction( in.readInt(), Order.values()[in.readInt()], Scope.values()[in.readInt()]); return xAction; }