Skip to content

Commit 27b121a

Browse files
committed
MAGETWO-64547: Bundle Products - The options you selected are not available.
Static fixes. Sequence applying relates to entity creation and cann not be separated from createMain
1 parent a118876 commit 27b121a

File tree

2 files changed

+28
-26
lines changed

2 files changed

+28
-26
lines changed

lib/internal/Magento/Framework/EntityManager/Operation/Create.php

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
*/
66
namespace Magento\Framework\EntityManager\Operation;
77

8-
use Magento\Framework\App\ObjectManager;
98
use Magento\Framework\DB\Adapter\DuplicateException;
10-
use Magento\Framework\EntityManager\Sequence\SequenceApplier;
119
use Magento\Framework\EntityManager\Operation\Create\CreateMain;
1210
use Magento\Framework\EntityManager\Operation\Create\CreateAttributes;
1311
use Magento\Framework\EntityManager\Operation\Create\CreateExtensions;
@@ -58,11 +56,6 @@ class Create implements CreateInterface
5856
*/
5957
private $createExtensions;
6058

61-
/**
62-
* @var SequenceApplier
63-
*/
64-
private $sequenceApplier;
65-
6659
/**
6760
* @param MetadataPool $metadataPool
6861
* @param TypeResolver $typeResolver
@@ -113,8 +106,6 @@ public function execute($entity, $arguments = [])
113106
);
114107
$this->eventManager->dispatchEntityEvent($entityType, 'save_before', ['entity' => $entity]);
115108

116-
$entity = $this->getSequenceApplier()->apply($entity);
117-
118109
$entity = $this->createMain->execute($entity, $arguments);
119110
$entity = $this->createAttributes->execute($entity, $arguments);
120111
$entity = $this->createExtensions->execute($entity, $arguments);
@@ -136,20 +127,4 @@ public function execute($entity, $arguments = [])
136127
}
137128
return $entity;
138129
}
139-
140-
/**
141-
* @return SequenceApplier
142-
*
143-
* @deprecated
144-
*/
145-
private function getSequenceApplier()
146-
{
147-
if (!$this->sequenceApplier) {
148-
$this->sequenceApplier = ObjectManager::getInstance()->get(
149-
SequenceApplier::class
150-
);
151-
}
152-
153-
return $this->sequenceApplier;
154-
}
155130
}

lib/internal/Magento/Framework/EntityManager/Operation/Create/CreateMain.php

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
*/
66
namespace Magento\Framework\EntityManager\Operation\Create;
77

8+
use Magento\Framework\App\ObjectManager;
89
use Magento\Framework\EntityManager\TypeResolver;
910
use Magento\Framework\EntityManager\HydratorPool;
1011
use Magento\Framework\EntityManager\Db\CreateRow;
12+
use Magento\Framework\EntityManager\Sequence\SequenceApplier;
1113

1214
/**
1315
* Class CreateMain
@@ -29,19 +31,27 @@ class CreateMain
2931
*/
3032
private $createRow;
3133

34+
/**
35+
* @var SequenceApplier
36+
*/
37+
private $sequenceApplier;
38+
3239
/**
3340
* @param TypeResolver $typeResolver
3441
* @param HydratorPool $hydratorPool
3542
* @param CreateRow $createRow
43+
* @param SequenceApplier $sequenceApplier
3644
*/
3745
public function __construct(
3846
TypeResolver $typeResolver,
3947
HydratorPool $hydratorPool,
40-
CreateRow $createRow
48+
CreateRow $createRow,
49+
SequenceApplier $sequenceApplier = null
4150
) {
4251
$this->typeResolver = $typeResolver;
4352
$this->hydratorPool = $hydratorPool;
4453
$this->createRow = $createRow;
54+
$this->sequenceApplier = $sequenceApplier;
4555
}
4656

4757
/**
@@ -51,11 +61,28 @@ public function __construct(
5161
*/
5262
public function execute($entity, $arguments = [])
5363
{
64+
$entity = $this->getSequenceApplier()->apply($entity);
5465
$entityType = $this->typeResolver->resolve($entity);
5566
$hydrator = $this->hydratorPool->getHydrator($entityType);
5667
$arguments = array_merge($hydrator->extract($entity), $arguments);
5768
$entityData = $this->createRow->execute($entityType, $arguments);
5869
$entity = $hydrator->hydrate($entity, $entityData);
5970
return $entity;
6071
}
72+
73+
/**
74+
* @return SequenceApplier
75+
*
76+
* @deprecated
77+
*/
78+
private function getSequenceApplier()
79+
{
80+
if (!$this->sequenceApplier) {
81+
$this->sequenceApplier = ObjectManager::getInstance()->get(
82+
SequenceApplier::class
83+
);
84+
}
85+
86+
return $this->sequenceApplier;
87+
}
6188
}

0 commit comments

Comments
 (0)