Skip to content

Commit 3bf3185

Browse files
author
Olga Kopylova
committed
MAGETWO-43452: Ogre sprint 38 contribution to mainline
- fixed XSD reader
1 parent 758d59e commit 3bf3185

File tree

4 files changed

+33
-13
lines changed

4 files changed

+33
-13
lines changed

app/etc/di.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,8 +1066,7 @@
10661066
<arguments>
10671067
<argument name="fileName" xsi:type="string">view.xsd</argument>
10681068
<argument name="defaultScope" xsi:type="string">global</argument>
1069-
<argument name="searchPattern" xsi:type="string">/*/*/etc/</argument>
1070-
<argument name="searchFilesPattern" xsi:type="string">/../..//Config/etc/</argument>
1069+
<argument name="searchFilesPattern" xsi:type="string">urn:magento:framework:Config/etc/</argument>
10711070
</arguments>
10721071
</type>
10731072
</config>

lib/internal/Magento/Framework/Config/View.php

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@
99
*/
1010
namespace Magento\Framework\Config;
1111

12+
use Magento\Framework\Config\Dom\UrnResolver;
1213
use Magento\Framework\View\Xsd\Reader;
1314
use Magento\Framework\View\Xsd\Media\TypeDataExtractorPool;
1415

1516
class View extends \Magento\Framework\Config\AbstractXml
1617
{
17-
/** @var \Magento\Framework\Config\Dom\UrnResolver */
18+
/** @var UrnResolver */
1819
protected $urnResolver;
1920

2021
/**
@@ -27,21 +28,29 @@ class View extends \Magento\Framework\Config\AbstractXml
2728
*/
2829
protected $xpath;
2930

31+
/**
32+
* @var Reader
33+
*/
34+
private $xsdReader;
35+
3036
/**
3137
* @param array $configFiles
32-
* @param \Magento\Framework\Config\Dom\UrnResolver $urnResolver
33-
* @param array $xpath
38+
* @param Reader $xsdReader
39+
* @param UrnResolver $urnResolver
3440
* @param TypeDataExtractorPool $extractorPool
41+
* @param array $xpath
3542
*/
3643
public function __construct(
3744
$configFiles,
38-
\Magento\Framework\Config\Dom\UrnResolver $urnResolver,
45+
Reader $xsdReader,
46+
UrnResolver $urnResolver,
3947
TypeDataExtractorPool $extractorPool,
4048
$xpath = []
4149
) {
4250
$this->xpath = $xpath;
4351
$this->extractorPool = $extractorPool;
4452
$this->urnResolver = $urnResolver;
53+
$this->xsdReader = $xsdReader;
4554
parent::__construct($configFiles);
4655
}
4756

@@ -52,7 +61,8 @@ public function __construct(
5261
*/
5362
public function getSchemaFile()
5463
{
55-
return $this->urnResolver->getRealPath('urn:magento:framework:Config/etc/view.xsd');
64+
$configXsd = $this->xsdReader->read();
65+
return $configXsd;
5666
}
5767

5868
/**

lib/internal/Magento/Framework/Config/ViewFactory.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,9 @@ public function __construct(\Magento\Framework\ObjectManagerInterface $objectMan
2929
*/
3030
public function create($configFiles)
3131
{
32-
return new \Magento\Framework\Config\View(
33-
$configFiles,
34-
new \Magento\Framework\Config\Dom\UrnResolver(),
35-
$this->objectManager->create('\Magento\Framework\View\Xsd\Media\TypeDataExtractorPool')
32+
return $this->objectManager->create(
33+
'Magento\Framework\Config\View',
34+
['configFiles' => $configFiles]
3635
);
3736
}
3837
}

lib/internal/Magento/Framework/View/Xsd/Reader.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Magento\Framework\Component\ComponentRegistrar;
99
use Magento\Framework\Component\DirSearch;
1010
use Magento\Framework\Config\Dom\UrnResolver;
11+
use Magento\Framework\Config\FileIteratorFactory;
1112
use Magento\Framework\Filesystem;
1213

1314
class Reader implements \Magento\Framework\Config\ReaderInterface
@@ -36,14 +37,22 @@ class Reader implements \Magento\Framework\Config\ReaderInterface
3637
protected $urnResolver;
3738

3839
/**
39-
* @param DirSearch $dirSearch,
40+
* @var FileIteratorFactory
41+
*/
42+
private $iteratorFactory;
43+
44+
/**
45+
* @param DirSearch $dirSearch
46+
* @param UrnResolver $urnResolver
47+
* @param FileIteratorFactory $iteratorFactory
4048
* @param string $fileName
4149
* @param string $defaultScope
4250
* @param string $searchFilesPattern
4351
*/
4452
public function __construct(
4553
DirSearch $dirSearch,
4654
UrnResolver $urnResolver,
55+
FileIteratorFactory $iteratorFactory,
4756
$fileName,
4857
$defaultScope,
4958
$searchFilesPattern
@@ -53,6 +62,7 @@ public function __construct(
5362
$this->fileName = $fileName;
5463
$this->defaultScope = $defaultScope;
5564
$this->searchFilesPattern = $searchFilesPattern;
65+
$this->iteratorFactory = $iteratorFactory;
5666
}
5767

5868
/**
@@ -63,7 +73,9 @@ public function __construct(
6373
*/
6474
public function getListXsdFiles($filename)
6575
{
66-
return $this->componentDirSearch->collectFiles(ComponentRegistrar::MODULE, 'etc/' . $filename);
76+
return $this->iteratorFactory->create(
77+
$this->componentDirSearch->collectFiles(ComponentRegistrar::MODULE, 'etc/' . $filename)
78+
);
6779
}
6880

6981
/**

0 commit comments

Comments
 (0)