On 1/24/06, Laurie Harper <[EMAIL PROTECTED]> wrote:
> - add a Cancelable interface which an Action must implement to get
> cancel processing; ignore the cancel param if the interface isn't
> implemented

I'd lean toward the interface approach, since that's the sort of thing
that WW2/Action2 does/will do. Duty now for the future!

* Add an optional "Cancellable" marker interface for Actions.

* When cancel signal is present, a RP command checks for the interface
and throws an exception if Cancellable is not implemented.

* For Action 1.3, add a Controller attribute "ObserveCancellable" with
the default value FALSE, that the RP command would check before
throwing an Exception. (Instead, it might just log a DEBUG-level
warning.)

  ** To enable the interface, a developer can set the Controller
attribute to TRUE. Otherwise, we break backward compatiblity, and we
would need to increment the major version number.

* Like many other things, if we rolled the major version number on
this codebase, we'd change the default to TRUE to enforce the
preferred behavior. But, for a minor release, we shouldn't force
everyone to change perfectly good actions that already check
isCancelled.

* For extra credit, update the ModuleConfigVerifier plugin to check to
see if Actions are implementing Cancellable when the RP attribute is
FALSE.

-Ted.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to