You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Rudolf Fáber <fa...@dynatech.sk> on 2006/06/16 13:58:15 UTC

Own transformer - problem with passing parameters from sitemap

Hello,

I tried to write my own transformer(just a little test) and I encountered a problem. Everything works fine except passing parameters from sitemap. I have implemented following setup method :



 public void setup(SourceResolver resolver, Map objectModel,
                      String source, Parameters parameters)
    throws ProcessingException, SAXException, IOException {
      Request request = ObjectModelHelper.getRequest(objectModel);
      session = request.getSession(false);
      if (session != null) {       
        String[] names = parameters.getNames();       
        fileName = parameters.getParameter(FileSaveTransformer.FILE_NAME,null);
       ...


Where FileSaveTransformer.FILE_NAME is "file-name".
I used existing transformers as inspiration. But when I use it in sitemap like this :

 <map:match pattern="phone-*.xml">
	      <map:generate type="serverpages" src="phone-maker_src.xml">
	      <map:parameter name="phone-maker" value="{1}"/>	      		      
	      </map:generate>
	      <map:transform type="FileSave">
	        <map:paramater name="file-name" value="pokus2.xml"/>
	      </map:transform>  
<map:serialize type="xml"/>
</map:match>

Parameter file-name doesn't pass to transformer (FileSaveTransformer is my transformer). I get 
ERROR   (2006-06-16) 11:09.26:783   [sitemap] (/ts/xml/dynamic/phone-Nokia.xml) AJPRequestHandler-ApplicationServerThread-8/FileSaveTransformer: FileSaveTransformer: need file-name 
In error.log and fileName remains null in transformer. 
Everything other works in the way I expected. I don't know where is the problem, I would be thankful for any ideas.
I use Cocoon 2.1.9.

Thanks a lot for any answer

Rudolf Fáber
Developer
--------------------------
Dynatech s.r.o.
Nevädzova 8,
821 01 Bratislava
tel.:  +421 2 48 210 633
faber@dynatech.sk
http://www.dynatech.eu/




Re: Own transformer - problem with passing parameters from sitemap

Posted by Bertrand Delacretaz <bd...@apache.org>.
On 6/16/06, Rudolf Fáber <fa...@dynatech.sk> wrote:
>...<map:paramater name="file-name" value="pokus2.xml"/> ...

Typo here maybe? Sould be "parameter".

-Bertrand

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


RE: Own transformer - problem with passing parameters from sitemap

Posted by Warrell <wa...@iquo.co.uk>.
Have you noticed that you have called it <map: paramater name=….

 

 

  _____  

From: Rudolf Fáber [mailto:faber@dynatech.sk] 
Sent: 16 June 2006 12:58
To: users@cocoon.apache.org
Subject: Own transformer - problem with passing parameters from sitemap

 

Hello, 

I tried to write my own transformer(just a little test) and I encountered a
problem. Everything works fine except passing parameters from sitemap. I
have implemented following setup method :

 

 public void setup(SourceResolver resolver, Map objectModel, 
                      String source, Parameters parameters) 
    throws ProcessingException, SAXException, IOException { 
      Request request = ObjectModelHelper.getRequest(objectModel); 
      session = request.getSession(false); 
      if (session != null) {       
        String[] names = parameters.getNames();       
        fileName =
parameters.getParameter(FileSaveTransformer.FILE_NAME,null); 
       … 

 

Where FileSaveTransformer.FILE_NAME is "file-name". 
I used existing transformers as inspiration. But when I use it in sitemap
like this : 

 <map:match pattern="phone-*.xml"> 
              <map:generate type="serverpages" src="phone-maker_src.xml"> 
              <map:parameter name="phone-maker" value="{1}"/>

              </map:generate> 
              <map:transform type="FileSave"> 
                <map:paramater name="file-name" value="pokus2.xml"/> 
              </map:transform>  
<map:serialize type="xml"/> 
</map:match> 

Parameter file-name doesn't pass to transformer (FileSaveTransformer is my
transformer). I get 
ERROR   (2006-06-16) 11:09.26:783   [sitemap]
(/ts/xml/dynamic/phone-Nokia.xml)
AJPRequestHandler-ApplicationServerThread-8/FileSaveTransformer:
FileSaveTransformer: need file-name 

In error.log and fileName remains null in transformer. 
Everything other works in the way I expected. I don't know where is the
problem, I would be thankful for any ideas. 
I use Cocoon 2.1.9. 

Thanks a lot for any answer 

Rudolf Fáber
Developer
--------------------------
Dynatech s.r.o.
Nevädzova 8,
821 01 Bratislava
tel.:  +421 2 48 210 633 
faber@dynatech.sk 
 <http://www.dynatech.eu/> http://www.dynatech.eu/