[Complex Event Processing (CEP) - Proactive Technology Online] PROTON : bug in EPA event derivation

aprojanos at gmail.com aprojanos at gmail.com
Thu Sep 10 14:29:12 CEST 2015


Janos Apro sent a message using the contact form at
http://catalogue.fiware.org/.

1. There is a bug with EPA derived event saving, sometimes we get different
settings after reloading the page - I noticed that while creating multiple
derived events inside one EPA.
2. I have the following definition for EPA:

              {
                  "name": "Treatment",
                  "createdDate": "Thu Sep 10 2015",
                  "epaType": "Basic",
                  "context": "TContext",
                  "inputEvents": [
                      {
                          "name": "OsmatranjeContextUpdate",
                          "alias": "osmatranje",
                          "consumptionPolicy": "Consume",
                          "instanceSelectionPolicy": "First"
                      }
                  ],
                  "computedVariables": [],
                  "evaluationPolicy": "Immediate",
                  "cardinalityPolicy": "Single",
                  "internalSegmentation": [],
                  "derivedEvents": [
                      {
                          "name": "TreatmentAlert",
                          "condition": "osmatranje.stetocina_id = 22 or
osmatranje.stetocina_id = 29 or osmatranje.stetocina_id = 30 or
osmatranje.stetocina_id = 36",
                          "reportParticipants": false,
                          "expressions": {
                              "Duration": "0",
                              "mesto_id": "osmatranje.mesto_id",
                              "stetocina_id": "osmatranje.stetocina_id",
                              "level": "if osmatranje.vrednost > 100 then 2
else 0 endif",
                              "entityId": "osmatranje.mesto_id ++ \"-\" ++
osmatranje.stetocina_id",
                              "entityType": "\"TreatmentAlert\""
                          }
                      },
                      {
                          "name": "TreatmentAlert",
                          "condition": "osmatranje.stetocina_id = 13",
                          "reportParticipants": false,
                          "expressions": {
                              "Duration": "0",
                              "mesto_id": "osmatranje.mesto_id",
                              "stetocina_id": "osmatranje.stetocina_id",
                              "level": "if (osmatranje.vrednost >=5 and
osmatranje.vrednost <=8) then 1 elseif osmatranje.vrednost > 8 then 2 else 0
endif",
                              "entityId": "osmatranje.mesto_id ++ \"-\" ++
osmatranje.stetocina_id",
                              "entityType": "\"TreatmentAlert\""
                          }
                      }
                  ],
                  "derivedActions": []
              }
          ],
The rule for "level" calculation depends on "stetocina_id".
If I send the request:
{"Name" : "OsmatranjeContextUpdate", "stetocina_id" : "36", "mesto_id" :
"20034", "vrednost" : "6"}

I expect to use the 1st rule, and "level" should be 0, but it uses the 2nd
rule and I get 1.

We are using the CEP VM from from FIWARE cloud, we can provide its public IP
address if necessary. The CEP is connected with Orion which has also a public
IP, it is possible to query the alert in Orion.

Best regards,
Janos




More information about the Fiware-tech-help mailing list

You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy   Cookies policy