Hello,

I Just want to confirm if the resultprefix logic for the STAF Ant addon is 
correct or not. I am currently building up an ANT script which will contains 
ANT based marcos. The ANT based macros are wrappers for STAF commands, for 
example:

This ant macro wraps the STAF variable resolution based on target system and 
variable.
        <macrodef name="getSTAFVAR">
                <attribute name="targetSystem"  default="localhost"/>
                <attribute name="targetVAR"     default="none-provided"/>
                <attribute name="stafres"               default="none"/>
        <sequential>
        <staf location="@{targetSystem}"
              service="VAR"
              request="RESOLVE STRING &#123;@{targetVAR}&#125;"
                  resultPrefix="@{stafres}"
              throwBuildException="1"/>
        </sequential>
        </macrodef>


Now when I call this macro such as:

    <target name="test.staf.1">
                <getSTAFVAR targetSystem="localhost" targetVAR="FOOBAR_1" 
stafres="foobar"/>
                <getSTAFVAR targetSystem="localhost" targetVAR="FOOBAR_2" 
stafres="foobar"/>
                <echo message="${foobar.result}"/>
                <echo message="${foobar.result}"/>
    </target>

It seems that the resultPrefix it maintaining the original value and not be 
overwritten by the second calling of the ANT macro "getSTAFVAR", as you can see 
below:

Please note I have the following set in my STAF.cfg
SET SYSTEM VAR FOOBAR_1=Hello
SET SYSTEM VAR FOOBAR_2=GoodBye


test.staf.1:
     [staf] localhost VAR RESOLVE STRING {FOOBAR_1}
     [staf] RC=0, Result=Hello
     [staf] localhost VAR RESOLVE STRING {FOOBAR_2}
     [staf] RC=0, Result=GoodBye
     [echo] Hello <--This is from the first call
     [echo] Hello <-This is from the second call, yet I was expecting "GoodBye"

The only way I am currently getting around this is by each call, having a 
unique resultPrefix such as:


    <target name="test.staf.2" depends="test.staf.1">
                <getSTAFVAR targetSystem="localhost" targetVAR="FOOBAR_1" 
stafres="foobar"/>
                <getSTAFVAR targetSystem="localhost" targetVAR="FOOBAR_2" 
stafres="foobar2"/>
                <echo message="${foobar.result}"/>
                <echo message="${foobar2.result}"/>
    </target>

test.staf.2:
     [staf] localhost VAR RESOLVE STRING {FOOBAR_1}
     [staf] RC=0, Result=Hello
     [staf] localhost VAR RESOLVE STRING {FOOBAR_2}
     [staf] RC=0, Result=GoodBye
     [echo] Hello
     [echo] GoodBye


Therefore is this the intended functionality/logic for the resultPefix Or am I 
missing something here? As always thanks!

-george





------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users

Reply via email to