diff options
Diffstat (limited to 'library/Icingadb/Command')
-rw-r--r-- | library/Icingadb/Command/Object/ObjectsCommand.php | 13 | ||||
-rw-r--r-- | library/Icingadb/Command/Transport/CommandTransport.php | 4 |
2 files changed, 13 insertions, 4 deletions
diff --git a/library/Icingadb/Command/Object/ObjectsCommand.php b/library/Icingadb/Command/Object/ObjectsCommand.php index 3de6c83..f1a50d7 100644 --- a/library/Icingadb/Command/Object/ObjectsCommand.php +++ b/library/Icingadb/Command/Object/ObjectsCommand.php @@ -5,8 +5,11 @@ namespace Icinga\Module\Icingadb\Command\Object; use ArrayIterator; +use Generator; use Icinga\Module\Icingadb\Command\IcingaCommand; +use InvalidArgumentException; use ipl\Orm\Model; +use LogicException; use Traversable; /** @@ -24,12 +27,18 @@ abstract class ObjectsCommand extends IcingaCommand /** * Set the involved objects * - * @param Traversable<Model> $objects + * @param Traversable<Model> $objects Except generators * * @return $this + * + * @throws InvalidArgumentException If a generator is passed */ public function setObjects(Traversable $objects): self { + if ($objects instanceof Generator) { + throw new InvalidArgumentException('Generators are not supported'); + } + $this->objects = $objects; return $this; @@ -57,7 +66,7 @@ abstract class ObjectsCommand extends IcingaCommand public function getObjects(): Traversable { if ($this->objects === null) { - throw new \LogicException( + throw new LogicException( 'You are accessing an unset property. Please make sure to set it beforehand.' ); } diff --git a/library/Icingadb/Command/Transport/CommandTransport.php b/library/Icingadb/Command/Transport/CommandTransport.php index ea125bc..952cb14 100644 --- a/library/Icingadb/Command/Transport/CommandTransport.php +++ b/library/Icingadb/Command/Transport/CommandTransport.php @@ -50,7 +50,7 @@ class CommandTransport implements CommandTransportInterface /** * Create a transport from config * - * @param ConfigObject $config + * @param ConfigObject<string> $config * * @return ApiCommandTransport * @@ -59,7 +59,7 @@ class CommandTransport implements CommandTransportInterface public static function createTransport(ConfigObject $config): ApiCommandTransport { $config = clone $config; - switch (strtolower($config->transport)) { + switch (strtolower($config->transport ?? '')) { case ApiCommandTransport::TRANSPORT: $transport = new ApiCommandTransport(); break; |