Skip to content

Commit 0758f35

Browse files
committed
MAGETWO-62013: Fix class constructors in a backward compatible way - 2.1.3
- restoring constructors to keep backward incompatibility
1 parent dd0ed58 commit 0758f35

File tree

7 files changed

+88
-26
lines changed

7 files changed

+88
-26
lines changed

app/code/Magento/Backend/App/Config.php

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,18 @@
1212

1313
use Magento\Config\App\Config\Type\System;
1414
use Magento\Framework\App\Config\ScopeConfigInterface;
15+
use Magento\Framework\App\ObjectManager;
1516

1617
/**
1718
* Backend config accessor.
1819
*/
1920
class Config implements ConfigInterface
2021
{
22+
/**
23+
* @var \Magento\Framework\App\Config\ScopePool
24+
*/
25+
protected $_scopePool;
26+
2127
/**
2228
* @var \Magento\Framework\App\Config
2329
*/
@@ -29,12 +35,17 @@ class Config implements ConfigInterface
2935
private $data;
3036

3137
/**
32-
* @param \Magento\Framework\App\Config $appConfig
33-
* @return void
38+
* @param \Magento\Framework\App\Config\ScopePool $scopePool
39+
* @param \Magento\Framework\App\Config|null $appConfig
3440
*/
35-
public function __construct(\Magento\Framework\App\Config $appConfig)
36-
{
37-
$this->appConfig = $appConfig;
41+
public function __construct(
42+
\Magento\Framework\App\Config\ScopePool $scopePool,
43+
\Magento\Framework\App\Config $appConfig = null
44+
) {
45+
$this->_scopePool = $scopePool;
46+
$this->appConfig = $appConfig ?: ObjectManager::getInstance()->get(
47+
\Magento\Framework\App\Config::class
48+
);
3849
}
3950

4051
/**

app/code/Magento/Sales/Model/InvoiceOrder.php

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,16 @@
1212
use Magento\Sales\Api\InvoiceOrderInterface;
1313
use Magento\Sales\Api\OrderRepositoryInterface;
1414
use Magento\Sales\Model\Order\Config as OrderConfig;
15+
use Magento\Sales\Model\Order\Invoice\InvoiceValidatorInterface;
1516
use Magento\Sales\Model\Order\Invoice\NotifierInterface;
1617
use Magento\Sales\Model\Order\InvoiceDocumentFactory;
1718
use Magento\Sales\Model\Order\InvoiceRepository;
1819
use Magento\Sales\Model\Order\OrderStateResolverInterface;
20+
use Magento\Sales\Model\Order\OrderValidatorInterface;
1921
use Magento\Sales\Model\Order\PaymentAdapterInterface;
2022
use Magento\Sales\Model\Order\Validation\InvoiceOrderInterface as InvoiceOrderValidator;
2123
use Psr\Log\LoggerInterface;
24+
use Magento\Framework\App\ObjectManager;
2225

2326
/**
2427
* Class InvoiceOrder
@@ -81,26 +84,30 @@ class InvoiceOrder implements InvoiceOrderInterface
8184
* @param ResourceConnection $resourceConnection
8285
* @param OrderRepositoryInterface $orderRepository
8386
* @param InvoiceDocumentFactory $invoiceDocumentFactory
87+
* @param InvoiceValidatorInterface $invoiceValidator
88+
* @param OrderValidatorInterface $orderValidator
8489
* @param PaymentAdapterInterface $paymentAdapter
8590
* @param OrderStateResolverInterface $orderStateResolver
8691
* @param OrderConfig $config
8792
* @param InvoiceRepository $invoiceRepository
88-
* @param InvoiceOrderValidator $invoiceOrderValidator
8993
* @param NotifierInterface $notifierInterface
9094
* @param LoggerInterface $logger
95+
* @param InvoiceOrderValidator|null $invoiceOrderValidator
9196
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
9297
*/
9398
public function __construct(
9499
ResourceConnection $resourceConnection,
95100
OrderRepositoryInterface $orderRepository,
96101
InvoiceDocumentFactory $invoiceDocumentFactory,
102+
InvoiceValidatorInterface $invoiceValidator,
103+
OrderValidatorInterface $orderValidator,
97104
PaymentAdapterInterface $paymentAdapter,
98105
OrderStateResolverInterface $orderStateResolver,
99106
OrderConfig $config,
100107
InvoiceRepository $invoiceRepository,
101-
InvoiceOrderValidator $invoiceOrderValidator,
102108
NotifierInterface $notifierInterface,
103-
LoggerInterface $logger
109+
LoggerInterface $logger,
110+
InvoiceOrderValidator $invoiceOrderValidator = null
104111
) {
105112
$this->resourceConnection = $resourceConnection;
106113
$this->orderRepository = $orderRepository;
@@ -109,9 +116,11 @@ public function __construct(
109116
$this->orderStateResolver = $orderStateResolver;
110117
$this->config = $config;
111118
$this->invoiceRepository = $invoiceRepository;
112-
$this->invoiceOrderValidator = $invoiceOrderValidator;
113119
$this->notifierInterface = $notifierInterface;
114120
$this->logger = $logger;
121+
$this->invoiceOrderValidator = $invoiceOrderValidator ?: ObjectManager::getInstance()->get(
122+
InvoiceOrderValidator::class
123+
);
115124
}
116125

117126
/**

app/code/Magento/Sales/Model/ShipOrder.php

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,14 @@
1111
use Magento\Sales\Api\ShipOrderInterface;
1212
use Magento\Sales\Model\Order\Config as OrderConfig;
1313
use Magento\Sales\Model\Order\OrderStateResolverInterface;
14+
use Magento\Sales\Model\Order\OrderValidatorInterface;
1415
use Magento\Sales\Model\Order\ShipmentDocumentFactory;
1516
use Magento\Sales\Model\Order\Shipment\NotifierInterface;
17+
use Magento\Sales\Model\Order\Shipment\ShipmentValidatorInterface;
1618
use Magento\Sales\Model\Order\Shipment\OrderRegistrarInterface;
1719
use Magento\Sales\Model\Order\Validation\ShipOrderInterface as ShipOrderValidator;
1820
use Psr\Log\LoggerInterface;
21+
use Magento\Framework\App\ObjectManager;
1922

2023
/**
2124
* Class ShipOrder
@@ -77,37 +80,43 @@ class ShipOrder implements ShipOrderInterface
7780
* @param ResourceConnection $resourceConnection
7881
* @param OrderRepositoryInterface $orderRepository
7982
* @param ShipmentDocumentFactory $shipmentDocumentFactory
83+
* @param ShipmentValidatorInterface $shipmentValidator
84+
* @param OrderValidatorInterface $orderValidator
8085
* @param OrderStateResolverInterface $orderStateResolver
8186
* @param OrderConfig $config
8287
* @param ShipmentRepositoryInterface $shipmentRepository
83-
* @param ShipOrderValidator $shipOrderValidator
8488
* @param NotifierInterface $notifierInterface
8589
* @param OrderRegistrarInterface $orderRegistrar
8690
* @param LoggerInterface $logger
91+
* @param ShipOrderValidator|null $shipOrderValidator
8792
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
8893
*/
8994
public function __construct(
9095
ResourceConnection $resourceConnection,
9196
OrderRepositoryInterface $orderRepository,
9297
ShipmentDocumentFactory $shipmentDocumentFactory,
98+
ShipmentValidatorInterface $shipmentValidator,
99+
OrderValidatorInterface $orderValidator,
93100
OrderStateResolverInterface $orderStateResolver,
94101
OrderConfig $config,
95102
ShipmentRepositoryInterface $shipmentRepository,
96-
ShipOrderValidator $shipOrderValidator,
97103
NotifierInterface $notifierInterface,
98104
OrderRegistrarInterface $orderRegistrar,
99-
LoggerInterface $logger
105+
LoggerInterface $logger,
106+
ShipOrderValidator $shipOrderValidator = null
100107
) {
101108
$this->resourceConnection = $resourceConnection;
102109
$this->orderRepository = $orderRepository;
103110
$this->shipmentDocumentFactory = $shipmentDocumentFactory;
104111
$this->orderStateResolver = $orderStateResolver;
105112
$this->config = $config;
106113
$this->shipmentRepository = $shipmentRepository;
107-
$this->shipOrderValidator = $shipOrderValidator;
108114
$this->notifierInterface = $notifierInterface;
109115
$this->logger = $logger;
110116
$this->orderRegistrar = $orderRegistrar;
117+
$this->shipOrderValidator = $shipOrderValidator ?: ObjectManager::getInstance()->get(
118+
ShipOrderValidator::class
119+
);
111120
}
112121

113122
/**

app/code/Magento/Sales/Model/Validator.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
use Magento\Framework\Exception\ConfigurationMismatchException;
99
use Magento\Framework\ObjectManagerInterface;
10+
use Magento\Framework\App\ObjectManager;
1011

1112
/**
1213
* Class Validator
@@ -29,14 +30,16 @@ class Validator
2930
* Validator constructor.
3031
*
3132
* @param ObjectManagerInterface $objectManager
32-
* @param ValidatorResultInterfaceFactory $validatorResult
33+
* @param ValidatorResultInterfaceFactory|null $validatorResult
3334
*/
3435
public function __construct(
3536
ObjectManagerInterface $objectManager,
36-
ValidatorResultInterfaceFactory $validatorResult
37+
ValidatorResultInterfaceFactory $validatorResult = null
3738
) {
3839
$this->objectManager = $objectManager;
39-
$this->validatorResultFactory = $validatorResult;
40+
$this->validatorResultFactory = $validatorResult ?: ObjectManager::getInstance()->get(
41+
ValidatorResultInterfaceFactory::class
42+
);
4043
}
4144

4245
/**

app/code/Magento/Store/Model/Config/Processor/Placeholder.php

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,51 @@
99

1010
use Magento\Framework\App\Config\Spi\PostProcessorInterface;
1111
use Magento\Store\Model\Config\Placeholder as ConfigPlaceholder;
12+
use Magento\Framework\App\ObjectManager;
1213

1314
/**
1415
* Placeholder configuration values processor. Replace placeholders in configuration with config values
1516
* @package Magento\Store\Model\Config\Processor
1617
*/
1718
class Placeholder implements PostProcessorInterface
1819
{
20+
/**
21+
* @var \Magento\Framework\App\RequestInterface
22+
*/
23+
protected $request;
24+
25+
/**
26+
* @var string[]
27+
*/
28+
protected $urlPaths;
29+
30+
/**
31+
* @var string
32+
*/
33+
protected $urlPlaceholder;
34+
1935
/**
2036
* @var ConfigPlaceholder
2137
*/
2238
private $configPlaceholder;
2339

2440
/**
2541
* Placeholder constructor.
26-
* @param ConfigPlaceholder $configPlaceholder
42+
* @param \Magento\Framework\App\RequestInterface $request
43+
* @param string[] $urlPaths
44+
* @param string $urlPlaceholder
45+
* @param ConfigPlaceholder|null $configPlaceholder
2746
*/
28-
public function __construct(ConfigPlaceholder $configPlaceholder)
29-
{
30-
$this->configPlaceholder = $configPlaceholder;
47+
public function __construct(
48+
\Magento\Framework\App\RequestInterface $request,
49+
$urlPaths,
50+
$urlPlaceholder,
51+
ConfigPlaceholder $configPlaceholder = null
52+
) {
53+
$this->request = $request;
54+
$this->urlPaths = $urlPaths;
55+
$this->urlPlaceholder = $urlPlaceholder;
56+
$this->configPlaceholder = $configPlaceholder ?: ObjectManager::getInstance()->get(ConfigPlaceholder::class);
3157
}
3258

3359
/**

lib/internal/Magento/Framework/App/Cache/FlushCacheByTags.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
*/
77
namespace Magento\Framework\App\Cache;
88

9+
use Magento\Framework\App\ObjectManager;
10+
use Magento\Framework\App\Cache\Tag\Resolver;
11+
912
/**
1013
* Automatic cache cleaner plugin
1114
*/
@@ -37,18 +40,18 @@ class FlushCacheByTags
3740
* @param Type\FrontendPool $cachePool
3841
* @param StateInterface $cacheState
3942
* @param array $cacheList
40-
* @param Tag\Resolver $tagResolver
43+
* @param Tag\Resolver|null $tagResolver
4144
*/
4245
public function __construct(
4346
\Magento\Framework\App\Cache\Type\FrontendPool $cachePool,
4447
\Magento\Framework\App\Cache\StateInterface $cacheState,
4548
array $cacheList,
46-
\Magento\Framework\App\Cache\Tag\Resolver $tagResolver
49+
\Magento\Framework\App\Cache\Tag\Resolver $tagResolver = null
4750
) {
4851
$this->cachePool = $cachePool;
4952
$this->cacheState = $cacheState;
5053
$this->cacheList = $cacheList;
51-
$this->tagResolver = $tagResolver;
54+
$this->tagResolver = $tagResolver ?: ObjectManager::getInstance()->get(Resolver::class);
5255
}
5356

5457
/**

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Magento\Framework\App\Config\ScopeCodeResolver;
1212
use Magento\Framework\App\Config\ScopeConfigInterface;
1313
use Magento\Framework\App\Config\ConfigTypeInterface;
14+
use Magento\Framework\App\ObjectManager;
1415

1516
/**
1617
* Class Config
@@ -41,16 +42,16 @@ class Config implements ScopeConfigInterface
4142
* Config constructor.
4243
*
4344
* @param ScopePool $scopePool
44-
* @param ScopeCodeResolver $scopeCodeResolver
45+
* @param ScopeCodeResolver|null $scopeCodeResolver
4546
* @param array $types
4647
*/
4748
public function __construct(
4849
ScopePool $scopePool,
49-
ScopeCodeResolver $scopeCodeResolver,
50+
ScopeCodeResolver $scopeCodeResolver = null,
5051
array $types = []
5152
) {
5253
$this->_scopePool = $scopePool;
53-
$this->scopeCodeResolver = $scopeCodeResolver;
54+
$this->scopeCodeResolver = $scopeCodeResolver ?: ObjectManager::getInstance()->get(ScopeCodeResolver::class);
5455
$this->types = $types;
5556
}
5657

0 commit comments

Comments
 (0)