Returns the processed Configuration

@param \Neos\ContentRepository\Domain\Model\NodeType $nodeType (uninitialized) The node type to process
@param array $configuration input configuration
@param array $options The processor options
@return void
485293
public function process(NodeType $nodeType, array &$configuration, array $options)
    {
        $pluginViewDefinitions = $this->pluginService->getPluginViewDefinitionsByPluginNodeType($nodeType);
        if ($pluginViewDefinitions === []) {
            return;
        }
        $configuration['ui']['inspector']['groups']['pluginViews'] = [
            'position' => '9999',
            'label' => 'Plugin Views'
        ];
        $configuration['properties']['views'] = [
            'type' => 'string',
            'ui' => [
                'inspector' => [
                    'group' => 'pluginViews',
                    'position' => '20',
                    'editor' => 'Neos.Neos/Inspector/Editors/PluginViewsEditor'
                ]
            ]
        ];
    }
500182
public function execute(Node $node, Application $application, Deployment $deployment, array $options = [])
    {
        $this->ensureApplicationIsTypo3Cms($application);
        try {
            $scriptFileName = $this->getConsoleScriptFileName($node, $application, $deployment, $options);
        } catch (InvalidConfigurationException $e) {
            $deployment->getLogger()->warning('TYPO3 Console script (' . $options['scriptFileName'] . ') was not found! Make sure it is available in your project, you set the "scriptFileName" option correctly or remove this task (' . __CLASS__ . ') in your deployment configuration!');
            return;
        }
        $deployment->getLogger()->warning('This task has been deprecated and will be removed in Surf 2.1. Please use SetUpExtensionsTask instead.');
        $activePackages = isset($options['activePackages']) ? $options['activePackages'] : [];
        foreach ($activePackages as $packageKey) {
            $this->executeCliCommand(
                [$scriptFileName, 'extension:activate', $packageKey],
                $node,
                $application,
                $deployment,
                $options
            );
        }
    }
664201
protected function configureImage(NodeInterface $node, NodeType $nodeType, array $config = [])
    {
        $this->configureCreateAssistanceChildNodes($node, $nodeType, $config);

        switch ($node->getParent()->getNodeType()->getName()) {
            // Image slider: enable caption by default
            case 'M12.Foundation:Orbit':
                if (!$node->getProperty('hasCaption')) {
                    $node->setProperty('hasCaption', true);
                    $node->setProperty('caption', 'Image caption');
                }
                break;
        }
    }
167983
public function execute(Node $node, Application $application, Deployment $deployment, array $options = [])
    {
        $this->checkOptionsForValidity($options);
        $host = $options['releaseHost'];
        $login = $options['releaseHostLogin'];
        $sitePath =  $options['releaseHostSitePath'];
        $version = $options['version'];
        $label = $options['label'];
        $uriPattern = $options['downloadUriPattern'];
        $productName = $options['productName'];
        $files = $options['files'];

        $downloads = [];
        foreach ($files as $file) {
            $downloads[] = sprintf('"%s,%s,%s"', basename($file), sha1($file), sprintf($uriPattern, basename($file)));
        }
        $this->shell->executeOrSimulate(sprintf('ssh %s%s "cd \"%s\" ; ./flow release:adddownload --product-name \"%s\" --version \"%s\" --label \"%s\" %s"', ($login ? $login . '@' : ''), $host, $sitePath, $productName, $version, $label, implode(' ', $downloads)), $node, $deployment);
    }
987621
public Node getConfigurationOption (String optionName) {
		NodeList children = configuration.getChildNodes ();
		Node configurationOption = null;
		for (int childIndex = 0; childIndex < children.getLength (); childIndex++) {
			if (children.item (childIndex).getNodeName ().equals (optionName)) {
				configurationOption = children.item (childIndex);
				break;
			}
		}
		return configurationOption;
	}
410128
public function byConfiguration(Configuration $configuration, array $flags) : Blueprint {
		$blueprintName = $configuration->get('project.blueprint');

		return $this->load($blueprintName, $flags);
	}
1081250
public function isSplitSourceAllowedForConfigurationType(string $configurationType): bool
    {
        if (!isset($this->configurationTypes[$configurationType])) {
            throw new Exception\InvalidConfigurationTypeException('Configuration type "' . $configurationType . '" is not registered. You can Register it by calling $configurationManager->registerConfigurationType($configurationType).', 1359998400);
        }

        return $this->configurationTypes[$configurationType]['allowSplitSource'];
    }
823355
protected function getNodeDataByNodeTypeAndWorkspace($nodeType, $workspaceName)
    {
        /** @var QueryBuilder $queryBuilder */
        $queryBuilder = $this->entityManager->createQueryBuilder();

        $queryBuilder->select('n')
            ->distinct()
            ->from(NodeData::class, 'n')
            ->where('n.nodeType = :nodeType')
            ->andWhere('n.workspace = :workspace')
            ->andWhere('n.movedTo IS NULL OR n.removed = :removed')
            ->setParameter('nodeType', $nodeType)
            ->setParameter('workspace', $workspaceName)
            ->setParameter('removed', false, \PDO::PARAM_BOOL);
        return $queryBuilder->getQuery()->getResult();
    }
12856
private function processConfiguration(array $config, $pathname)
    {
        $processor = new Processor();

        try {
            return $this->parameterBag->resolveValue($processor->processConfiguration(new Configuration(), $config));
        } catch (InvalidConfigurationException $ex) {
            throw new ConfigurationException(
                sprintf('Configuration file "%s" is invalid: "%s".', $pathname, $ex->getMessage())
            );
        }
    }
1306681
public function execute(Node $node, Application $application, Deployment $deployment, array $options = [])
    {
        $options = $this->configureOptions($options);

        $workspacePath = $deployment->getWorkspacePath($application);
        $webDirectory = $application->hasOption('webDirectory') ? $application->getOption('webDirectory') : 'Web';
        $scriptBasePath = $options['scriptBasePath'] ?: Files::concatenatePaths([$workspacePath, $webDirectory]);

        if ($options['scriptIdentifier'] === null) {
            // Store the script identifier as an application option
            $scriptIdentifier = bin2hex($this->randomBytesGenerator->generate(32));
            $application->setOption(WebOpcacheResetExecuteTask::class . '[scriptIdentifier]', $scriptIdentifier);
        } else {
            $scriptIdentifier = $options['scriptIdentifier'];
        }

        $localhost = new Node('localhost');
        $localhost->onLocalhost();

        $commands = [
            'cd ' . escapeshellarg($scriptBasePath),
            'rm -f surf-opcache-reset-*',
        ];

        $this->shell->executeOrSimulate($commands, $localhost, $deployment);

        if (! $deployment->isDryRun()) {
            $scriptFilename = sprintf('%s/surf-opcache-reset-%s.php', $scriptBasePath, $scriptIdentifier);

            $result = $this->filesystem->put($scriptFilename, '<?php
                if (function_exists("opcache_reset")) {
                    opcache_reset();
                }
                @unlink(__FILE__);
                echo "success";
            ');

            if ($result === false) {
                throw TaskExecutionException::webOpcacheResetCreateScriptTaskCouldNotWritFile($scriptFilename);
            }
        }
    }
607371
public function buildDictionary(Configuration $configuration, array $data): Definition
    {
        try {
            $builder = $this->dictionaryBuilders->get($data['type']);
        } catch (ServiceNotFoundException $exception) {
            throw new \RuntimeException('Unknown dictionary type "' . $data['type'] . '"', 0, $exception);
        }
        /** @var DefinitionBuilderInterface $builder */
        return $builder->build($configuration, $data);
    }
219904
private static function getORMConfiguration(array $options = array(), LoggerInterface $logger = null, ContainerInterface $container = null)
    {
        $config = new Configuration();

        $driverImpl = $config->newDefaultAnnotationDriver([], false);

        $config->setMetadataDriverImpl($driverImpl);
        $config->setRepositoryFactory(new RepositoryFactory(
            isset($options['orm']) ? (array) $options['orm'] : []
        ));

        if (isset($options['proxy_dir'])) {
            $config->setProxyDir($options['proxy_dir']);
        }

        if (isset($options['proxy_ns'])) {
            $config->setProxyNamespace($options['proxy_ns']);
        }

        if (isset($options['orm'])) {
            if (isset($options['orm']['proxy_namespace'])) {
                $config->setProxyNamespace($options['orm']['proxy_namespace']);
            }

            if (isset($options['orm']['proxy_dir'])) {
                $config->setProxyDir($options['orm']['proxy_dir']);
            }

            if (isset($options['orm']['auto_generate_proxy_classes'])) {
                $config->setAutoGenerateProxyClasses($options['orm']['auto_generate_proxy_classes']);
            }

            if (isset($options['orm']['metadata_cache_driver']) && is_array($options['orm']['metadata_cache_driver'])) {
                if (isset($options['orm']['metadata_cache_driver']['type'])) {
                    if (
                        'service' === $options['orm']['metadata_cache_driver']['type']
                        && isset($options['orm']['metadata_cache_driver']['id'])
                    ) {
                        $service = null;
                        $serviceId = $options['orm']['metadata_cache_driver']['id'];
                        if (is_object($serviceId)) {
                            $service = $serviceId;
                        } elseif (is_string($serviceId)) {
                            $serviceId = str_replace('@', '', $serviceId);
                            if (null !== $container && $container->has($serviceId)) {
                                $service = $container->get($serviceId);
                            }
                        }

                        if (null !== $service) {
                            $config->setMetadataCacheImpl($service);
                        }
                    }
                }
            }

            if (isset($options['orm']['query_cache_driver']) && is_array($options['orm']['query_cache_driver'])) {
                if (isset($options['orm']['query_cache_driver']['type'])) {
                    if (
                        'service' === $options['orm']['query_cache_driver']['type']
                        && isset($options['orm']['query_cache_driver']['id'])
                    ) {
                        $serviceId = str_replace('@', '', $options['orm']['query_cache_driver']['id']);
                        if (null !== $container && $container->has($serviceId)) {
                            $config->setQueryCacheImpl($container->get($serviceId));
                        }
                    }
                }
            }
        }

        if ($logger instanceof SQLLogger) {
            $config->setSQLLogger($logger);
        }

        return self::addCustomFunctions($config, $options);
    }
818932
public static function load($source, string $contentType = 'text/xml', array $options = []): \FluentDOM\DOM\Document {
    if (NULL === self::$_loader) {
      self::$_loader = self::getDefaultLoaders();
    }
    $result = self::$_loader->load($source, $contentType, $options);
    return $result instanceof \DOMDocument ? $result : $result->getDocument();
  }
716846
public function addFieldTypeSemanticConfig(NodeBuilder $nodeBuilder)
    {
        $nodeBuilder
            ->arrayNode('custom_tags')
                ->info('Custom XSL stylesheets to use for XmlText transformation to HTML5. Useful for "custom tags".')
                ->example(
                    [
                        'path' => '%kernel.root_dir%/../src/Acme/TestBundle/Resources/myTag.xsl',
                        'priority' => 10,
                    ]
                )
                ->prototype('array')
                    ->children()
                        ->scalarNode('path')
                            ->info('Path of the XSL stylesheet to load.')
                            ->isRequired()
                        ->end()
                        ->integerNode('priority')
                            ->info('Priority in the loading order. A high value will have higher precedence in overriding XSL templates.')
                            ->defaultValue(0)
                        ->end()
                    ->end()
                ->end()
            ->end();
    }
1002549
public function convertFrom($source, $targetType, array $convertedChildProperties = [], PropertyMappingConfigurationInterface $configuration = null)
    {
        if ($source instanceof NodeType) {
            return $source->getName();
        }

        return '';
    }
1099225
public function setNodeType(NodeType $nodeType): void
    {
        if ($this->getNodeType() === $nodeType) {
            return;
        }
        if (!$this->isNodeDataMatchingContext()) {
            $this->materializeNodeData();
        }
        $this->nodeData->setNodeType($nodeType);

        $this->context->getFirstLevelNodeCache()->flush();
        $this->emitNodeUpdated($this);
    }
838482
public function getServerNodeConfiguration(ServerNodeInterface $serverNode)
    {

        // query whether a server signature (software) has been configured
        if ($serverNode->getParam('software') == null) {
            $serverNode->setParam('software', ParamNode::TYPE_STRING, $this->getService()->getServerSignature());
        }

        // add the server node configuration
        return new ServerNodeConfiguration($serverNode);
    }