-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I 423, I 765 dynamically update shadow compare runs table, show only missmatched runs #958
I 423, I 765 dynamically update shadow compare runs table, show only missmatched runs #958
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks real good. Very comprehensive error handling and logging. Clean implementation. Aside from the minor in-line comments, I think it's good.
…amically_update_shadow_compare_runs_table
public void itemStateChanged(ItemEvent e) { | ||
if (e.getStateChange() == ItemEvent.SELECTED) { | ||
shadowController.setFilter(FILTERS.ONLY_MISSMATCH); | ||
} | ||
else { | ||
shadowController.setFilter(FILTERS.NONE); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps perform a "refresh" here if the box is checked/unchecked, so it updates right away. I clicked it, and nothing happened until I manually pressed "Refresh".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As you have said, users expect update immediately after checking/unchecking mismatch box. However putting refreshing there could be unexpected for the users as well as it doesn't explicitly state that it will refresh. I think a better way to do is to either maintain two tables that get swapped or to create a filtered version every time only mismatched is toggled. First suggestion could be problematic because if a judgement get resolved, I don't know how it will appear on the other table.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look good. After these changes it can be approved.
2 line button/checkbox panel looks good. It's much easier to read how you have it now on separate lines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Just a couple of style/cosmetic changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only did Review of Code. Did not run and check functionality.
This is OK; it is very tough and elaborate to set up a test bed for this. We tested this on a live contest (the Eindhoven First Year contest on 5/4/2024.) |
Description of what the PR does
adds dynamically refresh panel that contains text field for user to enter time. Table will refresh every given time. Checks for disallowing user to enter illegal values to text field has been implemented as well.
Issue which the PR addresses
fixes #423
fixes #765
Environment in which the PR was developed (OS,IDE, Java version, etc.)
Windows 11, Eclipse 2021-12 R, JDK 8u381 (1.8)
Precise steps for testing the PR (i.e., how to demonstrate that it works correctly)
From event feeder select shadow mode. Start the contest (from admin) and press start shadowing. Click compare run. Observe there is a new checkbox and text field at bottom left corner. Try entering illegal values. Notice it will not allow or throw an JOptionPane warning. Click the checkbox to activate auto refresh after inputting time. Observe table auto refreshes.