You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2008/11/26 15:55:28 UTC

svn commit: r720893 - /myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java

Author: werpu
Date: Wed Nov 26 06:55:27 2008
New Revision: 720893

URL: http://svn.apache.org/viewvc?rev=720893&view=rev
Log:
https://issues.apache.org/jira/browse/MYFACES-2039

Modified:
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java?rev=720893&r1=720892&r2=720893&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java (original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java Wed Nov 26 06:55:27 2008
@@ -66,8 +66,41 @@
  */
 public class FacesContextImpl extends FacesContext {
 
-    public static final String AJAX_REQ_KEY = "javax.faces.partial.ajax";
+    private static final String METHOD_ADDMESSAGE = "addMessage";
+    private static final String METHOD_ENABLERESPONSEWRITING = "enableResponseWriting";
+    private static final String METHOD_GETAPPLICATION = "getApplication";
+    private static final String METHOD_GETATTRIBUTES = "getAttributes";
+    private static final String METHOD_GETCLIENTIDSWITHMESSAGES = "getClientIdsWithMessages";
+    private static final String METHOD_GETCURRENTPHASEID = "getCurrentPhaseId";
+    private static final String METHOD_GETELCONTEXT = "getELContext";
+    private static final String METHOD_GETEXECUTEPHASECLIENTIDS = "getExecutePhaseClientIds";
+    private static final String METHOD_GETEXTERNALCONTEXT = "getExternalContext";
+    private static final String METHOD_GETMAXIMUMSEVERITY = "getMaximumSeverity";
+    private static final String METHOD_GETMESSAGES = "getMessages";
+    private static final String METHOD_GETRENDERKIT = "getRenderKit";
+    private static final String METHOD_GETRENDERPHASECLIENTIDS = "getRenderPhaseClientIds";
+    private static final String METHOD_GETRESPONSECOMPLETE = "getResponseComplete";
+    private static final String METHOD_GETRESPONSESTREAM = "getResponseStream";
+    private static final String METHOD_GETRESPONSEWRITER = "getResponseWriter";
+    private static final String METHOD_ISEXECUTENONE = "isExecuteNone";
+    private static final String METHOD_ISRENDERNONE = "isRenderNone";
+    private static final String METHOD_RELEASE = "release";
+    private static final String METHOD_RENDERRESPONSE = "renderResponse";
+    private static final String METHOD_RESPONSECOMPLETE = "responseComplete";
+    private static final String METHOD_RESPONSEWRITER = "responseWriter";
+    private static final String METHOD_SETCURRENTPHASEID = "setCurrentPhaseId";
+    private static final String METHOD_SETEXECUTEPHASECLIENTIDS = "setExecutePhaseClientIds";
+    private static final String METHOD_SETEXTERNALCONTEXT = "setExternalContext";
+    private static final String METHOD_SETRESPONSESTREAM = "setResponseStream";
+    private static final String METHOD_SETRESPONSEWRITER = "setResponseWriter";
+    private static final String METHOD_SETVIEWROOT = "setViewRoot";
+    private static final String METHOD_GETVIEWROOT = "getViewRoot";
+    private static final String METHOD_ISRENDERALL = "isRenderAll";
+    private static final String METHOD_SETRENDERALL = "setRenderAll";
+
     static final String RE_SPLITTER = "[\\s\\t\\r\\n]*\\,[\\s\\t\\r\\n]*";
+    public static final String AJAX_REQ_KEY = "javax.faces.partial.ajax";
+
 
     // ~ Instance fields ----------------------------------------------------------------------------
 
@@ -124,26 +157,21 @@
     // ~ Methods ------------------------------------------------------------------------------------
     @Override
     public final ExternalContext getExternalContext() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_GETEXTERNALCONTEXT);
+
         return (ExternalContext) _externalContext;
     }
 
     @Override
     public final FacesMessage.Severity getMaximumSeverity() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_GETMAXIMUMSEVERITY);
 
         return _maximumSeverity;
     }
 
     @Override
     public final Iterator<FacesMessage> getMessages() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_GETMESSAGES);
 
         if (_messages == null) {
             return NullIterator.instance();
@@ -154,18 +182,14 @@
 
     @Override
     public final Application getApplication() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_GETAPPLICATION);
 
         return _application;
     }
 
     @Override
     public final Iterator<String> getClientIdsWithMessages() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_GETCLIENTIDSWITHMESSAGES);
 
         if (_messages == null || _messages.isEmpty()) {
             return NullIterator.instance();
@@ -178,14 +202,15 @@
 
     @Override
     public PhaseId getCurrentPhaseId() {
+        assertNotReleased(METHOD_GETCURRENTPHASEID);
+
         return _currentPhaseId;
     }
 
     @Override
     public final Iterator<FacesMessage> getMessages(final String clientId) {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+
+        assertNotReleased(METHOD_GETMESSAGES);
 
         if (_messages == null) {
             return NullIterator.instance();
@@ -210,6 +235,8 @@
 
     @Override
     public final RenderKit getRenderKit() {
+        assertNotReleased(METHOD_GETRENDERKIT);
+
         if (getViewRoot() == null) {
             return null;
         }
@@ -225,25 +252,22 @@
 
     @Override
     public final boolean getRenderResponse() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_GETRESPONSECOMPLETE);
+
         return _renderResponse;
     }
 
     @Override
     public final boolean getResponseComplete() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+       assertNotReleased(METHOD_GETRESPONSECOMPLETE);
+
         return _responseComplete;
     }
 
     @Override
     public final void setResponseStream(final ResponseStream responseStream) {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_SETRESPONSESTREAM);
+
         if (responseStream == null) {
             throw new NullPointerException("responseStream");
         }
@@ -252,36 +276,32 @@
 
     @Override
     public final ResponseStream getResponseStream() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_GETRESPONSESTREAM);
+
         return _responseStream;
     }
 
     @Override
     public final void setResponseWriter(final ResponseWriter responseWriter) {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_SETRESPONSEWRITER);
+
         if (responseWriter == null) {
-            throw new NullPointerException("responseWriter");
+            throw new NullPointerException(METHOD_RESPONSEWRITER);
         }
         _responseWriter = responseWriter;
     }
 
     @Override
     public final ResponseWriter getResponseWriter() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_GETRESPONSEWRITER);
+
         return _responseWriter;
     }
 
     @Override
     public final void setViewRoot(final UIViewRoot viewRoot) {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_SETVIEWROOT);
+
         if (viewRoot == null) {
             throw new NullPointerException("viewRoot");
         }
@@ -290,17 +310,15 @@
 
     @Override
     public final UIViewRoot getViewRoot() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_GETVIEWROOT);
+
         return _viewRoot;
     }
 
     @Override
     public final void addMessage(final String clientId, final FacesMessage message) {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_ADDMESSAGE);
+        
         if (message == null) {
             throw new NullPointerException("message");
         }
@@ -323,9 +341,8 @@
 
     @Override
     public final void release() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_RELEASE);
+
         if (_externalContext != null) {
             _externalContext.release();
             _externalContext = null;
@@ -345,39 +362,45 @@
 
     @Override
     public boolean isPostback() {
+        assertNotReleased(METHOD_RENDERRESPONSE);
+
         return getRenderKit().getResponseStateManager().isPostback(this);
     }
 
     @Override
     public final void renderResponse() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_RENDERRESPONSE);
+        
         _renderResponse = true;
     }
 
     @Override
     public final void responseComplete() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_RESPONSECOMPLETE);
+      
         _responseComplete = true;
     }
 
     @Override
     public void setCurrentPhaseId(PhaseId currentPhaseId) {
+        assertNotReleased(METHOD_SETCURRENTPHASEID);
+
         _currentPhaseId = currentPhaseId;
     }
 
     // Portlet need to do this to change from ActionRequest/Response to
     // RenderRequest/Response
     public final void setExternalContext(ReleaseableExternalContext extContext) {
+        assertNotReleased(METHOD_SETEXTERNALCONTEXT);
+
         _externalContext = extContext;
         FacesContext.setCurrentInstance(this); // TODO: figure out if I really need to do this
     }
 
     @Override
     public final ELContext getELContext() {
+        assertNotReleased(METHOD_GETELCONTEXT);
+
         if (_elContext != null) {
             return _elContext;
         }
@@ -397,9 +420,8 @@
      */
     @Override
     public Map<Object, Object> getAttributes() {
-        if (_released) {
-            throw new IllegalStateException("FacesContext already released");
-        }
+        assertNotReleased(METHOD_GETATTRIBUTES);
+
         if (_attributes == null) {
             _attributes = new HashMap<Object, Object>();
         }
@@ -416,7 +438,7 @@
      */
     @Override
     public void enableResponseWriting(boolean enable) {
-        assertContextState("enableResponseWriting");
+        assertNotReleased(METHOD_ENABLERESPONSEWRITING);
 
         _responseWrapper.setEnabled(enable);
         super.enableResponseWriting(enable);
@@ -428,7 +450,7 @@
      */
     @Override
     public List<String> getExecutePhaseClientIds() {
-        assertContextState("getExecutePhaseClientIds");
+        assertNotReleased(METHOD_GETEXECUTEPHASECLIENTIDS);
 
         return super.getExecutePhaseClientIds();
     }
@@ -450,7 +472,7 @@
      */
     @Override
     public List<String> getRenderPhaseClientIds() {
-        assertContextState("getRenderPhaseClientIds");
+        assertNotReleased(METHOD_GETRENDERPHASECLIENTIDS);
 
         /*already processed or set from the outside*/
         if(null != _renderPhaseClientIds) {
@@ -496,7 +518,7 @@
      */
     @Override
     public void setExecutePhaseClientIds(List<String> executePhaseClientIds) {
-        assertContextState("setExecutePhaseClientIds");
+        assertNotReleased(METHOD_SETEXECUTEPHASECLIENTIDS);
 
         super.setExecutePhaseClientIds(executePhaseClientIds);
     }
@@ -509,7 +531,7 @@
      */
     @Override
     public void setRenderPhaseClientIds(List<String> renderPhaseClientIds) {
-        assertContextState("setExecutePhaseClientIds");
+        assertNotReleased(METHOD_SETEXECUTEPHASECLIENTIDS);
 
         _renderPhaseClientIds = renderPhaseClientIds;
     }
@@ -539,7 +561,7 @@
      */
     @Override
     public boolean isExecuteNone() {
-        assertContextState("isExecuteNone");
+        assertNotReleased(METHOD_ISEXECUTENONE);
 
         Map requestMap = getExternalContext().getRequestParameterMap();
         String param = (String) requestMap.get(PARTIAL_EXECUTE_PARAM_NAME);
@@ -553,7 +575,7 @@
      */
     @Override
     public boolean isRenderNone() {
-        assertContextState("isRenderNone");
+        assertNotReleased(METHOD_ISRENDERNONE);
 
         Map requestMap = getExternalContext().getRequestParameterMap();
         String param = (String) requestMap.get(PARTIAL_RENDER_PARAM_NAME);
@@ -568,7 +590,7 @@
      */
     @Override
     public boolean isRenderAll() {
-        assertContextState("isRenderAll");
+        assertNotReleased(METHOD_ISRENDERALL);
 
         if(_renderAll != null) {
             return _renderAll;
@@ -593,7 +615,7 @@
      */
     @Override
     public void setRenderAll(boolean renderAll) {
-        assertContextState("setRenderAll");
+        assertNotReleased(METHOD_SETRENDERALL);
         
         _renderAll = renderAll;//autoboxing does the conversation here, no need to do casting
     }
@@ -604,7 +626,7 @@
      * has to be thrown in many of the methods
      * if the method is called after the instance has been released!
      */
-    private void assertContextState(String string) {
+    private void assertNotReleased(String string) {
         if(_released) {
             StringBuilder errorMessage = new StringBuilder(128);
             errorMessage.append("Error in method call on javax.faces.context.FacesContext.");