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>');
}
}
}
}
}