bugfix: Ensure Vertex Source Selectors are recursive. feat: Add getters for recursive. #380
Conversation
|
Hier ein konkretes Beispiel für den WebEditor wo das Fehlen des rekursiven Verhaltens mMn keine Violation anzeigt, obwohl der zweite Knoten eigentlich eine haben sollte: |
|
In general, most selectors should not act recursively. Therefore, if you desire the behavior, you should create the selectors manually and add them to the constraint you are building. |
|
So it is intended that these two constraints have the same semantics? If so, can I alter the pull request to include the getters at least? |
Yes, the Semantics are the same. The getters should have been there in the first place, so that is fine |
|
Are you really sure though? Because normal VertexCharacteristicsSelectors and VertexTypeSelectors are recursive when used as Source Selectors, while they are not when used as Destination Selectors . I think it would be intuitive that the recursion behavior is the same, irrespective of the concrete Entities they match on. If all Source Selectors are never meant to be recursive, the question of why recursion does even exist arises. Therefore I think these flags where just forgotten when writing the two methods I included in my pull request. If you are really sure I can stash those changes though. |
|
@niki21r Entenwilli created the DSL. If he says it is not intended you can take his word. |
…some cases." This reverts commit c9ca4ca.
|
Alright, I reverted the respective commit so this pull request now only contains the Getters |
This Pull request covers two things:
First it fixes a bug where some Vertex Selectors were not recursive, even if they were used as a Source Selector. According to my understanding all Vertex Selectors that are Source Selectors should be recursive.
Secondly it introduces getters for the recursive boolean to Vertex Selectors that could be recursive. These getters could be used for tests. I now also need them for proper encoding of confidentiality constraints for my thesis. Previously I decided on recursive or non-recursive semantics for a selector depending on whether it was a Source or Destination Selector. However since bugs like the one I suspect here could happen because of this I want direct access to the selectors instead.