Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var MetadataContext $context */
     if ($context->hasResult()) {
         // config is already set
         return;
     }
     $config = $this->configBag->getMetadata($context->getClassName(), $context->getVersion());
     if (!empty($config)) {
         $context->setResult($config);
     }
 }
Пример #2
0
 /**
  * @param string $entityClass
  * @param string $version
  *
  * @return array|null
  */
 protected function loadConfig($entityClass, $version)
 {
     $config = $this->configBag->getRelationConfig($entityClass, $version);
     if (empty($config) || ConfigUtil::isInherit($config)) {
         $parentClasses = $this->entityHierarchyProvider->getHierarchyForClassName($entityClass);
         foreach ($parentClasses as $parentClass) {
             $parentConfig = $this->configBag->getRelationConfig($parentClass, $version);
             if (!empty($parentConfig)) {
                 $config = $this->mergeConfigs($parentConfig, $config);
                 if (!ConfigUtil::isInherit($parentConfig)) {
                     break;
                 }
             }
         }
     }
     return !empty($config) ? $config : null;
 }
Пример #3
0
 /**
  * @dataProvider getConfigProvider
  */
 public function testGetRelationConfig($className, $version, $expectedConfig)
 {
     $this->assertEquals($expectedConfig, $this->configBag->getRelationConfig($className, $version));
 }