GitHub user merrimanr opened a pull request:
https://github.com/apache/metron/pull/1080
METRON-1635: Alerts UI status update doesn't immediately show up
## Contributor Comments
This PR changes the behavior of the Alerts UI by applying alert status
updates optimistically. The approach is similar to the change in
https://github.com/apache/metron/pull/1077. I also changed the process of
renaming a metaalert to be optimistic as well since it follows the same
pattern. I'm happy to split that off into a separate PR.
### Changes Included
- Refactored the getData method by moving logic to update an alert to it's
own method.
- Removed the toggleAlertEditor parameter from the getData function. This
should be called separately in my opinion.
- Moved redundant code to a single updateAlertState function
- Updated the alert update process to immediately apply the update to the
UI and revert to the previous state when an update fails.
- Updated the metaalert name update process to immediately apply the update
to the UI and revert to the previous state when an update fails.
### Testing
This has been tested in full dev. Navigate to the Alerts UI and open the
details panel for an alert. Changing the status of an alert should be
reflected in the UI immediately. To test the case of an error being returned
from the back end, I stopped the REST application and then tried to change the
alert status. You should see the alert status change for no more than a split
second before reverting to the previous state. The name change fix can also be
tested this way by creating a metaalert and changing the name.
## Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our [Development
Guidelines](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61332235)
for the complete guide to follow for contributions.
Please refer also to our [Build Verification
Guidelines](https://cwiki.apache.org/confluence/display/METRON/Verifying+Builds?show-miniview)
for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow
these guidelines and ask you to double check the following:
### For all changes:
- [x] Is there a JIRA ticket associated with this PR? If not one needs to
be created at [Metron
Jira](https://issues.apache.org/jira/browse/METRON/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel).
- [x] Does your PR title start with METRON-XXXX where XXXX is the JIRA
number you are trying to resolve? Pay particular attention to the hyphen "-"
character.
- [x] Has your PR been rebased against the latest commit within the target
branch (typically master)?
### For code changes:
- [x] Have you included steps to reproduce the behavior or problem that is
being changed or addressed?
- [x] Have you included steps or a guide to how the change may be verified
and tested manually?
- [x] Have you ensured that the full suite of tests and checks have been
executed in the root metron folder via:
```
mvn -q clean integration-test install &&
dev-utilities/build-utils/verify_licenses.sh
```
- [x] Have you written or updated unit tests and or integration tests to
verify your changes?
- [x] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [x] Have you verified the basic functionality of the build by building
and running locally with Vagrant full-dev environment or the equivalent?
### For documentation related changes:
- [x] Have you ensured that format looks appropriate for the output in
which it is rendered by building and verifying the site-book? If not then run
the following commands and the verify changes via
`site-book/target/site/index.html`:
```
cd site-book
mvn site
```
#### Note:
Please ensure that once the PR is submitted, you check travis-ci for build
issues and submit an update to your PR as soon as possible.
It is also recommended that [travis-ci](https://travis-ci.org) is set up
for your personal repository such that your branches are built there before
submitting a pull request.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/merrimanr/incubator-metron METRON-1635
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/metron/pull/1080.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1080
----
commit 6204911ac6d99d9f2321267b8c947f2682b9f2d7
Author: merrimanr <merrimanr@...>
Date: 2018-06-22T20:25:32Z
initial commit
commit 36b3254a9d50ac7b052e8c7dd7d51f5251f7f5fa
Author: merrimanr <merrimanr@...>
Date: 2018-06-25T21:20:11Z
initial commit
commit b7145ff4591e3ff1da0bfeb5b6f434a5cfce2d2c
Author: merrimanr <merrimanr@...>
Date: 2018-06-25T21:24:07Z
Merge branch 'METRON-1637' into METRON-1635
commit e975d86714bbc74592b5dabbd02994f76e011882
Author: merrimanr <merrimanr@...>
Date: 2018-06-26T13:11:14Z
Merge remote-tracking branch 'mirror/master' into METRON-1635
----
---