{"action":"created","comment":{"url":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/comments/61674714","id":61674714,"diff_hunk":"@@ -0,0 +1,61 @@\n+/**\n+ * Copyright (c) 2000-2016 Liferay, Inc. All rights reserved.\n+ *\n+ * Licensed under the Apache License, Version 2.0 (the \"License\");\n+ * you may not use this file except in compliance with the License.\n+ * You may obtain a copy of the License at\n+ *\n+ *    http://www.apache.org/licenses/LICENSE-2.0\n+ *\n+ * Unless required by applicable law or agreed to in writing, software\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+ * See the License for the specific language governing permissions and\n+ * limitations under the License.\n+ */\n+package com.liferay.faces.util.jsp;\n+\n+import javax.el.ELContext;\n+import javax.faces.FacesWrapper;\n+import javax.servlet.http.HttpServletRequest;\n+import javax.servlet.http.HttpServletResponse;\n+import javax.servlet.jsp.PageContext;\n+\n+import com.liferay.faces.util.factory.FactoryExtensionFinder;\n+\n+\n+/**\n+ * This factory provides methods for creating a JavaServer Pages (JSP) {@link PageContext} which outputs content to a\n+ * {@link String}. This provides the ability to run the lifecycle of a JSP tag so that the JSP tag markup is captured in\n+ * a String rather than written as output from a JSP.\n+ *\n+ * @author  Kyle Stiemann\n+ */\n+public abstract class PageContextFactory implements FacesWrapper<PageContextFactory> {\n+\n+\t/**\n+\t * @return  an instance of {@link PageContext} from the {@link PageContextFactory} found by the {@link\n+\t *          FactoryExtensionFinder}.\n+\t */\n+\tpublic static PageContext getStringPageContextInstance(HttpServletRequest httpServletRequest,\n+\t\tHttpServletResponse httpServletResponse, ELContext elContext) {\n+\n+\t\tPageContextFactory stringPageContextFactory = (PageContextFactory) FactoryExtensionFinder.getFactory(\n+\t\t\t\tPageContextFactory.class);\n+\n+\t\treturn stringPageContextFactory.getStringPageContext(httpServletRequest, httpServletResponse, elContext);\n+\t}\n+\n+\t/**\n+\t * Returns an instance of {@link PageContext} which renders tag output to a String. Pass the {@link PageContext} to\n+\t * {@link javax.servlet.jsp.tagext.Tag#setPageContext(javax.servlet.jsp.PageContext)} before calling {@link\n+\t * javax.servlet.jsp.tagext.Tag#doStartTag()} or similar methods to render tag output to a String. Call {@link\n+\t * PageContext#getOut()#toString()} to obtain the tag output as a string.\n+\t *\n+\t * @param  httpServletRequest","path":"util/src/main/java/com/liferay/faces/util/jsp/PageContextFactory.java","position":55,"original_position":55,"commit_id":"c2487092ca0c3c73e4a0596d7f9a54489815d3bf","original_commit_id":"c2487092ca0c3c73e4a0596d7f9a54489815d3bf","user":{"login":"ngriffin7a","id":989387,"avatar_url":"https://avatars.githubusercontent.com/u/989387?v=3","gravatar_id":"","url":"https://api.github.com/users/ngriffin7a","html_url":"https://github.com/ngriffin7a","followers_url":"https://api.github.com/users/ngriffin7a/followers","following_url":"https://api.github.com/users/ngriffin7a/following{/other_user}","gists_url":"https://api.github.com/users/ngriffin7a/gists{/gist_id}","starred_url":"https://api.github.com/users/ngriffin7a/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ngriffin7a/subscriptions","organizations_url":"https://api.github.com/users/ngriffin7a/orgs","repos_url":"https://api.github.com/users/ngriffin7a/repos","events_url":"https://api.github.com/users/ngriffin7a/events{/privacy}","received_events_url":"https://api.github.com/users/ngriffin7a/received_events","type":"User","site_admin":false},"body":"@stiemannkj1 Thanks for pointing that out. I added JavaDoc comments.","created_at":"2016-04-30T20:38:51Z","updated_at":"2016-04-30T20:38:51Z","html_url":"https://github.com/liferay/liferay-faces-util/pull/30#discussion_r61674714","pull_request_url":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/30","_links":{"self":{"href":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/comments/61674714"},"html":{"href":"https://github.com/liferay/liferay-faces-util/pull/30#discussion_r61674714"},"pull_request":{"href":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/30"}}},"pull_request":{"url":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/30","id":67560776,"html_url":"https://github.com/liferay/liferay-faces-util/pull/30","diff_url":"https://github.com/liferay/liferay-faces-util/pull/30.diff","patch_url":"https://github.com/liferay/liferay-faces-util/pull/30.patch","issue_url":"https://api.github.com/repos/liferay/liferay-faces-util/issues/30","number":30,"state":"closed","locked":false,"title":"FACES-2664 Reduce JspAdapterFactory API make it consistent with other Factories","user":{"login":"stiemannkj1","id":3483874,"avatar_url":"https://avatars.githubusercontent.com/u/3483874?v=3","gravatar_id":"","url":"https://api.github.com/users/stiemannkj1","html_url":"https://github.com/stiemannkj1","followers_url":"https://api.github.com/users/stiemannkj1/followers","following_url":"https://api.github.com/users/stiemannkj1/following{/other_user}","gists_url":"https://api.github.com/users/stiemannkj1/gists{/gist_id}","starred_url":"https://api.github.com/users/stiemannkj1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stiemannkj1/subscriptions","organizations_url":"https://api.github.com/users/stiemannkj1/orgs","repos_url":"https://api.github.com/users/stiemannkj1/repos","events_url":"https://api.github.com/users/stiemannkj1/events{/privacy}","received_events_url":"https://api.github.com/users/stiemannkj1/received_events","type":"User","site_admin":false},"body":null,"created_at":"2016-04-22T19:27:39Z","updated_at":"2016-04-30T20:38:51Z","closed_at":"2016-04-30T20:29:46Z","merged_at":"2016-04-30T20:29:46Z","merge_commit_sha":"c2487092ca0c3c73e4a0596d7f9a54489815d3bf","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/30/commits","review_comments_url":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/30/comments","review_comment_url":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/comments{/number}","comments_url":"https://api.github.com/repos/liferay/liferay-faces-util/issues/30/comments","statuses_url":"https://api.github.com/repos/liferay/liferay-faces-util/statuses/c2487092ca0c3c73e4a0596d7f9a54489815d3bf","head":{"label":"stiemannkj1:reduce-and-make-consistent-JspAdapterFactory-API-FACES-2664","ref":"reduce-and-make-consistent-JspAdapterFactory-API-FACES-2664","sha":"c2487092ca0c3c73e4a0596d7f9a54489815d3bf","user":{"login":"stiemannkj1","id":3483874,"avatar_url":"https://avatars.githubusercontent.com/u/3483874?v=3","gravatar_id":"","url":"https://api.github.com/users/stiemannkj1","html_url":"https://github.com/stiemannkj1","followers_url":"https://api.github.com/users/stiemannkj1/followers","following_url":"https://api.github.com/users/stiemannkj1/following{/other_user}","gists_url":"https://api.github.com/users/stiemannkj1/gists{/gist_id}","starred_url":"https://api.github.com/users/stiemannkj1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stiemannkj1/subscriptions","organizations_url":"https://api.github.com/users/stiemannkj1/orgs","repos_url":"https://api.github.com/users/stiemannkj1/repos","events_url":"https://api.github.com/users/stiemannkj1/events{/privacy}","received_events_url":"https://api.github.com/users/stiemannkj1/received_events","type":"User","site_admin":false},"repo":{"id":42178745,"name":"liferay-faces-util","full_name":"stiemannkj1/liferay-faces-util","owner":{"login":"stiemannkj1","id":3483874,"avatar_url":"https://avatars.githubusercontent.com/u/3483874?v=3","gravatar_id":"","url":"https://api.github.com/users/stiemannkj1","html_url":"https://github.com/stiemannkj1","followers_url":"https://api.github.com/users/stiemannkj1/followers","following_url":"https://api.github.com/users/stiemannkj1/following{/other_user}","gists_url":"https://api.github.com/users/stiemannkj1/gists{/gist_id}","starred_url":"https://api.github.com/users/stiemannkj1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stiemannkj1/subscriptions","organizations_url":"https://api.github.com/users/stiemannkj1/orgs","repos_url":"https://api.github.com/users/stiemannkj1/repos","events_url":"https://api.github.com/users/stiemannkj1/events{/privacy}","received_events_url":"https://api.github.com/users/stiemannkj1/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/stiemannkj1/liferay-faces-util","description":"","fork":true,"url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util","forks_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/forks","keys_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/keys{/key_id}","collaborators_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/teams","hooks_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/hooks","issue_events_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/issues/events{/number}","events_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/events","assignees_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/assignees{/user}","branches_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/branches{/branch}","tags_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/tags","blobs_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/git/refs{/sha}","trees_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/git/trees{/sha}","statuses_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/statuses/{sha}","languages_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/languages","stargazers_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/stargazers","contributors_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/contributors","subscribers_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/subscribers","subscription_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/subscription","commits_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/commits{/sha}","git_commits_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/git/commits{/sha}","comments_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/comments{/number}","issue_comment_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/issues/comments{/number}","contents_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/contents/{+path}","compare_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/compare/{base}...{head}","merges_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/merges","archive_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/downloads","issues_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/issues{/number}","pulls_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/pulls{/number}","milestones_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/milestones{/number}","notifications_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/labels{/name}","releases_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/releases{/id}","deployments_url":"https://api.github.com/repos/stiemannkj1/liferay-faces-util/deployments","created_at":"2015-09-09T13:04:41Z","updated_at":"2016-01-15T22:23:46Z","pushed_at":"2016-04-22T19:39:15Z","git_url":"git://github.com/stiemannkj1/liferay-faces-util.git","ssh_url":"git@github.com:stiemannkj1/liferay-faces-util.git","clone_url":"https://github.com/stiemannkj1/liferay-faces-util.git","svn_url":"https://github.com/stiemannkj1/liferay-faces-util","homepage":null,"size":460,"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":"liferay:master","ref":"master","sha":"def29ec14cdc71e5ebbf14ad77d855dbab7643e0","user":{"login":"liferay","id":131436,"avatar_url":"https://avatars.githubusercontent.com/u/131436?v=3","gravatar_id":"","url":"https://api.github.com/users/liferay","html_url":"https://github.com/liferay","followers_url":"https://api.github.com/users/liferay/followers","following_url":"https://api.github.com/users/liferay/following{/other_user}","gists_url":"https://api.github.com/users/liferay/gists{/gist_id}","starred_url":"https://api.github.com/users/liferay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liferay/subscriptions","organizations_url":"https://api.github.com/users/liferay/orgs","repos_url":"https://api.github.com/users/liferay/repos","events_url":"https://api.github.com/users/liferay/events{/privacy}","received_events_url":"https://api.github.com/users/liferay/received_events","type":"Organization","site_admin":false},"repo":{"id":41882236,"name":"liferay-faces-util","full_name":"liferay/liferay-faces-util","owner":{"login":"liferay","id":131436,"avatar_url":"https://avatars.githubusercontent.com/u/131436?v=3","gravatar_id":"","url":"https://api.github.com/users/liferay","html_url":"https://github.com/liferay","followers_url":"https://api.github.com/users/liferay/followers","following_url":"https://api.github.com/users/liferay/following{/other_user}","gists_url":"https://api.github.com/users/liferay/gists{/gist_id}","starred_url":"https://api.github.com/users/liferay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liferay/subscriptions","organizations_url":"https://api.github.com/users/liferay/orgs","repos_url":"https://api.github.com/users/liferay/repos","events_url":"https://api.github.com/users/liferay/events{/privacy}","received_events_url":"https://api.github.com/users/liferay/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/liferay/liferay-faces-util","description":"","fork":false,"url":"https://api.github.com/repos/liferay/liferay-faces-util","forks_url":"https://api.github.com/repos/liferay/liferay-faces-util/forks","keys_url":"https://api.github.com/repos/liferay/liferay-faces-util/keys{/key_id}","collaborators_url":"https://api.github.com/repos/liferay/liferay-faces-util/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/liferay/liferay-faces-util/teams","hooks_url":"https://api.github.com/repos/liferay/liferay-faces-util/hooks","issue_events_url":"https://api.github.com/repos/liferay/liferay-faces-util/issues/events{/number}","events_url":"https://api.github.com/repos/liferay/liferay-faces-util/events","assignees_url":"https://api.github.com/repos/liferay/liferay-faces-util/assignees{/user}","branches_url":"https://api.github.com/repos/liferay/liferay-faces-util/branches{/branch}","tags_url":"https://api.github.com/repos/liferay/liferay-faces-util/tags","blobs_url":"https://api.github.com/repos/liferay/liferay-faces-util/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/liferay/liferay-faces-util/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/liferay/liferay-faces-util/git/refs{/sha}","trees_url":"https://api.github.com/repos/liferay/liferay-faces-util/git/trees{/sha}","statuses_url":"https://api.github.com/repos/liferay/liferay-faces-util/statuses/{sha}","languages_url":"https://api.github.com/repos/liferay/liferay-faces-util/languages","stargazers_url":"https://api.github.com/repos/liferay/liferay-faces-util/stargazers","contributors_url":"https://api.github.com/repos/liferay/liferay-faces-util/contributors","subscribers_url":"https://api.github.com/repos/liferay/liferay-faces-util/subscribers","subscription_url":"https://api.github.com/repos/liferay/liferay-faces-util/subscription","commits_url":"https://api.github.com/repos/liferay/liferay-faces-util/commits{/sha}","git_commits_url":"https://api.github.com/repos/liferay/liferay-faces-util/git/commits{/sha}","comments_url":"https://api.github.com/repos/liferay/liferay-faces-util/comments{/number}","issue_comment_url":"https://api.github.com/repos/liferay/liferay-faces-util/issues/comments{/number}","contents_url":"https://api.github.com/repos/liferay/liferay-faces-util/contents/{+path}","compare_url":"https://api.github.com/repos/liferay/liferay-faces-util/compare/{base}...{head}","merges_url":"https://api.github.com/repos/liferay/liferay-faces-util/merges","archive_url":"https://api.github.com/repos/liferay/liferay-faces-util/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/liferay/liferay-faces-util/downloads","issues_url":"https://api.github.com/repos/liferay/liferay-faces-util/issues{/number}","pulls_url":"https://api.github.com/repos/liferay/liferay-faces-util/pulls{/number}","milestones_url":"https://api.github.com/repos/liferay/liferay-faces-util/milestones{/number}","notifications_url":"https://api.github.com/repos/liferay/liferay-faces-util/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/liferay/liferay-faces-util/labels{/name}","releases_url":"https://api.github.com/repos/liferay/liferay-faces-util/releases{/id}","deployments_url":"https://api.github.com/repos/liferay/liferay-faces-util/deployments","created_at":"2015-09-03T20:31:40Z","updated_at":"2016-02-02T16:32:05Z","pushed_at":"2016-04-30T20:36:32Z","git_url":"git://github.com/liferay/liferay-faces-util.git","ssh_url":"git@github.com:liferay/liferay-faces-util.git","clone_url":"https://github.com/liferay/liferay-faces-util.git","svn_url":"https://github.com/liferay/liferay-faces-util","homepage":null,"size":618,"stargazers_count":3,"watchers_count":3,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":0,"forks":5,"open_issues":0,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/30"},"html":{"href":"https://github.com/liferay/liferay-faces-util/pull/30"},"issue":{"href":"https://api.github.com/repos/liferay/liferay-faces-util/issues/30"},"comments":{"href":"https://api.github.com/repos/liferay/liferay-faces-util/issues/30/comments"},"review_comments":{"href":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/30/comments"},"review_comment":{"href":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/liferay/liferay-faces-util/pulls/30/commits"},"statuses":{"href":"https://api.github.com/repos/liferay/liferay-faces-util/statuses/c2487092ca0c3c73e4a0596d7f9a54489815d3bf"}}}}