epsilon icon indicating copy to clipboard operation
epsilon copied to clipboard

Record rules during profiling of ETL scripts (fixes #51)

Open agarciadom opened this issue 1 year ago • 5 comments

This PR is to fix issue #51. The problem was that the RuleProfiler never gets to screen a TransformationRule, because its executeSuperRulesAndBody method directly executes the body StatementBlock so the TransformationRule never goes through the preExecute and postExecute methods of the execution controller.

I have moved the place from which the body is run: TransformationRule now implements IExecutableModuleElementParameter, and the executeSuperRulesAndBody method sets everything up and then puts the TransformationRule through the execution controller as usual.

I also had to modify the ExecutionProfiler, as it assumed that you would never nest rule executions. Turns out this is wrong: an ETL rule can trigger a lazy ETL rule, for instance (or you could use the satisfies(...) operation in EVL).

This pull request is only a draft for now, since I'd like for someone else to look at this and tell me if the approach is correct before I start adding automated tests for it. @kolovos, could you give it a look?

agarciadom avatar Sep 11 '23 18:09 agarciadom