You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mc...@apache.org on 2009/07/14 18:28:13 UTC

svn commit: r793965 - in /myfaces/core/trunk/impl/src: main/java/org/apache/myfaces/context/servlet/ main/java/org/apache/myfaces/view/jsp/ test/java/org/apache/myfaces/context/

Author: mconcini
Date: Tue Jul 14 16:28:12 2009
New Revision: 793965

URL: http://svn.apache.org/viewvc?rev=793965&view=rev
Log:
MYFACES-2287 - fix exception publishing and jsp vdl handles method

Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguageStrategy.java
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/ExecutePhaseClientIdsTest.java
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/IsRenderedTest.java
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/RenderPhaseClientIdsTest.java
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/ResponseWrapperSwitchTest.java
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/TestIsAjaxRequest.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java?rev=793965&r1=793964&r2=793965&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java Tue Jul 14 16:28:12 2009
@@ -35,6 +35,7 @@
 import javax.faces.application.FacesMessage;
 import javax.faces.component.UIViewRoot;
 import javax.faces.context.ExceptionHandler;
+import javax.faces.context.ExceptionHandlerFactory;
 import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
 import javax.faces.context.PartialViewContext;
@@ -105,11 +106,15 @@
 
     private void init(final ReleaseableExternalContext externalContext)
     {
+        ExceptionHandlerFactory exceptionHandlerFactory = (ExceptionHandlerFactory)
+            FactoryFinder.getFactory (FactoryFinder.EXCEPTION_HANDLER_FACTORY);
+        
         _externalContext = externalContext;
         FacesContext.setCurrentInstance(this);  //protected method, therefore must be called from here
         _application = ((ApplicationFactory)FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY))
                 .getApplication();
         _renderKitFactory = (RenderKitFactory) FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY);
+        _exceptionHandler = exceptionHandlerFactory.getExceptionHandler();
     }
 
     // ~ Methods ------------------------------------------------------------------------------------

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguageStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguageStrategy.java?rev=793965&r1=793964&r2=793965&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguageStrategy.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguageStrategy.java Tue Jul 14 16:28:12 2009
@@ -18,6 +18,12 @@
  */
 package org.apache.myfaces.view.jsp;
 
+import java.util.LinkedList;
+import java.util.StringTokenizer;
+
+import javax.faces.application.ViewHandler;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
 import javax.faces.view.ViewDeclarationLanguage;
 
 import org.apache.myfaces.view.ViewDeclarationLanguageStrategy;
@@ -31,12 +37,15 @@
 public class JspViewDeclarationLanguageStrategy implements ViewDeclarationLanguageStrategy
 {
     private ViewDeclarationLanguage _language;
+    private LinkedList<String> _suffixes;
     
     public JspViewDeclarationLanguageStrategy()
     {
         // TODO: IMPLEMENT HERE
         
         _language = new JspViewDeclarationLanguage();
+        
+        _suffixes = loadSuffixes (FacesContext.getCurrentInstance().getExternalContext());
     }
     
     /**
@@ -54,7 +63,32 @@
     @Override
     public boolean handles(String viewId)
     {
-        // TODO: IMPLEMENT HERE
+        for (String suffix : _suffixes) {
+            if (viewId.endsWith (suffix)) {
+                return true;
+            }
+        }
+        
         return false;
     }
+    
+    private LinkedList<String> loadSuffixes (ExternalContext context) {
+        LinkedList<String> result = new LinkedList<String>();
+        String definedSuffixes = context.getInitParameter (ViewHandler.DEFAULT_SUFFIX_PARAM_NAME);
+        StringTokenizer tokenizer;
+        
+        if (definedSuffixes == null) {
+            definedSuffixes = ViewHandler.DEFAULT_SUFFIX;
+        }
+        
+        // This is a space-separated list of suffixes, so parse them out.
+        
+        tokenizer = new StringTokenizer (definedSuffixes, " ");
+        
+        while (tokenizer.hasMoreTokens()) {
+            result.add (tokenizer.nextToken());
+        }
+        
+        return result;
+    }
 }

Modified: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/ExecutePhaseClientIdsTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/ExecutePhaseClientIdsTest.java?rev=793965&r1=793964&r2=793965&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/ExecutePhaseClientIdsTest.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/ExecutePhaseClientIdsTest.java Tue Jul 14 16:28:12 2009
@@ -39,7 +39,9 @@
      protected void setUp() throws Exception {
          super.setUp();
          FactoryFinder.setFactory(FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY,
-         "org.apache.myfaces.context.PartialViewContextFactoryImpl");        
+         "org.apache.myfaces.context.PartialViewContextFactoryImpl");    
+         FactoryFinder.setFactory (FactoryFinder.EXCEPTION_HANDLER_FACTORY,
+         "org.apache.myfaces.context.ExceptionHandlerFactoryImpl");
      }
 
     /**

Modified: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/IsRenderedTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/IsRenderedTest.java?rev=793965&r1=793964&r2=793965&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/IsRenderedTest.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/IsRenderedTest.java Tue Jul 14 16:28:12 2009
@@ -39,7 +39,9 @@
     protected void setUp() throws Exception {
         super.setUp();
         FactoryFinder.setFactory(FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY,
-        "org.apache.myfaces.context.PartialViewContextFactoryImpl");        
+        "org.apache.myfaces.context.PartialViewContextFactoryImpl");       
+        FactoryFinder.setFactory (FactoryFinder.EXCEPTION_HANDLER_FACTORY,
+        "org.apache.myfaces.context.ExceptionHandlerFactoryImpl");
     }
 
     /**

Modified: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/RenderPhaseClientIdsTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/RenderPhaseClientIdsTest.java?rev=793965&r1=793964&r2=793965&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/RenderPhaseClientIdsTest.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/RenderPhaseClientIdsTest.java Tue Jul 14 16:28:12 2009
@@ -43,7 +43,9 @@
     protected void setUp() throws Exception {
         super.setUp();
         FactoryFinder.setFactory(FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY,
-        "org.apache.myfaces.context.PartialViewContextFactoryImpl");        
+        "org.apache.myfaces.context.PartialViewContextFactoryImpl");     
+        FactoryFinder.setFactory (FactoryFinder.EXCEPTION_HANDLER_FACTORY,
+        "org.apache.myfaces.context.ExceptionHandlerFactoryImpl");
     }
     
     /**

Modified: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/ResponseWrapperSwitchTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/ResponseWrapperSwitchTest.java?rev=793965&r1=793964&r2=793965&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/ResponseWrapperSwitchTest.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/ResponseWrapperSwitchTest.java Tue Jul 14 16:28:12 2009
@@ -1,258 +1,262 @@
-/*
- *  Copyright 2008 werpu.
- * 
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- * 
- *       http://www.apache.org/licenses/LICENSE-2.0
- * 
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *  under the License.
- */
-package org.apache.myfaces.context;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import javax.faces.context.FacesContext;
-import javax.faces.context.ResponseWriter;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.ServletResponse;
-import javax.servlet.ServletResponseWrapper;
-
-import org.apache.myfaces.context.servlet.FacesContextImpl;
-import org.apache.shale.test.base.AbstractJsfTestCase;
-import org.apache.shale.test.mock.MockResponseWriter;
-
-/**
- * Testcase for the response switching
- *
- * @author Werner Punz(latest modification by $Author$)
- * @version $Revision$ $Date$
- */
-public class ResponseWrapperSwitchTest extends AbstractJsfTestCase {
-
-    public ResponseWrapperSwitchTest() {
-        super("ResponseWrapperSwitchTest");
-    }
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    /**
-     * we define our own response class to be able to test the output suppression!
-     */
-    class NewStreamingMockResponse extends ServletResponseWrapper {
-
-        PrintWriter _writer;
-        ServletOutputStream _strm;
-        ServletResponse _response;
-
-        public NewStreamingMockResponse(ServletResponse response, ServletOutputStream strm, PrintWriter writer) {
-            super(response);
-            _strm = strm;
-            _writer = writer;
-            _response = response;
-        }
-
-        @Override
-        public ServletResponse getResponse() {
-            return _response;
-        }
-
-        @Override
-        public ServletOutputStream getOutputStream() throws IOException {
-            return _strm;
-        }
-
-        @Override
-        public PrintWriter getWriter() throws IOException {
-            return _writer;
-        }
-    }
-
-    /**
-     * we need to define our own mockup for the output stream
-     * so that we can simulate a servlet one
-     */
-    class ServletOutputStreamMock extends ServletOutputStream {
-
-        private OutputStream _bos = null;
-
-        ServletOutputStreamMock(OutputStream ostr) {
-            _bos = ostr;
-        }
-
-        public void write(byte[] arg0) throws IOException {
-            _bos.write(arg0);
-        }
-
-        public void flush() throws IOException {
-            _bos.flush();
-        }
-
-        public String toString() {
-            return _bos.toString();
-        }
-
-        public void close() throws IOException {
-            _bos.close();
-        }
-
-        /**
-         * @return the _bos
-         */
-        public OutputStream getBos() {
-            return _bos;
-        }
-
-        /**
-         * @param bos the _bos to set
-         */
-        public void setBos(OutputStream bos) {
-            this._bos = bos;
-        }
-
-        @Override
-        public void write(int arg0) throws IOException {
-            _bos.write(arg0);
-        }
-    }
-
-    /**
-     * testing the off switch for the
-     * response
-     */
-    public void testSwitchOnWriter() {
-
-        ByteArrayOutputStream ostr = new ByteArrayOutputStream();
-        ByteArrayOutputStream ostrWriter = new ByteArrayOutputStream();
-        PrintWriter writer = new PrintWriter(ostrWriter);
-        ServletOutputStreamMock sOstr = new ServletOutputStreamMock(ostr);
-        NewStreamingMockResponse resp = new NewStreamingMockResponse(response, sOstr, writer);
-
-        FacesContext context = new FacesContextImpl(servletContext, request, resp);
-
-
-        ResponseWriter responseWriter = context.getResponseWriter();
-        if (responseWriter == null) {
-            try {
-                responseWriter = new MockResponseWriter(((ServletResponse) context.getExternalContext().getResponse()).getWriter(), null, null);
-            } catch (IOException ex) {
-                super.fail(ex.getMessage());
-            }
-            context.setResponseWriter(responseWriter);
-        }
-
-
-
-        assertTrue("responsewriter not null", responseWriter != null);
-
-        try {
-            responseWriter.append("hello world");
-            responseWriter.flush();
-            responseWriter.close();
-
-        } catch (IOException ex) {
-            super.fail(ex.getMessage());
-        }
-
-        assertTrue(ostrWriter.toString().trim().equals("hello world"));
-
-    }
-
-    /**
-     * Test switch off on the writer api
-     * 
-     * FIXME: enableResponseWriting no longer exists.
-     *
-    public void testSwitchOffWriter() {
-        ByteArrayOutputStream ostr = new ByteArrayOutputStream();
-        ByteArrayOutputStream ostrWriter = new ByteArrayOutputStream();
-        PrintWriter writer = new PrintWriter(ostrWriter);
-        ServletOutputStreamMock sOstr = new ServletOutputStreamMock(ostr);
-        NewStreamingMockResponse resp = new NewStreamingMockResponse(response, sOstr, writer);
-
-        FacesContext context = new FacesContextImpl(servletContext, request, resp);
-
-
-        ResponseWriter responseWriter = context.getResponseWriter();
-        if (responseWriter == null) {
-            try {
-                responseWriter = new MockResponseWriter(((ServletResponse) context.getExternalContext().getResponse()).getWriter(), null, null);
-            } catch (IOException ex) {
-                super.fail(ex.getMessage());
-            }
-            context.setResponseWriter(responseWriter);
-        }
-
-
-
-        assertTrue("responsewriter not null", responseWriter != null);
-        context.getPartialViewContext().enableResponseWriting(false);
-
-        try {
-            responseWriter.append("hello world");
-            responseWriter.flush();
-            responseWriter.close();
-
-        } catch (IOException ex) {
-            super.fail(ex.getMessage());
-        }
-
-
-        assertTrue(ostrWriter.toString().trim().equals(""));
-
-
-    }*/
-
-    /**
-     * 
-     * FIXME: enableResponseWriting no longer exists.
-     * 
-     * test switch off on the stream api
-     * if this works then the stream switch
-     * shoud work on the facesContext should work as well!
-     * @throws java.io.IOException
-     *
-    public void testSwitchOffOstr() {
-        ByteArrayOutputStream ostr = new ByteArrayOutputStream();
-        ByteArrayOutputStream ostrWriter = new ByteArrayOutputStream();
-        PrintWriter writer = new PrintWriter(ostrWriter);
-        ServletOutputStreamMock sOstr = new ServletOutputStreamMock(ostr);
-        NewStreamingMockResponse resp = new NewStreamingMockResponse(response, sOstr, writer);
-
-        FacesContext context = new FacesContextImpl(servletContext, request, resp);
-        context.getPartialViewContext().enableResponseWriting(false);
-        try {
-            OutputStream finalOstr = (OutputStream) ((ServletResponse) context.getExternalContext().getResponse()).getOutputStream();
-            PrintWriter finalWriter = new PrintWriter(finalOstr);
-           
-            finalWriter.write("hello world");
-            finalOstr.write('a');
-            finalOstr.flush();
-            finalOstr.close();
-
-        } catch (IOException ex) {
-            super.fail(ex.getMessage());
-        }
-
-
-        assertTrue(ostr.toString().trim().equals(""));
-
-
-    }*/
-}
+/*
+ *  Copyright 2008 werpu.
+ * 
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ * 
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *  under the License.
+ */
+package org.apache.myfaces.context;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+
+import javax.faces.FactoryFinder;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.ServletResponse;
+import javax.servlet.ServletResponseWrapper;
+
+import org.apache.myfaces.context.servlet.FacesContextImpl;
+import org.apache.shale.test.base.AbstractJsfTestCase;
+import org.apache.shale.test.mock.MockResponseWriter;
+
+/**
+ * Testcase for the response switching
+ *
+ * @author Werner Punz(latest modification by $Author$)
+ * @version $Revision$ $Date$
+ */
+public class ResponseWrapperSwitchTest extends AbstractJsfTestCase {
+
+    public ResponseWrapperSwitchTest() {
+        super("ResponseWrapperSwitchTest");
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        FactoryFinder.setFactory (FactoryFinder.EXCEPTION_HANDLER_FACTORY,
+        "org.apache.myfaces.context.ExceptionHandlerFactoryImpl");
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * we define our own response class to be able to test the output suppression!
+     */
+    class NewStreamingMockResponse extends ServletResponseWrapper {
+
+        PrintWriter _writer;
+        ServletOutputStream _strm;
+        ServletResponse _response;
+
+        public NewStreamingMockResponse(ServletResponse response, ServletOutputStream strm, PrintWriter writer) {
+            super(response);
+            _strm = strm;
+            _writer = writer;
+            _response = response;
+        }
+
+        @Override
+        public ServletResponse getResponse() {
+            return _response;
+        }
+
+        @Override
+        public ServletOutputStream getOutputStream() throws IOException {
+            return _strm;
+        }
+
+        @Override
+        public PrintWriter getWriter() throws IOException {
+            return _writer;
+        }
+    }
+
+    /**
+     * we need to define our own mockup for the output stream
+     * so that we can simulate a servlet one
+     */
+    class ServletOutputStreamMock extends ServletOutputStream {
+
+        private OutputStream _bos = null;
+
+        ServletOutputStreamMock(OutputStream ostr) {
+            _bos = ostr;
+        }
+
+        public void write(byte[] arg0) throws IOException {
+            _bos.write(arg0);
+        }
+
+        public void flush() throws IOException {
+            _bos.flush();
+        }
+
+        public String toString() {
+            return _bos.toString();
+        }
+
+        public void close() throws IOException {
+            _bos.close();
+        }
+
+        /**
+         * @return the _bos
+         */
+        public OutputStream getBos() {
+            return _bos;
+        }
+
+        /**
+         * @param bos the _bos to set
+         */
+        public void setBos(OutputStream bos) {
+            this._bos = bos;
+        }
+
+        @Override
+        public void write(int arg0) throws IOException {
+            _bos.write(arg0);
+        }
+    }
+
+    /**
+     * testing the off switch for the
+     * response
+     */
+    public void testSwitchOnWriter() {
+
+        ByteArrayOutputStream ostr = new ByteArrayOutputStream();
+        ByteArrayOutputStream ostrWriter = new ByteArrayOutputStream();
+        PrintWriter writer = new PrintWriter(ostrWriter);
+        ServletOutputStreamMock sOstr = new ServletOutputStreamMock(ostr);
+        NewStreamingMockResponse resp = new NewStreamingMockResponse(response, sOstr, writer);
+
+        FacesContext context = new FacesContextImpl(servletContext, request, resp);
+
+
+        ResponseWriter responseWriter = context.getResponseWriter();
+        if (responseWriter == null) {
+            try {
+                responseWriter = new MockResponseWriter(((ServletResponse) context.getExternalContext().getResponse()).getWriter(), null, null);
+            } catch (IOException ex) {
+                super.fail(ex.getMessage());
+            }
+            context.setResponseWriter(responseWriter);
+        }
+
+
+
+        assertTrue("responsewriter not null", responseWriter != null);
+
+        try {
+            responseWriter.append("hello world");
+            responseWriter.flush();
+            responseWriter.close();
+
+        } catch (IOException ex) {
+            super.fail(ex.getMessage());
+        }
+
+        assertTrue(ostrWriter.toString().trim().equals("hello world"));
+
+    }
+
+    /**
+     * Test switch off on the writer api
+     * 
+     * FIXME: enableResponseWriting no longer exists.
+     *
+    public void testSwitchOffWriter() {
+        ByteArrayOutputStream ostr = new ByteArrayOutputStream();
+        ByteArrayOutputStream ostrWriter = new ByteArrayOutputStream();
+        PrintWriter writer = new PrintWriter(ostrWriter);
+        ServletOutputStreamMock sOstr = new ServletOutputStreamMock(ostr);
+        NewStreamingMockResponse resp = new NewStreamingMockResponse(response, sOstr, writer);
+
+        FacesContext context = new FacesContextImpl(servletContext, request, resp);
+
+
+        ResponseWriter responseWriter = context.getResponseWriter();
+        if (responseWriter == null) {
+            try {
+                responseWriter = new MockResponseWriter(((ServletResponse) context.getExternalContext().getResponse()).getWriter(), null, null);
+            } catch (IOException ex) {
+                super.fail(ex.getMessage());
+            }
+            context.setResponseWriter(responseWriter);
+        }
+
+
+
+        assertTrue("responsewriter not null", responseWriter != null);
+        context.getPartialViewContext().enableResponseWriting(false);
+
+        try {
+            responseWriter.append("hello world");
+            responseWriter.flush();
+            responseWriter.close();
+
+        } catch (IOException ex) {
+            super.fail(ex.getMessage());
+        }
+
+
+        assertTrue(ostrWriter.toString().trim().equals(""));
+
+
+    }*/
+
+    /**
+     * 
+     * FIXME: enableResponseWriting no longer exists.
+     * 
+     * test switch off on the stream api
+     * if this works then the stream switch
+     * shoud work on the facesContext should work as well!
+     * @throws java.io.IOException
+     *
+    public void testSwitchOffOstr() {
+        ByteArrayOutputStream ostr = new ByteArrayOutputStream();
+        ByteArrayOutputStream ostrWriter = new ByteArrayOutputStream();
+        PrintWriter writer = new PrintWriter(ostrWriter);
+        ServletOutputStreamMock sOstr = new ServletOutputStreamMock(ostr);
+        NewStreamingMockResponse resp = new NewStreamingMockResponse(response, sOstr, writer);
+
+        FacesContext context = new FacesContextImpl(servletContext, request, resp);
+        context.getPartialViewContext().enableResponseWriting(false);
+        try {
+            OutputStream finalOstr = (OutputStream) ((ServletResponse) context.getExternalContext().getResponse()).getOutputStream();
+            PrintWriter finalWriter = new PrintWriter(finalOstr);
+           
+            finalWriter.write("hello world");
+            finalOstr.write('a');
+            finalOstr.flush();
+            finalOstr.close();
+
+        } catch (IOException ex) {
+            super.fail(ex.getMessage());
+        }
+
+
+        assertTrue(ostr.toString().trim().equals(""));
+
+
+    }*/
+}

Modified: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/TestIsAjaxRequest.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/TestIsAjaxRequest.java?rev=793965&r1=793964&r2=793965&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/TestIsAjaxRequest.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/context/TestIsAjaxRequest.java Tue Jul 14 16:28:12 2009
@@ -44,7 +44,9 @@
         //requestParameterMap = new HashMap<String, String>();
         //ContextTestRequestWrapper wrapper = new ContextTestRequestWrapper(request, requestParameterMap);
         FactoryFinder.setFactory(FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY,
-            "org.apache.myfaces.context.PartialViewContextFactoryImpl");        
+            "org.apache.myfaces.context.PartialViewContextFactoryImpl");     
+        FactoryFinder.setFactory (FactoryFinder.EXCEPTION_HANDLER_FACTORY,
+        "org.apache.myfaces.context.ExceptionHandlerFactoryImpl");
         context = new FacesContextImpl(servletContext, request, response);
     }