You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2011/05/05 19:38:45 UTC
svn commit: r1099889 -
/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java
Author: bommel
Date: Thu May 5 17:38:44 2011
New Revision: 1099889
URL: http://svn.apache.org/viewvc?rev=1099889&view=rev
Log:
(TOBAGO-996) NonFacesRequestServlet doesn't work proper with JSF 1.2
Modified:
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java?rev=1099889&r1=1099888&r2=1099889&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java Thu May 5 17:38:44 2011
@@ -43,26 +43,13 @@ public abstract class NonFacesRequestSer
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
- throws ServletException,
- IOException {
+ throws ServletException, IOException {
- LifecycleFactory lFactory = (LifecycleFactory)
- FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
- Lifecycle lifecycle =
- lFactory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE);
- FacesContextFactory fcFactory = (FacesContextFactory)
- FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
- FacesContext facesContext =
- fcFactory.getFacesContext(getServletContext(), request, response, lifecycle);
+ LifecycleFactory lFactory = (LifecycleFactory) FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
+ Lifecycle lifecycle = lFactory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE);
+ FacesContextFactory fcFactory = (FacesContextFactory) FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
+ FacesContext facesContext = fcFactory.getFacesContext(getServletContext(), request, response, lifecycle);
try {
- Application application = facesContext.getApplication();
- ViewHandler viewHandler = application.getViewHandler();
- String viewId = getFromViewId();
- UIViewRoot view = viewHandler.createView(facesContext, viewId);
- facesContext.setViewRoot(view);
-
-// ExternalContext externalContext = facesContext.getExternalContext();
-// externalContext.getRequestMap().put("com.sun.faces.INVOCATION_PATH", "/faces");
// invoke application
String outcome = invokeApplication(facesContext);
@@ -73,8 +60,17 @@ public abstract class NonFacesRequestSer
if (LOG.isDebugEnabled()) {
LOG.debug("outcome = '" + outcome + "'");
}
+ Application application = facesContext.getApplication();
NavigationHandler navigationHandler = application.getNavigationHandler();
navigationHandler.handleNavigation(facesContext, null, outcome);
+
+ if (facesContext.getViewRoot() == null) {
+ ViewHandler viewHandler = application.getViewHandler();
+ String viewId = getFromViewId();
+ UIViewRoot view = viewHandler.createView(facesContext, viewId);
+ facesContext.setViewRoot(view);
+ }
+
lifecycle.render(facesContext);
} finally {
facesContext.release();