Skip to content

Commit 895c284

Browse files
committed
Refactor not needed beofre and around plugins
1 parent cc6286a commit 895c284

File tree

10 files changed

+110
-162
lines changed

10 files changed

+110
-162
lines changed

app/code/Magento/Catalog/Model/Indexer/Category/Flat/Plugin/StoreGroup.php

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,13 @@
55
*/
66
namespace Magento\Catalog\Model\Indexer\Category\Flat\Plugin;
77

8-
use Magento\Framework\Model\ResourceModel\Db\AbstractDb;
9-
use Magento\Framework\Model\AbstractModel;
10-
use Magento\Framework\Indexer\IndexerRegistry;
118
use Magento\Catalog\Model\Indexer\Category\Flat\State;
9+
use Magento\Framework\Indexer\IndexerRegistry;
10+
use Magento\Framework\Model\AbstractModel;
11+
use Magento\Framework\Model\ResourceModel\Db\AbstractDb;
1212

1313
class StoreGroup
1414
{
15-
/**
16-
* @var bool
17-
*/
18-
private $needInvalidating;
19-
2015
/**
2116
* @var IndexerRegistry
2217
*/
@@ -48,35 +43,21 @@ protected function validate(AbstractModel $group)
4843
return $group->dataHasChangedFor('root_category_id') && !$group->isObjectNew();
4944
}
5045

51-
/**
52-
* Check if need invalidate flat category indexer
53-
*
54-
* @param AbstractDb $subject
55-
* @param AbstractModel $group
56-
*
57-
* @return void
58-
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
59-
*/
60-
public function beforeSave(AbstractDb $subject, AbstractModel $group)
61-
{
62-
$this->needInvalidating = $this->validate($group);
63-
}
64-
6546
/**
6647
* Invalidate flat category indexer if root category changed for store group
6748
*
6849
* @param AbstractDb $subject
69-
* @param AbstractDb $objectResource
70-
*
50+
* @param AbstractDb $result
51+
* @param AbstractModel $group
7152
* @return AbstractDb
7253
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
7354
*/
74-
public function afterSave(AbstractDb $subject, AbstractDb $objectResource)
55+
public function afterSave(AbstractDb $subject, AbstractDb $result, AbstractModel $group)
7556
{
76-
if ($this->needInvalidating && $this->state->isFlatEnabled()) {
57+
if ($this->validate($group) && $this->state->isFlatEnabled()) {
7758
$this->indexerRegistry->get(State::INDEXER_ID)->invalidate();
7859
}
7960

80-
return $objectResource;
61+
return $result;
8162
}
8263
}

app/code/Magento/Catalog/Model/Indexer/Category/Product/Plugin/StoreGroup.php

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,14 @@
55
*/
66
namespace Magento\Catalog\Model\Indexer\Category\Product\Plugin;
77

8-
use Magento\Framework\Indexer\IndexerRegistry;
9-
use Magento\Framework\Model\ResourceModel\Db\AbstractDb;
10-
use Magento\Framework\Model\AbstractModel;
118
use Magento\Catalog\Model\Indexer\Category\Product;
129
use Magento\Catalog\Model\Indexer\Category\Product\TableMaintainer;
10+
use Magento\Framework\Indexer\IndexerRegistry;
11+
use Magento\Framework\Model\AbstractModel;
12+
use Magento\Framework\Model\ResourceModel\Db\AbstractDb;
1313

1414
class StoreGroup
1515
{
16-
/**
17-
* @var bool
18-
*/
19-
private $needInvalidating;
20-
2116
/**
2217
* @var IndexerRegistry
2318
*/
@@ -40,36 +35,23 @@ public function __construct(
4035
$this->tableMaintainer = $tableMaintainer;
4136
}
4237

43-
/**
44-
* Check if need invalidate flat category indexer
45-
*
46-
* @param AbstractDb $subject
47-
* @param AbstractModel $group
48-
*
49-
* @return void
50-
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
51-
*/
52-
public function beforeSave(AbstractDb $subject, AbstractModel $group)
53-
{
54-
$this->needInvalidating = $this->validate($group);
55-
}
56-
5738
/**
5839
* Invalidate flat product
5940
*
6041
* @param AbstractDb $subject
61-
* @param AbstractDb $objectResource
42+
* @param AbstractDb $result
43+
* @param AbstractModel $group
6244
*
6345
* @return AbstractDb
6446
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
6547
*/
66-
public function afterSave(AbstractDb $subject, AbstractDb $objectResource)
48+
public function afterSave(AbstractDb $subject, AbstractDb $result, AbstractModel $group)
6749
{
68-
if ($this->needInvalidating) {
50+
if ($this->validate($group)) {
6951
$this->indexerRegistry->get(Product::INDEXER_ID)->invalidate();
7052
}
7153

72-
return $objectResource;
54+
return $result;
7355
}
7456

7557
/**

app/code/Magento/Catalog/Model/Indexer/Category/Product/Plugin/StoreView.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55
*/
66
namespace Magento\Catalog\Model\Indexer\Category\Product\Plugin;
77

8-
use Magento\Framework\Model\ResourceModel\Db\AbstractDb;
98
use Magento\Framework\Model\AbstractModel;
9+
use Magento\Framework\Model\ResourceModel\Db\AbstractDb;
1010

1111
class StoreView extends StoreGroup
1212
{
1313
/**
1414
* Validate changes for invalidating indexer
1515
*
16-
* @param \Magento\Framework\Model\AbstractModel $store
16+
* @param AbstractModel $store
1717
* @return bool
1818
*/
19-
protected function validate(\Magento\Framework\Model\AbstractModel $store)
19+
protected function validate(AbstractModel $store)
2020
{
2121
return $store->isObjectNew() || $store->dataHasChangedFor('group_id');
2222
}
@@ -36,7 +36,7 @@ public function afterSave(AbstractDb $subject, AbstractDb $objectResource, Abstr
3636
$this->tableMaintainer->createTablesForStore($store->getId());
3737
}
3838

39-
return parent::afterSave($subject, $objectResource);
39+
return parent::afterSave($subject, $objectResource, $store);
4040
}
4141

4242
/**

app/code/Magento/Catalog/Model/Indexer/Product/Eav/Plugin/StoreView.php

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,46 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
67
namespace Magento\Catalog\Model\Indexer\Product\Eav\Plugin;
78

9+
use Magento\Catalog\Model\Indexer\Product\Eav\Processor;
10+
use Magento\Framework\Model\AbstractModel;
11+
use Magento\Store\Model\ResourceModel\Store;
12+
813
class StoreView
914
{
1015
/**
1116
* Product attribute indexer processor
1217
*
13-
* @var \Magento\Catalog\Model\Indexer\Product\Eav\Processor
18+
* @var Processor
1419
*/
1520
protected $_indexerEavProcessor;
1621

1722
/**
18-
* @param \Magento\Catalog\Model\Indexer\Product\Eav\Processor $indexerEavProcessor
23+
* @param Processor $indexerEavProcessor
1924
*/
20-
public function __construct(\Magento\Catalog\Model\Indexer\Product\Eav\Processor $indexerEavProcessor)
25+
public function __construct(Processor $indexerEavProcessor)
2126
{
2227
$this->_indexerEavProcessor = $indexerEavProcessor;
2328
}
2429

2530
/**
2631
* Before save handler
2732
*
28-
* @param \Magento\Store\Model\ResourceModel\Store $subject
29-
* @param \Magento\Framework\Model\AbstractModel $object
33+
* @param Store $subject
34+
* @param Store $result
35+
* @param AbstractModel $object
3036
*
31-
* @return void
37+
* @return Store
3238
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
3339
*/
34-
public function beforeSave(
35-
\Magento\Store\Model\ResourceModel\Store $subject,
36-
\Magento\Framework\Model\AbstractModel $object
37-
) {
38-
if ((!$object->getId() || $object->dataHasChangedFor('group_id')) && $object->getIsActive()) {
40+
public function afterSave(Store $subject, Store $result, AbstractModel $object)
41+
{
42+
if (($object->isObjectNew() || $object->dataHasChangedFor('group_id')) && $object->getIsActive()) {
3943
$this->_indexerEavProcessor->markIndexerAsInvalid();
4044
}
45+
46+
return $result;
4147
}
4248
}

app/code/Magento/Catalog/Model/Indexer/Product/Flat/Plugin/Store.php

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,38 +6,43 @@
66

77
namespace Magento\Catalog\Model\Indexer\Product\Flat\Plugin;
88

9+
use Magento\Catalog\Model\Indexer\Product\Flat\Processor;
10+
use Magento\Framework\Model\AbstractModel;
11+
use Magento\Store\Model\ResourceModel\Store as StoreResourceModel;
12+
913
class Store
1014
{
1115
/**
1216
* Product flat indexer processor
1317
*
14-
* @var \Magento\Catalog\Model\Indexer\Product\Flat\Processor
18+
* @var Processor
1519
*/
1620
protected $_productFlatIndexerProcessor;
1721

1822
/**
19-
* @param \Magento\Catalog\Model\Indexer\Product\Flat\Processor $productFlatIndexerProcessor
23+
* @param Processor $productFlatIndexerProcessor
2024
*/
21-
public function __construct(\Magento\Catalog\Model\Indexer\Product\Flat\Processor $productFlatIndexerProcessor)
25+
public function __construct(Processor $productFlatIndexerProcessor)
2226
{
2327
$this->_productFlatIndexerProcessor = $productFlatIndexerProcessor;
2428
}
2529

2630
/**
2731
* Before save handler
2832
*
29-
* @param \Magento\Store\Model\ResourceModel\Store $subject
30-
* @param \Magento\Framework\Model\AbstractModel $object
33+
* @param StoreResourceModel $subject
34+
* @param StoreResourceModel $result
35+
* @param AbstractModel $object
3136
*
32-
* @return void
37+
* @return StoreResourceModel
3338
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
3439
*/
35-
public function beforeSave(
36-
\Magento\Store\Model\ResourceModel\Store $subject,
37-
\Magento\Framework\Model\AbstractModel $object
38-
) {
39-
if (!$object->getId() || $object->dataHasChangedFor('group_id')) {
40+
public function afterSave(StoreResourceModel $subject, StoreResourceModel $result, AbstractModel $object)
41+
{
42+
if ($object->isObjectNew() || $object->dataHasChangedFor('group_id')) {
4043
$this->_productFlatIndexerProcessor->markIndexerAsInvalid();
4144
}
45+
46+
return $result;
4247
}
4348
}

app/code/Magento/Catalog/Model/Indexer/Product/Flat/Plugin/StoreGroup.php

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,38 +6,43 @@
66

77
namespace Magento\Catalog\Model\Indexer\Product\Flat\Plugin;
88

9+
use Magento\Catalog\Model\Indexer\Product\Flat\Processor;
10+
use Magento\Framework\Model\AbstractModel;
11+
use Magento\Store\Model\ResourceModel\Group;
12+
913
class StoreGroup
1014
{
1115
/**
1216
* Product flat indexer processor
1317
*
14-
* @var \Magento\Catalog\Model\Indexer\Product\Flat\Processor
18+
* @var Processor
1519
*/
1620
protected $_productFlatIndexerProcessor;
1721

1822
/**
19-
* @param \Magento\Catalog\Model\Indexer\Product\Flat\Processor $productFlatIndexerProcessor
23+
* @param Processor $productFlatIndexerProcessor
2024
*/
21-
public function __construct(\Magento\Catalog\Model\Indexer\Product\Flat\Processor $productFlatIndexerProcessor)
25+
public function __construct(Processor $productFlatIndexerProcessor)
2226
{
2327
$this->_productFlatIndexerProcessor = $productFlatIndexerProcessor;
2428
}
2529

2630
/**
2731
* Before save handler
2832
*
29-
* @param \Magento\Store\Model\ResourceModel\Group $subject
30-
* @param \Magento\Framework\Model\AbstractModel $object
33+
* @param Group $subject
34+
* @param Group $result
35+
* @param AbstractModel $object
3136
*
32-
* @return void
37+
* @return Group
3338
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
3439
*/
35-
public function beforeSave(
36-
\Magento\Store\Model\ResourceModel\Group $subject,
37-
\Magento\Framework\Model\AbstractModel $object
38-
) {
39-
if (!$object->getId() || $object->dataHasChangedFor('root_category_id')) {
40+
public function afterSave(Group $subject, Group $result, AbstractModel $object)
41+
{
42+
if ($object->isObjectNew() || $object->dataHasChangedFor('root_category_id')) {
4043
$this->_productFlatIndexerProcessor->markIndexerAsInvalid();
4144
}
45+
46+
return $result;
4247
}
4348
}

app/code/Magento/CatalogInventory/Model/Indexer/Stock/Plugin/StoreGroup.php

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,44 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
67
namespace Magento\CatalogInventory\Model\Indexer\Stock\Plugin;
78

9+
use Magento\CatalogInventory\Model\Indexer\Stock\Processor;
10+
use Magento\Framework\Model\AbstractModel;
11+
use Magento\Store\Model\ResourceModel\Group;
12+
813
class StoreGroup
914
{
1015
/**
11-
* @var \Magento\CatalogInventory\Model\Indexer\Stock\Processor
16+
* @var Processor
1217
*/
1318
protected $_indexerProcessor;
1419

1520
/**
16-
* @param \Magento\CatalogInventory\Model\Indexer\Stock\Processor $indexerProcessor
21+
* @param Processor $indexerProcessor
1722
*/
18-
public function __construct(\Magento\CatalogInventory\Model\Indexer\Stock\Processor $indexerProcessor)
23+
public function __construct(Processor $indexerProcessor)
1924
{
2025
$this->_indexerProcessor = $indexerProcessor;
2126
}
2227

2328
/**
2429
* Before save handler
2530
*
26-
* @param \Magento\Store\Model\ResourceModel\Group $subject
27-
* @param \Magento\Framework\Model\AbstractModel $object
31+
* @param Group $subject
32+
* @param Group $result
33+
* @param AbstractModel $object
2834
*
29-
* @return void
35+
* @return Group
3036
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
3137
*/
32-
public function beforeSave(
33-
\Magento\Store\Model\ResourceModel\Group $subject,
34-
\Magento\Framework\Model\AbstractModel $object
35-
) {
36-
if (!$object->getId() || $object->dataHasChangedFor('website_id')) {
38+
public function afterSave(Group $subject, Group $result, AbstractModel $object)
39+
{
40+
if ($object->isObjectNew() || $object->dataHasChangedFor('website_id')) {
3741
$this->_indexerProcessor->markIndexerAsInvalid();
3842
}
43+
44+
return $result;
3945
}
4046
}

0 commit comments

Comments
 (0)