Skip to content
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

Conversation

kkarakas
Copy link
Collaborator

@kkarakas kkarakas commented May 1, 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.

Copy link
Collaborator

@johnbrvc johnbrvc left a 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.

@johnbrvc johnbrvc added this to the 9.11.0 milestone May 3, 2024
@kkarakas kkarakas changed the title I 423 dynamically update shadow compare runs table I 423, I 765 dynamically update shadow compare runs table, show only missmatched runs May 3, 2024
Comment on lines 453 to 460
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
shadowController.setFilter(FILTERS.ONLY_MISSMATCH);
}
else {
shadowController.setFilter(FILTERS.NONE);
}
}
Copy link
Collaborator

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".

Copy link
Collaborator Author

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.

Copy link
Collaborator

@johnbrvc johnbrvc left a 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.

Copy link
Collaborator

@johnbrvc johnbrvc left a 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.

Copy link
Collaborator

@johnbrvc johnbrvc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

Copy link
Collaborator

@SamanwaySadhu SamanwaySadhu left a 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.

@johnbrvc
Copy link
Collaborator

johnbrvc commented May 7, 2024

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.)

@johnbrvc johnbrvc merged commit 8576509 into pc2ccs:develop May 7, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants