Skip to content

Commit 688e391

Browse files
committed
Runtime check to ensure that MatchSingle* rules do not have more than one event group configured in static::EVENTS
1 parent 30c0098 commit 688e391

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/Rule/MatchSingle.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,19 @@
1212
namespace EdgeTelemetrics\EventCorrelation\Rule;
1313

1414
use EdgeTelemetrics\EventCorrelation\Rule;
15+
use function count;
1516

1617
/**
17-
* Class Continuously
18+
* Class MatchSingle
1819
* @package EdgeTelemetrics\EventCorrelation\Rule
1920
*/
2021
abstract class MatchSingle extends Rule
2122
{
22-
23+
public function __construct()
24+
{
25+
parent::__construct();
26+
if (count(static::EVENTS) !== 1) {
27+
throw new \RuntimeException('A rule of MatchSingle must have only one event group defined, ' . count(static::EVENTS) . ' are defined');
28+
}
29+
}
2330
}

src/Rule/MatchSingleContinuously.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace EdgeTelemetrics\EventCorrelation\Rule;
1313

1414
use EdgeTelemetrics\EventCorrelation\Rule;
15+
use function count;
1516

1617
/**
1718
* Class MatchSingleContinuously
@@ -21,6 +22,14 @@ abstract class MatchSingleContinuously extends Rule
2122
{
2223
const EVENTS = [[]];
2324

25+
public function __construct()
26+
{
27+
parent::__construct();
28+
if (count(static::EVENTS) !== 1) {
29+
throw new \RuntimeException('A rule of MatchSingleContinuously must have only one event group defined, ' . count(static::EVENTS) . ' are defined');
30+
}
31+
}
32+
2433
public function complete() : bool
2534
{
2635
return false;

0 commit comments

Comments
 (0)