src/module-elasticsuite-core/Search/Request/ContainerConfiguration/BaseConfig/Reader.php
<?php
/**
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Smile ElasticSuite to newer
* versions in the future.
*
* @category Smile
* @package Smile\ElasticsuiteCore
* @author Aurelien FOUCRET <aurelien.foucret@smile.fr>
* @copyright 2020 Smile
* @license Open Software License ("OSL") v. 3.0
*/
namespace Smile\ElasticsuiteCore\Search\Request\ContainerConfiguration\BaseConfig;
use Magento\Framework\Config\Reader\Filesystem;
use Magento\Framework\Config\FileResolverInterface;
use Magento\Framework\Config\ValidationStateInterface;
/**
* ElasticSuite search requests configuration reader.
*
* @SuppressWarnings(PHPMD.CamelCasePropertyName)
*
* @category Smile
* @package Smile\ElasticsuiteCore
* @author Aurelien FOUCRET <aurelien.foucret@smile.fr>
*/
class Reader extends Filesystem
{
/**
* Reader supported filename.
*
* @var string
*/
const FILENAME = 'elasticsuite_search_request.xml';
/**
* List of attributes by XPath used as ids during the file merge process.
*
* @var array
*/
protected $_idAttributes = [
'/requests/request' => 'name',
'/requests/request/filters/filter' => 'name',
'/requests/request/aggregations/aggregation' => 'name',
'/requests/request/aggregations/aggregation/aggregations/aggregation' => 'name',
'/requests/request/aggregations/provider' => 'name',
];
/**
* {@inheritdoc}
*/
public function __construct(
FileResolverInterface $fileResolver,
Converter $converter,
SchemaLocator $schemaLocator,
ValidationStateInterface $validationState,
$fileName = self::FILENAME,
$idAttributes = [],
$domDocumentClass = 'Magento\Framework\Config\Dom',
$defaultScope = 'global'
) {
parent::__construct(
$fileResolver,
$converter,
$schemaLocator,
$validationState,
$fileName,
$idAttributes,
$domDocumentClass,
$defaultScope
);
}
}