Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
I have this code:
Import Class org.eclipse.hyades.logging.events.cbe.CommonBaseEvent:event;
...
Policy
{
...
Decision
{
RaiseAlarm(event,"alarmname",...)
}
When the Policy is evaluated, the RaiseAlarm action is created with a [null,"alarmname",...].
An initial analysis demonstrates that Import variables (event) are not considered by the PrimaryExpression, so it throws an SPLException and when the compilation/evaluation of the Decision Block occurs, the expression is actually null.
To change this situation, I've changed the PrimaryExpression.validate and PrimaryExpression.evaluate methods.
In the changed PrimaryExpression validate and evaluate method, I first check for an existing symbol, via symbolExists and if it does, work with it, otherwise try getInstance, and if none of these exists throw symbol does not exist