Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.2.0
-
None
Description
During testing RPAD with some useful PAs from jp.sf.pal repository, I found that the current deployment component failed to deploy a PA because the descriptor of the PA does not have any namespace uri definition with the following exceptions:
java.io.IOException: unexpected element (uri:"", local:"portlet-app"). Expected elements are <
{http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd}portlet-app>,<
{http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd}portlet-app>
The portlet.xml is like the following:
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app id="charttest" version="1.0">
<snip/>
</portlet-app>
It's because PortletAppDescriptorServiceImpl of pluto-2.0 used by Jetspeed-2.2 is using strong validation with JAXB. I think that's fair for pluto-2.0.
However, how about having another option to ignore this kind of validation errors in Jetspeed-2.2? I mean we can allow empty namespace for portlet 1.0 PAs. (Also, I think this option should be the default.) It will help using the existing Portlet 1.0 based PAs.
To do this, with the new (default) option, I think we need to override the PortletAppDescriptorService for JetspeedDescriptorService to allow empty namespaced portlet descriptors.