/** * @param ContainerBuilder $container * @param ProcessorDecorator $processor * @param string $scope * * @return array */ protected function loadConfig(ContainerBuilder $container, ProcessorDecorator $processor, $scope) { $config = array(); $alias = $scope === 'app' ? 'system' : $scope; $configLoader = new CumulativeConfigLoader(sprintf('oro_%s_configuration', $alias), new YamlCumulativeFileLoader(sprintf('Resources/config/%s_configuration.yml', $alias))); $resources = $configLoader->load($container); foreach ($resources as $resource) { $config = $processor->merge($config, $resource->data); } return $config; }
/** * {@inheritDoc} */ public function process(ContainerBuilder $container) { $config = []; $processor = new ProcessorDecorator(); foreach ($container->getParameter('kernel.bundles') as $bundle) { $reflection = new \ReflectionClass($bundle); if (is_file($file = dirname($reflection->getFilename()) . '/Resources/config/' . self::CONFIG_FILE_NAME)) { $bundleConfig = Yaml::parse(file_get_contents(realpath($file))); $config = $processor->merge($config, $bundleConfig); } } }
/** * {@inheritDoc} */ public function process(ContainerBuilder $container) { $config = array(); $processor = new ProcessorDecorator(); foreach ($container->getParameter('kernel.bundles') as $bundle) { $reflection = new \ReflectionClass($bundle); if (is_file($file = dirname($reflection->getFilename()) . '/Resources/config/' . self::CONFIG_FILE_NAME)) { $bundleConfig = Yaml::parse(file_get_contents(realpath($file))); $config = $processor->merge($config, $bundleConfig); } } $taggedServices = $container->findTaggedServiceIds(FormProvider::TAG_NAME); if ($taggedServices) { $config = $processor->process($config); foreach ($taggedServices as $id => $attributes) { $container->getDefinition($id)->replaceArgument(0, $config); } } }
/** * @param string $configPath * * @return SystemConfigurationFormProvider */ protected function getProviderWithConfigLoaded($configPath) { $config = Yaml::parse(file_get_contents($configPath)); $processor = new ProcessorDecorator(new Processor(), ['some_field', 'some_another_field', 'some_ui_only_field', 'some_api_only_field']); $config = $processor->process($config); $subscriber = $this->getMockBuilder('Oro\\Bundle\\ConfigBundle\\Form\\EventListener\\ConfigSubscriber')->setMethods(array('__construct'))->disableOriginalConstructor()->getMock(); $formType = new FormType($subscriber); $formFieldType = new FormFieldType(); $useParentScope = new ParentScopeCheckbox(); $extensions = array(new PreloadedExtension(array($formType->getName() => $formType, $formFieldType->getName() => $formFieldType, $useParentScope->getName() => $useParentScope), array())); $factory = Forms::createFormFactoryBuilder()->addExtensions($extensions)->addTypeExtension(new DataBlockExtension())->getFormFactory(); $securityFacade = $this->getMockBuilder('Oro\\Bundle\\SecurityBundle\\SecurityFacade')->disableOriginalConstructor()->getMock(); $provider = new SystemConfigurationFormProvider($config, $factory, $securityFacade); return $provider; }
/** * @param string $configPath * * @return SystemConfigurationFormProvider */ protected function getProviderWithConfigLoaded($configPath) { $config = Yaml::parse(file_get_contents($configPath)); $processor = new ProcessorDecorator(); $config = $processor->process($config); $subscriber = $this->getMockBuilder('Oro\\Bundle\\ConfigBundle\\Form\\EventListener\\ConfigSubscriber')->setMethods(['__construct'])->disableOriginalConstructor()->getMock(); $formType = new FormType($subscriber); $formFieldType = new FormFieldType(); $extensions = [new PreloadedExtension([$formType->getName() => $formType, $formFieldType->getName() => $formFieldType], [])]; $factory = Forms::createFormFactoryBuilder()->addExtensions($extensions)->addTypeExtension(new DataBlockExtension())->getFormFactory(); $securityFacade = $this->getMockBuilder('Oro\\Bundle\\SecurityBundle\\SecurityFacade')->disableOriginalConstructor()->getMock(); $provider = new SystemConfigurationFormProvider($config, $factory, $securityFacade); return $provider; }
/** * @dataProvider mergeDataProvider * * @param array $startData * @param array $newData * @param array $expectedResult */ public function testMerge($startData, $newData, $expectedResult) { $this->assertEquals($expectedResult, $this->processor->merge($startData, $newData)); }
/** * @param ContainerBuilder $container * @param ProcessorDecorator $processor * * @return array */ protected function loadConfig(ContainerBuilder $container, ProcessorDecorator $processor) { $config = []; $configLoader = new CumulativeConfigLoader('oro_system_configuration', new YamlCumulativeFileLoader('Resources/config/system_configuration.yml')); $resources = $configLoader->load($container); foreach ($resources as $resource) { $config = $processor->merge($config, $resource->data); } return $config; }
/** * Parse config fixture and validate through processorDecorator * * @param string $path * * @return array */ protected function getConfig($path) { $config = Yaml::parse(file_get_contents($path)); $processor = new ProcessorDecorator(); return $processor->process($config); }
/** * Parse config fixture and validate through processorDecorator * * @param string $path * * @return array */ protected function getConfig($path) { $config = Yaml::parse(file_get_contents($path)); $processor = new ProcessorDecorator(new Processor(), ['some_field', 'some_another_field', 'some_ui_only_field', 'some_api_only_field']); return $processor->process($config); }