Summary

This block is used to test a condition on a target and to split it in two artifacts.

It's different from the If block in the way it plays only on the artifacts it creates and doesn't divide the flow in two sub-flows (as you can see there is only one topic).

 

Implementation

  • Drag and drop the block from the palette
  • Link the "execute" action from the "executed" topic of the previous block

 

Example

This block here is used to test whether the alarm classes of a point match with the subsystem it's assigned to (by their name).

  • If it matches, nothing happens (the true artifact is not used in this example).
  • If it doesn't match, the false artifact is created with the ones that don't match (= alarmSourceExts) and forwarded to next blocks.


 

 

 Properties

  • Artifacts: created from the test on the target and the given parameter. The target will be split in two artifacts
    • False: The target elements that don't match the condition
    • True: The target elements that match the condition
  • TargetSFormat to define the first parameter of the condition. Ex: it selects the tag "b:createUser" (which is a boolean) on the origin
  • ToString: SFormat to define which string should be tested
  • Operator { Exists, Equals, NotEquals, Like }: To define how tested value and the parameter should be compared. Both parameters are reduced as a String before being compared.
    • Exists: Checks that the value exists. The parameter is useless in this case
    • Equals: Checks that both parameters are equal
    • NotEquals: Checks that both parameters are different
    • Like: Checks that the first value is like a pattern described in the parameter. Wildcards * can be used (it's not a regex as with NEQL queries). Ex: Building*


Behavior: DO & UNDO

Condition is valid, the element will go through the true artifact otherwise to the false one.