{"action":"closed","number":1268,"pull_request":{"url":"https://api.github.com/repos/jdbi/jdbi/pulls/1268","id":223017767,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIzMDE3NzY3","html_url":"https://github.com/jdbi/jdbi/pull/1268","diff_url":"https://github.com/jdbi/jdbi/pull/1268.diff","patch_url":"https://github.com/jdbi/jdbi/pull/1268.patch","issue_url":"https://api.github.com/repos/jdbi/jdbi/issues/1268","number":1268,"state":"closed","locked":false,"title":"Break BuiltInMapperFactory up into functional parts","user":{"login":"TheRealMarnes","id":3950300,"node_id":"MDQ6VXNlcjM5NTAzMDA=","avatar_url":"https://avatars2.githubusercontent.com/u/3950300?v=4","gravatar_id":"","url":"https://api.github.com/users/TheRealMarnes","html_url":"https://github.com/TheRealMarnes","followers_url":"https://api.github.com/users/TheRealMarnes/followers","following_url":"https://api.github.com/users/TheRealMarnes/following{/other_user}","gists_url":"https://api.github.com/users/TheRealMarnes/gists{/gist_id}","starred_url":"https://api.github.com/users/TheRealMarnes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheRealMarnes/subscriptions","organizations_url":"https://api.github.com/users/TheRealMarnes/orgs","repos_url":"https://api.github.com/users/TheRealMarnes/repos","events_url":"https://api.github.com/users/TheRealMarnes/events{/privacy}","received_events_url":"https://api.github.com/users/TheRealMarnes/received_events","type":"User","site_admin":false},"body":"This PR makes no functional changes to jdbi, only breaks up and redistributes the BuiltInMapperFactory godclass into more focused, independent, manageable parts. An advantage of this is that it becomes more realistic to start adding configuration to the builtin support, like how the primitives mapping should handle nulls (throw exception or return default: `PrimitivesMapping.nullHandling` or some such). I've added a small dozen such TODOs (potential features or things that might need to be checked) that became more obvious thanks to this refactor.\r\n\r\nI intend to do the same to the other 2 BuiltIn classes, after which we can do all kinds of neat things like adding essential config parameters to all the builtin support in a clutter-free way, bundle them into an `OotbPlugin` or something to make them more cleanly installable (instead of being hardcoded into the Context system, see `ColumnMappers`), and I might be able to better implement #1177\r\n\r\nI love housekeeping :)\r\n\r\nIs this line of work welcome or am I bikeshedding?","created_at":"2018-10-15T19:32:49Z","updated_at":"2018-10-17T16:35:01Z","closed_at":"2018-10-17T16:35:01Z","merged_at":"2018-10-17T16:35:01Z","merge_commit_sha":"98f61c86703c0641a13abd856ae2ed1ef88e842a","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/jdbi/jdbi/pulls/1268/commits","review_comments_url":"https://api.github.com/repos/jdbi/jdbi/pulls/1268/comments","review_comment_url":"https://api.github.com/repos/jdbi/jdbi/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jdbi/jdbi/issues/1268/comments","statuses_url":"https://api.github.com/repos/jdbi/jdbi/statuses/fae35b90288151114f00080773a83f85f4f1bfef","head":{"label":"TheRealMarnes:break-up-mappers","ref":"break-up-mappers","sha":"fae35b90288151114f00080773a83f85f4f1bfef","user":{"login":"TheRealMarnes","id":3950300,"node_id":"MDQ6VXNlcjM5NTAzMDA=","avatar_url":"https://avatars2.githubusercontent.com/u/3950300?v=4","gravatar_id":"","url":"https://api.github.com/users/TheRealMarnes","html_url":"https://github.com/TheRealMarnes","followers_url":"https://api.github.com/users/TheRealMarnes/followers","following_url":"https://api.github.com/users/TheRealMarnes/following{/other_user}","gists_url":"https://api.github.com/users/TheRealMarnes/gists{/gist_id}","starred_url":"https://api.github.com/users/TheRealMarnes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheRealMarnes/subscriptions","organizations_url":"https://api.github.com/users/TheRealMarnes/orgs","repos_url":"https://api.github.com/users/TheRealMarnes/repos","events_url":"https://api.github.com/users/TheRealMarnes/events{/privacy}","received_events_url":"https://api.github.com/users/TheRealMarnes/received_events","type":"User","site_admin":false},"repo":{"id":128832023,"node_id":"MDEwOlJlcG9zaXRvcnkxMjg4MzIwMjM=","name":"jdbi","full_name":"TheRealMarnes/jdbi","private":false,"owner":{"login":"TheRealMarnes","id":3950300,"node_id":"MDQ6VXNlcjM5NTAzMDA=","avatar_url":"https://avatars2.githubusercontent.com/u/3950300?v=4","gravatar_id":"","url":"https://api.github.com/users/TheRealMarnes","html_url":"https://github.com/TheRealMarnes","followers_url":"https://api.github.com/users/TheRealMarnes/followers","following_url":"https://api.github.com/users/TheRealMarnes/following{/other_user}","gists_url":"https://api.github.com/users/TheRealMarnes/gists{/gist_id}","starred_url":"https://api.github.com/users/TheRealMarnes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheRealMarnes/subscriptions","organizations_url":"https://api.github.com/users/TheRealMarnes/orgs","repos_url":"https://api.github.com/users/TheRealMarnes/repos","events_url":"https://api.github.com/users/TheRealMarnes/events{/privacy}","received_events_url":"https://api.github.com/users/TheRealMarnes/received_events","type":"User","site_admin":false},"html_url":"https://github.com/TheRealMarnes/jdbi","description":"jDBI is designed to provide convenient tabular data access in Java(tm). It uses the Java collections framework for query results, provides a convenient means of externalizing sql statements, and provides named parameter support for any database being used.","fork":true,"url":"https://api.github.com/repos/TheRealMarnes/jdbi","forks_url":"https://api.github.com/repos/TheRealMarnes/jdbi/forks","keys_url":"https://api.github.com/repos/TheRealMarnes/jdbi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/TheRealMarnes/jdbi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/TheRealMarnes/jdbi/teams","hooks_url":"https://api.github.com/repos/TheRealMarnes/jdbi/hooks","issue_events_url":"https://api.github.com/repos/TheRealMarnes/jdbi/issues/events{/number}","events_url":"https://api.github.com/repos/TheRealMarnes/jdbi/events","assignees_url":"https://api.github.com/repos/TheRealMarnes/jdbi/assignees{/user}","branches_url":"https://api.github.com/repos/TheRealMarnes/jdbi/branches{/branch}","tags_url":"https://api.github.com/repos/TheRealMarnes/jdbi/tags","blobs_url":"https://api.github.com/repos/TheRealMarnes/jdbi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/TheRealMarnes/jdbi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/TheRealMarnes/jdbi/git/refs{/sha}","trees_url":"https://api.github.com/repos/TheRealMarnes/jdbi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/TheRealMarnes/jdbi/statuses/{sha}","languages_url":"https://api.github.com/repos/TheRealMarnes/jdbi/languages","stargazers_url":"https://api.github.com/repos/TheRealMarnes/jdbi/stargazers","contributors_url":"https://api.github.com/repos/TheRealMarnes/jdbi/contributors","subscribers_url":"https://api.github.com/repos/TheRealMarnes/jdbi/subscribers","subscription_url":"https://api.github.com/repos/TheRealMarnes/jdbi/subscription","commits_url":"https://api.github.com/repos/TheRealMarnes/jdbi/commits{/sha}","git_commits_url":"https://api.github.com/repos/TheRealMarnes/jdbi/git/commits{/sha}","comments_url":"https://api.github.com/repos/TheRealMarnes/jdbi/comments{/number}","issue_comment_url":"https://api.github.com/repos/TheRealMarnes/jdbi/issues/comments{/number}","contents_url":"https://api.github.com/repos/TheRealMarnes/jdbi/contents/{+path}","compare_url":"https://api.github.com/repos/TheRealMarnes/jdbi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/TheRealMarnes/jdbi/merges","archive_url":"https://api.github.com/repos/TheRealMarnes/jdbi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/TheRealMarnes/jdbi/downloads","issues_url":"https://api.github.com/repos/TheRealMarnes/jdbi/issues{/number}","pulls_url":"https://api.github.com/repos/TheRealMarnes/jdbi/pulls{/number}","milestones_url":"https://api.github.com/repos/TheRealMarnes/jdbi/milestones{/number}","notifications_url":"https://api.github.com/repos/TheRealMarnes/jdbi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/TheRealMarnes/jdbi/labels{/name}","releases_url":"https://api.github.com/repos/TheRealMarnes/jdbi/releases{/id}","deployments_url":"https://api.github.com/repos/TheRealMarnes/jdbi/deployments","created_at":"2018-04-09T20:49:02Z","updated_at":"2018-04-17T14:58:37Z","pushed_at":"2018-10-17T13:54:31Z","git_url":"git://github.com/TheRealMarnes/jdbi.git","ssh_url":"git@github.com:TheRealMarnes/jdbi.git","clone_url":"https://github.com/TheRealMarnes/jdbi.git","svn_url":"https://github.com/TheRealMarnes/jdbi","homepage":"http://jdbi.org/","size":18110,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"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":"jdbi:master","ref":"master","sha":"430bc406449d3c1024749ec7c48d57f6d3f7545b","user":{"login":"jdbi","id":9668860,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk2Njg4NjA=","avatar_url":"https://avatars0.githubusercontent.com/u/9668860?v=4","gravatar_id":"","url":"https://api.github.com/users/jdbi","html_url":"https://github.com/jdbi","followers_url":"https://api.github.com/users/jdbi/followers","following_url":"https://api.github.com/users/jdbi/following{/other_user}","gists_url":"https://api.github.com/users/jdbi/gists{/gist_id}","starred_url":"https://api.github.com/users/jdbi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdbi/subscriptions","organizations_url":"https://api.github.com/users/jdbi/orgs","repos_url":"https://api.github.com/users/jdbi/repos","events_url":"https://api.github.com/users/jdbi/events{/privacy}","received_events_url":"https://api.github.com/users/jdbi/received_events","type":"Organization","site_admin":false},"repo":{"id":229738,"node_id":"MDEwOlJlcG9zaXRvcnkyMjk3Mzg=","name":"jdbi","full_name":"jdbi/jdbi","private":false,"owner":{"login":"jdbi","id":9668860,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk2Njg4NjA=","avatar_url":"https://avatars0.githubusercontent.com/u/9668860?v=4","gravatar_id":"","url":"https://api.github.com/users/jdbi","html_url":"https://github.com/jdbi","followers_url":"https://api.github.com/users/jdbi/followers","following_url":"https://api.github.com/users/jdbi/following{/other_user}","gists_url":"https://api.github.com/users/jdbi/gists{/gist_id}","starred_url":"https://api.github.com/users/jdbi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdbi/subscriptions","organizations_url":"https://api.github.com/users/jdbi/orgs","repos_url":"https://api.github.com/users/jdbi/repos","events_url":"https://api.github.com/users/jdbi/events{/privacy}","received_events_url":"https://api.github.com/users/jdbi/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/jdbi/jdbi","description":"jdbi is designed to provide convenient tabular data access in Java; including templated SQL, parameterized and strongly typed queries, and Streams integration","fork":false,"url":"https://api.github.com/repos/jdbi/jdbi","forks_url":"https://api.github.com/repos/jdbi/jdbi/forks","keys_url":"https://api.github.com/repos/jdbi/jdbi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jdbi/jdbi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jdbi/jdbi/teams","hooks_url":"https://api.github.com/repos/jdbi/jdbi/hooks","issue_events_url":"https://api.github.com/repos/jdbi/jdbi/issues/events{/number}","events_url":"https://api.github.com/repos/jdbi/jdbi/events","assignees_url":"https://api.github.com/repos/jdbi/jdbi/assignees{/user}","branches_url":"https://api.github.com/repos/jdbi/jdbi/branches{/branch}","tags_url":"https://api.github.com/repos/jdbi/jdbi/tags","blobs_url":"https://api.github.com/repos/jdbi/jdbi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jdbi/jdbi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jdbi/jdbi/git/refs{/sha}","trees_url":"https://api.github.com/repos/jdbi/jdbi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jdbi/jdbi/statuses/{sha}","languages_url":"https://api.github.com/repos/jdbi/jdbi/languages","stargazers_url":"https://api.github.com/repos/jdbi/jdbi/stargazers","contributors_url":"https://api.github.com/repos/jdbi/jdbi/contributors","subscribers_url":"https://api.github.com/repos/jdbi/jdbi/subscribers","subscription_url":"https://api.github.com/repos/jdbi/jdbi/subscription","commits_url":"https://api.github.com/repos/jdbi/jdbi/commits{/sha}","git_commits_url":"https://api.github.com/repos/jdbi/jdbi/git/commits{/sha}","comments_url":"https://api.github.com/repos/jdbi/jdbi/comments{/number}","issue_comment_url":"https://api.github.com/repos/jdbi/jdbi/issues/comments{/number}","contents_url":"https://api.github.com/repos/jdbi/jdbi/contents/{+path}","compare_url":"https://api.github.com/repos/jdbi/jdbi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jdbi/jdbi/merges","archive_url":"https://api.github.com/repos/jdbi/jdbi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jdbi/jdbi/downloads","issues_url":"https://api.github.com/repos/jdbi/jdbi/issues{/number}","pulls_url":"https://api.github.com/repos/jdbi/jdbi/pulls{/number}","milestones_url":"https://api.github.com/repos/jdbi/jdbi/milestones{/number}","notifications_url":"https://api.github.com/repos/jdbi/jdbi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jdbi/jdbi/labels{/name}","releases_url":"https://api.github.com/repos/jdbi/jdbi/releases{/id}","deployments_url":"https://api.github.com/repos/jdbi/jdbi/deployments","created_at":"2009-06-17T16:36:36Z","updated_at":"2018-10-17T15:44:23Z","pushed_at":"2018-10-17T16:35:02Z","git_url":"git://github.com/jdbi/jdbi.git","ssh_url":"git@github.com:jdbi/jdbi.git","clone_url":"https://github.com/jdbi/jdbi.git","svn_url":"https://github.com/jdbi/jdbi","homepage":"http://jdbi.org/","size":18311,"stargazers_count":1116,"watchers_count":1116,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":226,"mirror_url":null,"archived":false,"open_issues_count":78,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":226,"open_issues":78,"watchers":1116,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jdbi/jdbi/pulls/1268"},"html":{"href":"https://github.com/jdbi/jdbi/pull/1268"},"issue":{"href":"https://api.github.com/repos/jdbi/jdbi/issues/1268"},"comments":{"href":"https://api.github.com/repos/jdbi/jdbi/issues/1268/comments"},"review_comments":{"href":"https://api.github.com/repos/jdbi/jdbi/pulls/1268/comments"},"review_comment":{"href":"https://api.github.com/repos/jdbi/jdbi/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jdbi/jdbi/pulls/1268/commits"},"statuses":{"href":"https://api.github.com/repos/jdbi/jdbi/statuses/fae35b90288151114f00080773a83f85f4f1bfef"}},"author_association":"CONTRIBUTOR","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"qualidafial","id":38629,"node_id":"MDQ6VXNlcjM4NjI5","avatar_url":"https://avatars2.githubusercontent.com/u/38629?v=4","gravatar_id":"","url":"https://api.github.com/users/qualidafial","html_url":"https://github.com/qualidafial","followers_url":"https://api.github.com/users/qualidafial/followers","following_url":"https://api.github.com/users/qualidafial/following{/other_user}","gists_url":"https://api.github.com/users/qualidafial/gists{/gist_id}","starred_url":"https://api.github.com/users/qualidafial/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qualidafial/subscriptions","organizations_url":"https://api.github.com/users/qualidafial/orgs","repos_url":"https://api.github.com/users/qualidafial/repos","events_url":"https://api.github.com/users/qualidafial/events{/privacy}","received_events_url":"https://api.github.com/users/qualidafial/received_events","type":"User","site_admin":false},"comments":10,"review_comments":15,"maintainer_can_modify":false,"commits":22,"additions":612,"deletions":196,"changed_files":13}}
{"actor":{"display_login":"qualidafial"}}