|
Yes, I would do something like that. Just
detect whenever the portlet state is changed and make processAction return
immediately. I think this is something that the Portal
spec should address if it doesn’t do so already. I can’t think of
a good reason why processAction() should be called on a state change.
Apparently, other portlet vendors don’t do this. BTW, the reason view id is null is because
the maximize button doesn’t know anything about a JSF view id. In a
normal JSF portlet request, the view id is set as a request parameter. From: Marcio E Miranda
[mailto:[EMAIL PROTECTED] Yes, From what I got in the logs, the
processAction method is called when the user clicks on the maximize button (at
least in Liferay), then the execute method of the Lifecycle is executed and
finally the portlet tries to set the view id in the ActionResponse using
setRenderParameter. Since the view id is null (I don’t know why it would
be null), the setRenderParameter throws an IllegalArgumentException. Do I need to use the same technique
(described in My Faces Wiki) used in the case of portlet modes? Marcio From: Stan Silvert
[mailto:[EMAIL PROTECTED] I’m not sure what the problem is but
I find it strange that maximize would cause a call to processAction().
I’m not sure if processAction() should be called in that case. Anyway, I know that maximize works on
Pluto and JBoss Portal. You might want to try your JSF portlet on one of
those and see what happens. From: Marcio E Miranda
[mailto:[EMAIL PROTECTED] Hi, This may or may not be specific to the portlet implementation
of My Faces, but when a portlet implementing MyFacesGenericPortlet is maximized
in Liferay, the following exception is thrown: 00:35:32,497 INFO [STDOUT]
javax.portlet.PortletException 00:35:32,497 INFO [STDOUT] at
org.apache.myfaces.portlet.MyFacesGenericPortlet.handleExceptionFromLifecycle(MyFacesGenericPortlet.java:257) 00:35:32,497 INFO [STDOUT] at
org.apache.myfaces.portlet.MyFacesGenericPortlet.processAction(MyFacesGenericPortlet.java:233) 00:35:32,497 INFO [STDOUT] at
com.liferay.portal.servlet.PortletServlet.service(PortletServlet.java:72) 00:35:32,497 INFO [STDOUT] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:810) Caused by: java.lang.IllegalArgumentException 00:35:32,517 INFO [STDOUT] at
com.liferay.portlet.ActionResponseImpl.setRenderParameter(ActionResponseImpl.java:166) 00:35:32,517 INFO [STDOUT] at
org.apache.myfaces.portlet.MyFacesGenericPortlet.processAction(MyFacesGenericPortlet.java:225) 00:35:32,517 INFO [STDOUT] ... 50 more Nested Exception is java.lang.IllegalArgumentException 00:35:32,517 INFO [STDOUT] at
com.liferay.portlet.ActionResponseImpl.setRenderParameter(ActionResponseImpl.java:166) 00:35:32,517 INFO [STDOUT] at
org.apache.myfaces.portlet.MyFacesGenericPortlet.processAction(MyFacesGenericPortlet.java:225) 00:35:32,517 INFO [STDOUT] at
com.liferay.portal.servlet.PortletServlet.service(PortletServlet.java:72) 00:35:32,517 INFO [STDOUT] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:810) Do you think this is a My Faces issue? The others portlets
which are bundled with Liferay doesn’t show this behavior. Marcio. |
- RE: Maximizing a portlet implementing MyFacesGenericPortlet... Stan Silvert
- Re: Maximizing a portlet implementing MyFacesGenericPo... Dave Brondsema

