{"action":"created","comment":{"url":"https://api.github.com/repos/mapstruct/mapstruct/pulls/comments/225299704","pull_request_review_id":164874622,"id":225299704,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNTI5OTcwNA==","diff_hunk":"@@ -2124,7 +2136,7 @@ First calling a mapping method on the source property is not protected by a null\n \n The option `nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS` will always include a null check when source is non primitive, unless a source presence checker is defined on the source bean.\n \n-The strategy works in a hierarchical fashion. `@Mapper#nullValueCheckStrategy` will override `@MappingConfig#nullValueCheckStrategy`.\n+The strategy works in a hierarchical fashion. `@Mapping#nullValueCheckStrategy` will override `@BeanMapping#nullValueCheckStrategy`, `@BeanMapping#nullValueCheckStrategy` will override `@Mapper#nullValueCheckStrategy` and `@Mapper#nullValueCheckStrategy` will override `@MappingConfig#nullValueCheckStrategy`.","path":"documentation/src/main/asciidoc/mapstruct-reference-guide.asciidoc","position":31,"original_position":31,"commit_id":"6077733a433daac13a7fd5cd8dbf40dd7ddc6ec7","original_commit_id":"6077733a433daac13a7fd5cd8dbf40dd7ddc6ec7","user":{"login":"sjaakd","id":6173283,"node_id":"MDQ6VXNlcjYxNzMyODM=","avatar_url":"https://avatars0.githubusercontent.com/u/6173283?v=4","gravatar_id":"","url":"https://api.github.com/users/sjaakd","html_url":"https://github.com/sjaakd","followers_url":"https://api.github.com/users/sjaakd/followers","following_url":"https://api.github.com/users/sjaakd/following{/other_user}","gists_url":"https://api.github.com/users/sjaakd/gists{/gist_id}","starred_url":"https://api.github.com/users/sjaakd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjaakd/subscriptions","organizations_url":"https://api.github.com/users/sjaakd/orgs","repos_url":"https://api.github.com/users/sjaakd/repos","events_url":"https://api.github.com/users/sjaakd/events{/privacy}","received_events_url":"https://api.github.com/users/sjaakd/received_events","type":"User","site_admin":false},"body":"yep. I forgot to update it after my last PR I think..","created_at":"2018-10-15T20:09:13Z","updated_at":"2018-10-15T20:09:13Z","html_url":"https://github.com/mapstruct/mapstruct/pull/1618#discussion_r225299704","pull_request_url":"https://api.github.com/repos/mapstruct/mapstruct/pulls/1618","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/mapstruct/mapstruct/pulls/comments/225299704"},"html":{"href":"https://github.com/mapstruct/mapstruct/pull/1618#discussion_r225299704"},"pull_request":{"href":"https://api.github.com/repos/mapstruct/mapstruct/pulls/1618"}},"in_reply_to_id":225269936},"pull_request":{"url":"https://api.github.com/repos/mapstruct/mapstruct/pulls/1618","id":218760635,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE4NzYwNjM1","html_url":"https://github.com/mapstruct/mapstruct/pull/1618","diff_url":"https://github.com/mapstruct/mapstruct/pull/1618.diff","patch_url":"https://github.com/mapstruct/mapstruct/pull/1618.patch","issue_url":"https://api.github.com/repos/mapstruct/mapstruct/issues/1618","number":1618,"state":"open","locked":false,"title":"#1306 Add NullValueCheckStrategy which leaves @MappingTarget untouched","user":{"login":"sjaakd","id":6173283,"node_id":"MDQ6VXNlcjYxNzMyODM=","avatar_url":"https://avatars0.githubusercontent.com/u/6173283?v=4","gravatar_id":"","url":"https://api.github.com/users/sjaakd","html_url":"https://github.com/sjaakd","followers_url":"https://api.github.com/users/sjaakd/followers","following_url":"https://api.github.com/users/sjaakd/following{/other_user}","gists_url":"https://api.github.com/users/sjaakd/gists{/gist_id}","starred_url":"https://api.github.com/users/sjaakd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjaakd/subscriptions","organizations_url":"https://api.github.com/users/sjaakd/orgs","repos_url":"https://api.github.com/users/sjaakd/repos","events_url":"https://api.github.com/users/sjaakd/events{/privacy}","received_events_url":"https://api.github.com/users/sjaakd/received_events","type":"User","site_admin":false},"body":"I was doubting here.. Whether the `ALWAYS` option should leave the mapping target as is for all cases. \r\n\r\nBefore the PR: \r\n1. For nested targets, when source property is null ,the `@MappingTarget` wil also be set to null (follows the source property). \r\n2. For collections, when source property is null,  the `@MappingTarget` will leave the target untouched  (looking at the code, line 51 at `ExistingInstanceSetterWrapperForCollectionsAndMaps.java` ).\r\n\r\nHowever, we break a lot of testcases (downward compatibility) if I change the behaviour. So I added a new option 'NullValueCheckStrategy.ALWAYS_BUT_LEAVE_TARGET_AS_IS` that does so.\r\n\r\nWhat do you guys think?","created_at":"2018-09-27T19:17:54Z","updated_at":"2018-10-15T20:09:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ee9b21db57f004fbf207f8f0fd80acabb35989c8","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/mapstruct/mapstruct/pulls/1618/commits","review_comments_url":"https://api.github.com/repos/mapstruct/mapstruct/pulls/1618/comments","review_comment_url":"https://api.github.com/repos/mapstruct/mapstruct/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mapstruct/mapstruct/issues/1618/comments","statuses_url":"https://api.github.com/repos/mapstruct/mapstruct/statuses/6077733a433daac13a7fd5cd8dbf40dd7ddc6ec7","head":{"label":"sjaakd:1306","ref":"1306","sha":"6077733a433daac13a7fd5cd8dbf40dd7ddc6ec7","user":{"login":"sjaakd","id":6173283,"node_id":"MDQ6VXNlcjYxNzMyODM=","avatar_url":"https://avatars0.githubusercontent.com/u/6173283?v=4","gravatar_id":"","url":"https://api.github.com/users/sjaakd","html_url":"https://github.com/sjaakd","followers_url":"https://api.github.com/users/sjaakd/followers","following_url":"https://api.github.com/users/sjaakd/following{/other_user}","gists_url":"https://api.github.com/users/sjaakd/gists{/gist_id}","starred_url":"https://api.github.com/users/sjaakd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjaakd/subscriptions","organizations_url":"https://api.github.com/users/sjaakd/orgs","repos_url":"https://api.github.com/users/sjaakd/repos","events_url":"https://api.github.com/users/sjaakd/events{/privacy}","received_events_url":"https://api.github.com/users/sjaakd/received_events","type":"User","site_admin":false},"repo":{"id":15548682,"node_id":"MDEwOlJlcG9zaXRvcnkxNTU0ODY4Mg==","name":"mapstruct","full_name":"sjaakd/mapstruct","private":false,"owner":{"login":"sjaakd","id":6173283,"node_id":"MDQ6VXNlcjYxNzMyODM=","avatar_url":"https://avatars0.githubusercontent.com/u/6173283?v=4","gravatar_id":"","url":"https://api.github.com/users/sjaakd","html_url":"https://github.com/sjaakd","followers_url":"https://api.github.com/users/sjaakd/followers","following_url":"https://api.github.com/users/sjaakd/following{/other_user}","gists_url":"https://api.github.com/users/sjaakd/gists{/gist_id}","starred_url":"https://api.github.com/users/sjaakd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjaakd/subscriptions","organizations_url":"https://api.github.com/users/sjaakd/orgs","repos_url":"https://api.github.com/users/sjaakd/repos","events_url":"https://api.github.com/users/sjaakd/events{/privacy}","received_events_url":"https://api.github.com/users/sjaakd/received_events","type":"User","site_admin":false},"html_url":"https://github.com/sjaakd/mapstruct","description":"An annotation processor for generating type-safe bean mappers","fork":true,"url":"https://api.github.com/repos/sjaakd/mapstruct","forks_url":"https://api.github.com/repos/sjaakd/mapstruct/forks","keys_url":"https://api.github.com/repos/sjaakd/mapstruct/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sjaakd/mapstruct/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sjaakd/mapstruct/teams","hooks_url":"https://api.github.com/repos/sjaakd/mapstruct/hooks","issue_events_url":"https://api.github.com/repos/sjaakd/mapstruct/issues/events{/number}","events_url":"https://api.github.com/repos/sjaakd/mapstruct/events","assignees_url":"https://api.github.com/repos/sjaakd/mapstruct/assignees{/user}","branches_url":"https://api.github.com/repos/sjaakd/mapstruct/branches{/branch}","tags_url":"https://api.github.com/repos/sjaakd/mapstruct/tags","blobs_url":"https://api.github.com/repos/sjaakd/mapstruct/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sjaakd/mapstruct/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sjaakd/mapstruct/git/refs{/sha}","trees_url":"https://api.github.com/repos/sjaakd/mapstruct/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sjaakd/mapstruct/statuses/{sha}","languages_url":"https://api.github.com/repos/sjaakd/mapstruct/languages","stargazers_url":"https://api.github.com/repos/sjaakd/mapstruct/stargazers","contributors_url":"https://api.github.com/repos/sjaakd/mapstruct/contributors","subscribers_url":"https://api.github.com/repos/sjaakd/mapstruct/subscribers","subscription_url":"https://api.github.com/repos/sjaakd/mapstruct/subscription","commits_url":"https://api.github.com/repos/sjaakd/mapstruct/commits{/sha}","git_commits_url":"https://api.github.com/repos/sjaakd/mapstruct/git/commits{/sha}","comments_url":"https://api.github.com/repos/sjaakd/mapstruct/comments{/number}","issue_comment_url":"https://api.github.com/repos/sjaakd/mapstruct/issues/comments{/number}","contents_url":"https://api.github.com/repos/sjaakd/mapstruct/contents/{+path}","compare_url":"https://api.github.com/repos/sjaakd/mapstruct/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sjaakd/mapstruct/merges","archive_url":"https://api.github.com/repos/sjaakd/mapstruct/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sjaakd/mapstruct/downloads","issues_url":"https://api.github.com/repos/sjaakd/mapstruct/issues{/number}","pulls_url":"https://api.github.com/repos/sjaakd/mapstruct/pulls{/number}","milestones_url":"https://api.github.com/repos/sjaakd/mapstruct/milestones{/number}","notifications_url":"https://api.github.com/repos/sjaakd/mapstruct/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sjaakd/mapstruct/labels{/name}","releases_url":"https://api.github.com/repos/sjaakd/mapstruct/releases{/id}","deployments_url":"https://api.github.com/repos/sjaakd/mapstruct/deployments","created_at":"2013-12-31T11:17:00Z","updated_at":"2018-09-24T21:36:21Z","pushed_at":"2018-10-14T21:23:35Z","git_url":"git://github.com/sjaakd/mapstruct.git","ssh_url":"git@github.com:sjaakd/mapstruct.git","clone_url":"https://github.com/sjaakd/mapstruct.git","svn_url":"https://github.com/sjaakd/mapstruct","homepage":"http://mapstruct.org/","size":7526,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mapstruct:master","ref":"master","sha":"6d5243dc2fbee57599a1aacfec2646288ba323f4","user":{"login":"mapstruct","id":4086779,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQwODY3Nzk=","avatar_url":"https://avatars1.githubusercontent.com/u/4086779?v=4","gravatar_id":"","url":"https://api.github.com/users/mapstruct","html_url":"https://github.com/mapstruct","followers_url":"https://api.github.com/users/mapstruct/followers","following_url":"https://api.github.com/users/mapstruct/following{/other_user}","gists_url":"https://api.github.com/users/mapstruct/gists{/gist_id}","starred_url":"https://api.github.com/users/mapstruct/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapstruct/subscriptions","organizations_url":"https://api.github.com/users/mapstruct/orgs","repos_url":"https://api.github.com/users/mapstruct/repos","events_url":"https://api.github.com/users/mapstruct/events{/privacy}","received_events_url":"https://api.github.com/users/mapstruct/received_events","type":"Organization","site_admin":false},"repo":{"id":4470435,"node_id":"MDEwOlJlcG9zaXRvcnk0NDcwNDM1","name":"mapstruct","full_name":"mapstruct/mapstruct","private":false,"owner":{"login":"mapstruct","id":4086779,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQwODY3Nzk=","avatar_url":"https://avatars1.githubusercontent.com/u/4086779?v=4","gravatar_id":"","url":"https://api.github.com/users/mapstruct","html_url":"https://github.com/mapstruct","followers_url":"https://api.github.com/users/mapstruct/followers","following_url":"https://api.github.com/users/mapstruct/following{/other_user}","gists_url":"https://api.github.com/users/mapstruct/gists{/gist_id}","starred_url":"https://api.github.com/users/mapstruct/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapstruct/subscriptions","organizations_url":"https://api.github.com/users/mapstruct/orgs","repos_url":"https://api.github.com/users/mapstruct/repos","events_url":"https://api.github.com/users/mapstruct/events{/privacy}","received_events_url":"https://api.github.com/users/mapstruct/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/mapstruct/mapstruct","description":"An annotation processor for generating type-safe bean mappers","fork":false,"url":"https://api.github.com/repos/mapstruct/mapstruct","forks_url":"https://api.github.com/repos/mapstruct/mapstruct/forks","keys_url":"https://api.github.com/repos/mapstruct/mapstruct/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mapstruct/mapstruct/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mapstruct/mapstruct/teams","hooks_url":"https://api.github.com/repos/mapstruct/mapstruct/hooks","issue_events_url":"https://api.github.com/repos/mapstruct/mapstruct/issues/events{/number}","events_url":"https://api.github.com/repos/mapstruct/mapstruct/events","assignees_url":"https://api.github.com/repos/mapstruct/mapstruct/assignees{/user}","branches_url":"https://api.github.com/repos/mapstruct/mapstruct/branches{/branch}","tags_url":"https://api.github.com/repos/mapstruct/mapstruct/tags","blobs_url":"https://api.github.com/repos/mapstruct/mapstruct/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mapstruct/mapstruct/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mapstruct/mapstruct/git/refs{/sha}","trees_url":"https://api.github.com/repos/mapstruct/mapstruct/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mapstruct/mapstruct/statuses/{sha}","languages_url":"https://api.github.com/repos/mapstruct/mapstruct/languages","stargazers_url":"https://api.github.com/repos/mapstruct/mapstruct/stargazers","contributors_url":"https://api.github.com/repos/mapstruct/mapstruct/contributors","subscribers_url":"https://api.github.com/repos/mapstruct/mapstruct/subscribers","subscription_url":"https://api.github.com/repos/mapstruct/mapstruct/subscription","commits_url":"https://api.github.com/repos/mapstruct/mapstruct/commits{/sha}","git_commits_url":"https://api.github.com/repos/mapstruct/mapstruct/git/commits{/sha}","comments_url":"https://api.github.com/repos/mapstruct/mapstruct/comments{/number}","issue_comment_url":"https://api.github.com/repos/mapstruct/mapstruct/issues/comments{/number}","contents_url":"https://api.github.com/repos/mapstruct/mapstruct/contents/{+path}","compare_url":"https://api.github.com/repos/mapstruct/mapstruct/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mapstruct/mapstruct/merges","archive_url":"https://api.github.com/repos/mapstruct/mapstruct/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mapstruct/mapstruct/downloads","issues_url":"https://api.github.com/repos/mapstruct/mapstruct/issues{/number}","pulls_url":"https://api.github.com/repos/mapstruct/mapstruct/pulls{/number}","milestones_url":"https://api.github.com/repos/mapstruct/mapstruct/milestones{/number}","notifications_url":"https://api.github.com/repos/mapstruct/mapstruct/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mapstruct/mapstruct/labels{/name}","releases_url":"https://api.github.com/repos/mapstruct/mapstruct/releases{/id}","deployments_url":"https://api.github.com/repos/mapstruct/mapstruct/deployments","created_at":"2012-05-28T12:42:42Z","updated_at":"2018-10-15T19:51:54Z","pushed_at":"2018-10-15T19:46:24Z","git_url":"git://github.com/mapstruct/mapstruct.git","ssh_url":"git@github.com:mapstruct/mapstruct.git","clone_url":"https://github.com/mapstruct/mapstruct.git","svn_url":"https://github.com/mapstruct/mapstruct","homepage":"http://mapstruct.org/","size":7456,"stargazers_count":1321,"watchers_count":1321,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":235,"mirror_url":null,"archived":false,"open_issues_count":227,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":235,"open_issues":227,"watchers":1321,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mapstruct/mapstruct/pulls/1618"},"html":{"href":"https://github.com/mapstruct/mapstruct/pull/1618"},"issue":{"href":"https://api.github.com/repos/mapstruct/mapstruct/issues/1618"},"comments":{"href":"https://api.github.com/repos/mapstruct/mapstruct/issues/1618/comments"},"review_comments":{"href":"https://api.github.com/repos/mapstruct/mapstruct/pulls/1618/comments"},"review_comment":{"href":"https://api.github.com/repos/mapstruct/mapstruct/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mapstruct/mapstruct/pulls/1618/commits"},"statuses":{"href":"https://api.github.com/repos/mapstruct/mapstruct/statuses/6077733a433daac13a7fd5cd8dbf40dd7ddc6ec7"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"sjaakd"}}