Regards
Carsten
Woonsan Ko wrote:
Hi there,
During testing portlet deployments with some useful
PAs from jp.sf.pal portlet repository, I found that the
current pluto-2 deployment component failed to deploy a PA
when 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 simply because PortletAppDescriptorServiceImpl is
using explicit schema based JAXB unmarshalling.
(.../portlet-app_1_0.xsd or .../portlet-app_2_0.xsd)
However, if we allow empty namespaced descriptor as
well, then I think it would be very helpful to deploy some
old portlet-1.0 based existing portlet applications.
To do this without any side effect, we can just copy
the portlet 1.0 JAXB package,
"o.a.p.container.om.portlet10.impl", to a new package (such
as "o.a.p.container.om.portlet10.emptyns.impl"?), with
empty namespace annotations and add it into the JAXB context
as a third option in the PortletAppDescriptorService
implementation.
By the way, this feature has been recently committed
in Jetspeed-2.2.1-SNAPSHOT, but I'm now thinking it would be
better to move this to pluto.
You can see the issue (JS2-1061) and the related
discussion here:
http://www.nabble.com/On-the-current-strong-validation-during-PA-deployment-td25261119.html
If there's no objection, I hope to add this to pluto
trunk.
What do you think?
Kind regards,
Woonsan
--
Carsten Ziegeler
[email protected]