Skip to content

Commit 21f84ca

Browse files
committed
MAGETWO-89247: Run catalog search indexer by dimension
1 parent 2c22c2f commit 21f84ca

File tree

7 files changed

+96
-8
lines changed

7 files changed

+96
-8
lines changed

app/code/Magento/CatalogSearch/Test/Unit/Model/Indexer/FulltextTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66
namespace Magento\CatalogSearch\Test\Unit\Model\Indexer;
77

8-
use \Magento\Framework\MultiDimensionalIndexer\Dimension;
8+
use \Magento\Framework\Indexer\Dimension;
99
use Magento\Framework\Indexer\Dimension\DimensionProviderInterface;
1010
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
1111

app/code/Magento/Store/Model/StoreDimensionProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
namespace Magento\Store\Model;
99

10-
use Magento\Framework\MultiDimensionalIndexer\DimensionFactory;
10+
use Magento\Framework\Indexer\DimensionFactory;
1111
use Magento\Framework\Indexer\Dimension\DimensionProviderInterface;
1212

1313
/**

dev/tests/static/testsuite/Magento/Test/Php/LiveCodeTest.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -334,8 +334,6 @@ public function testStrictTypes()
334334
{
335335
$changedFiles = self::getAddedFilesList('');
336336

337-
$componentRegistrar = new ComponentRegistrar();
338-
$directoriesToCheck = $componentRegistrar->getPaths(ComponentRegistrar::MODULE);
339337
try {
340338
$blackList = Files::init()->readLists(
341339
self::getBaseFilesFolder() . '/_files/blacklist/strict_type.txt'
@@ -346,7 +344,7 @@ public function testStrictTypes()
346344
}
347345

348346
$toBeTestedFiles = array_diff(
349-
self::filterFiles($changedFiles, ['php'], $directoriesToCheck),
347+
self::filterFiles($changedFiles, ['php'], []),
350348
$blackList
351349
);
352350

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Framework\Indexer;
9+
10+
/**
11+
* Index Dimension object
12+
*
13+
* @api
14+
*/
15+
class Dimension
16+
{
17+
/**
18+
* @param string $name
19+
* @param string $value
20+
*/
21+
public function __construct(string $name, string $value)
22+
{
23+
$this->name = $name;
24+
$this->value = $value;
25+
}
26+
27+
/**
28+
* Get dimension name
29+
*
30+
* @return string
31+
*/
32+
public function getName(): string
33+
{
34+
return $this->name;
35+
}
36+
37+
/**
38+
* Get dimension value
39+
*
40+
* @return string
41+
*/
42+
public function getValue(): string
43+
{
44+
return $this->value;
45+
}
46+
}

lib/internal/Magento/Framework/Indexer/Dimension/DimensionProviderInterface.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
interface DimensionProviderInterface extends \IteratorAggregate
1515
{
1616
/**
17-
* Get Dimension Iterator. Returns yielded value of \Magento\Framework\MultiDimensionalIndexer\Dimension
18-
* @return \Traversable|\Magento\Framework\MultiDimensionalIndexer\Dimension[]
17+
* Get Dimension Iterator. Returns yielded value of \Magento\Framework\Indexer\Dimension
18+
* @return \Traversable|\Magento\Framework\Indexer\Dimension[]
1919
*/
2020
public function getIterator(): \Traversable;
2121
}

lib/internal/Magento/Framework/Indexer/Dimension/DimensionalIndexerInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ interface DimensionalIndexerInterface
1717
* Execute indexer by specified dimension.
1818
* Accept array of dimensions DTO that represent indexer dimension
1919
*
20-
* @param \Magento\Framework\MultiDimensionalIndexer\Dimension[] $dimension
20+
* @param \Magento\Framework\Indexer\Dimension[] $dimension
2121
* @param \Traversable|null $entityIds
2222
* @return void
2323
*/
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Framework\Indexer;
9+
10+
use Magento\Framework\ObjectManagerInterface;
11+
12+
/**
13+
* Dimension Factory
14+
*
15+
* @api
16+
*/
17+
class DimensionFactory
18+
{
19+
/**
20+
* @var ObjectManagerInterface
21+
*/
22+
private $objectManager;
23+
24+
/**
25+
* @param ObjectManagerInterface $objectManager
26+
*/
27+
public function __construct(ObjectManagerInterface $objectManager)
28+
{
29+
$this->objectManager = $objectManager;
30+
}
31+
32+
/**
33+
* @param string $name
34+
* @param string $value
35+
* @return Dimension
36+
*/
37+
public function create(string $name, $value): Dimension
38+
{
39+
return $this->objectManager->create(Dimension::class, [
40+
'name' => $name,
41+
'value' => (string) $value,
42+
]);
43+
}
44+
}

0 commit comments

Comments
 (0)