BasketSnapshotFieldResolver: dedicated exception..
...for invalid baskets, referencing missing fields
This commit is contained in:
parent
b55df21c21
commit
749ab6a356
|
@ -5,6 +5,7 @@ namespace Icinga\Module\Director\DirectorObject\Automation;
|
||||||
use Icinga\Module\Director\Db;
|
use Icinga\Module\Director\Db;
|
||||||
use Icinga\Module\Director\Objects\DirectorDatafield;
|
use Icinga\Module\Director\Objects\DirectorDatafield;
|
||||||
use Icinga\Module\Director\Objects\IcingaObject;
|
use Icinga\Module\Director\Objects\IcingaObject;
|
||||||
|
use InvalidArgumentException;
|
||||||
|
|
||||||
class BasketSnapshotFieldResolver
|
class BasketSnapshotFieldResolver
|
||||||
{
|
{
|
||||||
|
@ -90,6 +91,11 @@ class BasketSnapshotFieldResolver
|
||||||
$existingFields[(int) $mapping->datafield_id] = $mapping;
|
$existingFields[(int) $mapping->datafield_id] = $mapping;
|
||||||
}
|
}
|
||||||
foreach ($object->fields as $field) {
|
foreach ($object->fields as $field) {
|
||||||
|
if (! isset($fieldMap[(int) $field->datafield_id])) {
|
||||||
|
throw new InvalidArgumentException(
|
||||||
|
'Basket Snapshot contains invalid field reference: ' . $field->datafield_id
|
||||||
|
);
|
||||||
|
}
|
||||||
$id = $fieldMap[(int) $field->datafield_id];
|
$id = $fieldMap[(int) $field->datafield_id];
|
||||||
if (isset($existingFields[$id])) {
|
if (isset($existingFields[$id])) {
|
||||||
unset($existingFields[$id]);
|
unset($existingFields[$id]);
|
||||||
|
|
Loading…
Reference in New Issue