Echtzeitsysteme / Echtzeitsysteme/gips
[BUG] Automatic update after Rule application destroys valid mappings
- Dominant language
- Java
- Stars
- 7
- Forks
- 4
- Avg merge
- 5d 11h
- Merged PRs (30d)
- 10
Description
Using the automatic update before rule application of non-zero mappings might (a) invalidate matches belonging to other rules, or (b) destroy/reset valid mappings and their variables.
- E.g.: ` gipsApi.getSomeMapping().applyNonZeroMappings();
gipsApi.getSomeMapping2().applyNonZeroMappings();
gipsApi.getSomeMapping3().applyNonZeroMappings();`
Without any parameter the applyNonZeroMappings-Method will update all matches/mappings prior to applying a rule.
In this example, running `getSomeMapping2().applyNonZeroMappings()` might destroy mappings of `SomeMapping3` which is applied afterwards.
As a temporary fix, always use `applyNonZeroMappings(false)` to prevent any weird behaviour.
- In the future, we should warn users whenever a rule application on a valid and non-zero mapping destroys a valid and non-zero mapping of another rule.
- More importantly: Unrelated mappings should not be destroyed / reset by a simple update-call.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.