Skip to content

Commit a5e6889

Browse files
committed
Merge remote-tracking branch 'origin/MAGETWO-52079' into MAGETWO-52374
2 parents fd3cb6e + b1dd1c6 commit a5e6889

File tree

2 files changed

+26
-12
lines changed

2 files changed

+26
-12
lines changed

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

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,12 @@
1010
use Magento\Sales\Model\Order\ShippingAssignmentBuilder;
1111
use Magento\Sales\Api\Data\OrderSearchResultInterfaceFactory as SearchResultFactory;
1212
use Magento\Sales\Api\Data\OrderExtensionInterface;
13-
use Magento\Sales\Api\Data\OrderExtension;
13+
use Magento\Sales\Api\Data\OrderExtensionFactory;
1414
use Magento\Sales\Api\Data\OrderInterface;
1515
use Magento\Sales\Api\Data\ShippingAssignmentInterface;
1616
use Magento\Framework\Exception\NoSuchEntityException;
1717
use Magento\Framework\Exception\InputException;
1818
use Magento\Framework\Api\SortOrder;
19-
use Magento\Framework\App\ObjectManager;
2019

2120
/**
2221
* Repository class for @see OrderInterface
@@ -34,6 +33,16 @@ class OrderRepository implements \Magento\Sales\Api\OrderRepositoryInterface
3433
*/
3534
protected $searchResultFactory = null;
3635

36+
/**
37+
* @var OrderExtensionFactory
38+
*/
39+
private $orderExtensionFactory;
40+
41+
/**
42+
* @var ShippingAssignmentBuilder
43+
*/
44+
private $shippingAssignmentBuilder;
45+
3746
/**
3847
* OrderInterface[]
3948
*
@@ -164,7 +173,7 @@ private function setShippingAssignments(OrderInterface $order)
164173
$extensionAttributes = $order->getExtensionAttributes();
165174

166175
if ($extensionAttributes === null) {
167-
$extensionAttributes = $this->getOrderExtensionDependency();
176+
$extensionAttributes = $this->getOrderExtensionDependencyFactory()->create();
168177
} elseif ($extensionAttributes->getShippingAssignments() !== null) {
169178
return;
170179
}
@@ -180,12 +189,14 @@ private function setShippingAssignments(OrderInterface $order)
180189
* @return OrderExtension
181190
* @deprecated
182191
*/
183-
private function getOrderExtensionDependency()
192+
private function getOrderExtensionDependencyFactory()
184193
{
185-
186-
return ObjectManager::getInstance()->create(
187-
'\Magento\Sales\Api\Data\OrderExtension'
188-
);
194+
if (!$this->orderExtensionFactory instanceof OrderExtensionFactory) {
195+
$this->orderExtensionFactory = \Magento\Framework\App\ObjectManager::getInstance()->get(
196+
'\Magento\Sales\Api\Data\OrderExtensionFactory'
197+
);
198+
}
199+
return $this->orderExtensionFactory;
189200
}
190201

191202
/**
@@ -196,9 +207,12 @@ private function getOrderExtensionDependency()
196207
*/
197208
private function getShippingAssignmentBuilderDependency()
198209
{
199-
return ObjectManager::getInstance()->create(
200-
'\Magento\Sales\Model\Order\ShippingAssignmentBuilder'
201-
);
210+
if (!$this->shippingAssignmentBuilder instanceof ShippingAssignmentBuilder) {
211+
$this->shippingAssignmentBuilder = \Magento\Framework\App\ObjectManager::getInstance()->get(
212+
'\Magento\Sales\Model\Order\ShippingAssignmentBuilder'
213+
);
214+
}
215+
return $this->shippingAssignmentBuilder;
202216
}
203217

204218
/**

app/code/Magento/Sales/Test/Unit/Model/OrderRepositoryTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public function testGetList()
7575

7676
$extensionAttributes = $this->getMock(
7777
'\Magento\Sales\Api\Data\OrderExtension',
78-
['getShippingAssignments'],
78+
[],
7979
[],
8080
'',
8181
false

0 commit comments

Comments
 (0)