Hi

I'm currently working on a test portlet and trying to get the edit
mode working. My portlet.xml appears to be fine.

The flow is this:
- i click on an action url
- processAction sets the portlet mode to edit
- i get an error:
javax.portlet.PortletModeException: Can't set this PortletMode
org.apache.pluto.core.impl.ActionResponseImpl.setPortletMode(ActionResponseImpl.java:108)
        
net.swisstech.portlet.test.jsr168.JSR168Portlet.processAction(JSR168Portlet.java:59)
        org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:170)
        org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:113)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        org.apache.pluto.core.PortletInvoker.invoke(PortletInvoker.java:156)
        org.apache.pluto.core.PortletInvoker.action(PortletInvoker.java:84)
        
org.apache.pluto.core.PortletContainerImpl.doAction(PortletContainerImpl.java:179)
        
org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:102)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


So, I started the debugger to find out some more about this error and got this:
- ActionResponseImpl checks wether a requested mode is in the list of
defined modes from the portlet.xml file. If this is not the case, the
above exception is thrown.
- In my case, SupportsDD.portletModes only contains "text/html"
- After some more debugging, I found
AbstractCastorDescriptorService.readInternal. The unmarshalled object
"object" also only contains the mime-type.
- I've had a look at castor-portlet-xml-mapping.xml but can't tell if
it's correct since I've never used castor myself.

So is there something wrong with my portlet.xml (I think it's fine /
see attachment)? Or is it the castor config?

Thanks
Patrick

--
"I love deadlines. I like the whooshing sound they make as they fly
by." -- Douglas Adams
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app
	xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
	version="1.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
	xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";>

	<portlet>
		<description>A JSR168 Test Portlet</description>
		<portlet-name>JSR168Portlet</portlet-name>
		<display-name>JSR168Portlet</display-name>

		<portlet-class>net.swisstech.portlet.test.jsr168.JSR168Portlet</portlet-class>

		<expiration-cache>0</expiration-cache>

		<supports>
			<mime-type>text/html</mime-type>
			<portlet-mode>VIEW</portlet-mode>
			<portlet-mode>EDIT</portlet-mode>
		</supports>

		<supported-locale>en</supported-locale>

		<portlet-info>
			<title>The JSR168Portlet</title>
			<short-title>JSR168 Portlet</short-title>
			<keywords>JSR168, Portlet, Test</keywords>
		</portlet-info>

	</portlet>

</portlet-app>

Reply via email to