>On Mon, Feb 16, 2009 at 3:22 PM, Fergus McMenemie <fer...@twig.me.uk> wrote:
>>
>>  2) Having used TemplateTransformer to assign a value to an
>>     entity column that column cannot be used in other
>>     TemplateTransformer operations. In my project I am
>>     attempting to reuse "x.fileWebPath". To fix this, the
>>     last line of transformRow() in TemplateTransformer.java
>>     needs replaced with the following which as well as
>>     'putting' the templated-ed string in 'row' also saves it
>>     into the 'resolver'.
>>
>>     **originally**
>>      row.put(column, resolver.replaceTokens(expr));
>>      }
>>
>>     **new**
>>      String columnName = map.get(DataImporter.COLUMN);
>>      expr=resolver.replaceTokens(expr);
>>      row.put(columnName, expr);
>>      resolverMapCopy.put(columnName, expr);
>>      }
>
>isn't it better to write a custom transformer to achieve this. I did
>not want a standard component to change the state of the
>VariableResolver .
>
>I am not sure what is the best way.
>

Noble, (Good to have email working :-)

Hmm not sure why this requires a custom transformer. Why is this not 
more in the nature of a bug fix? Also the current behavior temporarily
adds all the column names into the resolver for the duration of the 
TemplateTransformer's operation, removing them again at the end. I
do not think there is any permanent change to the state of the 
VariableResolver.

Surely if we have defined a value for a column, that value should be
temporarily available in subsequent template or regexp operations?

Fergus.

>>
>>
>>   <dataConfig>
>>   <dataSource name="myfilereader" type="FileDataSource"/>
>>    <document>
>>    <entity name="jc"
>>               processor="FileListEntityProcessor"
>>               fileName="^.*\.xml$"
>>               newerThan="'NOW-1000DAYS'"
>>               recursive="true"
>>               rootEntity="false"
>>               dataSource="null"
>>               baseDir="/Volumes/spare/ts/solr/content"
>>               >
>>    <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="${x.test}(.*)" 
>> replaceWith="/ford$1" sourceColName="fileAbsolutePath"/>
>> <field column="title"                  xpath="/record/title" />
>> <field column="para1" name="para"      xpath="/record/sect1/para" />
>> <field column="para2" name="para"      xpath="/record/list/listitem/para" />
>> <field column="pubdate"                
>> xpath="/record/metadata/da...@qualifier='pubDate']" 
>> dateTimeFormat="yyyyMMdd"   />
>>
>> <field column="vurl"                   
>> xpath="/record/mediaBlock/mediaObject/@vurl" />
>> <field column="imgSrcArticle"          
>> template="${dataimporter.request.fordinstalldir}" />
>> <field column="imgCpation"             xpath="/record/mediaBlock/caption"  />
>>
>> <field column="test"                   
>> template="${dataimporter.request.contentinstalldir}" />
>> <!-- **problem is that vurl is just a fragment of the info needed to access 
>> the picture. -->
>> <field column="imgWebPathICON"         regex="(.*)/.*" 
>> replaceWith="$1/imagery/${x.vurl}s.jpg" sourceColName="fileWebPath"/>
>> <field column="imgWebPathFULL"         regex="(.*)/.*" 
>> replaceWith="$1/imagery/${x.vurl}.jpg"  sourceColName="fileWebPath"/>
>> <field column="vdkvgwkey"              
>> template="${jc.fileAbsolutePath}#${x.vurl}" />
>>       </entity>
>>       </entity>
>>       </document>
>>    </dataConfig>

-- 

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

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

Reply via email to