}
final int[] listeners = levelData[levelIdx].getFunctions();
for (int l = 0; l < listeners.length; l++)
{
final Expression expression = expressions[listeners[l]];
if (deepTraversing && expression.isDeepTraversing() == false)
{
continue;
}
final ExpressionRuntime oldRuntime = expression.getRuntime();
expression.setRuntime(runtime);
final Function e = (Function) expression;
try
{
e.reportInitialized(event);
final String name = expression.getName();
if (name != null)
{
chEvent.setColumnName(name);
chEvent.setColumnValue(expression.getValue());
masterRow.dataRowChanged(chEvent);
}
}
catch (Exception ex)
{
if (ExpressionDataRow.logger.isDebugEnabled())
{
ExpressionDataRow.logger.error("Failed to fire report-initialized event", ex);
}
else
{
ExpressionDataRow.logger.error("Failed to fire report-initialized event: " + ex);
}
addError(ex);
}
expression.setRuntime(oldRuntime);
}
}
}