Make ACTION_NOTHING a "standard" action in Herald

Summary: Ref T8455. Multiple adapters implement essentially identical effects for ACTION_NOTHING. Consolidate them.

Test Plan: Created several `ACTION_NOTHING` rules and updated the corresponding objects.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T8455

Differential Revision: https://secure.phabricator.com/D13178
This commit is contained in:
epriestley
2015-06-08 10:30:09 -07:00
parent 623aaf488d
commit ce434e821c
9 changed files with 13 additions and 49 deletions

View File

@@ -95,12 +95,6 @@ abstract class HeraldPreCommitAdapter extends HeraldAdapter {
foreach ($effects as $effect) {
$action = $effect->getAction();
switch ($action) {
case self::ACTION_NOTHING:
$result[] = new HeraldApplyTranscript(
$effect,
true,
pht('Did nothing.'));
break;
case self::ACTION_BLOCK:
$result[] = new HeraldApplyTranscript(
$effect,

View File

@@ -1559,6 +1559,8 @@ abstract class HeraldAdapter {
return $this->applyFlagEffect($effect);
case self::ACTION_EMAIL:
return $this->applyEmailEffect($effect);
case self::ACTION_NOTHING:
return $this->applyNothingEffect($effect);
default:
break;
}
@@ -1577,6 +1579,12 @@ abstract class HeraldAdapter {
return $result;
}
private function applyNothingEffect(HeraldEffect $effect) {
return new HeraldApplyTranscript(
$effect,
true,
pht('Did nothing.'));
}
/**
* @task apply

View File

@@ -491,12 +491,6 @@ final class HeraldCommitAdapter extends HeraldAdapter {
foreach ($effects as $effect) {
$action = $effect->getAction();
switch ($action) {
case self::ACTION_NOTHING:
$result[] = new HeraldApplyTranscript(
$effect,
true,
pht('Great success at doing nothing.'));
break;
case self::ACTION_ADD_CC:
foreach ($effect->getTarget() as $phid) {
if (empty($this->addCCPHIDs[$phid])) {

View File

@@ -77,7 +77,7 @@ final class HeraldDifferentialDiffAdapter extends HeraldDifferentialAdapter {
public function getActionNameMap($rule_type) {
return array(
self::ACTION_BLOCK => pht('Block diff with message'),
);
) + parent::getActionNameMap($rule_type);
}
public function getHeraldField($field) {
@@ -141,12 +141,6 @@ final class HeraldDifferentialDiffAdapter extends HeraldDifferentialAdapter {
foreach ($effects as $effect) {
$action = $effect->getAction();
switch ($action) {
case self::ACTION_NOTHING:
$result[] = new HeraldApplyTranscript(
$effect,
true,
pht('Did nothing.'));
break;
case self::ACTION_BLOCK:
$result[] = new HeraldApplyTranscript(
$effect,
@@ -154,10 +148,8 @@ final class HeraldDifferentialDiffAdapter extends HeraldDifferentialAdapter {
pht('Blocked diff.'));
break;
default:
$result[] = new HeraldApplyTranscript(
$effect,
false,
pht('No rules to handle action "%s"!', $action));
$result[] = $this->applyStandardEffect($effect);
break;
}
}

View File

@@ -293,12 +293,6 @@ final class HeraldDifferentialRevisionAdapter
foreach ($effects as $effect) {
$action = $effect->getAction();
switch ($action) {
case self::ACTION_NOTHING:
$result[] = new HeraldApplyTranscript(
$effect,
true,
pht('OK, did nothing.'));
break;
case self::ACTION_ADD_CC:
$base_target = $effect->getTarget();
$forbidden = array();

View File

@@ -148,12 +148,6 @@ final class HeraldManiphestTaskAdapter extends HeraldAdapter {
foreach ($effects as $effect) {
$action = $effect->getAction();
switch ($action) {
case self::ACTION_NOTHING:
$result[] = new HeraldApplyTranscript(
$effect,
true,
pht('Great success at doing nothing.'));
break;
case self::ACTION_ADD_CC:
foreach ($effect->getTarget() as $phid) {
$this->ccPHIDs[] = $phid;

View File

@@ -117,12 +117,6 @@ final class HeraldPholioMockAdapter extends HeraldAdapter {
foreach ($effects as $effect) {
$action = $effect->getAction();
switch ($action) {
case self::ACTION_NOTHING:
$result[] = new HeraldApplyTranscript(
$effect,
true,
pht('Great success at doing nothing.'));
break;
case self::ACTION_ADD_CC:
foreach ($effect->getTarget() as $phid) {
$this->ccPHIDs[] = $phid;

View File

@@ -118,12 +118,6 @@ final class PhrictionDocumentHeraldAdapter extends HeraldAdapter {
foreach ($effects as $effect) {
$action = $effect->getAction();
switch ($action) {
case self::ACTION_NOTHING:
$result[] = new HeraldApplyTranscript(
$effect,
true,
pht('Great success at doing nothing.'));
break;
case self::ACTION_ADD_CC:
foreach ($effect->getTarget() as $phid) {
$this->ccPHIDs[] = $phid;