Wow..now thats too much code for me!!!!!
I don't want something that complex,is this the only way to accomplish this
or some simpler way is also there, I was thinking of something like this:
<for list="${pass1.property},${pass2.property},${pass3.property}"
param="argvalue">
<sequential>
<exec executable="${ext}" >
<arg value="/c"/>
<arg value="execute.bat @{argvalue}"/>
<redirector outputproperty="result.property" />
</exec>
</sequential>
</for>
<if>
<equals arg1="${pass1.property}" />
<then>
<echo>"Do your stuff here for property1" />
</then>
</if>
.....
.....
.....
If not,I would try to understand your code,modify it and use for my needs.
Thanks Again.....
On 6/29/07, Scot P. Floess <[EMAIL PROTECTED]> wrote:
Interesting question... I actually had a need to iterate over a list
(using for loop construct) but needed the previous, current and next
elements in the list - certainly similar functionality. Here is my
macro def:
<macrodef
name = "process-list"
description = "Allows one to iterate over a list/files and for
each element in the list know the previous, current and next values."
uri = "http://jplate.sourceforge.net/utility">
<attribute name = "list" default = "" description = "The
list to process."/>
<attribute name = "delimiter" default = "," description = "The
delimiter for @{list}."/>
<attribute name = "previous" default =
"jplate-utility.PREVIOUS" description = "Name of property to hold
previous value in list."/>
<attribute name = "current" default =
"jplate-utility.CURRENT" description = "Name of property to hold
current value in list."/>
<attribute name = "next" default =
"jplate-utility.NEXT" description = "Name of property to hold next
value in list."/>
<element name = "path" optional = "true" description =
"Files to process."/>
<element name = "process" description = "When iterating over
@{list}/@{path}, process the contents contained here."/>
<sequential>
<!--
Initial settings...
-->
<ant-contrib:var name = "@{previous}" value = ""/>
<ant-contrib:var name = "@{current}" value = ""/>
<ant-contrib:var name = "@{next}" value = ""/>
<!--
Iterate over files and/or the list, calling process
for each item. First iteration we skip as we want
to ensure we always have a previous, current and next.
-->
<ant-contrib:for list = "@{list}" delimiter =
"@{delimiter}" param = "processlist">
<ant-contrib:path>
<path/>
</ant-contrib:path>
<ant-contrib:sequential>
<ant-contrib:switch value = "[EMAIL PROTECTED]">
<ant-contrib:case value = "">
<ant-contrib:var name = "@{current}" value
= "@{processlist}"/>
</ant-contrib:case>
<ant-contrib:default>
<ant-contrib:var name = "@{next}" value =
"@{processlist}"/>
<process/>
<ant-contrib:var name = "@{previous}"
value = "[EMAIL PROTECTED]"/>
<ant-contrib:var name = "@{current}"
value = "@{processlist}"/>
</ant-contrib:default>
</ant-contrib:switch>
</ant-contrib:sequential>
</ant-contrib:for>
<!--
Need to call process with an empty next - meaning end of
list.
-->
<ant-contrib:var name = "@{next}" value = ""/>
<process/>
</sequential>
</macrodef>
broken connection wrote:
> Hi Friends,
> I have a simple "for" task question. I use this for task from
> ant-contrib:
>
> <for list="${pass1.property},${pass2.property},${pass3.property}"
> param="argvalue">
> <sequential>
>
> <exec executable="${ext}" >
> <arg value="/c"/>
> <arg value="execute.bat @{argvalue}"/>
> <redirector outputproperty="result.property" />
> </exec>
>
> </sequential>
> </for>
>
> I want to pass in 3 values and store the output in 3 different
> properties .
> Is there anyway to do this??
>
> Rite now, the output of all the 3 parameters gets overritten in "
> result.property"
>
> Your help would be greatly appreciated.
> Thanks
>
--
Scot P. Floess
27 Lake Royale
Louisburg, NC 27549
252-478-8087 (Home)
919-392-6730 (Work)
Chief Architect JPlate http://sourceforge.net/projects/jplate
Chief Architect JavaPIM http://sourceforge.net/projects/javapim
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]