{"action":"created","comment":{"url":"https://api.github.com/repos/Talend/data-prep/pulls/comments/126365421","pull_request_review_id":48841018,"id":126365421,"diff_hunk":"@@ -442,7 +443,7 @@ public void delete(String id) {\n      * @return the updated preparation id.\n      */\n     public String update(String id, final Preparation preparation) {","path":"dataprep-preparation/src/main/java/org/talend/dataprep/preparation/service/PreparationService.java","position":11,"original_position":11,"commit_id":"edf68b13a5b32de192297a0d602de70b005339b2","original_commit_id":"edf68b13a5b32de192297a0d602de70b005339b2","user":{"login":"fhuaulme","id":2669101,"avatar_url":"https://avatars3.githubusercontent.com/u/2669101?v=3","gravatar_id":"","url":"https://api.github.com/users/fhuaulme","html_url":"https://github.com/fhuaulme","followers_url":"https://api.github.com/users/fhuaulme/followers","following_url":"https://api.github.com/users/fhuaulme/following{/other_user}","gists_url":"https://api.github.com/users/fhuaulme/gists{/gist_id}","starred_url":"https://api.github.com/users/fhuaulme/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fhuaulme/subscriptions","organizations_url":"https://api.github.com/users/fhuaulme/orgs","repos_url":"https://api.github.com/users/fhuaulme/repos","events_url":"https://api.github.com/users/fhuaulme/events{/privacy}","received_events_url":"https://api.github.com/users/fhuaulme/received_events","type":"User","site_admin":false},"body":"Can you use javax.validation.Valid ? And add the javax.validation.constraints.NotNull checks on Preparation?","created_at":"2017-07-10T08:51:03Z","updated_at":"2017-07-10T08:51:07Z","html_url":"https://github.com/Talend/data-prep/pull/711#discussion_r126365421","pull_request_url":"https://api.github.com/repos/Talend/data-prep/pulls/711","_links":{"self":{"href":"https://api.github.com/repos/Talend/data-prep/pulls/comments/126365421"},"html":{"href":"https://github.com/Talend/data-prep/pull/711#discussion_r126365421"},"pull_request":{"href":"https://api.github.com/repos/Talend/data-prep/pulls/711"}}},"pull_request":{"url":"https://api.github.com/repos/Talend/data-prep/pulls/711","id":129434800,"html_url":"https://github.com/Talend/data-prep/pull/711","diff_url":"https://github.com/Talend/data-prep/pull/711.diff","patch_url":"https://github.com/Talend/data-prep/pull/711.patch","issue_url":"https://api.github.com/repos/Talend/data-prep/issues/711","number":711,"state":"open","locked":false,"title":"feat(TDP-4136): add basic validation of preparation before save","user":{"login":"hmdebenque","id":19857487,"avatar_url":"https://avatars1.githubusercontent.com/u/19857487?v=3","gravatar_id":"","url":"https://api.github.com/users/hmdebenque","html_url":"https://github.com/hmdebenque","followers_url":"https://api.github.com/users/hmdebenque/followers","following_url":"https://api.github.com/users/hmdebenque/following{/other_user}","gists_url":"https://api.github.com/users/hmdebenque/gists{/gist_id}","starred_url":"https://api.github.com/users/hmdebenque/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hmdebenque/subscriptions","organizations_url":"https://api.github.com/users/hmdebenque/orgs","repos_url":"https://api.github.com/users/hmdebenque/repos","events_url":"https://api.github.com/users/hmdebenque/events{/privacy}","received_events_url":"https://api.github.com/users/hmdebenque/received_events","type":"User","site_admin":false},"body":"When a preparation is directly supplied by the frontend, this adds a basic\r\nvalidation on the preparation object to avoid having null rowMetadata\r\nand then NPE in MetadataChangesOnActionsGenerator.java:73\r\n\r\nhttps://jira.talendforge.org/browse/TDP-4136\r\n\r\n**Please check if the PR fulfills these requirements**\r\n- [x] The commit(s) message(s) follows our [guidelines](https://github.com/talend/tools/blob/master/tools-root-github/CONTRIBUTING.md#commit-message-format)\r\n- [x] Tests for the changes have been added (for bug fixes / features)\r\n- [x] Docs have been added / updated (for bug fixes / features)\r\n- [x] The code coverage on new code is > 75 % for backend and > 95% for frontend\r\n- [x] The new code does not introduce new technical issues (sonar / eslint)\r\n- [ ] Functional tests have been performed\r\n- [ ] Docker configuration files for config-std or config-cloud profiles are impacted\r\n\r\n**Please check the browsers you've tested on**\r\n- [ ] Chrome, Firefox, Safari, Edge, IE11\r\n- [ ] No, that's bad, this PR should not be merged !\r\n- [ ] No, and no need to (backend changes only)\r\n","created_at":"2017-07-07T15:52:10Z","updated_at":"2017-07-10T08:51:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"66adce0d63a97808b155161e4788c9fb13ea6650","assignee":{"login":"hmdebenque","id":19857487,"avatar_url":"https://avatars1.githubusercontent.com/u/19857487?v=3","gravatar_id":"","url":"https://api.github.com/users/hmdebenque","html_url":"https://github.com/hmdebenque","followers_url":"https://api.github.com/users/hmdebenque/followers","following_url":"https://api.github.com/users/hmdebenque/following{/other_user}","gists_url":"https://api.github.com/users/hmdebenque/gists{/gist_id}","starred_url":"https://api.github.com/users/hmdebenque/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hmdebenque/subscriptions","organizations_url":"https://api.github.com/users/hmdebenque/orgs","repos_url":"https://api.github.com/users/hmdebenque/repos","events_url":"https://api.github.com/users/hmdebenque/events{/privacy}","received_events_url":"https://api.github.com/users/hmdebenque/received_events","type":"User","site_admin":false},"assignees":[{"login":"hmdebenque","id":19857487,"avatar_url":"https://avatars1.githubusercontent.com/u/19857487?v=3","gravatar_id":"","url":"https://api.github.com/users/hmdebenque","html_url":"https://github.com/hmdebenque","followers_url":"https://api.github.com/users/hmdebenque/followers","following_url":"https://api.github.com/users/hmdebenque/following{/other_user}","gists_url":"https://api.github.com/users/hmdebenque/gists{/gist_id}","starred_url":"https://api.github.com/users/hmdebenque/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hmdebenque/subscriptions","organizations_url":"https://api.github.com/users/hmdebenque/orgs","repos_url":"https://api.github.com/users/hmdebenque/repos","events_url":"https://api.github.com/users/hmdebenque/events{/privacy}","received_events_url":"https://api.github.com/users/hmdebenque/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/Talend/data-prep/pulls/711/commits","review_comments_url":"https://api.github.com/repos/Talend/data-prep/pulls/711/comments","review_comment_url":"https://api.github.com/repos/Talend/data-prep/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Talend/data-prep/issues/711/comments","statuses_url":"https://api.github.com/repos/Talend/data-prep/statuses/edf68b13a5b32de192297a0d602de70b005339b2","head":{"label":"Talend:hmdebenque/feat/TDP-4136_preparation-metadata-check","ref":"hmdebenque/feat/TDP-4136_preparation-metadata-check","sha":"edf68b13a5b32de192297a0d602de70b005339b2","user":{"login":"Talend","id":459687,"avatar_url":"https://avatars1.githubusercontent.com/u/459687?v=3","gravatar_id":"","url":"https://api.github.com/users/Talend","html_url":"https://github.com/Talend","followers_url":"https://api.github.com/users/Talend/followers","following_url":"https://api.github.com/users/Talend/following{/other_user}","gists_url":"https://api.github.com/users/Talend/gists{/gist_id}","starred_url":"https://api.github.com/users/Talend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Talend/subscriptions","organizations_url":"https://api.github.com/users/Talend/orgs","repos_url":"https://api.github.com/users/Talend/repos","events_url":"https://api.github.com/users/Talend/events{/privacy}","received_events_url":"https://api.github.com/users/Talend/received_events","type":"Organization","site_admin":false},"repo":{"id":26644682,"name":"data-prep","full_name":"Talend/data-prep","owner":{"login":"Talend","id":459687,"avatar_url":"https://avatars1.githubusercontent.com/u/459687?v=3","gravatar_id":"","url":"https://api.github.com/users/Talend","html_url":"https://github.com/Talend","followers_url":"https://api.github.com/users/Talend/followers","following_url":"https://api.github.com/users/Talend/following{/other_user}","gists_url":"https://api.github.com/users/Talend/gists{/gist_id}","starred_url":"https://api.github.com/users/Talend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Talend/subscriptions","organizations_url":"https://api.github.com/users/Talend/orgs","repos_url":"https://api.github.com/users/Talend/repos","events_url":"https://api.github.com/users/Talend/events{/privacy}","received_events_url":"https://api.github.com/users/Talend/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Talend/data-prep","description":"OS code of Data-prep project","fork":false,"url":"https://api.github.com/repos/Talend/data-prep","forks_url":"https://api.github.com/repos/Talend/data-prep/forks","keys_url":"https://api.github.com/repos/Talend/data-prep/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Talend/data-prep/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Talend/data-prep/teams","hooks_url":"https://api.github.com/repos/Talend/data-prep/hooks","issue_events_url":"https://api.github.com/repos/Talend/data-prep/issues/events{/number}","events_url":"https://api.github.com/repos/Talend/data-prep/events","assignees_url":"https://api.github.com/repos/Talend/data-prep/assignees{/user}","branches_url":"https://api.github.com/repos/Talend/data-prep/branches{/branch}","tags_url":"https://api.github.com/repos/Talend/data-prep/tags","blobs_url":"https://api.github.com/repos/Talend/data-prep/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Talend/data-prep/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Talend/data-prep/git/refs{/sha}","trees_url":"https://api.github.com/repos/Talend/data-prep/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Talend/data-prep/statuses/{sha}","languages_url":"https://api.github.com/repos/Talend/data-prep/languages","stargazers_url":"https://api.github.com/repos/Talend/data-prep/stargazers","contributors_url":"https://api.github.com/repos/Talend/data-prep/contributors","subscribers_url":"https://api.github.com/repos/Talend/data-prep/subscribers","subscription_url":"https://api.github.com/repos/Talend/data-prep/subscription","commits_url":"https://api.github.com/repos/Talend/data-prep/commits{/sha}","git_commits_url":"https://api.github.com/repos/Talend/data-prep/git/commits{/sha}","comments_url":"https://api.github.com/repos/Talend/data-prep/comments{/number}","issue_comment_url":"https://api.github.com/repos/Talend/data-prep/issues/comments{/number}","contents_url":"https://api.github.com/repos/Talend/data-prep/contents/{+path}","compare_url":"https://api.github.com/repos/Talend/data-prep/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Talend/data-prep/merges","archive_url":"https://api.github.com/repos/Talend/data-prep/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Talend/data-prep/downloads","issues_url":"https://api.github.com/repos/Talend/data-prep/issues{/number}","pulls_url":"https://api.github.com/repos/Talend/data-prep/pulls{/number}","milestones_url":"https://api.github.com/repos/Talend/data-prep/milestones{/number}","notifications_url":"https://api.github.com/repos/Talend/data-prep/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Talend/data-prep/labels{/name}","releases_url":"https://api.github.com/repos/Talend/data-prep/releases{/id}","deployments_url":"https://api.github.com/repos/Talend/data-prep/deployments","created_at":"2014-11-14T15:32:38Z","updated_at":"2017-07-01T18:37:52Z","pushed_at":"2017-07-10T08:38:09Z","git_url":"git://github.com/Talend/data-prep.git","ssh_url":"git@github.com:Talend/data-prep.git","clone_url":"https://github.com/Talend/data-prep.git","svn_url":"https://github.com/Talend/data-prep","homepage":"","size":55685,"stargazers_count":30,"watchers_count":30,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":19,"mirror_url":null,"open_issues_count":10,"forks":19,"open_issues":10,"watchers":30,"default_branch":"master"}},"base":{"label":"Talend:master","ref":"master","sha":"9292a00847a60adf4ced77b07c63bf9ac223f6d7","user":{"login":"Talend","id":459687,"avatar_url":"https://avatars1.githubusercontent.com/u/459687?v=3","gravatar_id":"","url":"https://api.github.com/users/Talend","html_url":"https://github.com/Talend","followers_url":"https://api.github.com/users/Talend/followers","following_url":"https://api.github.com/users/Talend/following{/other_user}","gists_url":"https://api.github.com/users/Talend/gists{/gist_id}","starred_url":"https://api.github.com/users/Talend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Talend/subscriptions","organizations_url":"https://api.github.com/users/Talend/orgs","repos_url":"https://api.github.com/users/Talend/repos","events_url":"https://api.github.com/users/Talend/events{/privacy}","received_events_url":"https://api.github.com/users/Talend/received_events","type":"Organization","site_admin":false},"repo":{"id":26644682,"name":"data-prep","full_name":"Talend/data-prep","owner":{"login":"Talend","id":459687,"avatar_url":"https://avatars1.githubusercontent.com/u/459687?v=3","gravatar_id":"","url":"https://api.github.com/users/Talend","html_url":"https://github.com/Talend","followers_url":"https://api.github.com/users/Talend/followers","following_url":"https://api.github.com/users/Talend/following{/other_user}","gists_url":"https://api.github.com/users/Talend/gists{/gist_id}","starred_url":"https://api.github.com/users/Talend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Talend/subscriptions","organizations_url":"https://api.github.com/users/Talend/orgs","repos_url":"https://api.github.com/users/Talend/repos","events_url":"https://api.github.com/users/Talend/events{/privacy}","received_events_url":"https://api.github.com/users/Talend/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Talend/data-prep","description":"OS code of Data-prep project","fork":false,"url":"https://api.github.com/repos/Talend/data-prep","forks_url":"https://api.github.com/repos/Talend/data-prep/forks","keys_url":"https://api.github.com/repos/Talend/data-prep/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Talend/data-prep/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Talend/data-prep/teams","hooks_url":"https://api.github.com/repos/Talend/data-prep/hooks","issue_events_url":"https://api.github.com/repos/Talend/data-prep/issues/events{/number}","events_url":"https://api.github.com/repos/Talend/data-prep/events","assignees_url":"https://api.github.com/repos/Talend/data-prep/assignees{/user}","branches_url":"https://api.github.com/repos/Talend/data-prep/branches{/branch}","tags_url":"https://api.github.com/repos/Talend/data-prep/tags","blobs_url":"https://api.github.com/repos/Talend/data-prep/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Talend/data-prep/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Talend/data-prep/git/refs{/sha}","trees_url":"https://api.github.com/repos/Talend/data-prep/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Talend/data-prep/statuses/{sha}","languages_url":"https://api.github.com/repos/Talend/data-prep/languages","stargazers_url":"https://api.github.com/repos/Talend/data-prep/stargazers","contributors_url":"https://api.github.com/repos/Talend/data-prep/contributors","subscribers_url":"https://api.github.com/repos/Talend/data-prep/subscribers","subscription_url":"https://api.github.com/repos/Talend/data-prep/subscription","commits_url":"https://api.github.com/repos/Talend/data-prep/commits{/sha}","git_commits_url":"https://api.github.com/repos/Talend/data-prep/git/commits{/sha}","comments_url":"https://api.github.com/repos/Talend/data-prep/comments{/number}","issue_comment_url":"https://api.github.com/repos/Talend/data-prep/issues/comments{/number}","contents_url":"https://api.github.com/repos/Talend/data-prep/contents/{+path}","compare_url":"https://api.github.com/repos/Talend/data-prep/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Talend/data-prep/merges","archive_url":"https://api.github.com/repos/Talend/data-prep/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Talend/data-prep/downloads","issues_url":"https://api.github.com/repos/Talend/data-prep/issues{/number}","pulls_url":"https://api.github.com/repos/Talend/data-prep/pulls{/number}","milestones_url":"https://api.github.com/repos/Talend/data-prep/milestones{/number}","notifications_url":"https://api.github.com/repos/Talend/data-prep/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Talend/data-prep/labels{/name}","releases_url":"https://api.github.com/repos/Talend/data-prep/releases{/id}","deployments_url":"https://api.github.com/repos/Talend/data-prep/deployments","created_at":"2014-11-14T15:32:38Z","updated_at":"2017-07-01T18:37:52Z","pushed_at":"2017-07-10T08:38:09Z","git_url":"git://github.com/Talend/data-prep.git","ssh_url":"git@github.com:Talend/data-prep.git","clone_url":"https://github.com/Talend/data-prep.git","svn_url":"https://github.com/Talend/data-prep","homepage":"","size":55685,"stargazers_count":30,"watchers_count":30,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":19,"mirror_url":null,"open_issues_count":10,"forks":19,"open_issues":10,"watchers":30,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Talend/data-prep/pulls/711"},"html":{"href":"https://github.com/Talend/data-prep/pull/711"},"issue":{"href":"https://api.github.com/repos/Talend/data-prep/issues/711"},"comments":{"href":"https://api.github.com/repos/Talend/data-prep/issues/711/comments"},"review_comments":{"href":"https://api.github.com/repos/Talend/data-prep/pulls/711/comments"},"review_comment":{"href":"https://api.github.com/repos/Talend/data-prep/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Talend/data-prep/pulls/711/commits"},"statuses":{"href":"https://api.github.com/repos/Talend/data-prep/statuses/edf68b13a5b32de192297a0d602de70b005339b2"}}}}
{"actor":{"display_login":"fhuaulme"}}