{"action":"created","issue":{"url":"https://api.github.com/repos/swagger-api/swagger-parser/issues/254","repository_url":"https://api.github.com/repos/swagger-api/swagger-parser","labels_url":"https://api.github.com/repos/swagger-api/swagger-parser/issues/254/labels{/name}","comments_url":"https://api.github.com/repos/swagger-api/swagger-parser/issues/254/comments","events_url":"https://api.github.com/repos/swagger-api/swagger-parser/issues/254/events","html_url":"https://github.com/swagger-api/swagger-parser/pull/254","id":158276006,"number":254,"title":"Simplified extension interface","user":{"login":"pablograna","id":827273,"avatar_url":"https://avatars.githubusercontent.com/u/827273?v=3","gravatar_id":"","url":"https://api.github.com/users/pablograna","html_url":"https://github.com/pablograna","followers_url":"https://api.github.com/users/pablograna/followers","following_url":"https://api.github.com/users/pablograna/following{/other_user}","gists_url":"https://api.github.com/users/pablograna/gists{/gist_id}","starred_url":"https://api.github.com/users/pablograna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pablograna/subscriptions","organizations_url":"https://api.github.com/users/pablograna/orgs","repos_url":"https://api.github.com/users/pablograna/repos","events_url":"https://api.github.com/users/pablograna/events{/privacy}","received_events_url":"https://api.github.com/users/pablograna/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-06-03T01:54:22Z","updated_at":"2016-06-03T02:51:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/swagger-api/swagger-parser/pulls/254","html_url":"https://github.com/swagger-api/swagger-parser/pull/254","diff_url":"https://github.com/swagger-api/swagger-parser/pull/254.diff","patch_url":"https://github.com/swagger-api/swagger-parser/pull/254.patch"},"body":"Made the SwaggerParserExtension much simpler: just one operation. The other operations are implemented in SwaggerParser and end up delegating in  SwaggerDeserializationResult.parseContents(... ).\r\n\r\nThis change removed some duplicate code, and makes the code easier to maintain (my opinion, of course).\r\n\r\nAny opinions?\r\n\r\nAnother thing I'd like to do is to add another operation to SwaggerDeserializationResult: boolean supports(JsonNode swaggerAsJson). This will return true if the extension can parse the swagger spec. The two extensions I know about are the Swagger20Parser and SwaggerCompatConverter. In both these extensions it is very easy to check if they support the spec.\r\n\r\nThanks a lot for your hard work in swagger.\r\n"},"comment":{"url":"https://api.github.com/repos/swagger-api/swagger-parser/issues/comments/223478533","html_url":"https://github.com/swagger-api/swagger-parser/pull/254#issuecomment-223478533","issue_url":"https://api.github.com/repos/swagger-api/swagger-parser/issues/254","id":223478533,"user":{"login":"pablograna","id":827273,"avatar_url":"https://avatars.githubusercontent.com/u/827273?v=3","gravatar_id":"","url":"https://api.github.com/users/pablograna","html_url":"https://github.com/pablograna","followers_url":"https://api.github.com/users/pablograna/followers","following_url":"https://api.github.com/users/pablograna/following{/other_user}","gists_url":"https://api.github.com/users/pablograna/gists{/gist_id}","starred_url":"https://api.github.com/users/pablograna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pablograna/subscriptions","organizations_url":"https://api.github.com/users/pablograna/orgs","repos_url":"https://api.github.com/users/pablograna/repos","events_url":"https://api.github.com/users/pablograna/events{/privacy}","received_events_url":"https://api.github.com/users/pablograna/received_events","type":"User","site_admin":false},"created_at":"2016-06-03T02:51:50Z","updated_at":"2016-06-03T02:51:50Z","body":"I added a second commit that changes the way SwaggerParser calls extensions. Before, SwaggerParser first called Swagger20Parser, then it tried with all extensions. I added a supports() operation to the SwaggerParserExtension interface and SwaggerParser asks each extension if it supports the swagger spec. It then delegates the parsing to that extension.\r\n\r\nPlease, let me know if this makes sense ...\r\n"}}
{"actor":{"display_login":"pablograna"}}