Echtzeitsysteme / Echtzeitsysteme/gips

[BUG] Automatic update after Rule application destroys valid mappings

Open
#118 0 comments 1 reaction 1 assignee Claimed by @arg0n1s View on GitHub
bug
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.