Я пытаюсь создать оператор EPL, который покажет, возможен ли заказ.Напишите запрос и пользовательскую функцию в Esper
Существует два события, EventA (обработано) и EventB (не обработано).
создать схему EventA (тип string, percentCompleted integer);
создать схему EventB (строка типа);
Оператор должен соответствовать всем обработанным элементам в зависимости от типа (строки) элемента. Результат должен содержать логическое значение, которое указывает, должен ли обрабатываться заказ или нет.
У меня есть утверждение, приведенное ниже, чтобы вернуть true при успешном совпадении (и заказ может быть помещен). Тем не менее, я также хотел бы вернуть ложь, когда заказ не может быть помещен.
Дело здесь испытывались:
http://esper-epl-tryout.appspot.com/epltryout/mainform.html
create schema EventA(type string, percentCompleted integer);
create schema EventB(type string);
@Name('Out') select * from pattern [every a=EventA -> every b=EventB(a.type = b.type AND a.percentCompleted > 20) ]
Последовательность:
EventA={type="1",percentCompleted=0}
EventA={type="2",percentCompleted=0}
EventA={type="1",percentCompleted=20}
EventA={type="1",percentCompleted=40}
EventB={type="1"}
Результат: (только возвращает истинный результат):
Out-output={a={EventA={type='1', percentCompleted=40}}, b={EventB={type='1'}}}
Я хочу, чтобы мое заявление, чтобы вернуться ИСТИНА и «тип» вместо всего результата и также я хочу, чтобы запрос возвращал FALSE и «type», когда a.percentCompleted < 20.
Да, идея состоит в том, чтобы каждый раз становиться ложным. На самом деле, я немного смущен, не могли бы вы указать запрос на этот случай. – Umer
«EPSatate cepStatement1 = cepAdm.createEPL (« выберите * из рисунка [каждый a = EventA -> каждый b = EventB (a.type = b.type AND a.percentCompleted> 20)] "); cepStatement1.addListener (новый CEPListener1());» ------------------------------------------------- --- EPSatate cepStatement2 = cepAdm.createEPL («выберите * из рисунка [каждый a = EventA -> b = EventB (a.type = b.type AND a.percentCompleted <= 20)]"); cepStatement2.addListener (новый CEPListener2()); ------------------------------------------------- ------------- Является ли это прекрасным ???? – Umer
И как я могу проверить только последнее значение EventA, а не все предыдущие. – Umer