{"action":"created","issue":{"url":"https://api.github.com/repos/spring-projects/spring-session/issues/557","repository_url":"https://api.github.com/repos/spring-projects/spring-session","labels_url":"https://api.github.com/repos/spring-projects/spring-session/issues/557/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-session/issues/557/comments","events_url":"https://api.github.com/repos/spring-projects/spring-session/issues/557/events","html_url":"https://github.com/spring-projects/spring-session/pull/557","id":161298015,"number":557,"title":"Introduce IndexResolver","user":{"login":"vpavic","id":1149230,"avatar_url":"https://avatars.githubusercontent.com/u/1149230?v=3","gravatar_id":"","url":"https://api.github.com/users/vpavic","html_url":"https://github.com/vpavic","followers_url":"https://api.github.com/users/vpavic/followers","following_url":"https://api.github.com/users/vpavic/following{/other_user}","gists_url":"https://api.github.com/users/vpavic/gists{/gist_id}","starred_url":"https://api.github.com/users/vpavic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vpavic/subscriptions","organizations_url":"https://api.github.com/users/vpavic/orgs","repos_url":"https://api.github.com/users/vpavic/repos","events_url":"https://api.github.com/users/vpavic/events{/privacy}","received_events_url":"https://api.github.com/users/vpavic/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/spring-projects/spring-session/labels/Data%20Store","name":"Data Store","color":"000000"},{"url":"https://api.github.com/repos/spring-projects/spring-session/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/spring-projects/spring-session/labels/waiting%20for%20feedback","name":"waiting for feedback","color":"eb6420"}],"state":"open","locked":false,"assignee":{"login":"rwinch","id":362503,"avatar_url":"https://avatars.githubusercontent.com/u/362503?v=3","gravatar_id":"","url":"https://api.github.com/users/rwinch","html_url":"https://github.com/rwinch","followers_url":"https://api.github.com/users/rwinch/followers","following_url":"https://api.github.com/users/rwinch/following{/other_user}","gists_url":"https://api.github.com/users/rwinch/gists{/gist_id}","starred_url":"https://api.github.com/users/rwinch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwinch/subscriptions","organizations_url":"https://api.github.com/users/rwinch/orgs","repos_url":"https://api.github.com/users/rwinch/repos","events_url":"https://api.github.com/users/rwinch/events{/privacy}","received_events_url":"https://api.github.com/users/rwinch/received_events","type":"User","site_admin":false},"assignees":[{"login":"rwinch","id":362503,"avatar_url":"https://avatars.githubusercontent.com/u/362503?v=3","gravatar_id":"","url":"https://api.github.com/users/rwinch","html_url":"https://github.com/rwinch","followers_url":"https://api.github.com/users/rwinch/followers","following_url":"https://api.github.com/users/rwinch/following{/other_user}","gists_url":"https://api.github.com/users/rwinch/gists{/gist_id}","starred_url":"https://api.github.com/users/rwinch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwinch/subscriptions","organizations_url":"https://api.github.com/users/rwinch/orgs","repos_url":"https://api.github.com/users/rwinch/repos","events_url":"https://api.github.com/users/rwinch/events{/privacy}","received_events_url":"https://api.github.com/users/rwinch/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/spring-projects/spring-session/milestones/16","html_url":"https://github.com/spring-projects/spring-session/milestones/1.3.0%20M3","labels_url":"https://api.github.com/repos/spring-projects/spring-session/milestones/16/labels","id":1989909,"number":16,"title":"1.3.0 M3","description":"","creator":{"login":"rwinch","id":362503,"avatar_url":"https://avatars.githubusercontent.com/u/362503?v=3","gravatar_id":"","url":"https://api.github.com/users/rwinch","html_url":"https://github.com/rwinch","followers_url":"https://api.github.com/users/rwinch/followers","following_url":"https://api.github.com/users/rwinch/following{/other_user}","gists_url":"https://api.github.com/users/rwinch/gists{/gist_id}","starred_url":"https://api.github.com/users/rwinch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwinch/subscriptions","organizations_url":"https://api.github.com/users/rwinch/orgs","repos_url":"https://api.github.com/users/rwinch/repos","events_url":"https://api.github.com/users/rwinch/events{/privacy}","received_events_url":"https://api.github.com/users/rwinch/received_events","type":"User","site_admin":false},"open_issues":18,"closed_issues":0,"state":"open","created_at":"2016-09-07T21:56:28Z","updated_at":"2016-09-17T22:25:33Z","due_on":null,"closed_at":null},"comments":14,"created_at":"2016-06-20T21:19:36Z","updated_at":"2016-09-18T15:04:00Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/spring-projects/spring-session/pulls/557","html_url":"https://github.com/spring-projects/spring-session/pull/557","diff_url":"https://github.com/spring-projects/spring-session/pull/557.diff","patch_url":"https://github.com/spring-projects/spring-session/pull/557.patch"},"body":"<!--\r\nThanks for contributing to Spring Session. Please provide a brief description of your pull-request and reference any related issue numbers (prefix references with #).\r\n-->\r\nThis commit introduces ```IndexResolver``` as a strategy interface for resolving index values in ```FindByIndexNameSessionRepository``` implementations.\r\n\r\nThis PR assumes ```IndexResolver``` implementations are single purpose, meaning implementations support single index name. Each ```FindByIndexNameSessionRepository``` implementation then in turn defines its set of supported ```IndexResolver```s. For this purpose, a convenience ```CompositeIndexResolver``` is provided.\r\n\r\nOut of the box the ```PrincipalNameIndexResolver``` is provided as the driver for this improvement, however each ``FindByIndexNameSessionRepository``` implementation can easily provide own resolvers, depending on capabilities of backing technology.\r\n\r\n@rwinch Let me know what are your thoughts on this approach before I proceed to other TODOs:\r\n\r\n- [x] unit tests\r\n- [x] use ```IndexResolver```s in ```FindByIndexNameSessionRepository``` implementations\r\n\r\nThis resolves #376.\r\n\r\n<!-- Please also confirm that you have signed the CLA by put an [X] in the box below: -->\r\n- [X] I have signed the CLA"},"comment":{"url":"https://api.github.com/repos/spring-projects/spring-session/issues/comments/247852812","html_url":"https://github.com/spring-projects/spring-session/pull/557#issuecomment-247852812","issue_url":"https://api.github.com/repos/spring-projects/spring-session/issues/557","id":247852812,"user":{"login":"vpavic","id":1149230,"avatar_url":"https://avatars.githubusercontent.com/u/1149230?v=3","gravatar_id":"","url":"https://api.github.com/users/vpavic","html_url":"https://github.com/vpavic","followers_url":"https://api.github.com/users/vpavic/followers","following_url":"https://api.github.com/users/vpavic/following{/other_user}","gists_url":"https://api.github.com/users/vpavic/gists{/gist_id}","starred_url":"https://api.github.com/users/vpavic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vpavic/subscriptions","organizations_url":"https://api.github.com/users/vpavic/orgs","repos_url":"https://api.github.com/users/vpavic/repos","events_url":"https://api.github.com/users/vpavic/events{/privacy}","received_events_url":"https://api.github.com/users/vpavic/received_events","type":"User","site_admin":false},"created_at":"2016-09-18T15:04:00Z","updated_at":"2016-09-18T15:04:00Z","body":"@rwinch I've updated the PR with tests and refactored `FindByIndexNameSessionRepository` implementations to use the new API.\r\n\r\nI've also left some comments on the code concerning the previously discussed availability of method that resolves a single index."}}
{"actor":{"display_login":"vpavic"}}