{"action":"created","issue":{"url":"https://api.github.com/repos/codice/ddf/issues/2935","repository_url":"https://api.github.com/repos/codice/ddf","labels_url":"https://api.github.com/repos/codice/ddf/issues/2935/labels{/name}","comments_url":"https://api.github.com/repos/codice/ddf/issues/2935/comments","events_url":"https://api.github.com/repos/codice/ddf/issues/2935/events","html_url":"https://github.com/codice/ddf/pull/2935","id":294636587,"number":2935,"title":"DDF-3605 Adds ability to modify CSW transactions before they run","user":{"login":"mojogitoverhere","id":8922441,"avatar_url":"https://avatars2.githubusercontent.com/u/8922441?v=4","gravatar_id":"","url":"https://api.github.com/users/mojogitoverhere","html_url":"https://github.com/mojogitoverhere","followers_url":"https://api.github.com/users/mojogitoverhere/followers","following_url":"https://api.github.com/users/mojogitoverhere/following{/other_user}","gists_url":"https://api.github.com/users/mojogitoverhere/gists{/gist_id}","starred_url":"https://api.github.com/users/mojogitoverhere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mojogitoverhere/subscriptions","organizations_url":"https://api.github.com/users/mojogitoverhere/orgs","repos_url":"https://api.github.com/users/mojogitoverhere/repos","events_url":"https://api.github.com/users/mojogitoverhere/events{/privacy}","received_events_url":"https://api.github.com/users/mojogitoverhere/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"millerw8","id":4419422,"avatar_url":"https://avatars3.githubusercontent.com/u/4419422?v=4","gravatar_id":"","url":"https://api.github.com/users/millerw8","html_url":"https://github.com/millerw8","followers_url":"https://api.github.com/users/millerw8/followers","following_url":"https://api.github.com/users/millerw8/following{/other_user}","gists_url":"https://api.github.com/users/millerw8/gists{/gist_id}","starred_url":"https://api.github.com/users/millerw8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/millerw8/subscriptions","organizations_url":"https://api.github.com/users/millerw8/orgs","repos_url":"https://api.github.com/users/millerw8/repos","events_url":"https://api.github.com/users/millerw8/events{/privacy}","received_events_url":"https://api.github.com/users/millerw8/received_events","type":"User","site_admin":false},"assignees":[{"login":"millerw8","id":4419422,"avatar_url":"https://avatars3.githubusercontent.com/u/4419422?v=4","gravatar_id":"","url":"https://api.github.com/users/millerw8","html_url":"https://github.com/millerw8","followers_url":"https://api.github.com/users/millerw8/followers","following_url":"https://api.github.com/users/millerw8/following{/other_user}","gists_url":"https://api.github.com/users/millerw8/gists{/gist_id}","starred_url":"https://api.github.com/users/millerw8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/millerw8/subscriptions","organizations_url":"https://api.github.com/users/millerw8/orgs","repos_url":"https://api.github.com/users/millerw8/repos","events_url":"https://api.github.com/users/millerw8/events{/privacy}","received_events_url":"https://api.github.com/users/millerw8/received_events","type":"User","site_admin":false},{"login":"bdeining","id":6551038,"avatar_url":"https://avatars2.githubusercontent.com/u/6551038?v=4","gravatar_id":"","url":"https://api.github.com/users/bdeining","html_url":"https://github.com/bdeining","followers_url":"https://api.github.com/users/bdeining/followers","following_url":"https://api.github.com/users/bdeining/following{/other_user}","gists_url":"https://api.github.com/users/bdeining/gists{/gist_id}","starred_url":"https://api.github.com/users/bdeining/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdeining/subscriptions","organizations_url":"https://api.github.com/users/bdeining/orgs","repos_url":"https://api.github.com/users/bdeining/repos","events_url":"https://api.github.com/users/bdeining/events{/privacy}","received_events_url":"https://api.github.com/users/bdeining/received_events","type":"User","site_admin":false}],"milestone":null,"comments":20,"created_at":"2018-02-06T05:27:07Z","updated_at":"2018-02-15T19:07:14Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/codice/ddf/pulls/2935","html_url":"https://github.com/codice/ddf/pull/2935","diff_url":"https://github.com/codice/ddf/pull/2935.diff","patch_url":"https://github.com/codice/ddf/pull/2935.patch"},"body":"#### What does this PR do?\r\nAdds ability to transform CSW transactions (`UpdateAction`, `InsertAction`, and `DeleteAction`) before they are run. This is done through a new `CswActionTransformer` interface and a `CswActionTransformerProvider`, which determines which implementation of `CswActionTransformer` to use based on the typename or qname. Currently, there are no implementing classes of `CswActionTransformer` so the `*Action` objects do not get modified.\r\n#### Who is reviewing it? \r\n@adimka @brianfelix @glenhein @mackncheesiest @GabrielFabian @Variadicism @dcruver @troymohl \r\n(please choose AT LEAST two reviewers that need to approve the PR before it can get merged)\r\n#### Select relevant component teams: \r\nhttps://github.com/orgs/codice/teams\r\n#### Choose 2 committers to review/merge the PR. \r\n(please choose ONLY two committers from below, delete the rest)\r\n@bdeining\r\n@millerw8\r\n#### How should this be tested? (List steps with links to updated documentation)\r\nFull build.\r\n#### Any background context you want to provide?\r\n#### What are the relevant tickets?\r\n[DDF-3605](https://codice.atlassian.net/browse/DDF-3605)\r\n#### Screenshots (if appropriate)\r\n#### Checklist:\r\n- [ ] Documentation Updated\r\n- [x] Update / Add Unit Tests\r\n- [ ] Update / Add Integration Tests\r\n\r\n#### Notes on Review Process\r\nPlease see [Notes on Review Process](https://codice.atlassian.net/wiki/spaces/DDF/pages/71946981/Pull+Request+Guidelines) for further guidance on requirements for merging and abbreviated reviews. \r\n\r\n#### Review Comment Legend:\r\n- ✏️ (Pencil) This comment is a nitpick or style suggestion, no action required for approval. This comment should provide a suggestion either as an in line code snippet or a gist. \r\n- ❓ (Question Mark) This comment is to gain a clearer understanding of design or code choices, clarification is required but action may not be necessary for approval.\r\n- ❗ (Exclamation Mark) This comment is critical and requires clarification or action before approval.\r\n"},"comment":{"url":"https://api.github.com/repos/codice/ddf/issues/comments/366029345","html_url":"https://github.com/codice/ddf/pull/2935#issuecomment-366029345","issue_url":"https://api.github.com/repos/codice/ddf/issues/2935","id":366029345,"user":{"login":"codice-bot","id":28742502,"avatar_url":"https://avatars1.githubusercontent.com/u/28742502?v=4","gravatar_id":"","url":"https://api.github.com/users/codice-bot","html_url":"https://github.com/codice-bot","followers_url":"https://api.github.com/users/codice-bot/followers","following_url":"https://api.github.com/users/codice-bot/following{/other_user}","gists_url":"https://api.github.com/users/codice-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codice-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codice-bot/subscriptions","organizations_url":"https://api.github.com/users/codice-bot/orgs","repos_url":"https://api.github.com/users/codice-bot/repos","events_url":"https://api.github.com/users/codice-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codice-bot/received_events","type":"User","site_admin":false},"created_at":"2018-02-15T19:07:14Z","updated_at":"2018-02-15T19:07:14Z","author_association":"COLLABORATOR","body":"SonarQube analysis reported 9 issues\n* ![MAJOR][MAJOR] 9 major\n\nWatch the comments in this conversation to review them.\n\n#### 6 extra issues\n\nNote: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:\n\n1. ![MAJOR][MAJOR] [CswEndpoint.java#L295](https://github.com/codice/ddf/blob/9eca21e045cd443cfd7d1fce793e9d13eec59228/catalog/spatial/csw/spatial-csw-endpoint/src/main/java/org/codice/ddf/spatial/ogc/csw/catalog/endpoint/CswEndpoint.java#L295): String contains no format specifiers. [![rule](https://sonarsource.github.io/sonar-github/rule.png)](https://sonarcloud.io/coding_rules#rule_key=squid%3AS3457)\n1. ![MAJOR][MAJOR] [CswEndpoint.java#L308](https://github.com/codice/ddf/blob/9eca21e045cd443cfd7d1fce793e9d13eec59228/catalog/spatial/csw/spatial-csw-endpoint/src/main/java/org/codice/ddf/spatial/ogc/csw/catalog/endpoint/CswEndpoint.java#L308): String contains no format specifiers. [![rule](https://sonarsource.github.io/sonar-github/rule.png)](https://sonarcloud.io/coding_rules#rule_key=squid%3AS3457)\n1. ![MAJOR][MAJOR] [CswEndpoint.java#L320](https://github.com/codice/ddf/blob/9eca21e045cd443cfd7d1fce793e9d13eec59228/catalog/spatial/csw/spatial-csw-endpoint/src/main/java/org/codice/ddf/spatial/ogc/csw/catalog/endpoint/CswEndpoint.java#L320): String contains no format specifiers. [![rule](https://sonarsource.github.io/sonar-github/rule.png)](https://sonarcloud.io/coding_rules#rule_key=squid%3AS3457)\n1. ![MAJOR][MAJOR] [CswEndpoint.java#L330](https://github.com/codice/ddf/blob/9eca21e045cd443cfd7d1fce793e9d13eec59228/catalog/spatial/csw/spatial-csw-endpoint/src/main/java/org/codice/ddf/spatial/ogc/csw/catalog/endpoint/CswEndpoint.java#L330): String contains no format specifiers. [![rule](https://sonarsource.github.io/sonar-github/rule.png)](https://sonarcloud.io/coding_rules#rule_key=squid%3AS3457)\n1. ![MAJOR][MAJOR] [CswEndpoint.java#L394](https://github.com/codice/ddf/blob/9eca21e045cd443cfd7d1fce793e9d13eec59228/catalog/spatial/csw/spatial-csw-endpoint/src/main/java/org/codice/ddf/spatial/ogc/csw/catalog/endpoint/CswEndpoint.java#L394): String contains no format specifiers. [![rule](https://sonarsource.github.io/sonar-github/rule.png)](https://sonarcloud.io/coding_rules#rule_key=squid%3AS3457)\n1. ![MAJOR][MAJOR] [CswEndpoint.java#L430](https://github.com/codice/ddf/blob/9eca21e045cd443cfd7d1fce793e9d13eec59228/catalog/spatial/csw/spatial-csw-endpoint/src/main/java/org/codice/ddf/spatial/ogc/csw/catalog/endpoint/CswEndpoint.java#L430): String contains no format specifiers. [![rule](https://sonarsource.github.io/sonar-github/rule.png)](https://sonarcloud.io/coding_rules#rule_key=squid%3AS3457)\n\n[MAJOR]: https://sonarsource.github.io/sonar-github/severity-major.png 'Severity: MAJOR'"}}
{"actor":{"display_login":"codice-bot"}}