ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From peter reilly <peter.rei...@corvil.com>
Subject Re: can I subclass Condition to create my own conditions for "waitfor" task?
Date Mon, 22 Sep 2003 08:22:26 GMT
You will need to use the nightly build of ant (1.6alpha).

an add(Condition condition) method has been
added to ConditionBase. This will pick up
typedef's conditions.

Usage:

Write a condition - a class implementing 
  org.apache.tools.ant.taskdefs.condition.Condition

Typedef the condition:
  <typedef name="my.condition" classname="..." classpath=".."/>

The condition can then be used in the waitfor task;
<waitfor..

   <my.condition attr="x">
      <subclass attr="y">
   </my.condition>
</waitfor>

Peter

On Friday 19 September 2003 23:06, Alan Bram wrote:
> Hello,
>
> I've written an Ant task that I will use in running unit tests (under
> CruiseControl).  The task waits for my JBoss server to complete its
> start-up process.  It works via access to the JBoss JMX MBean for the Main
> Deployer, so that I know it's really ready before I start my tests.
>
> I've patterned my code after the Ant "waitfor" task, in terms of allowing
> the user to specify frequency and time limit, both value and units
> independently, because I think that's pretty cool.  (I hate having to guess
> whether a time was specified in milliseconds, or seconds, or whatever.)
>
> However, I suddenly realized that instead of making my code *like* Ant's
> "waitfor" task, it would be really cool if I could actually re-use it.  It
> seemed like I almost could, if only I could make up my own Condition (i.e.,
> org.apache.tools.ant.taskdefs.condition.Condition).  The ConditionBase
> class (which is the base class of WaitFor) knows about only a fixed set of
> types of Condition's.  It seemed like I could almost add my own if I
> subclassed WaitFor, by adding my own addMyCondition() method.  But it looks
> like that won't quite work, because ConditionBase keeps its "conditions"
> field private.
>
> Does anyone see a good way to make this work?
>
> I suppose maybe I could just override the getConditions() method to ignore
> all other Condition's and just return my Condition.  But that seems a bit
> ugly?
>
> I thank you in advance for any thoughts on this matter.
>
> Sincerely,
>  - Alan Bram
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message