From 3842ea242c0a34a7caccb458360667032ab35a4b Mon Sep 17 00:00:00 2001 From: Jeremy Grelle Date: Wed, 2 Apr 2008 19:52:07 +0000 Subject: [PATCH] Needed to add a check for Portlet mode before calling ViewHandler.initView --- .../src/main/java/org/springframework/faces/mvc/JsfView.java | 2 +- .../main/java/org/springframework/faces/webflow/JsfUtils.java | 4 ++++ .../org/springframework/faces/webflow/JsfViewFactory.java | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java b/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java index d2d46f34..5da24033 100644 --- a/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java +++ b/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java @@ -61,7 +61,7 @@ public class JsfView extends AbstractUrlBasedView { ViewHandler viewHandler = facesContext.getApplication().getViewHandler(); - if (JsfUtils.isAtLeastJsf12()) { + if (JsfUtils.isAtLeastJsf12() && !JsfUtils.isPortlet(facesContext)) { viewHandler.initView(facesContext); } diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/JsfUtils.java b/spring-faces/src/main/java/org/springframework/faces/webflow/JsfUtils.java index dad820b0..c65e4770 100644 --- a/spring-faces/src/main/java/org/springframework/faces/webflow/JsfUtils.java +++ b/spring-faces/src/main/java/org/springframework/faces/webflow/JsfUtils.java @@ -82,4 +82,8 @@ public class JsfUtils { public static boolean isAtLeastJsf12() { return JSF_12; } + + public static boolean isPortlet(FacesContext context) { + return context.getExternalContext().getContext().getClass().getName().contains("Portlet"); + } } diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/JsfViewFactory.java b/spring-faces/src/main/java/org/springframework/faces/webflow/JsfViewFactory.java index 66f83028..306570a2 100644 --- a/spring-faces/src/main/java/org/springframework/faces/webflow/JsfViewFactory.java +++ b/spring-faces/src/main/java/org/springframework/faces/webflow/JsfViewFactory.java @@ -78,7 +78,7 @@ public class JsfViewFactory implements ViewFactory { String viewName = resolveViewName(context); ViewHandler viewHandler = facesContext.getApplication().getViewHandler(); - if (JsfUtils.isAtLeastJsf12()) { + if (JsfUtils.isAtLeastJsf12() && !JsfUtils.isPortlet(facesContext)) { viewHandler.initView(facesContext); }