[ https://issues.apache.org/jira/browse/TRINIDAD-2359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13570626#comment-13570626 ]
Andy Schwartz commented on TRINIDAD-2359: ----------------------------------------- More details on #2 above... GlobalConfiguratorImpl._isSetRequestBugPresent() performs the following test: // Call getInitParameterMap() up front ec.getInitParameterMap(); ec.setRequest(new TestRequest(orig)); _sHasSetRequestBug = !TestRequest.isTestParamPresent(ec); Where TestRequest looks like this: static private class TestRequest extends ServletRequestWrapper { public TestRequest(ServletRequest request) { super(request); } @Override public String getParameter(String string) { if (_TEST_PARAM.equals(string)) { return "passed"; } return super.getParameter(string); } static public final boolean isTestParamPresent(ExternalContext ec) { return RequestStateMap.getInstance(ec).get(_TEST_PARAM) != null; } static private String _TEST_PARAM = TestRequest.class.getName() + ".TEST_PARAM"; } TestRequest.isTestParamPresent() is checking for the presence of this _TEST_PARAM in the RequestStateMap. However, the _TEST_PARAM lives in the ServletRequest's "parameter" map. As far as I can tell, these are different things - ie. the RequestStateMap does not actually delegate through to the ServletRequest's parameter map. Thus isTestParamPresent() will always return false, even when the _TEST_PARAM is accessible via the request parameter map. > ClearRequestExternalContext wrapper applied unnecessarily > --------------------------------------------------------- > > Key: TRINIDAD-2359 > URL: https://issues.apache.org/jira/browse/TRINIDAD-2359 > Project: MyFaces Trinidad > Issue Type: Bug > Affects Versions: 2.0.1-core > Reporter: Andy Schwartz > Assignee: Andy Schwartz > Priority: Minor > > GlobalConfiguratorImpl wraps the ExternalContext with a > ClearRequestExternalContext if it detects that Mojarra issue 493 (fixed back > in Mojarra 1.2.04) is present. > The Mojarra issue is described here: > http://java.net/jira/browse/JAVASERVERFACES-493 setRequest does not reset > request maps > Two problems with this: > 1. This issue was fixed in 2007, so it is unclear whether we should ever > bother applying this workaround. > 2. The code which detects the presence of this Mojarra issue is buggy. > As a result of #2, GlobalConfiguratorImpl always adds a > ClearRequestExternalContext wrapper, regardless of whether the old Mojarra > issue is present or not. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira