ICEfaces
  1. ICEfaces
  2. ICE-6929

FacesContext.externalContext.response.namespace resets to empty after server roundtrip

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.2-EE-GA_P02
    • Fix Version/s: EE-1.8.2.GA_P04
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Liferay 5.2.3 + Tomcat 6
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      Use namespace stored as request attribute:


          public String getNamespace() {
              Map requestMap = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
              Object namespace = requestMap.get("com.icesoft.faces.NAMESPACE");
              if( namespace != null ){
                  return namespace.toString();
              }
              return null;
          }
      Show
      Use namespace stored as request attribute:     public String getNamespace() {         Map requestMap = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();         Object namespace = requestMap.get("com.icesoft.faces.NAMESPACE");         if( namespace != null ){             return namespace.toString();         }         return null;     }

      Description

      This looks to be a regression from P01. The user has facesContext.externalContext.response.namespace in their page level EL expression and on first render is correctly set. The issue occurs after a server round trip where the value then becomes empty. To reproduce the issue in the attached portal test case, select the text inside of the inputTtext and hit enter. The label for the facesContext.externalContext.response.namespace becomes blank. Here is the snippet of code:

      <ice:outputLabel value="#{facesContext.externalContext.response.namespace}" />

      In a partial update (button click or hitting enter in an inputText) in P02, the PortletResponse acquired using the property response of the externalContext is null. However in P01, the PortletResponse is correctly set.

      Test case is intended for deployment on Liferay 5.2.3 + Tomcat 6 and can be found under the "Test" portlet category.

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #28586 Thu Mar 29 10:57:02 MDT 2012 deryk.sinotte ICE-6929: made context parameter name consistent with other portlet parameters
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/portlet/PortletExternalContext.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #28584 Thu Mar 29 10:41:17 MDT 2012 deryk.sinotte ICE-6929: provide a proxy response during Ajax requests that implements the getNamespace() method
        Files Changed
        Commit graph ADD /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/portlet/ProxyPortletResponse.java
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/webapp/http/portlet/PortletExternalContext.java

          People

          • Assignee:
            Deryk Sinotte
            Reporter:
            Tyler Johnson
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: