Skip to content
This repository has been archived by the owner on Apr 14, 2023. It is now read-only.

beforeField and afterField relations do not work with equalTo or Whitelists #1489

Open
pdaulbyscottlogic opened this issue Oct 23, 2019 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@pdaulbyscottlogic
Copy link
Contributor

pdaulbyscottlogic commented Oct 23, 2019

Bug Report

When attempting to use a beforeField or afterField relation on fields with inSet constraints the following error is returned:
java.lang.UnsupportedOperationException: cannot combine sets with <before|after> relation, Issue #1489
Some discussion of this from #1571 repeated below:

Before/after are more complicated, as theoretically each of the values
must be translated to a range. This therefore means the result is a set
of restrictions. Unfortunately, the system isn't designed to be passing
around a set of restrictions at this time in the program. Therefore,
this will take further thought.

A possible solution is to take the most restrictive of the values. This
would ensure that whichever values are picked are permissable, but would
severely limit the number of values output.

@pdaulbyscottlogic pdaulbyscottlogic changed the title before and after relations do not work with equalTo or Whitelists before and after, and equalToOffset relations do not work with equalTo or Whitelists Oct 23, 2019
@willsalt-sl willsalt-sl added bug Something isn't working enhancement Issues related to improving the codebase, the documentation or process within the project and removed bug Something isn't working labels Nov 18, 2019
@cdowding-sl cdowding-sl added bug Something isn't working and removed enhancement Issues related to improving the codebase, the documentation or process within the project labels Nov 18, 2019
@cdowding-sl cdowding-sl added this to Unprioritised in Version 1 via automation Nov 18, 2019
@cdowding-sl cdowding-sl moved this from Unprioritised to In progress in Version 1 Nov 18, 2019
@cdowding-sl cdowding-sl self-assigned this Nov 18, 2019
@cdowding-sl cdowding-sl moved this from In progress to Ready in Version 1 Nov 18, 2019
@cdowding-sl cdowding-sl moved this from Ready to To discuss in Version 1 Nov 18, 2019
r-stuart pushed a commit that referenced this issue Dec 2, 2019
Partial fix for the ticket #1489. This fixes the equal to case, but
doesn't address the before or after cases.

The reason for a partial fix is due to the difficulty comparing the two
different cases (equal vs before/after).

Equal to is simple because all of the values can be adjusted by the
offset, translating a set of values to a set of values.

Before/after are more complicated, as theoretically each of the values
must be translated to a range. This therefore means the result is a set
of restrictions. Unfortunately, the system isn't designed to be passing
around a set of restrictions at this time in the program. Therefore,
this will take further thought.

A possible solution is to take the most restrictive of the values. This
would ensure that whichever values are picked are permissable, but would
severely limit the number of values output.
r-stuart pushed a commit that referenced this issue Dec 2, 2019
Partial fix for the ticket #1489. This fixes the equal to case, but
doesn't address the before or after cases.

The reason for a partial fix is due to the difficulty comparing the two
different cases (equal vs before/after).

Equal to is simple because all of the values can be adjusted by the
offset, translating a set of values to a set of values.

Before/after are more complicated, as theoretically each of the values
must be translated to a range. This therefore means the result is a set
of restrictions. Unfortunately, the system isn't designed to be passing
around a set of restrictions at this time in the program. Therefore,
this will take further thought.

A possible solution is to take the most restrictive of the values. This
would ensure that whichever values are picked are permissable, but would
severely limit the number of values output.
r-stuart pushed a commit that referenced this issue Dec 3, 2019
Partial fix for the ticket #1489. This fixes the equal to case, but
doesn't address the before or after cases.

The reason for a partial fix is due to the difficulty comparing the two
different cases (equal vs before/after).

Equal to is simple because all of the values can be adjusted by the
offset, translating a set of values to a set of values.

Before/after are more complicated, as theoretically each of the values
must be translated to a range. This therefore means the result is a set
of restrictions. Unfortunately, the system isn't designed to be passing
around a set of restrictions at this time in the program. Therefore,
this will take further thought.

A possible solution is to take the most restrictive of the values. This
would ensure that whichever values are picked are permissable, but would
severely limit the number of values output.
r-stuart pushed a commit that referenced this issue Dec 3, 2019
Partial fix for the ticket #1489. This fixes the equal to case, but
doesn't address the before or after cases.

The reason for a partial fix is due to the difficulty comparing the two
different cases (equal vs before/after).

Equal to is simple because all of the values can be adjusted by the
offset, translating a set of values to a set of values.

Before/after are more complicated, as theoretically each of the values
must be translated to a range. This therefore means the result is a set
of restrictions. Unfortunately, the system isn't designed to be passing
around a set of restrictions at this time in the program. Therefore,
this will take further thought.

A possible solution is to take the most restrictive of the values. This
would ensure that whichever values are picked are permissable, but would
severely limit the number of values output.
r-stuart pushed a commit that referenced this issue Dec 3, 2019
Partial fix for the ticket #1489. This fixes the equal to case, but
doesn't address the before or after cases.

The reason for a partial fix is due to the difficulty comparing the two
different cases (equal vs before/after).

Equal to is simple because all of the values can be adjusted by the
offset, translating a set of values to a set of values.

Before/after are more complicated, as theoretically each of the values
must be translated to a range. This therefore means the result is a set
of restrictions. Unfortunately, the system isn't designed to be passing
around a set of restrictions at this time in the program. Therefore,
this will take further thought.

A possible solution is to take the most restrictive of the values. This
would ensure that whichever values are picked are permissable, but would
severely limit the number of values output.
r-stuart added a commit that referenced this issue Dec 3, 2019
fix(#1489): Fix equal to offset for whitelist
@sl-slaing
Copy link
Contributor

@d-withers could you check to see if this is still an issue - if not can you close it off please.

@sl-slaing sl-slaing assigned d-withers and unassigned cdowding-sl Jan 31, 2020
@d-withers
Copy link
Contributor

Confirmed this is still an issue -- there is a hardcoded error tagging this bug when attempting this (java.lang.UnsupportedOperationException: cannot combine sets with before/after relation, Issue #1489). Looks like the equalToOffset case was fixed in #1571 but the before/after cases were not. I'll update the ticket description.

@d-withers d-withers changed the title before and after, and equalToOffset relations do not work with equalTo or Whitelists beforeField and afterField relations do not work with equalTo or Whitelists Jan 31, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
Product roadmap
  
Approved
Version 1
  
To discuss
Development

No branches or pull requests

5 participants