ClearTrigger Stop Key Processing Functionality
In ClearTrigger the ability to define a Command Key that stops the processing of other Command Keys was introduced to enhance the ability to test
Command Keys and produce smaller Command Keys. The "Stop Key Processing" is invoked from the
Command Key Inhibit_Flag.
Consider the Clearbits_file with the 40 keys below:
-- Snip --
pre_MODIFY_ELEM;R;brtype<scratch_*>;S;
pre_MODIFY_ELEM;R;;0;-10;
pre_chevent;R;;S;
pre_mktype;r;lbtype<REL#.#> brtype<*_int_*>;x;-10;
pre_rmelem;R;;x;-10;
pre_checkout;R; ;0;0;0;D; ;N; ;0;verify.pl;
pre_checkin;R; ;0;0;0;D; ;N; ;0;approval_check.pl;;;;0;P;Who approved it?;
post_checkin;R;brtype<*_int_*>;0;0;0;D; ;N; ;0;;;;;0;;Q;Are you ready to close this defect?;YN;
...
(33 more keys)
...
pre_MODIFY_ELEM;R;brtype<rel_#.#>0;0;X;
-- Snip --
The ClearTrigger Policy Maker can created stop keys (like the keys in red that
serve to stop processes the clearbits_file for matching cases, in this case any element modification on a branch who's name begins with "scratch_" would not be subject to ano of the keys below it in the clearbits_file and the chevent command is subject to the 10 word comment restriction of the key above, but again not to any of the policy defined below the key. This has these general effects:
- performance - It minimizes how many keys are processed in the success case
- smaller keys - The keys that follow do not have to account for "avoiding" the cases covered in the "stop keys"
- smaller scripts - The scripts referred to in the following keys do not have to account for "avoiding" the cases covered in the "stop keys"
- testing and exception flexibility - Stop keys can quickly allow certain commands through for a short period of time without having to modify many Command Keys or the scripts referred to by the key.