>Hello,
>
>templatetransformer behaves rather ungracefully if one of the replacement
>fields is missing.

Looking at TemplateString.java I see that left to itself fillTokens would 
replace a missing variable with "". It is an extra check in TemplateTransformer
that is throwing the warning and stopping the row being returned. Commenting
out the check seems to solve my problem.

Having done this, an undefined replacement string in TemplateTransformer
is replaced with "". However a neater fix would probably involve making 
use of the default value which can be assigned to a row? in schema.xml. 

>I am parsing a single XML document into multiple separate solr documents.
>It turns out that none of the source documents fields can be used to create
>a uniqueKey alone. I need to combine two, using template transformer as
>follows:
>
><entity name="x"
>  dataSource="myfilereader"
>  processor="XPathEntityProcessor"
>  url="${jc.fileAbsolutePath}"
>  rootEntity="true"
>  stream="false"
>  forEach="/record | /record/mediaBlock"
>  transformer="DateFormatTransformer,TemplateTransformer,RegexTransformer"
>   >
>
>  <field column="fileAbsolutePath"    template="${jc.fileAbsolutePath}" />
>  <field column="fileWebPath"         
> regex="${dataimporter.request.installdir}(.*)" replaceWith="/ford$1" 
> sourceColName="fileAbsolutePath"/>
>  <field column="id"                  
> template="${jc.fileAbsolutePath}${x.vurl}" />
>  <field column="vurl"                
> xpath="/record/mediaBlock/mediaObject/@vurl" />
>
>The trouble is that vurl is only defined as a child of "/record/mediaBlock"
>so my attempt to create id, the uniqueKey fails for the parent document 
>"/record"
>
>I am hacking around with "TemplateTransformer.java" to sort this but was
>wondering if there was a good reason for this behavior.
>

-- 

===============================================================
Fergus McMenemie               Email:fer...@twig.me.uk
Techmore Ltd                   Phone:(UK) 07721 376021

Unix/Mac/Intranets             Analyst Programmer
===============================================================

Reply via email to