protected function execute(InputInterface $input, OutputInterface $output)
 {
     $output->writeln('');
     $app = $this->getSilexApplication();
     /** @var RepositoryManager $repositoryManager */
     $repositoryManager = $app['repos'];
     $contentTypeName = $input->getArgument('content type');
     $repositoryName = $input->getArgument('repository');
     $workspace = $input->getArgument('workspace');
     $language = $input->getArgument('language');
     $filename = $input->getArgument('filename');
     $output->writeln('Starting import for content type ' . $contentTypeName);
     $output->writeln('');
     $repository = $repositoryManager->getRepositoryById($repositoryName);
     if (!$repository->hasContentType($contentTypeName)) {
         $output->writeln(self::escapeError . 'Repository ' . $repositoryName . ' does not have a content type named ' . $contentTypeName . '. Use the list command to show available content types.' . self::escapeReset);
         return;
     }
     if (!$repository->getContentTypeDefinition($contentTypeName)->hasWorkspace($workspace)) {
         $output->writeln(self::escapeError . 'Content type ' . $contentTypeName . ' does not have a workspace named ' . $workspace . self::escapeReset);
     }
     if (!$repository->getContentTypeDefinition($contentTypeName)->hasLanguage($language)) {
         $output->writeln(self::escapeError . 'Content type ' . $contentTypeName . ' does not have a language named ' . $language . self::escapeReset);
     }
     if (strpos($filename, '/') !== 0) {
         $filename = getcwd() . '/' . $filename;
     }
     $filename = realpath($filename);
     if (!file_exists($filename)) {
         $output->writeln(self::escapeError . 'Could not find/access file.' . self::escapeReset);
         return;
     }
     $output->writeln('Reading ' . $filename);
     $output->writeln('');
     $importer = new Importer();
     $importer->setOutput($output);
     if ($input->getOption('xlsx') == true) {
         $importer->importXLSX($repository, $contentTypeName, $filename, $workspace, $language);
     } else {
         $data = file_get_contents($filename);
         $importer->importJSON($repository, $contentTypeName, $data, $workspace, $language);
     }
 }