myfaces-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lu4...@apache.org
Subject svn commit: r934133 - in /myfaces/core/branches/2_0_0: ./ impl/src/main/java/org/apache/myfaces/view/facelets/ impl/src/main/java/org/apache/myfaces/view/facelets/compiler/ impl/src/main/java/org/apache/myfaces/view/facelets/tag/ impl/src/main/java/org...
Date Wed, 14 Apr 2010 19:17:14 GMT
Author: lu4242
Date: Wed Apr 14 19:17:14 2010
New Revision: 934133

URL: http://svn.apache.org/viewvc?rev=934133&view=rev
Log:
merge revisions 933978-934048 MYFACES-2658, MYFACES-2659

Added:
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/FaceletsOnlyException.java
      - copied unchanged from r934048, myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/jsp/FaceletsOnlyException.java
Removed:
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/TagDecorator.java
Modified:
    myfaces/core/branches/2_0_0/   (props changed)
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewHandler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationManager.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Compiler.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagDecorator.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/HtmlDecorator.java
    myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguage.java
  (contents, props changed)
    myfaces/core/branches/2_0_0/impl/src/main/resources/META-INF/faces-config20.vm   (props
changed)

Propchange: myfaces/core/branches/2_0_0/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 14 19:17:14 2010
@@ -1,2 +1,3 @@
 /myfaces/core/branches/1.2.x:792657-823343,825575-833926,881094-925224
+/myfaces/core/trunk:933979-934048
 /myfaces/core/trunk_1.2.x:691297-695050,698037-743106,752296-779418,779422-792656

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java?rev=934133&r1=934132&r2=934133&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
(original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
Wed Apr 14 19:17:14 2010
@@ -78,7 +78,8 @@ import javax.faces.view.StateManagementS
 import javax.faces.view.ValueHolderAttachedObjectHandler;
 import javax.faces.view.ValueHolderAttachedObjectTarget;
 import javax.faces.view.ViewMetadata;
-import javax.faces.view.facelets.FaceletContext;
+import javax.faces.view.facelets.FaceletContext;
+import javax.faces.view.facelets.TagDecorator;
 import javax.faces.view.facelets.ResourceResolver;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
@@ -102,7 +103,6 @@ import org.apache.myfaces.view.facelets.
 import org.apache.myfaces.view.facelets.el.VariableMapperWrapper;
 import org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory;
 import org.apache.myfaces.view.facelets.impl.DefaultResourceResolver;
-import org.apache.myfaces.view.facelets.tag.TagDecorator;
 import org.apache.myfaces.view.facelets.tag.TagLibrary;
 import org.apache.myfaces.view.facelets.tag.composite.CompositeComponentResourceTagHandler;
 import org.apache.myfaces.view.facelets.tag.composite.CompositeLibrary;

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewHandler.java?rev=934133&r1=934132&r2=934133&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewHandler.java
(original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewHandler.java
Wed Apr 14 19:17:14 2010
@@ -38,7 +38,8 @@ import javax.faces.context.ExternalConte
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
 import javax.faces.render.RenderKit;
-import javax.faces.view.facelets.ResourceResolver;
+import javax.faces.view.facelets.ResourceResolver;
+import javax.faces.view.facelets.TagDecorator;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
@@ -49,7 +50,6 @@ import org.apache.myfaces.view.facelets.
 import org.apache.myfaces.view.facelets.compiler.TagLibraryConfig;
 import org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory;
 import org.apache.myfaces.view.facelets.impl.DefaultResourceResolver;
-import org.apache.myfaces.view.facelets.tag.TagDecorator;
 import org.apache.myfaces.view.facelets.tag.TagLibrary;
 import org.apache.myfaces.view.facelets.tag.ui.UIDebug;
 import org.apache.myfaces.view.facelets.util.ReflectionUtil;

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationManager.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationManager.java?rev=934133&r1=934132&r2=934133&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationManager.java
(original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/CompilationManager.java
Wed Apr 14 19:17:14 2010
@@ -27,11 +27,11 @@ import java.util.logging.Logger;
 import javax.faces.view.facelets.FaceletHandler;
 import javax.faces.view.facelets.Tag;
 import javax.faces.view.facelets.TagAttribute;
-import javax.faces.view.facelets.TagAttributeException;
+import javax.faces.view.facelets.TagAttributeException;
+import javax.faces.view.facelets.TagDecorator;
 import javax.faces.view.facelets.TagException;
 
 import org.apache.myfaces.view.facelets.tag.TagAttributesImpl;
-import org.apache.myfaces.view.facelets.tag.TagDecorator;
 import org.apache.myfaces.view.facelets.tag.TagLibrary;
 import org.apache.myfaces.view.facelets.tag.composite.CompositeLibrary;
 import org.apache.myfaces.view.facelets.tag.composite.ImplementationHandler;

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Compiler.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Compiler.java?rev=934133&r1=934132&r2=934133&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Compiler.java
(original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/compiler/Compiler.java
Wed Apr 14 19:17:14 2010
@@ -32,11 +32,11 @@ import javax.el.ExpressionFactory;
 import javax.faces.FacesException;
 import javax.faces.context.FacesContext;
 import javax.faces.view.facelets.FaceletException;
-import javax.faces.view.facelets.FaceletHandler;
+import javax.faces.view.facelets.FaceletHandler;
+import javax.faces.view.facelets.TagDecorator;
 
 import org.apache.myfaces.view.facelets.tag.CompositeTagDecorator;
 import org.apache.myfaces.view.facelets.tag.CompositeTagLibrary;
-import org.apache.myfaces.view.facelets.tag.TagDecorator;
 import org.apache.myfaces.view.facelets.tag.TagLibrary;
 import org.apache.myfaces.view.facelets.tag.ui.UILibrary;
 import org.apache.myfaces.view.facelets.util.ParameterCheck;

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagDecorator.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagDecorator.java?rev=934133&r1=934132&r2=934133&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagDecorator.java
(original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/CompositeTagDecorator.java
Wed Apr 14 19:17:14 2010
@@ -18,7 +18,8 @@
  */
 package org.apache.myfaces.view.facelets.tag;
 
-import javax.faces.view.facelets.Tag;
+import javax.faces.view.facelets.Tag;
+import javax.faces.view.facelets.TagDecorator;
 
 import org.apache.myfaces.view.facelets.util.ParameterCheck;
 

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/HtmlDecorator.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/HtmlDecorator.java?rev=934133&r1=934132&r2=934133&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/HtmlDecorator.java
(original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/facelets/tag/jsf/html/HtmlDecorator.java
Wed Apr 14 19:17:14 2010
@@ -21,9 +21,9 @@ package org.apache.myfaces.view.facelets
 import javax.faces.view.facelets.Tag;
 import javax.faces.view.facelets.TagAttribute;
 import javax.faces.view.facelets.TagAttributes;
+import javax.faces.view.facelets.TagDecorator;
 
 import org.apache.myfaces.view.facelets.tag.TagAttributesImpl;
-import org.apache.myfaces.view.facelets.tag.TagDecorator;
 
 /**
  * @author Jacob Hookom

Modified: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguage.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguage.java?rev=934133&r1=934132&r2=934133&view=diff
==============================================================================
--- myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguage.java
(original)
+++ myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguage.java
Wed Apr 14 19:17:14 2010
@@ -1,139 +1,222 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.myfaces.view.jsp;
-
-import java.io.IOException;
-import java.util.Locale;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.faces.FacesException;
-import javax.faces.component.UIViewRoot;
-import javax.faces.context.ExternalContext;
-import javax.faces.context.FacesContext;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.jsp.jstl.core.Config;
-
-import org.apache.myfaces.application.jsp.ServletViewResponseWrapper;
-import org.apache.myfaces.context.servlet.ResponseSwitch;
-import org.apache.myfaces.shared_impl.view.JspViewDeclarationLanguageBase;
-import org.apache.myfaces.util.ExternalContextUtils;
-
-/**
- * @author Simon Lessard (latest modification by $Author: slessard $)
- * @version $Revision: 696523 $ $Date: 2009-03-22 13:55:12 -0400 (mer., 17 sept. 2008) $
- * 
- * @since 2.0
- */
-public class JspViewDeclarationLanguage extends JspViewDeclarationLanguageBase
-{
-    //private static final Log log = LogFactory.getLog(JspViewDeclarationLanguage.class);
-    public static final Logger log = Logger.getLogger(JspViewDeclarationLanguage.class.getName());
-    /**
-     * 
-     */
-    public JspViewDeclarationLanguage()
-    {
-        if (log.isLoggable(Level.FINEST))
-            log.finest("New JspViewDeclarationLanguage instance created");
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void buildView(FacesContext context, UIViewRoot view) throws IOException
-    {
-        ExternalContext externalContext = context.getExternalContext();
-
-        if (context.getPartialViewContext().isPartialRequest())
-        {
-            // try to get (or create) a ResponseSwitch and turn off the output
-            Object origResponse = context.getExternalContext().getResponse();
-            ResponseSwitch responseSwitch = ExternalContextUtils.getResponseSwitch(origResponse);
-            if (responseSwitch == null)
-            {
-                // no ResponseSwitch installed yet - create one 
-                responseSwitch = ExternalContextUtils.createResponseSwitch(origResponse);
-                if (responseSwitch != null)
-                {
-                    // install the ResponseSwitch
-                    context.getExternalContext().setResponse(responseSwitch);
-                }
-            }
-            if (responseSwitch != null)
-            {
-                responseSwitch.setEnabled(context, false);
-            }
-        }
-        
-        ServletResponse response = (ServletResponse) externalContext.getResponse();
-        ServletRequest request = (ServletRequest) externalContext.getRequest();
-        
-        Locale locale = view.getLocale();
-        response.setLocale(locale);
-        Config.set(request, Config.FMT_LOCALE, context.getViewRoot().getLocale());
-
-        String viewId = view.getViewId();
-        ServletViewResponseWrapper wrappedResponse = new ServletViewResponseWrapper((HttpServletResponse)
response);
-
-        externalContext.setResponse(wrappedResponse);
-        try
-        {
-            externalContext.dispatch(viewId);
-        }
-        finally
-        {
-            externalContext.setResponse(response);
-        }
-
-        boolean errorResponse = wrappedResponse.getStatus() < 200 || wrappedResponse.getStatus()
> 299;
-        if (errorResponse)
-        {
-            wrappedResponse.flushToWrappedResponse();
-            return;
-        }
-
-        //Skip this step if we are rendering an ajax request, because no content outside
-        //f:view tag should be output.
-        if (!context.getPartialViewContext().isPartialRequest())
-        {
-            // store the wrapped response in the request, so it is thread-safe
-            setAfterViewTagResponseWrapper(externalContext, wrappedResponse);
-        }
-    }
-
-    @Override
-    protected void sendSourceNotFound(FacesContext context, String message)
-    {
-        HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
-        try
-        {
-            context.responseComplete();
-            response.sendError(HttpServletResponse.SC_NOT_FOUND, message);
-        }
-        catch (IOException ioe)
-        {
-            throw new FacesException(ioe);
-        }
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+package org.apache.myfaces.view.jsp;
+
+import java.io.IOException;
+import java.util.Locale;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.faces.FacesException;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.jstl.core.Config;
+
+import org.apache.myfaces.application.jsp.ServletViewResponseWrapper;
+import org.apache.myfaces.context.servlet.ResponseSwitch;
+import org.apache.myfaces.shared_impl.view.JspViewDeclarationLanguageBase;
+import org.apache.myfaces.util.ExternalContextUtils;
+import org.apache.myfaces.view.facelets.tag.composite.CompositeLibrary;
+import org.apache.myfaces.view.facelets.tag.jsf.core.CoreLibrary;
+import org.apache.myfaces.view.facelets.tag.jsf.html.HtmlLibrary;
+import org.apache.myfaces.view.facelets.tag.ui.UILibrary;
+
+/**
+ * @author Simon Lessard (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ * 
+ * @since 2.0
+ */
+public class JspViewDeclarationLanguage extends JspViewDeclarationLanguageBase
+{
+    //private static final Log log = LogFactory.getLog(JspViewDeclarationLanguage.class);
+    public static final Logger log = Logger.getLogger(JspViewDeclarationLanguage.class.getName());
+    
+    /**
+     * Tags that are only available on facelets and not on JSP.
+     * If a user uses one of these tags on a JSP, we will provide
+     * a more informative error message than the standard one.
+     */
+    public static final String[] FACELETS_ONLY_F_TAGS = {"ajax", "event", "metadata"};
+    public static final String[] FACELETS_ONLY_H_TAGS = {"outputScript", "outputStylesheet",
+                                                         "head", "body", "button", "link"};
+    
+    /**
+     * 
+     */
+    public JspViewDeclarationLanguage()
+    {
+        if (log.isLoggable(Level.FINEST))
+            log.finest("New JspViewDeclarationLanguage instance created");
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void buildView(FacesContext context, UIViewRoot view) throws IOException
+    {
+        ExternalContext externalContext = context.getExternalContext();
+
+        if (context.getPartialViewContext().isPartialRequest())
+        {
+            // try to get (or create) a ResponseSwitch and turn off the output
+            Object origResponse = context.getExternalContext().getResponse();
+            ResponseSwitch responseSwitch = ExternalContextUtils.getResponseSwitch(origResponse);
+            if (responseSwitch == null)
+            {
+                // no ResponseSwitch installed yet - create one 
+                responseSwitch = ExternalContextUtils.createResponseSwitch(origResponse);
+                if (responseSwitch != null)
+                {
+                    // install the ResponseSwitch
+                    context.getExternalContext().setResponse(responseSwitch);
+                }
+            }
+            if (responseSwitch != null)
+            {
+                responseSwitch.setEnabled(context, false);
+            }
+        }
+        
+        ServletResponse response = (ServletResponse) externalContext.getResponse();
+        ServletRequest request = (ServletRequest) externalContext.getRequest();
+        
+        Locale locale = view.getLocale();
+        response.setLocale(locale);
+        Config.set(request, Config.FMT_LOCALE, context.getViewRoot().getLocale());
+
+        String viewId = view.getViewId();
+        ServletViewResponseWrapper wrappedResponse = new ServletViewResponseWrapper((HttpServletResponse)
response);
+
+        externalContext.setResponse(wrappedResponse);
+        try
+        {
+            externalContext.dispatch(viewId);
+        }
+        catch (FacesException e)
+        {
+            // try to extract the most likely exceptions here
+            // and provide a better error message for them
+            
+            String message = e.getMessage(); 
+            
+            // errors related to using facelets-only tags on a JSP page
+            if (message != null)
+            {
+                // does the message contain "f" (prefix f of tags)
+                // or the related uri http://java.sun.com/jsf/core
+                if (message.contains("\"f\"") 
+                        || message.contains("\"" + CoreLibrary.Namespace + "\""))
+                {
+                    // check facelets-only f tags
+                    for (String tag : FACELETS_ONLY_F_TAGS)
+                    {
+                        if (message.contains("\"" + tag + "\""))
+                        {
+                            String exceptionMessage = "The tag f:" + tag + 
+                                    " is only available on facelets.";
+                            throw new FacesException(exceptionMessage, 
+                                    new FaceletsOnlyException(exceptionMessage, e.getCause()));
+                        }
+                    }
+                }  
+                else if (message.contains("\"h\"") 
+                        || message.contains("\"" + HtmlLibrary.Namespace + "\""))
+                {
+                    // check facelets-only h tags
+                    for (String tag : FACELETS_ONLY_H_TAGS)
+                    {
+                        if (message.contains("\"" + tag + "\""))
+                        {
+                            String exceptionMessage = "The tag h:" + tag + 
+                                    " is only available on facelets.";
+                            throw new FacesException(exceptionMessage, 
+                                    new FaceletsOnlyException(exceptionMessage, e.getCause()));
+                        }
+                    }
+                }
+                else 
+                {
+                    // check facelets-only namespaces
+                    String namespace = null;
+                    if (message.contains(UILibrary.Namespace))
+                    {
+                        namespace = UILibrary.Namespace;
+                    }
+                    else if (message.contains(CompositeLibrary.NAMESPACE))
+                    {
+                        namespace = CompositeLibrary.NAMESPACE;
+                    }
+                    
+                    if (namespace != null)
+                    {
+                        // the message contains a facelets-only namespace
+                        String exceptionMessage = "All tags with namespace " +
+                                namespace + " are only available on facelets.";
+                        throw new FacesException(exceptionMessage, 
+                                new FaceletsOnlyException(exceptionMessage, e.getCause()));
+                    }
+                }
+            }
+            
+            // no rule applied to this Exception - rethrow it
+            throw e;
+        }
+        finally
+        {
+            externalContext.setResponse(response);
+        }
+
+        boolean errorResponse = wrappedResponse.getStatus() < 200 || wrappedResponse.getStatus()
> 299;
+        if (errorResponse)
+        {
+            wrappedResponse.flushToWrappedResponse();
+            return;
+        }
+
+        //Skip this step if we are rendering an ajax request, because no content outside
+        //f:view tag should be output.
+        if (!context.getPartialViewContext().isPartialRequest())
+        {
+            // store the wrapped response in the request, so it is thread-safe
+            setAfterViewTagResponseWrapper(externalContext, wrappedResponse);
+        }
+    }
+
+    @Override
+    protected void sendSourceNotFound(FacesContext context, String message)
+    {
+        HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
+        try
+        {
+            context.responseComplete();
+            response.sendError(HttpServletResponse.SC_NOT_FOUND, message);
+        }
+        catch (IOException ioe)
+        {
+            throw new FacesException(ioe);
+        }
+    }
+
+}
\ No newline at end of file

Propchange: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguage.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/core/branches/2_0_0/impl/src/main/java/org/apache/myfaces/view/jsp/JspViewDeclarationLanguage.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: myfaces/core/branches/2_0_0/impl/src/main/resources/META-INF/faces-config20.vm
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Apr 14 19:17:14 2010
@@ -1 +1,2 @@
+/myfaces/core/trunk/impl/src/main/resources/META-INF/faces-config20.vm:933979-934048
 /myfaces/core/trunk_1.2.x/impl/src/main/resources/META-INF/faces-config12.vm:691297-695050



Mime
View raw message