Jarves\Command\ObjectsExportCommand::execute PHP Method

execute() protected method

protected execute ( Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output )
$input Symfony\Component\Console\Input\InputInterface
$output Symfony\Component\Console\Output\OutputInterface
    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $jarves = $this->getJarves();
        $filterByObjectKey = $input->getArgument('object-key');
        $filterByBundle = $input->getArgument('bundle');
        $dumper = new Dumper();
        foreach ($jarves->getConfigs() as $bundleConfig) {
            if ($filterByBundle && strtolower($filterByBundle) !== strtolower($bundleConfig->getName())) {
                continue;
            }
            foreach ($bundleConfig->getObjects() as $object) {
                if ($filterByObjectKey && strtolower($filterByObjectKey) !== strtolower($object->getId())) {
                    continue;
                }
                /** @var AbstractStorage $storage */
                $storage = $this->getContainer()->get($object->getStorageService());
                $storage->configure($object->getKey(), $object);
                try {
                    $data = $storage->export();
                    echo $dumper->dump([$object->getKey() => $data], 15);
                } catch (NotImplementedException $e) {
                    if (strtolower($filterByBundle) === strtolower($bundleConfig->getName()) && strtolower($filterByObjectKey) === strtolower($object->getId())) {
                        $output->writeln('<error>Your requested object does not support export</error>');
                    }
                }
            }
        }
    }
ObjectsExportCommand