/** * @param ContextInterface $importExportContext * @throws InvalidConfigurationException */ public function setImportExportContext(ContextInterface $importExportContext) { $queryBuilder = $importExportContext->getOption('queryBuilder'); if (isset($queryBuilder) && $this->dataConverter instanceof QueryBuilderAwareInterface) { if (!$queryBuilder instanceof QueryBuilder) { throw new InvalidConfigurationException(sprintf('Configuration of processor contains invalid "queryBuilder" option. ' . '"Doctrine\\ORM\\QueryBuilder" type is expected, but "%s" is given', is_object($queryBuilder) ? get_class($queryBuilder) : gettype($queryBuilder))); } $this->dataConverter->setQueryBuilder($queryBuilder); } }
/** * {@inheritdoc} */ public function process($item) { if ($this->converter) { $item = $this->converter->convertToImportFormat($item); } $object = $this->serializer->deserialize($item, $this->context->getOption('entityName'), null); if ($this->strategy) { $object = $this->strategy->process($object); } return $object ?: null; }
/** * {@inheritdoc} */ public function setEntityName($entityName) { $this->entityName = $entityName; if ($this->dataConverter && $this->dataConverter instanceof EntityNameAwareInterface) { $this->dataConverter->setEntityName($this->entityName); } }