public SiddhiApp defineTrigger(TriggerDefinition triggerDefinition) { if (triggerDefinition == null) { throw new SiddhiAppValidationException("Trigger Definition should not be null"); } else if (triggerDefinition.getId() == null) { throw new SiddhiAppValidationException("Trigger Id should not be null for Trigger Definition", triggerDefinition.getQueryContextStartIndex(), triggerDefinition.getQueryContextEndIndex()); } StreamDefinition streamDefinition = StreamDefinition.id(triggerDefinition.getId()).attribute(SiddhiConstants .TRIGGERED_TIME, Attribute.Type.LONG); streamDefinition.setQueryContextStartIndex(triggerDefinition.getQueryContextStartIndex()); streamDefinition.setQueryContextEndIndex(triggerDefinition.getQueryContextEndIndex()); try { checkDuplicateDefinition(streamDefinition); } catch (DuplicateDefinitionException e) { throw new DuplicateDefinitionException("Trigger '" + triggerDefinition.getId() + "' cannot be defined as," + " " + e.getMessageWithOutContext(), e, triggerDefinition.getQueryContextStartIndex(), triggerDefinition.getQueryContextEndIndex()); } if (triggerDefinitionMap.containsKey(triggerDefinition.getId())) { throw new DuplicateDefinitionException("Trigger Definition with same Id '" + triggerDefinition.getId() + "' already exist '" + triggerDefinitionMap.get( triggerDefinition.getId()) + "', hence cannot add '" + triggerDefinition + "'", triggerDefinition.getQueryContextStartIndex(), triggerDefinition.getQueryContextEndIndex()); } this.triggerDefinitionMap.put(triggerDefinition.getId(), triggerDefinition); this.streamDefinitionMap.put(streamDefinition.getId(), streamDefinition); return this; }
public static TriggerDefinition id(String id) { return new TriggerDefinition(id); }
public static String getTriggerDefinitionString(TriggerDefinition triggerDefinition){ StringBuilder builder = new StringBuilder(); builder.append(EventProcessorConstants.DEFINE_TRIGGER); builder.append(triggerDefinition.getId()); Long atEvery = triggerDefinition.getAtEvery(); if (atEvery != null){ builder.append(EventProcessorConstants.TRIGGER_AT_EVERY); builder.append(atEvery/1000); // All time units are in milliseconds in trigger definition object. Convert it into seconds builder.append(EventProcessorConstants.SECOND); } else{ builder.append(EventProcessorConstants.TRIGGER_AT); builder.append("'" + triggerDefinition.getAt() + "'"); } builder.append(EventProcessorConstants.SEMICOLEN); return builder.toString(); }
/** * {@inheritDoc} * <p>The default implementation returns the result of calling * {@link #visitChildren} on {@code ctx}.</p> * * @param ctx */ @Override public Object visitDefinition_trigger(@NotNull SiddhiQLParser.Definition_triggerContext ctx) { TriggerDefinition triggerDefinition = TriggerDefinition.id((String) visitTrigger_name(ctx.trigger_name())); if (ctx.time_value() != null) { triggerDefinition.atEvery(visitTime_value(ctx.time_value()).value()); } else { triggerDefinition.at(visitString_value(ctx.string_value()).getValue()); } populateQueryContext(triggerDefinition, ctx); return triggerDefinition; }
String criteria = ""; String criteriaType = ""; if (triggerDefinition.getAtEvery() != null) { criteria = "every " + ConfigBuildingUtilities.getDefinition(triggerDefinition, siddhiAppString) .split(EVERY_SPLIT_KEYWORD)[1]; criteriaType = SiddhiCodeBuilderConstants.EVERY; } else if (triggerDefinition.getAt() != null) { criteria = triggerDefinition.getAt(); criteriaType = SiddhiCodeBuilderConstants.AT; triggerDefinition.getId(), triggerDefinition.getId(), criteria, criteriaType, annotationConfigGenerator .generateAnnotationConfigList( getTriggerStream(triggerDefinition.getId()).getAnnotations())); preserveCodeSegmentsOf(annotationConfigGenerator); preserveAndBindCodeSegment(triggerDefinition, triggerConfig);
public SiddhiApp defineTrigger(TriggerDefinition triggerDefinition) { if (triggerDefinition == null) { throw new SiddhiAppValidationException("Trigger Definition should not be null"); } else if (triggerDefinition.getId() == null) { throw new SiddhiAppValidationException("Trigger Id should not be null for Trigger Definition", triggerDefinition.getQueryContextStartIndex(), triggerDefinition.getQueryContextEndIndex()); } StreamDefinition streamDefinition = StreamDefinition.id(triggerDefinition.getId()).attribute(SiddhiConstants .TRIGGERED_TIME, Attribute.Type.LONG); streamDefinition.setQueryContextStartIndex(triggerDefinition.getQueryContextStartIndex()); streamDefinition.setQueryContextEndIndex(triggerDefinition.getQueryContextEndIndex()); try { checkDuplicateDefinition(streamDefinition); } catch (DuplicateDefinitionException e) { throw new DuplicateDefinitionException("Trigger '" + triggerDefinition.getId() + "' cannot be defined as," + " " + e.getMessageWithOutContext(), e, triggerDefinition.getQueryContextStartIndex(), triggerDefinition.getQueryContextEndIndex()); } if (triggerDefinitionMap.containsKey(triggerDefinition.getId())) { throw new DuplicateDefinitionException("Trigger Definition with same Id '" + triggerDefinition.getId() + "' already exist '" + triggerDefinitionMap.get( triggerDefinition.getId()) + "', hence cannot add '" + triggerDefinition + "'", triggerDefinition.getQueryContextStartIndex(), triggerDefinition.getQueryContextEndIndex()); } this.triggerDefinitionMap.put(triggerDefinition.getId(), triggerDefinition); this.streamDefinitionMap.put(streamDefinition.getId(), streamDefinition); return this; }
public static TriggerDefinition id(String id) { return new TriggerDefinition(id); }