/** * {@inheritdoc} */ public function process(ContextInterface $context) { /** @var ConfigContext $context */ $filters = $context->getFilters(); if (empty($filters)) { // nothing to normalize return; } $fields = ConfigUtil::getArrayValue($filters, ConfigUtil::FIELDS); if (ConfigUtil::isExcludeAll($filters)) { $fields = ConfigUtil::removeExclusions($fields); } else { $entityClass = $context->getClassName(); if ($this->doctrineHelper->isManageableEntityClass($entityClass)) { $fields = ConfigUtil::removeExclusions($this->completeFilters($fields, $entityClass, $context->getResult())); } } $context->setFilters([ConfigUtil::EXCLUSION_POLICY => ConfigUtil::EXCLUSION_POLICY_ALL, ConfigUtil::FIELDS => $fields]); }