{"action":"created","comment":{"url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/comments/58416892","id":58416892,"diff_hunk":"@@ -32,21 +33,37 @@\n  * @since 1.0\n  *\n  */\n-public class UnZipResultSplitter {\n-\n-\tpublic List<Message<Object>> splitUnzippedMap(Map<String, Object> unzippedEntries) {\n+public final class UnZipResultSplitter {","path":"spring-integration-zip/src/main/java/org/springframework/integration/zip/splitter/UnZipResultSplitter.java","position":null,"original_position":28,"commit_id":"87352c47355825aa0825528243b164f153bc4c08","original_commit_id":"b8f376b1a385161db2699d938b48927ae04dbf89","user":{"login":"englishman","id":1883572,"avatar_url":"https://avatars.githubusercontent.com/u/1883572?v=3","gravatar_id":"","url":"https://api.github.com/users/englishman","html_url":"https://github.com/englishman","followers_url":"https://api.github.com/users/englishman/followers","following_url":"https://api.github.com/users/englishman/following{/other_user}","gists_url":"https://api.github.com/users/englishman/gists{/gist_id}","starred_url":"https://api.github.com/users/englishman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/englishman/subscriptions","organizations_url":"https://api.github.com/users/englishman/orgs","repos_url":"https://api.github.com/users/englishman/repos","events_url":"https://api.github.com/users/englishman/events{/privacy}","received_events_url":"https://api.github.com/users/englishman/received_events","type":"User","site_admin":false},"body":"@artembilan yes, absolutely agree with you.\r\n\r\nBut what kind of extension allows the class before my PR? Just simple subclassing? It's useless: subclass can't change any part of logic in solid `splitUnzippedMap` method. Only one way user can 'extend' it: call smth before or/and after `splitUnzippedMap`. But the same thing may be done only with delegation without any subclassing!\r\n\r\nMy changes provide splitting `splitUnzippedMap` into some pieces of algorithm user can easily and safely change in subclass. In my PR `splitUnzippedMap` is more like template method. That's was idea. Other good things about this splitting: decrease code complexity and increase code cleverness and, thus, maintainability.\r\n\r\nBut, again, my PR isn't about create better architecture for the class. It's only for bug fix and some obvious 'scout work' and refactoring.","created_at":"2016-04-04T17:47:53Z","updated_at":"2016-04-04T17:47:53Z","html_url":"https://github.com/spring-projects/spring-integration-extensions/pull/159#discussion_r58416892","pull_request_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/159","_links":{"self":{"href":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/comments/58416892"},"html":{"href":"https://github.com/spring-projects/spring-integration-extensions/pull/159#discussion_r58416892"},"pull_request":{"href":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/159"}}},"pull_request":{"url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/159","id":64856401,"html_url":"https://github.com/spring-projects/spring-integration-extensions/pull/159","diff_url":"https://github.com/spring-projects/spring-integration-extensions/pull/159.diff","patch_url":"https://github.com/spring-projects/spring-integration-extensions/pull/159.patch","issue_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/issues/159","number":159,"state":"open","locked":false,"title":"Intext 219","user":{"login":"englishman","id":1883572,"avatar_url":"https://avatars.githubusercontent.com/u/1883572?v=3","gravatar_id":"","url":"https://api.github.com/users/englishman","html_url":"https://github.com/englishman","followers_url":"https://api.github.com/users/englishman/followers","following_url":"https://api.github.com/users/englishman/following{/other_user}","gists_url":"https://api.github.com/users/englishman/gists{/gist_id}","starred_url":"https://api.github.com/users/englishman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/englishman/subscriptions","organizations_url":"https://api.github.com/users/englishman/orgs","repos_url":"https://api.github.com/users/englishman/repos","events_url":"https://api.github.com/users/englishman/events{/privacy}","received_events_url":"https://api.github.com/users/englishman/received_events","type":"User","site_admin":false},"body":"- add unit test\r\n- fix bug","created_at":"2016-03-31T20:49:58Z","updated_at":"2016-04-04T17:47:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"48254c9e7833a10bed11b6b312c2db5a6f6bd515","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/159/commits","review_comments_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/159/comments","review_comment_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/comments{/number}","comments_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/issues/159/comments","statuses_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/statuses/87352c47355825aa0825528243b164f153bc4c08","head":{"label":"englishman:INTEXT-219","ref":"INTEXT-219","sha":"87352c47355825aa0825528243b164f153bc4c08","user":{"login":"englishman","id":1883572,"avatar_url":"https://avatars.githubusercontent.com/u/1883572?v=3","gravatar_id":"","url":"https://api.github.com/users/englishman","html_url":"https://github.com/englishman","followers_url":"https://api.github.com/users/englishman/followers","following_url":"https://api.github.com/users/englishman/following{/other_user}","gists_url":"https://api.github.com/users/englishman/gists{/gist_id}","starred_url":"https://api.github.com/users/englishman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/englishman/subscriptions","organizations_url":"https://api.github.com/users/englishman/orgs","repos_url":"https://api.github.com/users/englishman/repos","events_url":"https://api.github.com/users/englishman/events{/privacy}","received_events_url":"https://api.github.com/users/englishman/received_events","type":"User","site_admin":false},"repo":{"id":55166944,"name":"spring-integration-extensions","full_name":"englishman/spring-integration-extensions","owner":{"login":"englishman","id":1883572,"avatar_url":"https://avatars.githubusercontent.com/u/1883572?v=3","gravatar_id":"","url":"https://api.github.com/users/englishman","html_url":"https://github.com/englishman","followers_url":"https://api.github.com/users/englishman/followers","following_url":"https://api.github.com/users/englishman/following{/other_user}","gists_url":"https://api.github.com/users/englishman/gists{/gist_id}","starred_url":"https://api.github.com/users/englishman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/englishman/subscriptions","organizations_url":"https://api.github.com/users/englishman/orgs","repos_url":"https://api.github.com/users/englishman/repos","events_url":"https://api.github.com/users/englishman/events{/privacy}","received_events_url":"https://api.github.com/users/englishman/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/englishman/spring-integration-extensions","description":"The Spring Integration Extensions project provides extension components for Spring Integration","fork":true,"url":"https://api.github.com/repos/englishman/spring-integration-extensions","forks_url":"https://api.github.com/repos/englishman/spring-integration-extensions/forks","keys_url":"https://api.github.com/repos/englishman/spring-integration-extensions/keys{/key_id}","collaborators_url":"https://api.github.com/repos/englishman/spring-integration-extensions/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/englishman/spring-integration-extensions/teams","hooks_url":"https://api.github.com/repos/englishman/spring-integration-extensions/hooks","issue_events_url":"https://api.github.com/repos/englishman/spring-integration-extensions/issues/events{/number}","events_url":"https://api.github.com/repos/englishman/spring-integration-extensions/events","assignees_url":"https://api.github.com/repos/englishman/spring-integration-extensions/assignees{/user}","branches_url":"https://api.github.com/repos/englishman/spring-integration-extensions/branches{/branch}","tags_url":"https://api.github.com/repos/englishman/spring-integration-extensions/tags","blobs_url":"https://api.github.com/repos/englishman/spring-integration-extensions/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/englishman/spring-integration-extensions/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/englishman/spring-integration-extensions/git/refs{/sha}","trees_url":"https://api.github.com/repos/englishman/spring-integration-extensions/git/trees{/sha}","statuses_url":"https://api.github.com/repos/englishman/spring-integration-extensions/statuses/{sha}","languages_url":"https://api.github.com/repos/englishman/spring-integration-extensions/languages","stargazers_url":"https://api.github.com/repos/englishman/spring-integration-extensions/stargazers","contributors_url":"https://api.github.com/repos/englishman/spring-integration-extensions/contributors","subscribers_url":"https://api.github.com/repos/englishman/spring-integration-extensions/subscribers","subscription_url":"https://api.github.com/repos/englishman/spring-integration-extensions/subscription","commits_url":"https://api.github.com/repos/englishman/spring-integration-extensions/commits{/sha}","git_commits_url":"https://api.github.com/repos/englishman/spring-integration-extensions/git/commits{/sha}","comments_url":"https://api.github.com/repos/englishman/spring-integration-extensions/comments{/number}","issue_comment_url":"https://api.github.com/repos/englishman/spring-integration-extensions/issues/comments{/number}","contents_url":"https://api.github.com/repos/englishman/spring-integration-extensions/contents/{+path}","compare_url":"https://api.github.com/repos/englishman/spring-integration-extensions/compare/{base}...{head}","merges_url":"https://api.github.com/repos/englishman/spring-integration-extensions/merges","archive_url":"https://api.github.com/repos/englishman/spring-integration-extensions/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/englishman/spring-integration-extensions/downloads","issues_url":"https://api.github.com/repos/englishman/spring-integration-extensions/issues{/number}","pulls_url":"https://api.github.com/repos/englishman/spring-integration-extensions/pulls{/number}","milestones_url":"https://api.github.com/repos/englishman/spring-integration-extensions/milestones{/number}","notifications_url":"https://api.github.com/repos/englishman/spring-integration-extensions/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/englishman/spring-integration-extensions/labels{/name}","releases_url":"https://api.github.com/repos/englishman/spring-integration-extensions/releases{/id}","deployments_url":"https://api.github.com/repos/englishman/spring-integration-extensions/deployments","created_at":"2016-03-31T16:45:51Z","updated_at":"2016-03-31T16:45:53Z","pushed_at":"2016-04-04T02:34:36Z","git_url":"git://github.com/englishman/spring-integration-extensions.git","ssh_url":"git@github.com:englishman/spring-integration-extensions.git","clone_url":"https://github.com/englishman/spring-integration-extensions.git","svn_url":"https://github.com/englishman/spring-integration-extensions","homepage":"http://www.springintegration.org/","size":2180,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"spring-projects:master","ref":"master","sha":"0efd494337d0b3a45b79a6cd65da79e585042e27","user":{"login":"spring-projects","id":317776,"avatar_url":"https://avatars.githubusercontent.com/u/317776?v=3","gravatar_id":"","url":"https://api.github.com/users/spring-projects","html_url":"https://github.com/spring-projects","followers_url":"https://api.github.com/users/spring-projects/followers","following_url":"https://api.github.com/users/spring-projects/following{/other_user}","gists_url":"https://api.github.com/users/spring-projects/gists{/gist_id}","starred_url":"https://api.github.com/users/spring-projects/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spring-projects/subscriptions","organizations_url":"https://api.github.com/users/spring-projects/orgs","repos_url":"https://api.github.com/users/spring-projects/repos","events_url":"https://api.github.com/users/spring-projects/events{/privacy}","received_events_url":"https://api.github.com/users/spring-projects/received_events","type":"Organization","site_admin":false},"repo":{"id":4653065,"name":"spring-integration-extensions","full_name":"spring-projects/spring-integration-extensions","owner":{"login":"spring-projects","id":317776,"avatar_url":"https://avatars.githubusercontent.com/u/317776?v=3","gravatar_id":"","url":"https://api.github.com/users/spring-projects","html_url":"https://github.com/spring-projects","followers_url":"https://api.github.com/users/spring-projects/followers","following_url":"https://api.github.com/users/spring-projects/following{/other_user}","gists_url":"https://api.github.com/users/spring-projects/gists{/gist_id}","starred_url":"https://api.github.com/users/spring-projects/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spring-projects/subscriptions","organizations_url":"https://api.github.com/users/spring-projects/orgs","repos_url":"https://api.github.com/users/spring-projects/repos","events_url":"https://api.github.com/users/spring-projects/events{/privacy}","received_events_url":"https://api.github.com/users/spring-projects/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/spring-projects/spring-integration-extensions","description":"The Spring Integration Extensions project provides extension components for Spring Integration","fork":false,"url":"https://api.github.com/repos/spring-projects/spring-integration-extensions","forks_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/forks","keys_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/keys{/key_id}","collaborators_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/teams","hooks_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/hooks","issue_events_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/issues/events{/number}","events_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/events","assignees_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/assignees{/user}","branches_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/branches{/branch}","tags_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/tags","blobs_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/git/refs{/sha}","trees_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/git/trees{/sha}","statuses_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/statuses/{sha}","languages_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/languages","stargazers_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/stargazers","contributors_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/contributors","subscribers_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/subscribers","subscription_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/subscription","commits_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/commits{/sha}","git_commits_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/git/commits{/sha}","comments_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/comments{/number}","issue_comment_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/issues/comments{/number}","contents_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/contents/{+path}","compare_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/compare/{base}...{head}","merges_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/merges","archive_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/downloads","issues_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/issues{/number}","pulls_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls{/number}","milestones_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/milestones{/number}","notifications_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/labels{/name}","releases_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/releases{/id}","deployments_url":"https://api.github.com/repos/spring-projects/spring-integration-extensions/deployments","created_at":"2012-06-13T16:05:52Z","updated_at":"2016-03-22T12:23:57Z","pushed_at":"2016-04-04T02:34:37Z","git_url":"git://github.com/spring-projects/spring-integration-extensions.git","ssh_url":"git@github.com:spring-projects/spring-integration-extensions.git","clone_url":"https://github.com/spring-projects/spring-integration-extensions.git","svn_url":"https://github.com/spring-projects/spring-integration-extensions","homepage":"http://www.springintegration.org/","size":14873,"stargazers_count":124,"watchers_count":124,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":168,"mirror_url":null,"open_issues_count":4,"forks":168,"open_issues":4,"watchers":124,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/159"},"html":{"href":"https://github.com/spring-projects/spring-integration-extensions/pull/159"},"issue":{"href":"https://api.github.com/repos/spring-projects/spring-integration-extensions/issues/159"},"comments":{"href":"https://api.github.com/repos/spring-projects/spring-integration-extensions/issues/159/comments"},"review_comments":{"href":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/159/comments"},"review_comment":{"href":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/spring-projects/spring-integration-extensions/pulls/159/commits"},"statuses":{"href":"https://api.github.com/repos/spring-projects/spring-integration-extensions/statuses/87352c47355825aa0825528243b164f153bc4c08"}}}}