On Thursday, August 21, 2003, at 07:09 PM, Christopher Oliver wrote:


Sorry, my bad, the JXPath version should be this:

#{getParameter($parameters, 'publishedJobServer')}

this one results in :
org.apache.cocoon.ProcessingException: Failed to execute pipeline.: file:/Library/Tomcat/webapps/cocoon/editor/screens/util/ chooseResourceJob.xml:74:86:org.apache.commons.jxpath.JXPathException: Cannot invoke public java.lang.String org.apache.avalon.framework.parameters.Parameters.getParameter(java.lang .String) throws org.apache.avalon.framework.parameters.ParameterException; The parameter 'publishedJobServer' does not contain a value


and the Jexl version:

${parameters.getParameter('publishedJobServer')}

this one outputs nothing



These do work (at least for me). The fact that you got no output from the Jexl version would seem to indicate that the specified parameter wasn't present. You can also call any method of org.apache.avalon.framework.parameters.Parameters, for example, try this:


<t:forEach var="paramName" items="${parameters.getNames()}">
  name=${paramName}, value=${parameters.getParameter(paramName)}
</t:forEach>

this outputs nothing


My sitemap looks like this:

<map:component-configurations>
        <global-variables>
                <assetResository>/Library/Apache2/assets/</assetResository>
                <assetServer>http://iborg.local/assets/</assetServer>
                <pending>pending/</pending>
                <published>archive/</published>
                <removed>trash/</removed>
        </global-variables>
</map:component-configurations>

<snip/>

<map:match pattern="*/*">
        <map:call function="main">
                <map:parameter name="action" value="{1}"/>
                <map:parameter name="id" value="{2}"/>
                <map:parameter name="uri" value="{0}"/>
                <map:parameter name="pendingJobRepository"
                         value="{global:assetResository}{global:pending}"/>
                <map:parameter name="pendingJobServer"
                         value="{global:assetServer}{global:pending}"/>
                <map:parameter name="publishedJobRepository"
                         value="{global:assetResository}{global:published}"/>
                <map:parameter name="publishedJobServer"
                         value="{global:assetServer}{global:published}"/>
                <map:parameter name="removedJobRepository"
                         value="{global:assetResository}{global:removed}"/>
        </map:call>
</map:match>

This line of flowscript works fine :

job.moveTo (cocoon.parameters["publishedJobRepository"]);

HTH,

Thanks for trying :)


regards Jeremy


Chris


Christopher Oliver wrote:

Yes, it's a bug.

Jeremy Quinn wrote:


On Thursday, August 21, 2003, at 02:10 AM, Christopher Oliver wrote:


This is how you do it:

#{$parameters.getParameter("publishedJobServer")}



results in :
org.apache.commons.jxpath.JXPathException: Invalid XPath: '$parameters.getParameter(\"publishedJobServer\")'. Syntax error after: '$p'




${parameters.getParameter("publishedJobServer")}



no output


so I guess it must be a bug?

Thanks for your suggestions

regards Jeremy










Reply via email to