{"action":"created","issue":{"url":"https://api.github.com/repos/caskdata/cdap/issues/2705","labels_url":"https://api.github.com/repos/caskdata/cdap/issues/2705/labels{/name}","comments_url":"https://api.github.com/repos/caskdata/cdap/issues/2705/comments","events_url":"https://api.github.com/repos/caskdata/cdap/issues/2705/events","html_url":"https://github.com/caskdata/cdap/pull/2705","id":76913084,"number":2705,"title":"Refactor program managers.","user":{"login":"anwar6953","id":2440977,"avatar_url":"https://avatars.githubusercontent.com/u/2440977?v=3","gravatar_id":"","url":"https://api.github.com/users/anwar6953","html_url":"https://github.com/anwar6953","followers_url":"https://api.github.com/users/anwar6953/followers","following_url":"https://api.github.com/users/anwar6953/following{/other_user}","gists_url":"https://api.github.com/users/anwar6953/gists{/gist_id}","starred_url":"https://api.github.com/users/anwar6953/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anwar6953/subscriptions","organizations_url":"https://api.github.com/users/anwar6953/orgs","repos_url":"https://api.github.com/users/anwar6953/repos","events_url":"https://api.github.com/users/anwar6953/events{/privacy}","received_events_url":"https://api.github.com/users/anwar6953/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/caskdata/cdap/labels/3.1","name":"3.1","color":"14d940"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-05-16T01:28:49Z","updated_at":"2015-05-18T20:26:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/caskdata/cdap/pulls/2705","html_url":"https://github.com/caskdata/cdap/pull/2705","diff_url":"https://github.com/caskdata/cdap/pull/2705.diff","patch_url":"https://github.com/caskdata/cdap/pull/2705.patch"},"body":"(Refactor and simplify the program manager classes, without removing any APIs.)\r\n\r\nMostly:\r\nRefactor program managers to extend a new `AbstractProgramManager` for code de-duplication and simplification. This also makes it much easier to add APIs to the program manager classes.\r\n\r\nMinor:\r\nExtract all program manager classes out as concrete classes (as opposed to anonymous classes inside the application managers).\r\n`FlowManager` was missing a `getFlowletInstances` method.\r\n\r\nBuild green:\r\nhttp://builds.cask.co/browse/CDAP-DUT1846-5"},"comment":{"url":"https://api.github.com/repos/caskdata/cdap/issues/comments/103199611","html_url":"https://github.com/caskdata/cdap/pull/2705#issuecomment-103199611","issue_url":"https://api.github.com/repos/caskdata/cdap/issues/2705","id":103199611,"user":{"login":"bdmogal","id":3895099,"avatar_url":"https://avatars.githubusercontent.com/u/3895099?v=3","gravatar_id":"","url":"https://api.github.com/users/bdmogal","html_url":"https://github.com/bdmogal","followers_url":"https://api.github.com/users/bdmogal/followers","following_url":"https://api.github.com/users/bdmogal/following{/other_user}","gists_url":"https://api.github.com/users/bdmogal/gists{/gist_id}","starred_url":"https://api.github.com/users/bdmogal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdmogal/subscriptions","organizations_url":"https://api.github.com/users/bdmogal/orgs","repos_url":"https://api.github.com/users/bdmogal/repos","events_url":"https://api.github.com/users/bdmogal/events{/privacy}","received_events_url":"https://api.github.com/users/bdmogal/received_events","type":"User","site_admin":false},"created_at":"2015-05-18T20:26:55Z","updated_at":"2015-05-18T20:26:55Z","body":":+1: \r\n\r\n"}}