This is what I have been doing to arrange my data in XML files. Its a bit
crooked way of organizing data but
it is read very easily and readily available in properties.
e.g. in your case I would change the format of the XML file to something
like this.
<servers>
<server1>Machine1</server1>
<server2>Machine2</server2>
</servers>
<serverdetails>
<Machine1>
<ip>172.16.1.24</ip>
<JVM1>
<scripts>
<jvmStop>jvm1_stopscript.sh</jvmStop>
<jvmStart>jvm1_startscript.sh</jvmStart>
</scripts>
</JVM1>
<JVM3>
<scripts>
<jvmStop>jvm3_stopscript.sh</jvmStop>
<jvmStart>jvm3_startscript.sh</jvmStart>
</scripts>
</JVM3>
</Machine1>
<Machine2>
<Machine2>
</serverdetails>
Notice that the data in <server> becomes the tag in <serverdetail> also to
uniquely identify different JVMs , you
have to make the JVM1 from attribute to a tag.
Now to access this code
<xmlproperty file="XMLFIle" semanticattributes="true"/>
this will create properties e.g. servers.server1=Machine1 ,
serverdetails.Machine1.ip=172...
For accessing specific machine details, the machine name has to come from
outside and you can
use the property-copy task in ant-contrib
For itterating over all machines, use the for or for-each task of
ant-contrib.
This way you will have a very clean code.
all the best
bhaskar
Hello:
I am trying to figure out how to handle the data being passed to me by my
IT
department. They finally agreed to send me an xml document (see snippet
below) and that should have made my life much simpler.
Maybe I should describe what I'm trying to do:
I am attempting to stop multiple resin jvm's on a given server. The xml
document I am getting from IT looks like:
<servers>
<server>
<name>Machine1</name>
<ip>172.16.1.24</ip>
<jvm name="JVM1">
<scripts>
<jvmStop>jvm1_stopscript.sh</jvmStop>
<jvmStart>jvm1_startscript.sh</jvmStart>
</scripts>
</jvm>
<jvm name="JVM3">
<scripts>
<jvmStop>jvm3_stopscript.sh</jvmStop>
<jvmStart>jvm3_startscript.sh</jvmStart>
</scripts>
</jvm>
</server>
<server>
<name>Machine2</name>
<ip>172.16.1.25</ip>
<jvm name="JVM2">
<scripts>
<jvmStop>jvm2_stopscript.sh</jvmStop>
<jvmStart>jvm2_startscript.sh</jvmStart>
</scripts>
</jvm>
</server>
</servers>
I've tried the task that Peter Reilly attached to one of the emails about
a
month ago for an XPath iterator but I can't seem to get it to work with
the
current ant-contrib tasks. I've also thought about doing this with the
xslt
task but that also seems like a headache (I can get a comma delimited
property for the different jvm names on a given server and then another
xslt
step to actually pull out the script names that I will then execute -- but
that just seems clunky).
Has anyone else run into this type of problem or have some other solution
that I'm missing? Any recommendations on the xml document (I can get IT
to
change it if needed). The number of servers/jvms will change depending on
any number of factors so it's not always just going to be 2 machines and 3
jvms...
In advance, my hair thanks you (I've been pulling it out all morning
trying
to grasp how to handle this!).
Thanks,
Brent
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]