I have not looked at item 1 yet. I will try to over my Thanksgiving weekend.

The specific problem in item 2 was fixed and is in 2.1.6. However, the support for portlet preferences is not in 2.1.6. I just checked that into the 2.2 branch today. I am waiting a couple of days to see if I get any negative responses to a post on the dev list. I might as well post the issue here as well.

As you probably know, the Cocoon Portal has several configuration files. Of particular interest to me were the copletinstancedata and layout portal.xml files. In determining what to do about storing JSR-168 prefernces it seemed the "obvious" place to store them would be in the copletinstancedata portal.xml file, because this file was already being stored on a per-user basis and contained all the Cocoon portlet definitions, including the JSR-168 portlets. Coding this wasn't much of a problem, however I soon discovered that the files Cocoon was generating (via Castor) could not be re-read by Cocoon. As a consequence, I had to change the mapping files (for Castor) as well as some code to get these files to be written out properly. However, I cannot guarantee that they are compatible with files being written by 2.1.6 and previous releases. Therefore, I am somewhat concerned about checking this into the 2.1 branch on the off chance that the files are being used by someone for some purpose, although I can't imagine for what.

Ralph


[EMAIL PROTECTED] wrote:

Hi, I need help with Portal Engine. I have two problems with JSR-168
portlets.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. I'm trying to use the RequestDispatcher  from JSR-168 portlets using the
code below:

  PortletRequestDispatcher rd =
getPortletContext().getRequestDispatcher("/WEB-INF/page.htm");
  try {
           rd.include(request, response);
  } catch (PortletException pe) {}

But I always get the following error message:

  ERROR   (2004-11-09) 12:58.07:864   [portal]
(/webapp/samples/blocks/portal/portal) http-8080-Processor24/LoggerImpl:
PortletInvokerImpl.action() - Unable to find RequestDispatcher.

Anybody knows why it doesn't work? Thanks in advance.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. I can�t update programmatically a JSR-168 portlet preference using code
like this:

  PortletPreferences PP = request.getPreferences();
  try {
           PP.setValue("preference","value");
           PP.store();
  } catch(ReadOnlyException roe) {} catch(ValidatorException ve) {}

It seems to be a problem with the preferences validator, because I always
get this message:

ERROR   (2004-11-09) 13:17.47:030   [portal]
(/webapp/samples/blocks/portal/portal)
http-8080-Processor23/PortletPortalManager: Error during processing of
portlet action.
java.lang.IllegalStateException: Portlet class loader not yet available to
load preferences validator.
     at
org.apache.cocoon.portal.pluto.om.common.PreferenceSetImpl.getPreferencesValidator(PreferenceSetImpl.java:59)
     at
org.apache.pluto.core.impl.PortletPreferencesImpl.store(PortletPreferencesImpl.java:291)
     at
com.soluzionasf.definete.portlet.TestPortlet.processAction(TestPortlet.java:150)
     at
org.apache.cocoon.portal.pluto.factory.LocalPortletInvokerImpl.action(LocalPortletInvokerImpl.java:129)
     at
org.apache.pluto.PortletContainerImpl.processPortletAction(PortletContainerImpl.java:152)
     at
org.apache.cocoon.portal.impl.PortletPortalManager.process(PortletPortalManager.java:215)
     at
org.apache.cocoon.portal.generation.PortalGenerator.generate(PortalGenerator.java:58)
     at
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:545)
     at
org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:173)
     at
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:490)
     at
org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:49)
     at
org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:138)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:49)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:126)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:101)
     at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:336)
     at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:277)
     at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:103)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:49)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:126)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:101)
     at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:336)
     at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:277)
     at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:103)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:49)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:126)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:101)
     at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:336)
     at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:277)
     at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:103)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:49)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:126)
     at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:72)
     at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:101)
     at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:336)
     at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:277)
     at org.apache.cocoon.Cocoon.process(Cocoon.java:639)
     at
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1098)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
     at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
     at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
     at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
     at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
     at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
     at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
     at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
     at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
     at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
     at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
     at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
     at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
     at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
     at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
     at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
     at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
     at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
     at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
     at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
     at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
     at java.lang.Thread.run(Thread.java:534)

Anybody knows anything? Everything would help. Thanks.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Antonio Vera.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to