diff --git a/app/code/Magento/AdvancedPricingImportExport/Model/Export/AdvancedPricing.php b/app/code/Magento/AdvancedPricingImportExport/Model/Export/AdvancedPricing.php index 9183e182c29850cd7c99e27217667174611e77fd..5b8d1101a2bc9f3abf05bcbf1b0f8aae8756adc3 100644 --- a/app/code/Magento/AdvancedPricingImportExport/Model/Export/AdvancedPricing.php +++ b/app/code/Magento/AdvancedPricingImportExport/Model/Export/AdvancedPricing.php @@ -95,10 +95,10 @@ class AdvancedPricing extends \Magento\CatalogImportExport\Model\Export\Product * @param \Magento\CatalogImportExport\Model\Export\Product\Type\Factory $_typeFactory * @param \Magento\Catalog\Model\Product\LinkTypeProvider $linkTypeProvider * @param \Magento\CatalogImportExport\Model\Export\RowCustomizerInterface $rowCustomizer - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param ImportProduct\StoreResolver $storeResolver * @param \Magento\Customer\Api\GroupRepositoryInterface $groupRepository - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @throws \Magento\Framework\Exception\LocalizedException * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ @@ -119,7 +119,7 @@ class AdvancedPricing extends \Magento\CatalogImportExport\Model\Export\Product \Magento\CatalogImportExport\Model\Export\Product\Type\Factory $_typeFactory, \Magento\Catalog\Model\Product\LinkTypeProvider $linkTypeProvider, \Magento\CatalogImportExport\Model\Export\RowCustomizerInterface $rowCustomizer, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\CatalogImportExport\Model\Import\Product\StoreResolver $storeResolver, \Magento\Customer\Api\GroupRepositoryInterface $groupRepository ) { diff --git a/app/code/Magento/AdvancedPricingImportExport/Test/Unit/Model/Export/AdvancedPricingTest.php b/app/code/Magento/AdvancedPricingImportExport/Test/Unit/Model/Export/AdvancedPricingTest.php index e974a75f902e90b27e26b8315b34fb676ec6d577..369aa28e49425e2ed8274327b4bcf9b5500632a7 100644 --- a/app/code/Magento/AdvancedPricingImportExport/Test/Unit/Model/Export/AdvancedPricingTest.php +++ b/app/code/Magento/AdvancedPricingImportExport/Test/Unit/Model/Export/AdvancedPricingTest.php @@ -108,7 +108,7 @@ class AdvancedPricingTest extends \PHPUnit_Framework_TestCase protected $groupRepository; /** - * @var \Magento\Framework\Model\Entity\MetadataPool|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject */ protected $metadataPool; @@ -291,7 +291,7 @@ class AdvancedPricingTest extends \PHPUnit_Framework_TestCase false ); $this->metadataPool = $this->getMock( - '\Magento\Framework\Model\Entity\MetadataPool', + '\Magento\Framework\EntityManager\MetadataPool', [], [], '', diff --git a/app/code/Magento/AdvancedPricingImportExport/Test/Unit/Model/Import/AdvancedPricingTest.php b/app/code/Magento/AdvancedPricingImportExport/Test/Unit/Model/Import/AdvancedPricingTest.php index d469af2fb41327a3cf657cda177c867b1b4bd5fe..acf18a4b66bacb40b2d05c3af409084cfb7f1a01 100644 --- a/app/code/Magento/AdvancedPricingImportExport/Test/Unit/Model/Import/AdvancedPricingTest.php +++ b/app/code/Magento/AdvancedPricingImportExport/Test/Unit/Model/Import/AdvancedPricingTest.php @@ -985,7 +985,7 @@ class AdvancedPricingTest extends \Magento\ImportExport\Test\Unit\Model\Import\A private function getAdvancedPricingMock($methods = []) { $metadataPoolMock = $this->getMock( - \Magento\Framework\Model\Entity\MetadataPool::class, + \Magento\Framework\EntityManager\MetadataPool::class, [], [], '', diff --git a/app/code/Magento/Bundle/Model/LinkManagement.php b/app/code/Magento/Bundle/Model/LinkManagement.php index be530ee58d6d45d615a898b78f6edd0667964e63..02e7bce37b1002a379e5f262fc80e4be488a8bbf 100644 --- a/app/code/Magento/Bundle/Model/LinkManagement.php +++ b/app/code/Magento/Bundle/Model/LinkManagement.php @@ -10,7 +10,7 @@ use Magento\Catalog\Api\Data\ProductInterface; use Magento\Catalog\Api\ProductRepositoryInterface; use Magento\Framework\Exception\CouldNotSaveException; use Magento\Framework\Exception\InputException; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) diff --git a/app/code/Magento/Bundle/Model/OptionRepository.php b/app/code/Magento/Bundle/Model/OptionRepository.php index 1e163aae767b6e7be55ca174e3bccb678e1bd111..1a8253cf90231d44f335ac64da0b44d937d8ae17 100644 --- a/app/code/Magento/Bundle/Model/OptionRepository.php +++ b/app/code/Magento/Bundle/Model/OptionRepository.php @@ -62,7 +62,7 @@ class OptionRepository implements \Magento\Bundle\Api\ProductOptionRepositoryInt protected $dataObjectHelper; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -76,7 +76,7 @@ class OptionRepository implements \Magento\Bundle\Api\ProductOptionRepositoryInt * @param Product\OptionList $productOptionList * @param Product\LinksList $linkList * @param \Magento\Framework\Api\DataObjectHelper $dataObjectHelper - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( @@ -89,7 +89,7 @@ class OptionRepository implements \Magento\Bundle\Api\ProductOptionRepositoryInt \Magento\Bundle\Model\Product\OptionList $productOptionList, \Magento\Bundle\Model\Product\LinksList $linkList, \Magento\Framework\Api\DataObjectHelper $dataObjectHelper, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool + \Magento\Framework\EntityManager\MetadataPool $metadataPool ) { $this->metadataPool = $metadataPool; $this->productRepository = $productRepository; diff --git a/app/code/Magento/Bundle/Model/Product/SaveHandler.php b/app/code/Magento/Bundle/Model/Product/SaveHandler.php index b8acfabad8b7e95422ebf36b46aa5093663dae6c..b5855b6c433762f023f4904890d46d581122dc67 100644 --- a/app/code/Magento/Bundle/Model/Product/SaveHandler.php +++ b/app/code/Magento/Bundle/Model/Product/SaveHandler.php @@ -7,7 +7,7 @@ namespace Magento\Bundle\Model\Product; use Magento\Bundle\Api\ProductOptionRepositoryInterface as OptionRepository; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\ResourceModel\Db\ProcessEntityRelationInterface; use Magento\Bundle\Api\ProductLinkManagementInterface; diff --git a/app/code/Magento/Bundle/Model/ResourceModel/Option.php b/app/code/Magento/Bundle/Model/ResourceModel/Option.php index aae17d2670cf9de637d9f517e1d08ad53aa848d1..8f522a048737d06b610e9cfab02a173ac50b99c1 100644 --- a/app/code/Magento/Bundle/Model/ResourceModel/Option.php +++ b/app/code/Magento/Bundle/Model/ResourceModel/Option.php @@ -6,7 +6,7 @@ namespace Magento\Bundle\Model\ResourceModel; use Magento\Catalog\Api\Data\ProductInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Bundle Option Resource Model diff --git a/app/code/Magento/Bundle/Model/ResourceModel/Selection.php b/app/code/Magento/Bundle/Model/ResourceModel/Selection.php index b67f9c0f3143fd19fb2752e9be4618b9bc622ba0..0ddb82979ddc445858cee5f9d1ed5fb8d996dec9 100644 --- a/app/code/Magento/Bundle/Model/ResourceModel/Selection.php +++ b/app/code/Magento/Bundle/Model/ResourceModel/Selection.php @@ -6,7 +6,7 @@ namespace Magento\Bundle\Model\ResourceModel; use Magento\Catalog\Api\Data\ProductInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\ResourceModel\Db\Context; /** diff --git a/app/code/Magento/Bundle/Test/Unit/Model/LinkManagementTest.php b/app/code/Magento/Bundle/Test/Unit/Model/LinkManagementTest.php index 35cdbd21e46dc3fa5390de8b39c4a0bbe2423b03..284873a762686ad40c828d6754c06bf169e4320a 100644 --- a/app/code/Magento/Bundle/Test/Unit/Model/LinkManagementTest.php +++ b/app/code/Magento/Bundle/Test/Unit/Model/LinkManagementTest.php @@ -100,7 +100,7 @@ class LinkManagementTest extends \PHPUnit_Framework_TestCase protected $dataObjectHelperMock; /** - * @var \Magento\Framework\Model\Entity\MetadataPool|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject */ protected $metadataPoolMock; @@ -158,7 +158,7 @@ class LinkManagementTest extends \PHPUnit_Framework_TestCase '\Magento\Bundle\Model\ResourceModel\Option\CollectionFactory', ['create'], [], '', false ); $this->storeManagerMock = $this->getMock('\Magento\Store\Model\StoreManagerInterface', [], [], '', false); - $this->metadataPoolMock = $this->getMockBuilder('\Magento\Framework\Model\Entity\MetadataPool') + $this->metadataPoolMock = $this->getMockBuilder('\Magento\Framework\EntityManager\MetadataPool') ->disableOriginalConstructor() ->getMock(); $this->metadataMock = $this->getMockBuilder('\Magento\Framework\Model\Entity\EntityMetadata') diff --git a/app/code/Magento/Bundle/Test/Unit/Model/OptionRepositoryTest.php b/app/code/Magento/Bundle/Test/Unit/Model/OptionRepositoryTest.php index b53567c1fc090f578a80544c63adaedf9ef1b6a4..55fddb43d985e7c0a2e5bbfeb446875d51e66bf0 100644 --- a/app/code/Magento/Bundle/Test/Unit/Model/OptionRepositoryTest.php +++ b/app/code/Magento/Bundle/Test/Unit/Model/OptionRepositoryTest.php @@ -95,7 +95,7 @@ class OptionRepositoryTest extends \PHPUnit_Framework_TestCase $this->linkManagementMock = $this->getMock('\Magento\Bundle\Api\ProductLinkManagementInterface'); $this->optionListMock = $this->getMock('\Magento\Bundle\Model\Product\OptionList', [], [], '', false); $this->linkListMock = $this->getMock('\Magento\Bundle\Model\Product\LinksList', [], [], '', false); - $this->metadataPoolMock = $this->getMock('Magento\Framework\Model\Entity\MetadataPool', [], [], '', false); + $this->metadataPoolMock = $this->getMock('Magento\Framework\EntityManager\MetadataPool', [], [], '', false); $this->model = new \Magento\Bundle\Model\OptionRepository( $this->productRepositoryMock, diff --git a/app/code/Magento/Bundle/etc/di.xml b/app/code/Magento/Bundle/etc/di.xml index c621c9f78f59d8d24ee730533d88dbdc5e3f9420..489cf98b67e8c80409609b1017109ef5cc6bb5e9 100644 --- a/app/code/Magento/Bundle/etc/di.xml +++ b/app/code/Magento/Bundle/etc/di.xml @@ -80,9 +80,9 @@ <type name="Magento\Catalog\Model\Product"> <plugin name="bundle" type="Magento\Bundle\Model\Plugin\Product" sortOrder="100" /> </type> - <type name="Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool"> + <type name="Magento\Framework\EntityManager\Operation\ExtensionPool"> <arguments> - <argument name="relationActions" xsi:type="array"> + <argument name="extensionActions" xsi:type="array"> <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array"> <item name="create" xsi:type="array"> <item name="create_bundle_options" xsi:type="string">Magento\Bundle\Model\Product\SaveHandler</item> diff --git a/app/code/Magento/BundleImportExport/Test/Unit/Model/Import/Product/Type/BundleTest.php b/app/code/Magento/BundleImportExport/Test/Unit/Model/Import/Product/Type/BundleTest.php index 8d88f4bcd54b9c5f4625c63723e9e36e9656895f..533e45afa99ad6bd4f8d75677d808e3281eaaf60 100644 --- a/app/code/Magento/BundleImportExport/Test/Unit/Model/Import/Product/Type/BundleTest.php +++ b/app/code/Magento/BundleImportExport/Test/Unit/Model/Import/Product/Type/BundleTest.php @@ -206,7 +206,7 @@ class BundleTest extends \Magento\ImportExport\Test\Unit\Model\Import\AbstractIm $metadataMock->expects($this->any()) ->method('getLinkField') ->willReturn('entity_id'); - $metadataPoolMock = $this->getMock(\Magento\Framework\Model\Entity\MetadataPool::class, [], [], '', false); + $metadataPoolMock = $this->getMock(\Magento\Framework\EntityManager\MetadataPool::class, [], [], '', false); $metadataPoolMock->expects($this->any()) ->method('getMetadata') ->with(\Magento\Catalog\Api\Data\ProductInterface::class) diff --git a/app/code/Magento/Catalog/Console/Command/ProductAttributesCleanUp.php b/app/code/Magento/Catalog/Console/Command/ProductAttributesCleanUp.php index c21902455e258ae3cdec0a03006890be6f6dfedf..e869e69f69bab1ca9fec1ca34428e08ccaa23f18 100644 --- a/app/code/Magento/Catalog/Console/Command/ProductAttributesCleanUp.php +++ b/app/code/Magento/Catalog/Console/Command/ProductAttributesCleanUp.php @@ -46,14 +46,14 @@ class ProductAttributesCleanUp extends \Symfony\Component\Console\Command\Comman * @param \Magento\Catalog\Model\ResourceModel\Attribute $attributeResource * @param \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder * @param \Magento\Framework\App\State $appState - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool */ public function __construct( \Magento\Catalog\Api\ProductAttributeRepositoryInterface $productAttributeRepository, \Magento\Catalog\Model\ResourceModel\Attribute $attributeResource, \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder, \Magento\Framework\App\State $appState, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool + \Magento\Framework\EntityManager\MetadataPool $metadataPool ) { $this->productAttributeRepository = $productAttributeRepository; $this->searchCriteriaBuilder = $searchCriteriaBuilder; diff --git a/app/code/Magento/Catalog/Model/Attribute/ScopeOverriddenValue.php b/app/code/Magento/Catalog/Model/Attribute/ScopeOverriddenValue.php index 559bf8d6a259661a6120891a05cbcdfcec32595b..af76b2bac6f731ae7f5cc5391a345147bd44f488 100644 --- a/app/code/Magento/Catalog/Model/Attribute/ScopeOverriddenValue.php +++ b/app/code/Magento/Catalog/Model/Attribute/ScopeOverriddenValue.php @@ -6,7 +6,7 @@ namespace Magento\Catalog\Model\Attribute; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Eav\Api\AttributeRepositoryInterface as AttributeRepository; use Magento\Framework\Api\SearchCriteriaBuilder; use Magento\Framework\Api\FilterBuilder; diff --git a/app/code/Magento/Catalog/Model/CategoryRepository.php b/app/code/Magento/Catalog/Model/CategoryRepository.php index d9b1cb3fac1c23b3a74b17b602eb43da298c3e66..f9610c98d9bb55ea3e8217a50c52d15987195b44 100644 --- a/app/code/Magento/Catalog/Model/CategoryRepository.php +++ b/app/code/Magento/Catalog/Model/CategoryRepository.php @@ -38,7 +38,7 @@ class CategoryRepository implements \Magento\Catalog\Api\CategoryRepositoryInter protected $categoryResource; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -58,13 +58,13 @@ class CategoryRepository implements \Magento\Catalog\Api\CategoryRepositoryInter * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory * @param \Magento\Catalog\Model\ResourceModel\Category $categoryResource * @param \Magento\Store\Model\StoreManagerInterface $storeManager - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool */ public function __construct( \Magento\Catalog\Model\CategoryFactory $categoryFactory, \Magento\Catalog\Model\ResourceModel\Category $categoryResource, \Magento\Store\Model\StoreManagerInterface $storeManager, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool + \Magento\Framework\EntityManager\MetadataPool $metadataPool ) { $this->categoryFactory = $categoryFactory; $this->categoryResource = $categoryResource; diff --git a/app/code/Magento/Catalog/Model/Indexer/Category/Flat/AbstractAction.php b/app/code/Magento/Catalog/Model/Indexer/Category/Flat/AbstractAction.php index f0697d95648484f018b74511579f5d36009cebf4..031579e5908b5d803528fe608c72e873a03ef7b8 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Category/Flat/AbstractAction.php +++ b/app/code/Magento/Catalog/Model/Indexer/Category/Flat/AbstractAction.php @@ -9,7 +9,7 @@ namespace Magento\Catalog\Model\Indexer\Category\Flat; use Magento\Framework\App\ResourceConnection; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class AbstractAction { diff --git a/app/code/Magento/Catalog/Model/Indexer/Category/Flat/Action/Rows.php b/app/code/Magento/Catalog/Model/Indexer/Category/Flat/Action/Rows.php index 4d5961809e61b44707c09b87bd0a4e92dba1fad6..64012901a6e4d3ee207c00288d25d583ca29938b 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Category/Flat/Action/Rows.php +++ b/app/code/Magento/Catalog/Model/Indexer/Category/Flat/Action/Rows.php @@ -7,7 +7,7 @@ namespace Magento\Catalog\Model\Indexer\Category\Flat\Action; use Magento\Catalog\Api\CategoryRepositoryInterface; use Magento\Framework\Exception\NoSuchEntityException; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class Rows extends \Magento\Catalog\Model\Indexer\Category\Flat\AbstractAction { diff --git a/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php b/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php index b764f3d642ba137919bb7f2a92dce4534b249447..245f8f0d359ee29a26efbfb8a47b524903d54793 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php +++ b/app/code/Magento/Catalog/Model/Indexer/Category/Product/AbstractAction.php @@ -9,7 +9,7 @@ namespace Magento\Catalog\Model\Indexer\Category\Product; use Magento\Framework\App\ResourceConnection; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class AbstractAction diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/AbstractAction.php b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/AbstractAction.php index ebb3ce35c03775f551a2002eb0b3f40b783e890d..98e8677c27b2602976f08ca0a26c2ad527219125 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/AbstractAction.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/AbstractAction.php @@ -7,7 +7,7 @@ namespace Magento\Catalog\Model\Indexer\Product\Flat; use Magento\Catalog\Api\Data\ProductInterface; use Magento\Framework\App\ResourceConnection; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Abstract action reindex class diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Indexer.php b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Indexer.php index 1a650d2ea3f281dfacb9a6b5bfdb4ea976442a73..7eff5b5bab4e2a94a30d4d0be75d12107fcd416e 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Indexer.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Indexer.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Model\Indexer\Product\Flat\Action; use Magento\Catalog\Api\Data\ProductInterface; use Magento\Framework\App\ResourceConnection; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class Indexer diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Row.php b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Row.php index 6f4091b1cc7568b4918cba0a60c2f3e66ef3af4a..e54faf70dfa92790854f410cff17780b8f8af910 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Row.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Row.php @@ -7,7 +7,7 @@ namespace Magento\Catalog\Model\Indexer\Product\Flat\Action; use Magento\Catalog\Model\Indexer\Product\Flat\FlatTableBuilder; use Magento\Catalog\Model\Indexer\Product\Flat\TableBuilder; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class Row reindex action diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Rows.php b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Rows.php index 3153e2bfd54e62f8704c82d273e8de7f477ae7bd..010a3c8f23ae799c781254e9a7b1c28e4d959c7e 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Rows.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/Action/Rows.php @@ -7,7 +7,7 @@ namespace Magento\Catalog\Model\Indexer\Product\Flat\Action; use Magento\Catalog\Model\Indexer\Product\Flat\FlatTableBuilder; use Magento\Catalog\Model\Indexer\Product\Flat\TableBuilder; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class Rows reindex action for mass actions diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/FlatTableBuilder.php b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/FlatTableBuilder.php index 91a997486a82c207ca24777b44c42f03566b52d0..c83d07ddfefb325f01c9e314dd08f9c9bd5670fd 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/FlatTableBuilder.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/FlatTableBuilder.php @@ -7,7 +7,7 @@ namespace Magento\Catalog\Model\Indexer\Product\Flat; use Magento\Catalog\Api\Data\ProductInterface; use Magento\Framework\App\ResourceConnection; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class FlatTableBuilder diff --git a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/TableBuilder.php b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/TableBuilder.php index ad5583739fd20a32fef36d3c8667a4c53295fe8a..e7f268b82cab717a37b4e2c8e84643c6014e825a 100644 --- a/app/code/Magento/Catalog/Model/Indexer/Product/Flat/TableBuilder.php +++ b/app/code/Magento/Catalog/Model/Indexer/Product/Flat/TableBuilder.php @@ -23,7 +23,7 @@ class TableBuilder protected $_connection; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -42,12 +42,12 @@ class TableBuilder /** * @param \Magento\Catalog\Helper\Product\Flat\Indexer $productIndexerHelper * @param \Magento\Framework\App\ResourceConnection $resource - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool */ public function __construct( \Magento\Catalog\Helper\Product\Flat\Indexer $productIndexerHelper, \Magento\Framework\App\ResourceConnection $resource, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool + \Magento\Framework\EntityManager\MetadataPool $metadataPool ) { $this->_productIndexerHelper = $productIndexerHelper; $this->resource = $resource; diff --git a/app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php b/app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php index b33f10728a29f9f0527103b908b9abff5fca7e04..9bdcb66d771701e94e91bd10c6d92ace55e40676 100644 --- a/app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php +++ b/app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php @@ -20,7 +20,7 @@ use Magento\Customer\Api\GroupManagementInterface; abstract class AbstractGroupPrice extends Price { /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -59,7 +59,7 @@ abstract class AbstractGroupPrice extends Price * @param \Magento\Framework\Locale\FormatInterface $localeFormat * @param \Magento\Catalog\Model\Product\Type $catalogProductType * @param GroupManagementInterface $groupManagement - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool */ public function __construct( \Magento\Directory\Model\CurrencyFactory $currencyFactory, @@ -69,7 +69,7 @@ abstract class AbstractGroupPrice extends Price \Magento\Framework\Locale\FormatInterface $localeFormat, \Magento\Catalog\Model\Product\Type $catalogProductType, GroupManagementInterface $groupManagement, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool + \Magento\Framework\EntityManager\MetadataPool $metadataPool ) { $this->_catalogProductType = $catalogProductType; $this->_groupManagement = $groupManagement; diff --git a/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Tierprice.php b/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Tierprice.php index 385bd154547a47efdaa164d53d525b7f36c28e54..028f6649a6e96caf7eb6f1766d8e313b075b4ed4 100644 --- a/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Tierprice.php +++ b/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Tierprice.php @@ -28,7 +28,7 @@ class Tierprice extends \Magento\Catalog\Model\Product\Attribute\Backend\GroupPr * @param \Magento\Framework\Locale\FormatInterface $localeFormat * @param \Magento\Catalog\Model\Product\Type $catalogProductType * @param \Magento\Customer\Api\GroupManagementInterface $groupManagement - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param \Magento\Catalog\Model\ResourceModel\Product\Attribute\Backend\Tierprice $productAttributeTierprice */ public function __construct( @@ -39,7 +39,7 @@ class Tierprice extends \Magento\Catalog\Model\Product\Attribute\Backend\GroupPr \Magento\Framework\Locale\FormatInterface $localeFormat, \Magento\Catalog\Model\Product\Type $catalogProductType, \Magento\Customer\Api\GroupManagementInterface $groupManagement, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Catalog\Model\ResourceModel\Product\Attribute\Backend\Tierprice $productAttributeTierprice ) { $this->_productAttributeBackendTierprice = $productAttributeTierprice; diff --git a/app/code/Magento/Catalog/Model/Product/Gallery/CreateHandler.php b/app/code/Magento/Catalog/Model/Product/Gallery/CreateHandler.php index 9ae268298c687957e8f0cd266862b259e83c4236..05d879077702571249c7a107e48b5a02fd776501 100644 --- a/app/code/Magento/Catalog/Model/Product/Gallery/CreateHandler.php +++ b/app/code/Magento/Catalog/Model/Product/Gallery/CreateHandler.php @@ -57,7 +57,7 @@ class CreateHandler protected $fileStorageDb; /** - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param \Magento\Catalog\Api\ProductAttributeRepositoryInterface $attributeRepository * @param \Magento\Catalog\Model\ResourceModel\Product\Gallery $resourceModel * @param \Magento\Framework\Json\Helper\Data $jsonHelper @@ -66,7 +66,7 @@ class CreateHandler * @param \Magento\MediaStorage\Helper\File\Storage\Database $fileStorageDb */ public function __construct( - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Catalog\Api\ProductAttributeRepositoryInterface $attributeRepository, \Magento\Catalog\Model\ResourceModel\Product\Gallery $resourceModel, \Magento\Framework\Json\Helper\Data $jsonHelper, diff --git a/app/code/Magento/Catalog/Model/Product/Link/SaveHandler.php b/app/code/Magento/Catalog/Model/Product/Link/SaveHandler.php index 6c28187c56d3387f6e6898ecc2a979fa148ecace..eca1195726e7e81ee0a48b6fc0d9711a3055d929 100644 --- a/app/code/Magento/Catalog/Model/Product/Link/SaveHandler.php +++ b/app/code/Magento/Catalog/Model/Product/Link/SaveHandler.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Model\Product\Link; use Magento\Catalog\Api\ProductLinkRepositoryInterface; use Magento\Catalog\Model\ResourceModel\Product\Link; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class SaveProductLinks diff --git a/app/code/Magento/Catalog/Model/Product/Option.php b/app/code/Magento/Catalog/Model/Product/Option.php index 9358afbf7595c935c159856ef6c592d82030f742..96a1cc1f55f442bd2be652d08ade4fc98176f5a8 100644 --- a/app/code/Magento/Catalog/Model/Product/Option.php +++ b/app/code/Magento/Catalog/Model/Product/Option.php @@ -15,7 +15,7 @@ use Magento\Catalog\Model\ResourceModel\Product\Option\Value\Collection; use Magento\Catalog\Pricing\Price\BasePrice; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Model\AbstractExtensibleModel; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Catalog product option model diff --git a/app/code/Magento/Catalog/Model/Product/Option/ReadHandler.php b/app/code/Magento/Catalog/Model/Product/Option/ReadHandler.php index d6b1bb52e2f928677f880f55b1a5b2218f1effe2..b32cce86b818b475136a448c10877fff3ff8beb7 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/ReadHandler.php +++ b/app/code/Magento/Catalog/Model/Product/Option/ReadHandler.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Model\Product\Option; use Magento\Catalog\Api\ProductCustomOptionRepositoryInterface; use Magento\Catalog\Model\Product\OptionFactory; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class ReadHandler diff --git a/app/code/Magento/Catalog/Model/Product/Option/Repository.php b/app/code/Magento/Catalog/Model/Product/Option/Repository.php index 27ed79489f1e95ef6c5051b5ee71db78e1025e6e..69b91ba8ccd25f2302c64d796782786233e5c415 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Repository.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Repository.php @@ -9,7 +9,7 @@ namespace Magento\Catalog\Model\Product\Option; use Magento\Catalog\Api\Data\ProductInterface; use Magento\Framework\Exception\CouldNotSaveException; use Magento\Framework\Exception\NoSuchEntityException; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class Repository diff --git a/app/code/Magento/Catalog/Model/Product/Option/SaveHandler.php b/app/code/Magento/Catalog/Model/Product/Option/SaveHandler.php index 970267e25fb058015b22ee23f83ce65c677acd71..0d416e26313248cf63b53ec4281bc7c2db713e10 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/SaveHandler.php +++ b/app/code/Magento/Catalog/Model/Product/Option/SaveHandler.php @@ -7,7 +7,7 @@ namespace Magento\Catalog\Model\Product\Option; use Magento\Catalog\Api\ProductCustomOptionRepositoryInterface as OptionRepository; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class SaveHandler diff --git a/app/code/Magento/Catalog/Model/ProductLink/Repository.php b/app/code/Magento/Catalog/Model/ProductLink/Repository.php index 41a0d01e1add2d49222758d33a2e7b37742518fb..5f73ff2201eb3973266fb6079cca24552a611751 100644 --- a/app/code/Magento/Catalog/Model/ProductLink/Repository.php +++ b/app/code/Magento/Catalog/Model/ProductLink/Repository.php @@ -14,7 +14,7 @@ use Magento\Catalog\Model\Product\Initialization\Helper\ProductLinks as LinksIni use Magento\Catalog\Model\Product\LinkTypeProvider; use Magento\Framework\Exception\CouldNotSaveException; use Magento\Framework\Exception\NoSuchEntityException; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class Repository diff --git a/app/code/Magento/Catalog/Model/ProductRepository.php b/app/code/Magento/Catalog/Model/ProductRepository.php index 76d048ebf2e984083e6f2f60788a99f93c280084..f2eea159f98279489f773a8ef3b13c6c54dedd0b 100644 --- a/app/code/Magento/Catalog/Model/ProductRepository.php +++ b/app/code/Magento/Catalog/Model/ProductRepository.php @@ -487,7 +487,7 @@ class ProductRepository implements \Magento\Catalog\Api\ProductRepositoryInterfa $productLinks = $product->getProductLinks(); } $productDataArray['store_id'] = (int)$this->storeManager->getStore()->getId(); - $product = $this->initializeProductData($productDataArray, empty($existingProduct)); +// $product = $this->initializeProductData($productDataArray, empty($existingProduct)); $this->processLinks($product, $productLinks); if (isset($productDataArray['media_gallery_entries'])) { diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Attribute.php b/app/code/Magento/Catalog/Model/ResourceModel/Attribute.php index d94c3122b89eb362b1eb8ded2867cb3e2772d882..27cd0b69affc5e6a81f844e2286418b490d65fe9 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Attribute.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Attribute.php @@ -28,7 +28,7 @@ class Attribute extends \Magento\Eav\Model\ResourceModel\Entity\Attribute protected $attrLockValidator; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -38,7 +38,7 @@ class Attribute extends \Magento\Eav\Model\ResourceModel\Entity\Attribute * @param \Magento\Eav\Model\ResourceModel\Entity\Type $eavEntityType * @param \Magento\Eav\Model\Config $eavConfig * @param LockValidatorInterface $lockValidator - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param string $connectionName */ public function __construct( @@ -47,7 +47,7 @@ class Attribute extends \Magento\Eav\Model\ResourceModel\Entity\Attribute \Magento\Eav\Model\ResourceModel\Entity\Type $eavEntityType, \Magento\Eav\Model\Config $eavConfig, LockValidatorInterface $lockValidator, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, $connectionName = null ) { $this->attrLockValidator = $lockValidator; diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Category.php b/app/code/Magento/Catalog/Model/ResourceModel/Category.php index 81fbdf051f976d543ace8cc9cc19d51742717ad0..c0cb0e65d6cabb1bdb38d186276d48d5fd613de5 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Category.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Category.php @@ -1000,7 +1000,7 @@ class Category extends AbstractResource $this->_attributes = []; $this->loadAttributesMetadata($attributes); $object = $this->entityManager->load(CategoryInterface::class, $object, $entityId); - if (!$this->entityManager->has(\Magento\Catalog\Api\Data\CategoryInterface::class, $entityId)) { + if (!$this->entityManager->has(\Magento\Catalog\Api\Data\CategoryInterface::class, $object)) { $object->isObjectNew(true); } return $this; diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Category/Tree.php b/app/code/Magento/Catalog/Model/ResourceModel/Category/Tree.php index 02abcbd944e6245a080934abff9aad569c1ec968..acb327348b79078f8c890c53bb6ed738c467ef23 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Category/Tree.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Category/Tree.php @@ -7,7 +7,7 @@ namespace Magento\Catalog\Model\ResourceModel\Category; use Magento\Framework\Data\Tree\Dbp; use Magento\Catalog\Api\Data\CategoryInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php index 2b6bc4c1ca8065690b60d33ba06f3f063b6851a9..3a9c3b27af87f50881993a3b72844be2975fc2fd 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php @@ -13,7 +13,7 @@ use Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator; use Magento\Customer\Api\GroupManagementInterface; use Magento\Framework\DB\Select; use Magento\Store\Model\Store; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Catalog\Api\Data\CategoryInterface; /** diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Gallery.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Gallery.php index a25332c17e35f81d9b11e8cb3fbf6c819a072152..2e2d0a1d7239df23d776227389dd698690470859 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Gallery.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Gallery.php @@ -27,12 +27,12 @@ class Gallery extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb /** * @param \Magento\Framework\Model\ResourceModel\Db\Context $context - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param string $connectionName */ public function __construct( \Magento\Framework\Model\ResourceModel\Db\Context $context, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, $connectionName = null ) { $this->metadata = $metadataPool->getMetadata( diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/AbstractIndexer.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/AbstractIndexer.php index 93dd5642f135301799fc8f70e90617b4fa568a91..946d5dd0995351a7e16a98b6550345ec1d646a68 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/AbstractIndexer.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/AbstractIndexer.php @@ -22,7 +22,7 @@ abstract class AbstractIndexer extends \Magento\Indexer\Model\ResourceModel\Abst protected $_eavConfig; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -32,14 +32,14 @@ abstract class AbstractIndexer extends \Magento\Indexer\Model\ResourceModel\Abst * @param \Magento\Framework\Model\ResourceModel\Db\Context $context * @param \Magento\Framework\Indexer\Table\StrategyInterface $tableStrategy * @param \Magento\Eav\Model\Config $eavConfig - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param string $connectionName */ public function __construct( \Magento\Framework\Model\ResourceModel\Db\Context $context, \Magento\Framework\Indexer\Table\StrategyInterface $tableStrategy, \Magento\Eav\Model\Config $eavConfig, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, $connectionName = null ) { $this->_eavConfig = $eavConfig; diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/AbstractEav.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/AbstractEav.php index ec7982c03b60aed4b487d2766ad3563f485317dd..53067a457b6eb765bcfee0c976a8dca3353b499d 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/AbstractEav.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/AbstractEav.php @@ -27,7 +27,7 @@ abstract class AbstractEav extends \Magento\Catalog\Model\ResourceModel\Product\ * @param \Magento\Framework\Model\ResourceModel\Db\Context $context * @param \Magento\Framework\Indexer\Table\StrategyInterface $tableStrategy * @param \Magento\Eav\Model\Config $eavConfig - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param string $connectionName */ @@ -35,7 +35,7 @@ abstract class AbstractEav extends \Magento\Catalog\Model\ResourceModel\Product\ \Magento\Framework\Model\ResourceModel\Db\Context $context, \Magento\Framework\Indexer\Table\StrategyInterface $tableStrategy, \Magento\Eav\Model\Config $eavConfig, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\Event\ManagerInterface $eventManager, $connectionName = null ) { diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/Source.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/Source.php index a8c1da0403795994145b295c6ea7fb6d09cb40ec..e2e58cb65fa3fde32336bf7651b89d574a2a417c 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/Source.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/Source.php @@ -29,7 +29,7 @@ class Source extends AbstractEav * @param \Magento\Framework\Indexer\Table\StrategyInterface $tableStrategy * @param \Magento\Eav\Model\Config $eavConfig * @param \Magento\Framework\Event\ManagerInterface $eventManager - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param \Magento\Catalog\Model\ResourceModel\Helper $resourceHelper * @param string $connectionName */ @@ -37,7 +37,7 @@ class Source extends AbstractEav \Magento\Framework\Model\ResourceModel\Db\Context $context, \Magento\Framework\Indexer\Table\StrategyInterface $tableStrategy, \Magento\Eav\Model\Config $eavConfig, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Catalog\Model\ResourceModel\Helper $resourceHelper, $connectionName = null diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/DefaultPrice.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/DefaultPrice.php index 9f1a9d19ea5d26ec1f338ce61f20371919a1d368..b5ce6dd3c5a05ea0d1fb59dc1bcb4b85977d8050 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/DefaultPrice.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Price/DefaultPrice.php @@ -49,7 +49,7 @@ class DefaultPrice extends AbstractIndexer implements PriceInterface * @param \Magento\Framework\Model\ResourceModel\Db\Context $context * @param \Magento\Framework\Indexer\Table\StrategyInterface $tableStrategy * @param \Magento\Eav\Model\Config $eavConfig - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param \Magento\Framework\Module\Manager $moduleManager * @param string $connectionName @@ -58,7 +58,7 @@ class DefaultPrice extends AbstractIndexer implements PriceInterface \Magento\Framework\Model\ResourceModel\Db\Context $context, \Magento\Framework\Indexer\Table\StrategyInterface $tableStrategy, \Magento\Eav\Model\Config $eavConfig, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Framework\Module\Manager $moduleManager, $connectionName = null diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/DeleteHandler.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/DeleteHandler.php index 14917de08c30bf4c71fcbf7c624fa227cac98df1..e0e707fc7478500fbc75e3ad5a57b5893ad50b99 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/DeleteHandler.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/DeleteHandler.php @@ -10,7 +10,7 @@ use Magento\Catalog\Api\Data\ProductInterface; use Magento\Catalog\Api\ProductRepositoryInterface; use Magento\Catalog\Model\Product\LinkTypeProvider; use Magento\Catalog\Model\ResourceModel\Product\Link; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Exception\NoSuchEntityException; use Magento\Framework\Exception\CouldNotDeleteException; diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/Product/Collection.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/Product/Collection.php index 6637d3f508e9f6c5354b2c178fbd6848929fe9a1..1f2c036c13c292c0fa3f9217935f8c338bea0dba 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/Product/Collection.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/Product/Collection.php @@ -7,7 +7,7 @@ namespace Magento\Catalog\Model\ResourceModel\Product\Link\Product; use Magento\Catalog\Api\Data\ProductInterface; use Magento\Customer\Api\GroupManagementInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Catalog product linked products collection diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/SaveHandler.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/SaveHandler.php index 42276130be82d1af22a362cede569d972f03d74b..50cc89a66049fee84876a2b0642878ec9ca5bb0d 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/SaveHandler.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Link/SaveHandler.php @@ -10,7 +10,7 @@ use Magento\Catalog\Api\Data\ProductInterface; use Magento\Catalog\Api\ProductRepositoryInterface; use Magento\Catalog\Model\Product\LinkTypeProvider; use Magento\Catalog\Model\ResourceModel\Product\Link; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Reflection\DataObjectProcessor; use Magento\Framework\Exception\CouldNotSaveException; diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Option.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Option.php index 8bfbda1e4b10ace50225da570e66ea387645d398..79245f340ea0304dbe4918f9dfcb3dee76003765 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Option.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Option.php @@ -16,7 +16,7 @@ use Magento\Catalog\Api\Data\ProductInterface; class Option extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -48,7 +48,7 @@ class Option extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param \Magento\Framework\App\Config\ScopeConfigInterface $config - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param string $connectionName */ public function __construct( @@ -56,7 +56,7 @@ class Option extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb \Magento\Directory\Model\CurrencyFactory $currencyFactory, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\App\Config\ScopeConfigInterface $config, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, $connectionName = null ) { $this->_currencyFactory = $currencyFactory; diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Option/Collection.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Option/Collection.php index 97d4ee16c322dba41e2c35a655542cd1bd9bd269..eae8e1a32d348247178ae8e4b28f5feda055bc08 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Option/Collection.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Option/Collection.php @@ -22,7 +22,7 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab protected $joinProcessor; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -47,7 +47,7 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param \Magento\Catalog\Model\ResourceModel\Product\Option\Value\CollectionFactory $optionValueCollectionFactory * @param \Magento\Store\Model\StoreManagerInterface $storeManager - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param JoinProcessorInterface $joinProcessor * @param \Magento\Framework\DB\Adapter\AdapterInterface $connection * @param \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource @@ -60,7 +60,7 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Catalog\Model\ResourceModel\Product\Option\Value\CollectionFactory $optionValueCollectionFactory, \Magento\Store\Model\StoreManagerInterface $storeManager, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, JoinProcessorInterface $joinProcessor, \Magento\Framework\DB\Adapter\AdapterInterface $connection = null, \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource = null diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Url.php b/app/code/Magento/Catalog/Model/ResourceModel/Url.php index bff384d42defb4c0bfbec3047db67462f1b0db33..8cc19060182cb08c870898441277b6d75c1a7e6e 100644 --- a/app/code/Magento/Catalog/Model/ResourceModel/Url.php +++ b/app/code/Magento/Catalog/Model/ResourceModel/Url.php @@ -12,7 +12,7 @@ namespace Magento\Catalog\Model\ResourceModel; */ use Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator; use Magento\Catalog\Api\Data\CategoryInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class Url diff --git a/app/code/Magento/Catalog/Setup/Recurring.php b/app/code/Magento/Catalog/Setup/Recurring.php index c5a3f6972b4192583b4c09a8f42bfbe244dc0fb4..7cdacd5f658069d8e182cfd919c9f3ce207e3ed6 100644 --- a/app/code/Magento/Catalog/Setup/Recurring.php +++ b/app/code/Magento/Catalog/Setup/Recurring.php @@ -6,7 +6,7 @@ namespace Magento\Catalog\Setup; use Magento\Catalog\Api\Data\CategoryInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Setup\ExternalFKSetup; use Magento\Framework\Setup\InstallSchemaInterface; use Magento\Framework\Setup\ModuleContextInterface; diff --git a/app/code/Magento/Catalog/Test/Unit/Model/CategoryRepositoryTest.php b/app/code/Magento/Catalog/Test/Unit/Model/CategoryRepositoryTest.php index e376be9d1fcfa9531a77b24cec698249c6b647c6..eae842a67d75a611751f96d7193bdee1e807ede9 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/CategoryRepositoryTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/CategoryRepositoryTest.php @@ -38,7 +38,7 @@ class CategoryRepositoryTest extends \PHPUnit_Framework_TestCase protected $storeManagerMock; /** - * @var \Magento\Framework\Model\Entity\MetadataPool|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject */ protected $metadataPoolMock; @@ -77,7 +77,7 @@ class CategoryRepositoryTest extends \PHPUnit_Framework_TestCase ->willReturn('entity_id'); $this->metadataPoolMock = $this->getMock( - 'Magento\Framework\Model\Entity\MetadataPool', + 'Magento\Framework\EntityManager\MetadataPool', [], [], '', diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Product/Attribute/Backend/GroupPrice/AbstractTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Product/Attribute/Backend/GroupPrice/AbstractTest.php index 6535e5ee73865ff7e8eecf4e6a936d2d7c28941f..85a345ef7f09f2180393a837c8bb95b877d2ab9b 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/Product/Attribute/Backend/GroupPrice/AbstractTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/Product/Attribute/Backend/GroupPrice/AbstractTest.php @@ -30,7 +30,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase $configMock = $this->getMock('Magento\Framework\App\Config\ScopeConfigInterface'); $localeFormatMock = $this->getMock('\Magento\Framework\Locale\FormatInterface', [], [], '', false); $groupManagement = $this->getMock('Magento\Customer\Api\GroupManagementInterface', [], [], '', false); - $metadataPool = $this->getMock('Magento\Framework\Model\Entity\MetadataPool', [], [], '', false); + $metadataPool = $this->getMock('Magento\Framework\EntityManager\MetadataPool', [], [], '', false); $this->_model = $this->getMockForAbstractClass( 'Magento\Catalog\Model\Product\Attribute\Backend\GroupPrice\AbstractGroupPrice', [ diff --git a/app/code/Magento/Catalog/Test/Unit/Model/Product/Option/RepositoryTest.php b/app/code/Magento/Catalog/Test/Unit/Model/Product/Option/RepositoryTest.php index e95ca147c101c279c952baa1a2072b77a96ca9d3..979d49f723fbbd81e7b49518da9e96599b5f65c4 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/Product/Option/RepositoryTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/Product/Option/RepositoryTest.php @@ -62,7 +62,7 @@ class RepositoryTest extends \PHPUnit_Framework_TestCase '', false ); - $metadataPool = $this->getMockBuilder('Magento\Framework\Model\Entity\MetadataPool') + $metadataPool = $this->getMockBuilder('Magento\Framework\EntityManager\MetadataPool') ->disableOriginalConstructor() ->getMock(); $metadata = $this->getMockBuilder('Magento\Framework\Model\Entity\EntityMetadata') diff --git a/app/code/Magento/Catalog/Test/Unit/Model/ProductLink/RepositoryTest.php b/app/code/Magento/Catalog/Test/Unit/Model/ProductLink/RepositoryTest.php index c4b773d53f08fbc17963db4d28891795e3428272..98fd695fad0411094cf83a95dff2726bd2391271 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/ProductLink/RepositoryTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/ProductLink/RepositoryTest.php @@ -78,7 +78,7 @@ class RepositoryTest extends \PHPUnit_Framework_TestCase false ); $this->metadataPoolMock = $this->getMock( - 'Magento\Framework\Model\Entity\MetadataPool', + 'Magento\Framework\EntityManager\MetadataPool', [], [], '', diff --git a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Category/TreeTest.php b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Category/TreeTest.php index 6073db335fe533c8a442ba7ec9d4debe98cb4b34..952cef1d21c90a6caa9a0954f1f0102d279f8327 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Category/TreeTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Category/TreeTest.php @@ -10,7 +10,7 @@ namespace Magento\Catalog\Test\Unit\Model\ResourceModel\Category; use Magento\Catalog\Api\Data\CategoryInterface; use Magento\Framework\Model\Entity\EntityMetadata; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class TreeTest extends \PHPUnit_Framework_TestCase { diff --git a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/GalleryTest.php b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/GalleryTest.php index 26e3eec00ebd882b6d5534b7ddf66a42cbc50ee1..ed584f337c41aa08ea5627ae43a9d3cf644e6339 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/GalleryTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/GalleryTest.php @@ -77,7 +77,7 @@ class GalleryTest extends \PHPUnit_Framework_TestCase ->willReturn($this->connection); $metadataPool = $this->getMock( - 'Magento\Framework\Model\Entity\MetadataPool', + 'Magento\Framework\EntityManager\MetadataPool', [], [], '', diff --git a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/Option/CollectionTest.php b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/Option/CollectionTest.php index a262e41192a303be2090a91cde49e99c357dc762..e03462e13e23701d50f8d8286bf67562bf062ce3 100644 --- a/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/Option/CollectionTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Model/ResourceModel/Product/Option/CollectionTest.php @@ -18,7 +18,7 @@ use \Magento\Catalog\Model\ResourceModel\Product\Option\Value; class CollectionTest extends \PHPUnit_Framework_TestCase { /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPoolMock; @@ -128,7 +128,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase 'catalog_product_entity', 'catalog_product_entity' ); - $this->metadataPoolMock = $this->getMock('Magento\Framework\Model\Entity\MetadataPool', [], [], '', false); + $this->metadataPoolMock = $this->getMock('Magento\Framework\EntityManager\MetadataPool', [], [], '', false); $metadata = $this->getMock('Magento\Framework\Model\Entity\EntityMetadata', [], [], '', false); $metadata->expects($this->any())->method('getLinkField')->willReturn('id'); $this->metadataPoolMock->expects($this->any())->method('getMetadata')->willReturn($metadata); diff --git a/app/code/Magento/Catalog/etc/di.xml b/app/code/Magento/Catalog/etc/di.xml index 0bc3785b6f29c51cbd3b7db0000e3c4489d3c27a..c10916831ca9593bcaa8ae5b76106ce8c3aa7972 100644 --- a/app/code/Magento/Catalog/etc/di.xml +++ b/app/code/Magento/Catalog/etc/di.xml @@ -550,19 +550,7 @@ </argument> </arguments> </type> - <type name="Magento\Framework\Model\OrchestratorPool"> - <arguments> - <argument name="operations" xsi:type="array"> - <item name="default" xsi:type="array"> - <item name="read" xsi:type="string">Magento\Framework\Model\Operation\Read</item> - <item name="create" xsi:type="string">Magento\Framework\Model\Operation\Write\Create</item> - <item name="update" xsi:type="string">Magento\Framework\Model\Operation\Write\Update</item> - <item name="delete" xsi:type="string">Magento\Framework\Model\Operation\Write\Delete</item> - </item> - </argument> - </arguments> - </type> - <type name="Magento\Framework\Model\Entity\MetadataPool"> + <type name="Magento\Framework\EntityManager\MetadataPool"> <arguments> <argument name="metadata" xsi:type="array"> <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array"> @@ -584,9 +572,9 @@ </argument> </arguments> </type> - <type name="Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool"> + <type name="Magento\Framework\EntityManager\Operation\ExtensionPool"> <arguments> - <argument name="relationActions" xsi:type="array"> + <argument name="extensionActions" xsi:type="array"> <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array"> <item name="read" xsi:type="array"> <item name="optionReader" xsi:type="string">Magento\Catalog\Model\Product\Option\ReadHandler</item> diff --git a/app/code/Magento/CatalogImportExport/Model/Export/Product.php b/app/code/Magento/CatalogImportExport/Model/Export/Product.php index 2eecefb43346f4b303a7d71c54796bd8db162661..3557f7d52e3eec3030be154691516aaa42ed7923 100644 --- a/app/code/Magento/CatalogImportExport/Model/Export/Product.php +++ b/app/code/Magento/CatalogImportExport/Model/Export/Product.php @@ -311,7 +311,7 @@ class Product extends \Magento\ImportExport\Model\Export\Entity\AbstractEntity ]; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -1343,13 +1343,13 @@ class Product extends \Magento\ImportExport\Model\Export\Entity\AbstractEntity /** * Get product metadata pool * - * @return \Magento\Framework\Model\Entity\MetadataPool + * @return \Magento\Framework\EntityManager\MetadataPool */ private function getMetadataPool() { if (!$this->metadataPool) { $this->metadataPool = \Magento\Framework\App\ObjectManager::getInstance() - ->get(\Magento\Framework\Model\Entity\MetadataPool::class); + ->get(\Magento\Framework\EntityManager\MetadataPool::class); } return $this->metadataPool; } diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product/SkuProcessor.php b/app/code/Magento/CatalogImportExport/Model/Import/Product/SkuProcessor.php index 6d5fa576871d2403c4ab55f095b6cdad96fe584c..49bb8dbec0e0ed5c502ecb0aac3d950efc725878 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product/SkuProcessor.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product/SkuProcessor.php @@ -39,7 +39,7 @@ class SkuProcessor /** * Product metadata pool * - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ private $metadataPool; @@ -167,13 +167,13 @@ class SkuProcessor /** * Get product metadata pool * - * @return \Magento\Framework\Model\Entity\MetadataPool + * @return \Magento\Framework\EntityManager\MetadataPool */ private function getMetadataPool() { if (!$this->metadataPool) { $this->metadataPool = \Magento\Framework\App\ObjectManager::getInstance() - ->get(\Magento\Framework\Model\Entity\MetadataPool::class); + ->get(\Magento\Framework\EntityManager\MetadataPool::class); } return $this->metadataPool; } diff --git a/app/code/Magento/CatalogImportExport/Model/Import/Product/Type/AbstractType.php b/app/code/Magento/CatalogImportExport/Model/Import/Product/Type/AbstractType.php index 4e04bf6a257276ece0614f2305c103ebe205607c..c82089097f1c00c17aee985f92be0ead2214dd53 100644 --- a/app/code/Magento/CatalogImportExport/Model/Import/Product/Type/AbstractType.php +++ b/app/code/Magento/CatalogImportExport/Model/Import/Product/Type/AbstractType.php @@ -130,7 +130,7 @@ abstract class AbstractType /** * Product metadata pool * - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -542,13 +542,13 @@ abstract class AbstractType /** * Get product metadata pool * - * @return \Magento\Framework\Model\Entity\MetadataPool + * @return \Magento\Framework\EntityManager\MetadataPool */ protected function getMetadataPool() { if (!$this->metadataPool) { $this->metadataPool = \Magento\Framework\App\ObjectManager::getInstance() - ->get('Magento\Framework\Model\Entity\MetadataPool'); + ->get('Magento\Framework\EntityManager\MetadataPool'); } return $this->metadataPool; } diff --git a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Export/ProductTest.php b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Export/ProductTest.php index 0414892ebead74d45a5fb21fa3db316e42f80252..39ef2baa2c08731976810c37af2062d81bd0a438 100644 --- a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Export/ProductTest.php +++ b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Export/ProductTest.php @@ -99,7 +99,7 @@ class ProductTest extends \PHPUnit_Framework_TestCase protected $rowCustomizer; /** - * @var \Magento\Framework\Model\Entity\MetadataPool|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject */ protected $metadataPool; @@ -276,7 +276,7 @@ class ProductTest extends \PHPUnit_Framework_TestCase false ); $this->metadataPool = $this->getMock( - '\Magento\Framework\Model\Entity\MetadataPool', + '\Magento\Framework\EntityManager\MetadataPool', [], [], '', diff --git a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php index eb822e38b014d5f0ca342c2d72826911dc40faaa..2e4091ac1070d605d8913024bdce8e4b8e4754e9 100644 --- a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php +++ b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/Product/Type/OptionTest.php @@ -209,7 +209,7 @@ class OptionTest extends \Magento\ImportExport\Test\Unit\Model\Import\AbstractIm protected $errorAggregator; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPoolMock; @@ -241,7 +241,7 @@ class OptionTest extends \Magento\ImportExport\Test\Unit\Model\Import\AbstractIm $date = new \DateTime(); $timezoneInterface->expects($this->any())->method('date')->willReturn($date); $this->metadataPoolMock = $this->getMock( - \Magento\Framework\Model\Entity\MetadataPool::class, + \Magento\Framework\EntityManager\MetadataPool::class, [], [], '', diff --git a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php index c19551bfa094bf2627ffa0494565c71c7119ab9f..ca26379eb1910420859455ebce575606f0cf7598 100644 --- a/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php +++ b/app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest.php @@ -167,7 +167,7 @@ class ProductTest extends \Magento\ImportExport\Test\Unit\Model\Import\AbstractI { parent::setUp(); - $metadataPoolMock = $this->getMock(\Magento\Framework\Model\Entity\MetadataPool::class, [], [], '', false); + $metadataPoolMock = $this->getMock(\Magento\Framework\EntityManager\MetadataPool::class, [], [], '', false); $entityMetadataMock = $this->getMock(\Magento\Framework\Model\Entity\EntityMetadata::class, [], [], '', false); $metadataPoolMock->expects($this->any()) ->method('getMetadata') diff --git a/app/code/Magento/CatalogRule/Model/Indexer/IndexBuilder.php b/app/code/Magento/CatalogRule/Model/Indexer/IndexBuilder.php index a3571b4d81431195b8f5075b70d139c205b4dd86..665b90acf494f1fd43ead56fa557d0e03663e547 100644 --- a/app/code/Magento/CatalogRule/Model/Indexer/IndexBuilder.php +++ b/app/code/Magento/CatalogRule/Model/Indexer/IndexBuilder.php @@ -11,7 +11,7 @@ use Magento\Catalog\Model\Product; use Magento\CatalogRule\Model\ResourceModel\Rule\CollectionFactory as RuleCollectionFactory; use Magento\CatalogRule\Model\Rule; use Magento\Framework\App\ResourceConnection; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Pricing\PriceCurrencyInterface; /** @@ -22,7 +22,7 @@ class IndexBuilder const SECONDS_IN_DAY = 86400; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -106,7 +106,7 @@ class IndexBuilder * @param \Magento\Framework\Stdlib\DateTime\DateTime $dateTime * @param \Magento\Catalog\Model\ProductFactory $productFactory * @param int $batchCount - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( diff --git a/app/code/Magento/CatalogRule/Model/ResourceModel/ReadHandler.php b/app/code/Magento/CatalogRule/Model/ResourceModel/ReadHandler.php index f38a0158a71aad398bbfd03430ba15d137d4441d..6701614f33a6671ffb0b60d05c5a93278fe757ed 100644 --- a/app/code/Magento/CatalogRule/Model/ResourceModel/ReadHandler.php +++ b/app/code/Magento/CatalogRule/Model/ResourceModel/ReadHandler.php @@ -6,7 +6,7 @@ namespace Magento\CatalogRule\Model\ResourceModel; use Magento\CatalogRule\Model\ResourceModel\Rule; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class ReadHandler { diff --git a/app/code/Magento/CatalogRule/Model/ResourceModel/SaveHandler.php b/app/code/Magento/CatalogRule/Model/ResourceModel/SaveHandler.php index fabb45960109bfc94947c2ba51da840fa69a5579..565650b7718e269dc0a168394581d5432e16ac2c 100644 --- a/app/code/Magento/CatalogRule/Model/ResourceModel/SaveHandler.php +++ b/app/code/Magento/CatalogRule/Model/ResourceModel/SaveHandler.php @@ -6,7 +6,7 @@ namespace Magento\CatalogRule\Model\ResourceModel; use Magento\CatalogRule\Model\ResourceModel\Rule; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class SaveHandler { diff --git a/app/code/Magento/CatalogRule/Test/Unit/Model/Indexer/IndexBuilderTest.php b/app/code/Magento/CatalogRule/Test/Unit/Model/Indexer/IndexBuilderTest.php index f315ebf6c2d8661d238a21a8b46a864122aaaf19..8f427583957a00667761f6f5100dd17b46be1a3a 100644 --- a/app/code/Magento/CatalogRule/Test/Unit/Model/Indexer/IndexBuilderTest.php +++ b/app/code/Magento/CatalogRule/Test/Unit/Model/Indexer/IndexBuilderTest.php @@ -69,7 +69,7 @@ class IndexBuilderTest extends \PHPUnit_Framework_TestCase protected $connection; /** - * @var \Magento\Framework\Model\Entity\MetadataPool|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject */ protected $metadataPool; @@ -142,7 +142,7 @@ class IndexBuilderTest extends \PHPUnit_Framework_TestCase false ); $this->select = $this->getMock('Magento\Framework\DB\Select', [], [], '', false); - $this->metadataPool = $this->getMock('Magento\Framework\Model\Entity\MetadataPool', [], [], '', false); + $this->metadataPool = $this->getMock('Magento\Framework\EntityManager\MetadataPool', [], [], '', false); $metadata = $this->getMockBuilder('Magento\Framework\Model\Entity\EntityMetadata') ->disableOriginalConstructor() ->getMock(); diff --git a/app/code/Magento/CatalogRule/Test/Unit/Model/ResourceModel/ReadHandlerTest.php b/app/code/Magento/CatalogRule/Test/Unit/Model/ResourceModel/ReadHandlerTest.php index b6be4762de6da49aad08f041ab936a94fb9e7983..33e553927f583809292b416aa93e366d70350c27 100644 --- a/app/code/Magento/CatalogRule/Test/Unit/Model/ResourceModel/ReadHandlerTest.php +++ b/app/code/Magento/CatalogRule/Test/Unit/Model/ResourceModel/ReadHandlerTest.php @@ -25,7 +25,7 @@ class ReadHandlerTest extends \PHPUnit_Framework_TestCase protected function setUp() { $this->resourceMock = $this->getMock('\Magento\CatalogRule\Model\ResourceModel\Rule', [], [], '', false); - $this->metadataMock = $this->getMock('\Magento\Framework\Model\Entity\MetadataPool', [], [], '', false); + $this->metadataMock = $this->getMock('\Magento\Framework\EntityManager\MetadataPool', [], [], '', false); $this->subject = new \Magento\CatalogRule\Model\ResourceModel\ReadHandler( $this->resourceMock, $this->metadataMock diff --git a/app/code/Magento/CatalogRule/Test/Unit/Model/ResourceModel/SaveHandlerTest.php b/app/code/Magento/CatalogRule/Test/Unit/Model/ResourceModel/SaveHandlerTest.php index e108d1103be4be62995269c72bdb1e4b572588dd..29317f665c810f31bd027e527dd17801406cc1f6 100644 --- a/app/code/Magento/CatalogRule/Test/Unit/Model/ResourceModel/SaveHandlerTest.php +++ b/app/code/Magento/CatalogRule/Test/Unit/Model/ResourceModel/SaveHandlerTest.php @@ -25,7 +25,7 @@ class SaveHandlerTest extends \PHPUnit_Framework_TestCase protected function setUp() { $this->resourceMock = $this->getMock('\Magento\CatalogRule\Model\ResourceModel\Rule', [], [], '', false); - $this->metadataMock = $this->getMock('\Magento\Framework\Model\Entity\MetadataPool', [], [], '', false); + $this->metadataMock = $this->getMock('\Magento\Framework\EntityManager\MetadataPool', [], [], '', false); $this->subject = new \Magento\CatalogRule\Model\ResourceModel\SaveHandler( $this->resourceMock, $this->metadataMock diff --git a/app/code/Magento/CatalogRule/etc/di.xml b/app/code/Magento/CatalogRule/etc/di.xml index cf0657e61702188b72ceb449835a8d117ec2f829..829b67319b8eaac87fc163e5866052c35cfdba2a 100644 --- a/app/code/Magento/CatalogRule/etc/di.xml +++ b/app/code/Magento/CatalogRule/etc/di.xml @@ -62,7 +62,7 @@ </virtualType> <preference for="Magento\CatalogRule\Api\Data\RuleInterface" type="Magento\CatalogRule\Model\Rule" /> <preference for="Magento\CatalogRule\Api\CatalogRuleRepositoryInterface" type="Magento\CatalogRule\Model\CatalogRuleRepository" /> - <type name="Magento\Framework\Model\Entity\MetadataPool"> + <type name="Magento\Framework\EntityManager\MetadataPool"> <arguments> <argument name="metadata" xsi:type="array"> <item name="Magento\CatalogRule\Api\Data\RuleInterface" xsi:type="array"> @@ -75,11 +75,11 @@ </argument> </arguments> </type> - <type name="Magento\Framework\Model\OrchestratorPool"> + <type name="Magento\Framework\EntityManager\OperationPool"> <arguments> <argument name="operations" xsi:type="array"> <item name="default" xsi:type="array"> - <item name="read" xsi:type="string">Magento\Framework\Model\Operation\Read</item> + <item name="read" xsi:type="string">Magento\Framework\EntityManager\Operation\Read</item> <item name="create" xsi:type="string">Magento\Framework\Model\Operation\Write\Create</item> <item name="update" xsi:type="string">Magento\Framework\Model\Operation\Write\Update</item> <item name="delete" xsi:type="string">Magento\Framework\Model\Operation\Write\Delete</item> @@ -87,7 +87,7 @@ </argument> </arguments> </type> - <type name="Magento\Framework\Model\ResourceModel\Db\ExtensionPool"> + <type name="Magento\Framework\EntityManager\Operation\AttributePool"> <arguments> <argument name="extensionActions" xsi:type="array"> <item name="catalogRule" xsi:type="array"> diff --git a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/Preprocessor.php b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/Preprocessor.php index f9622ecc715fbf3b54453c80a44c00b59cd6a7cf..f75cf0b520ff3630abe88702706007df8f3af218 100644 --- a/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/Preprocessor.php +++ b/app/code/Magento/CatalogSearch/Model/Adapter/Mysql/Filter/Preprocessor.php @@ -13,7 +13,7 @@ use Magento\Eav\Model\Config; use Magento\Framework\App\ResourceConnection; use Magento\Framework\App\ScopeResolverInterface; use Magento\Framework\DB\Adapter\AdapterInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Search\Adapter\Mysql\ConditionManager; use Magento\Framework\Search\Adapter\Mysql\Filter\PreprocessorInterface; use Magento\Framework\Search\Request\FilterInterface; diff --git a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/DataProvider.php b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/DataProvider.php index 7d6370a2ca341a20241eb713ed35f0067f088e3a..c540daaf455566c546cf86ebd56609ac816ff224 100644 --- a/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/DataProvider.php +++ b/app/code/Magento/CatalogSearch/Model/Indexer/Fulltext/Action/DataProvider.php @@ -102,7 +102,7 @@ class DataProvider * @param \Magento\CatalogSearch\Model\ResourceModel\EngineProvider $engineProvider * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param \Magento\Store\Model\StoreManagerInterface $storeManager - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool */ public function __construct( ResourceConnection $resource, @@ -112,7 +112,7 @@ class DataProvider \Magento\CatalogSearch\Model\ResourceModel\EngineProvider $engineProvider, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Store\Model\StoreManagerInterface $storeManager, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool + \Magento\Framework\EntityManager\MetadataPool $metadataPool ) { $this->resource = $resource; $this->connection = $resource->getConnection(); diff --git a/app/code/Magento/CatalogSearch/Test/Unit/Model/Adapter/Mysql/Filter/PreprocessorTest.php b/app/code/Magento/CatalogSearch/Test/Unit/Model/Adapter/Mysql/Filter/PreprocessorTest.php index d298f619328bab3cff01849a1c6d83c7a6200462..b009d3a8299313d8e50a50e2bfd1b96df375d57a 100644 --- a/app/code/Magento/CatalogSearch/Test/Unit/Model/Adapter/Mysql/Filter/PreprocessorTest.php +++ b/app/code/Magento/CatalogSearch/Test/Unit/Model/Adapter/Mysql/Filter/PreprocessorTest.php @@ -143,7 +143,7 @@ class PreprocessorTest extends \PHPUnit_Framework_TestCase $this->tableMapper = $this->getMockBuilder('\Magento\CatalogSearch\Model\Search\TableMapper') ->disableOriginalConstructor() ->getMock(); - $this->metadataPoolMock = $this->getMockBuilder(\Magento\Framework\Model\Entity\MetadataPool::class) + $this->metadataPoolMock = $this->getMockBuilder(\Magento\Framework\EntityManager\MetadataPool::class) ->disableOriginalConstructor() ->getMock(); diff --git a/app/code/Magento/CatalogUrlRewrite/Service/V1/StoreViewService.php b/app/code/Magento/CatalogUrlRewrite/Service/V1/StoreViewService.php index b36b3e9a7263dabdf8d25043763d52e33777e2f8..0520bb62326d2bb4bc13fc2fcc4b82ff84c141aa 100644 --- a/app/code/Magento/CatalogUrlRewrite/Service/V1/StoreViewService.php +++ b/app/code/Magento/CatalogUrlRewrite/Service/V1/StoreViewService.php @@ -7,7 +7,7 @@ namespace Magento\CatalogUrlRewrite\Service\V1; use Magento\Eav\Model\Config; use Magento\Framework\App\ResourceConnection; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Catalog\Api\Data\ProductInterface; /** diff --git a/app/code/Magento/CatalogUrlRewrite/Setup/Recurring.php b/app/code/Magento/CatalogUrlRewrite/Setup/Recurring.php index 1fc00f70d08b60a0674890557e53cbe7d43e9c57..d50a59f322504f3a3f51227a986eb0ddbf3214c4 100644 --- a/app/code/Magento/CatalogUrlRewrite/Setup/Recurring.php +++ b/app/code/Magento/CatalogUrlRewrite/Setup/Recurring.php @@ -7,7 +7,7 @@ namespace Magento\CatalogUrlRewrite\Setup; use Magento\Catalog\Api\Data\CategoryInterface; use Magento\CatalogUrlRewrite\Model\ResourceModel\Category\Product as ResourceProduct; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Setup\ExternalFKSetup; use Magento\Framework\Setup\InstallSchemaInterface; use Magento\Framework\Setup\ModuleContextInterface; diff --git a/app/code/Magento/Cms/Model/ResourceModel/AbstractCollection.php b/app/code/Magento/Cms/Model/ResourceModel/AbstractCollection.php index b9f0f8006be30116de989ddd68da468686f38182..908556eae95280277c3d15003ffe876eb32e3f9e 100644 --- a/app/code/Magento/Cms/Model/ResourceModel/AbstractCollection.php +++ b/app/code/Magento/Cms/Model/ResourceModel/AbstractCollection.php @@ -18,7 +18,7 @@ abstract class AbstractCollection extends \Magento\Framework\Model\ResourceModel protected $storeManager; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -28,7 +28,7 @@ abstract class AbstractCollection extends \Magento\Framework\Model\ResourceModel * @param \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param \Magento\Store\Model\StoreManagerInterface $storeManager - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param \Magento\Framework\DB\Adapter\AdapterInterface|null $connection * @param \Magento\Framework\Model\ResourceModel\Db\AbstractDb|null $resource */ @@ -38,7 +38,7 @@ abstract class AbstractCollection extends \Magento\Framework\Model\ResourceModel \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Store\Model\StoreManagerInterface $storeManager, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\DB\Adapter\AdapterInterface $connection = null, \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource = null ) { diff --git a/app/code/Magento/Cms/Model/ResourceModel/Block.php b/app/code/Magento/Cms/Model/ResourceModel/Block.php index 76b04d1858e9c938e0defc5333553f34c7fe3e3f..7beea73451f9c6ad748cd5d806fb96bd3a98f3ad 100644 --- a/app/code/Magento/Cms/Model/ResourceModel/Block.php +++ b/app/code/Magento/Cms/Model/ResourceModel/Block.php @@ -9,7 +9,7 @@ use Magento\Cms\Api\Data\BlockInterface; use Magento\Framework\DB\Select; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Model\AbstractModel; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\EntityManager; use Magento\Framework\Model\ResourceModel\Db\AbstractDb; use Magento\Framework\Model\ResourceModel\Db\Context; diff --git a/app/code/Magento/Cms/Model/ResourceModel/Block/Grid/Collection.php b/app/code/Magento/Cms/Model/ResourceModel/Block/Grid/Collection.php index d6cc7dc45bd37ec8729cc869638179d35284952f..0707d32f6b45d03d3aa8756b0286491f492bfd0e 100644 --- a/app/code/Magento/Cms/Model/ResourceModel/Block/Grid/Collection.php +++ b/app/code/Magento/Cms/Model/ResourceModel/Block/Grid/Collection.php @@ -25,7 +25,7 @@ class Collection extends BlockCollection implements SearchResultInterface * @param \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param \Magento\Store\Model\StoreManagerInterface $storeManager - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param string $mainTable * @param string $eventPrefix * @param string $eventObject @@ -42,7 +42,7 @@ class Collection extends BlockCollection implements SearchResultInterface \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Store\Model\StoreManagerInterface $storeManager, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, $mainTable, $eventPrefix, $eventObject, diff --git a/app/code/Magento/Cms/Model/ResourceModel/Block/Relation/Store/ReadHandler.php b/app/code/Magento/Cms/Model/ResourceModel/Block/Relation/Store/ReadHandler.php index 32e7ccd5452b02e7fcdca9de65eefe651fe53913..e34ed2e60e2a0030db026607f1733f4b3a0cb1e0 100644 --- a/app/code/Magento/Cms/Model/ResourceModel/Block/Relation/Store/ReadHandler.php +++ b/app/code/Magento/Cms/Model/ResourceModel/Block/Relation/Store/ReadHandler.php @@ -6,7 +6,7 @@ namespace Magento\Cms\Model\ResourceModel\Block\Relation\Store; use Magento\Cms\Model\ResourceModel\Block; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class ReadHandler { diff --git a/app/code/Magento/Cms/Model/ResourceModel/Block/Relation/Store/SaveHandler.php b/app/code/Magento/Cms/Model/ResourceModel/Block/Relation/Store/SaveHandler.php index 0c5f11785dd2f23e92251a332a82639897ac8ba9..7fc60e7b79d87c7a49813e43727dd37477f4e460 100644 --- a/app/code/Magento/Cms/Model/ResourceModel/Block/Relation/Store/SaveHandler.php +++ b/app/code/Magento/Cms/Model/ResourceModel/Block/Relation/Store/SaveHandler.php @@ -6,7 +6,7 @@ namespace Magento\Cms\Model\ResourceModel\Block\Relation\Store; use Magento\Cms\Model\ResourceModel\Block; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class SaveHandler { diff --git a/app/code/Magento/Cms/Model/ResourceModel/Page.php b/app/code/Magento/Cms/Model/ResourceModel/Page.php index 1b47bd8a909193aa24ed675e0d50918de31ebdeb..3e7ddd3d5d954b366b008177c51922282e50370d 100644 --- a/app/code/Magento/Cms/Model/ResourceModel/Page.php +++ b/app/code/Magento/Cms/Model/ResourceModel/Page.php @@ -10,7 +10,7 @@ use Magento\Cms\Model\Page as CmsPage; use Magento\Framework\DB\Select; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Model\AbstractModel; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\ResourceModel\Db\AbstractDb; use Magento\Framework\Model\ResourceModel\Db\Context; use Magento\Framework\Stdlib\DateTime; diff --git a/app/code/Magento/Cms/Model/ResourceModel/Page/Grid/Collection.php b/app/code/Magento/Cms/Model/ResourceModel/Page/Grid/Collection.php index 7dac815ba58b3320f33195df7b0dc09e633a67ab..422472be661d9f9d6e17db04cc1cafca403a3594 100644 --- a/app/code/Magento/Cms/Model/ResourceModel/Page/Grid/Collection.php +++ b/app/code/Magento/Cms/Model/ResourceModel/Page/Grid/Collection.php @@ -31,7 +31,7 @@ class Collection extends PageCollection implements SearchResultInterface * @param \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy * @param \Magento\Framework\Event\ManagerInterface $eventManager * @param \Magento\Store\Model\StoreManagerInterface $storeManager - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param mixed|null $mainTable * @param \Magento\Framework\Model\ResourceModel\Db\AbstractDb $eventPrefix * @param mixed $eventObject @@ -48,7 +48,7 @@ class Collection extends PageCollection implements SearchResultInterface \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Store\Model\StoreManagerInterface $storeManager, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, $mainTable, $eventPrefix, $eventObject, diff --git a/app/code/Magento/Cms/Model/ResourceModel/Page/Relation/Store/ReadHandler.php b/app/code/Magento/Cms/Model/ResourceModel/Page/Relation/Store/ReadHandler.php index cc3edd8a98d03d62933bf6d51fcaf4c701ef819b..e9f4cc1584194a383afd2cc4bd53f98fedeaed62 100644 --- a/app/code/Magento/Cms/Model/ResourceModel/Page/Relation/Store/ReadHandler.php +++ b/app/code/Magento/Cms/Model/ResourceModel/Page/Relation/Store/ReadHandler.php @@ -6,7 +6,7 @@ namespace Magento\Cms\Model\ResourceModel\Page\Relation\Store; use Magento\Cms\Model\ResourceModel\Page; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class ReadHandler { diff --git a/app/code/Magento/Cms/Model/ResourceModel/Page/Relation/Store/SaveHandler.php b/app/code/Magento/Cms/Model/ResourceModel/Page/Relation/Store/SaveHandler.php index 7bf832fdbc453fdefa1bb9242e57f7e4b5735f3e..e0f23d782880b50c4590129114c0d5ddb73a88e6 100644 --- a/app/code/Magento/Cms/Model/ResourceModel/Page/Relation/Store/SaveHandler.php +++ b/app/code/Magento/Cms/Model/ResourceModel/Page/Relation/Store/SaveHandler.php @@ -6,7 +6,7 @@ namespace Magento\Cms\Model\ResourceModel\Page\Relation\Store; use Magento\Cms\Model\ResourceModel\Page; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class SaveHandler { diff --git a/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Block/Relation/Store/ReadHandlerTest.php b/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Block/Relation/Store/ReadHandlerTest.php index 724c01bd7c23f5653f5fb27f802f8fc8e576d435..f2275bd204c4ddd52c65ccb5a39ac1da64e364e5 100644 --- a/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Block/Relation/Store/ReadHandlerTest.php +++ b/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Block/Relation/Store/ReadHandlerTest.php @@ -7,7 +7,7 @@ namespace Magento\Cms\Test\Unit\Model\ResourceModel\Block\Relation\Store; use Magento\Cms\Model\ResourceModel\Block; use Magento\Cms\Model\ResourceModel\Block\Relation\Store\ReadHandler; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class ReadHandlerTest extends \PHPUnit_Framework_TestCase { @@ -28,7 +28,7 @@ class ReadHandlerTest extends \PHPUnit_Framework_TestCase protected function setUp() { - $this->metadataPool = $this->getMockBuilder('Magento\Framework\Model\Entity\MetadataPool') + $this->metadataPool = $this->getMockBuilder('Magento\Framework\EntityManager\MetadataPool') ->disableOriginalConstructor() ->getMock(); diff --git a/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Block/Relation/Store/SaveHandlerTest.php b/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Block/Relation/Store/SaveHandlerTest.php index 704eed3984615cf803af4aad8511783e7eaaef12..8d3280ae262c7627f35b1a678c2d60591dcc9900 100644 --- a/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Block/Relation/Store/SaveHandlerTest.php +++ b/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Block/Relation/Store/SaveHandlerTest.php @@ -7,7 +7,7 @@ namespace Magento\Cms\Test\Unit\Model\ResourceModel\Block\Relation\Store; use Magento\Cms\Model\ResourceModel\Block; use Magento\Cms\Model\ResourceModel\Block\Relation\Store\SaveHandler; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class SaveHandlerTest extends \PHPUnit_Framework_TestCase { @@ -28,7 +28,7 @@ class SaveHandlerTest extends \PHPUnit_Framework_TestCase protected function setUp() { - $this->metadataPool = $this->getMockBuilder('Magento\Framework\Model\Entity\MetadataPool') + $this->metadataPool = $this->getMockBuilder('Magento\Framework\EntityManager\MetadataPool') ->disableOriginalConstructor() ->getMock(); diff --git a/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Page/Relation/Store/ReadHandlerTest.php b/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Page/Relation/Store/ReadHandlerTest.php index 7e32e6f1c8a59ac2923791042362f13fd8cbb4fd..1159d7608634051fee29a7370dc18ea052270973 100644 --- a/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Page/Relation/Store/ReadHandlerTest.php +++ b/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Page/Relation/Store/ReadHandlerTest.php @@ -7,7 +7,7 @@ namespace Magento\Cms\Test\Unit\Model\ResourceModel\Page\Relation\Store; use Magento\Cms\Model\ResourceModel\Page; use Magento\Cms\Model\ResourceModel\Page\Relation\Store\ReadHandler; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class ReadHandlerTest extends \PHPUnit_Framework_TestCase { @@ -28,7 +28,7 @@ class ReadHandlerTest extends \PHPUnit_Framework_TestCase protected function setUp() { - $this->metadataPool = $this->getMockBuilder('Magento\Framework\Model\Entity\MetadataPool') + $this->metadataPool = $this->getMockBuilder('Magento\Framework\EntityManager\MetadataPool') ->disableOriginalConstructor() ->getMock(); diff --git a/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Page/Relation/Store/SaveHandlerTest.php b/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Page/Relation/Store/SaveHandlerTest.php index 1a7a486d2530b41751941636b168cda706316b63..e948a67ec8176273c45daf8a4d874c505e9717f4 100644 --- a/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Page/Relation/Store/SaveHandlerTest.php +++ b/app/code/Magento/Cms/Test/Unit/Model/ResourceModel/Page/Relation/Store/SaveHandlerTest.php @@ -7,7 +7,7 @@ namespace Magento\Cms\Test\Unit\Model\ResourceModel\Page\Relation\Store; use Magento\Cms\Model\ResourceModel\Page; use Magento\Cms\Model\ResourceModel\Page\Relation\Store\SaveHandler; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class SaveHandlerTest extends \PHPUnit_Framework_TestCase { @@ -28,7 +28,7 @@ class SaveHandlerTest extends \PHPUnit_Framework_TestCase protected function setUp() { - $this->metadataPool = $this->getMockBuilder('Magento\Framework\Model\Entity\MetadataPool') + $this->metadataPool = $this->getMockBuilder('Magento\Framework\EntityManager\MetadataPool') ->disableOriginalConstructor() ->getMock(); diff --git a/app/code/Magento/Cms/etc/di.xml b/app/code/Magento/Cms/etc/di.xml index d475a5833c1dd374510866f7428e6fdc221bd586..0cbc1b9c354dbbe04694092a452d2a868a5fb952 100644 --- a/app/code/Magento/Cms/etc/di.xml +++ b/app/code/Magento/Cms/etc/di.xml @@ -88,7 +88,7 @@ </argument> </arguments> </virtualType> - <type name="Magento\Framework\Model\Entity\MetadataPool"> + <type name="Magento\Framework\EntityManager\MetadataPool"> <arguments> <argument name="metadata" xsi:type="array"> <item name="Magento\Cms\Api\Data\PageInterface" xsi:type="array"> @@ -102,9 +102,9 @@ </argument> </arguments> </type> - <type name="Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool"> + <type name="Magento\Framework\EntityManager\Operation\ExtensionPool"> <arguments> - <argument name="relationActions" xsi:type="array"> + <argument name="extensionActions" xsi:type="array"> <item name="Magento\Cms\Api\Data\PageInterface" xsi:type="array"> <item name="read" xsi:type="array"> <item name="storeReader" xsi:type="string">Magento\Cms\Model\ResourceModel\Page\Relation\Store\ReadHandler</item> diff --git a/app/code/Magento/ConfigurableImportExport/Test/Unit/Model/Import/Product/Type/ConfigurableTest.php b/app/code/Magento/ConfigurableImportExport/Test/Unit/Model/Import/Product/Type/ConfigurableTest.php index ec788551207522ccfc180f1f6fe94804b00954e1..d9b0cbb3e5325cd6e3685790b7b7d9bf6ae86a22 100644 --- a/app/code/Magento/ConfigurableImportExport/Test/Unit/Model/Import/Product/Type/ConfigurableTest.php +++ b/app/code/Magento/ConfigurableImportExport/Test/Unit/Model/Import/Product/Type/ConfigurableTest.php @@ -292,7 +292,7 @@ class ConfigurableTest extends \Magento\ImportExport\Test\Unit\Model\Import\Abst 'testattr3v3' => '6', ])); - $metadataPoolMock = $this->getMock(\Magento\Framework\Model\Entity\MetadataPool::class, [], [], '', false); + $metadataPoolMock = $this->getMock(\Magento\Framework\EntityManager\MetadataPool::class, [], [], '', false); $entityMetadataMock = $this->getMock(\Magento\Framework\Model\Entity\EntityMetadata::class, [], [], '', false); $metadataPoolMock->expects($this->any()) ->method('getMetadata') diff --git a/app/code/Magento/ConfigurableProduct/Model/Attribute/LockValidator.php b/app/code/Magento/ConfigurableProduct/Model/Attribute/LockValidator.php index 4b086658d70f9af8bf9cd7b84417c76eec65478f..55b1c3ef5dbf8656a973d550316e36b7ea386ed4 100644 --- a/app/code/Magento/ConfigurableProduct/Model/Attribute/LockValidator.php +++ b/app/code/Magento/ConfigurableProduct/Model/Attribute/LockValidator.php @@ -7,7 +7,7 @@ namespace Magento\ConfigurableProduct\Model\Attribute; use Magento\Catalog\Api\Data\ProductInterface; use Magento\Framework\App\ResourceConnection; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Catalog\Model\Attribute\LockValidatorInterface; /** diff --git a/app/code/Magento/ConfigurableProduct/Model/OptionRepository.php b/app/code/Magento/ConfigurableProduct/Model/OptionRepository.php index 27470ce03797b16d5bc20b35b2da892195fb321c..714a3a46c1b6b2ea4aaa3081c9ca1e07e3d5ebbb 100644 --- a/app/code/Magento/ConfigurableProduct/Model/OptionRepository.php +++ b/app/code/Magento/ConfigurableProduct/Model/OptionRepository.php @@ -17,7 +17,7 @@ use Magento\Framework\Exception\CouldNotSaveException; use Magento\ConfigurableProduct\Model\Product\Type\Configurable as ConfigurableType; use Magento\Catalog\Model\Product\Type as ProductType; use Magento\Store\Model\Store; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) diff --git a/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable.php b/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable.php index b7c4a060bf7e4e685bec38bebe36d657662f130c..95816b7ee05cd64c217796241a2ac3c04e862730 100644 --- a/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable.php +++ b/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable.php @@ -6,7 +6,7 @@ namespace Magento\ConfigurableProduct\Model\Product\Type; use Magento\Catalog\Api\Data\ProductInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Catalog\Api\ProductRepositoryInterface; /** diff --git a/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable/Attribute.php b/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable/Attribute.php index 2afb897268a1b4f9fb466df0f7a382050acd2669..fa8c942639469ea574db385526a2277b954e3419 100644 --- a/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable/Attribute.php +++ b/app/code/Magento/ConfigurableProduct/Model/Product/Type/Configurable/Attribute.php @@ -8,7 +8,7 @@ namespace Magento\ConfigurableProduct\Model\Product\Type\Configurable; use Magento\Framework\Api\AttributeValueFactory; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Catalog\Api\Data\ProductInterface; /** diff --git a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php index 1cdd974ef0b054d99929d0f3bb6c5189848ad91f..d32c610e2c0e75b96023b84e4e32d7e23142eea7 100644 --- a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php +++ b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable.php @@ -22,7 +22,7 @@ class Configurable extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb /** * Product metadata pool * - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ private $metadataPool; @@ -256,13 +256,13 @@ class Configurable extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb /** * Get product metadata pool * - * @return \Magento\Framework\Model\Entity\MetadataPool + * @return \Magento\Framework\EntityManager\MetadataPool */ private function getMetadataPool() { if (!$this->metadataPool) { $this->metadataPool = \Magento\Framework\App\ObjectManager::getInstance() - ->get(\Magento\Framework\Model\Entity\MetadataPool::class); + ->get(\Magento\Framework\EntityManager\MetadataPool::class); } return $this->metadataPool; } diff --git a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable/Product/Collection.php b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable/Product/Collection.php index a88f34db5fe07dad06bb2503807ae27d9c9289ce..a6d9fdb9911f4d1800719e256af05eb57c21ffaa 100644 --- a/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable/Product/Collection.php +++ b/app/code/Magento/ConfigurableProduct/Model/ResourceModel/Product/Type/Configurable/Product/Collection.php @@ -8,7 +8,7 @@ namespace Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable\Product; use Magento\Customer\Api\GroupManagementInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Catalog\Api\Data\ProductInterface; /** diff --git a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Attribute/LockValidatorTest.php b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Attribute/LockValidatorTest.php index c5b30adcb606b49d8364b60b7963027d069568ce..65efeeca6467b7d951353aef5cd878cbafa8e4b1 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Attribute/LockValidatorTest.php +++ b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Attribute/LockValidatorTest.php @@ -8,7 +8,7 @@ namespace Magento\ConfigurableProduct\Test\Unit\Model\Attribute; use Magento\Catalog\Api\Data\ProductInterface; use Magento\Framework\App\ResourceConnection; use Magento\Framework\Model\Entity\EntityMetadata; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; class LockValidatorTest extends \PHPUnit_Framework_TestCase diff --git a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Type/ConfigurableTest.php b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Type/ConfigurableTest.php index 9c2bf6575f683682be8e4d2ee5ac98c57eaf3945..b45395e69cfe3f84be47c5f136ce093eac020409 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Type/ConfigurableTest.php +++ b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/Product/Type/ConfigurableTest.php @@ -12,7 +12,7 @@ use Magento\Catalog\Api\Data\ProductExtensionInterface; use Magento\Catalog\Api\Data\ProductInterface; use Magento\ConfigurableProduct\Model\Product\Type\Configurable; use Magento\Framework\Model\Entity\EntityMetadata; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class \Magento\ConfigurableProduct\Test\Unit\Model\Product\Type\ConfigurableTest diff --git a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Product/Type/ConfigurableTest.php b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Product/Type/ConfigurableTest.php index d12980c40aed3b9152a3534e6e36cbd9d93812eb..382ca5cc2ec28a20312da9f4fac445f8024af415 100644 --- a/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Product/Type/ConfigurableTest.php +++ b/app/code/Magento/ConfigurableProduct/Test/Unit/Model/ResourceModel/Product/Type/ConfigurableTest.php @@ -36,7 +36,7 @@ class ConfigurableTest extends \PHPUnit_Framework_TestCase protected $relation; /** - * @var \Magento\Framework\Model\Entity\MetadataPool|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject */ protected $metadataPoolMock; @@ -59,7 +59,7 @@ class ConfigurableTest extends \PHPUnit_Framework_TestCase ); $this->metadataMock = $this->getMock(\Magento\Framework\Model\Entity\EntityMetadata::class, [], [], '', false); $this->metadataPoolMock = $this->getMock( - \Magento\Framework\Model\Entity\MetadataPool::class, + \Magento\Framework\EntityManager\MetadataPool::class, [], [], '', diff --git a/app/code/Magento/ConfigurableProduct/etc/di.xml b/app/code/Magento/ConfigurableProduct/etc/di.xml index b3bfa1fb3111afb44d1a332a9323ec563ae8ad82..a87784da2f0b469dee50a682f93892d0d1aad47a 100644 --- a/app/code/Magento/ConfigurableProduct/etc/di.xml +++ b/app/code/Magento/ConfigurableProduct/etc/di.xml @@ -65,9 +65,9 @@ <type name="Magento\Catalog\Model\Product\Type"> <plugin name="configurable_output" type="Magento\ConfigurableProduct\Model\Product\Type\Plugin" /> </type> - <type name="Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool"> + <type name="Magento\Framework\EntityManager\Operation\ExtensionPool"> <arguments> - <argument name="relationActions" xsi:type="array"> + <argument name="extensionActions" xsi:type="array"> <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array"> <item name="create" xsi:type="array"> <item name="create_configurable_options" xsi:type="string">Magento\ConfigurableProduct\Model\Product\SaveHandler</item> diff --git a/app/code/Magento/Downloadable/Model/LinkRepository.php b/app/code/Magento/Downloadable/Model/LinkRepository.php index 1fb2f3276018c5148058755766a0e318e19d1d9c..ab06d3c4a6749c0c3e16deb03c481466cb94c0a5 100644 --- a/app/code/Magento/Downloadable/Model/LinkRepository.php +++ b/app/code/Magento/Downloadable/Model/LinkRepository.php @@ -13,7 +13,7 @@ use \Magento\Downloadable\Model\Product\Type as DownloadableType; use Magento\Downloadable\Model\Link\ContentValidator; use Magento\Downloadable\Helper\File; use Magento\Framework\Json\Helper\Data as JsonHelper; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Downloadable\Model\ResourceModel\Link as LinkResource; use Magento\Framework\Exception\InputException; use Magento\Framework\Exception\NoSuchEntityException; diff --git a/app/code/Magento/Downloadable/Model/Product/TypeHandler/AbstractTypeHandler.php b/app/code/Magento/Downloadable/Model/Product/TypeHandler/AbstractTypeHandler.php index ee8a4dbd104571f894b94a80c2b3d53f885738a8..fa1305dfef87684059810ae5a02a0534a06d72de 100644 --- a/app/code/Magento/Downloadable/Model/Product/TypeHandler/AbstractTypeHandler.php +++ b/app/code/Magento/Downloadable/Model/Product/TypeHandler/AbstractTypeHandler.php @@ -10,7 +10,7 @@ use Magento\Catalog\Model\Product; use Magento\Downloadable\Helper\File; use Magento\Downloadable\Model\ComponentInterface; use Magento\Framework\Json\Helper\Data; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class AbstractTypeHandler diff --git a/app/code/Magento/Downloadable/Model/Product/TypeHandler/Link.php b/app/code/Magento/Downloadable/Model/Product/TypeHandler/Link.php index 4e7ed29ad2cc5ae3cf0a691e96e0fdd7c380f6b5..ef48f4e81eb4e1330fe7d4146659a37b5c82d871 100644 --- a/app/code/Magento/Downloadable/Model/Product/TypeHandler/Link.php +++ b/app/code/Magento/Downloadable/Model/Product/TypeHandler/Link.php @@ -32,14 +32,14 @@ class Link extends AbstractTypeHandler /** * @param \Magento\Framework\Json\Helper\Data $jsonHelper * @param \Magento\Downloadable\Helper\File $downloadableFile - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param \Magento\Downloadable\Model\LinkFactory $linkFactory * @param \Magento\Downloadable\Model\ResourceModel\Link $linkResource */ public function __construct( \Magento\Framework\Json\Helper\Data $jsonHelper, \Magento\Downloadable\Helper\File $downloadableFile, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Downloadable\Model\LinkFactory $linkFactory, \Magento\Downloadable\Model\ResourceModel\Link $linkResource ) { diff --git a/app/code/Magento/Downloadable/Model/Product/TypeHandler/Sample.php b/app/code/Magento/Downloadable/Model/Product/TypeHandler/Sample.php index 98d9135208fd59ef937baef1deda7e0c88da41b2..50fdc93ca47d8cbe28b534c50777c32f95be5c36 100644 --- a/app/code/Magento/Downloadable/Model/Product/TypeHandler/Sample.php +++ b/app/code/Magento/Downloadable/Model/Product/TypeHandler/Sample.php @@ -29,14 +29,14 @@ class Sample extends AbstractTypeHandler /** * @param \Magento\Framework\Json\Helper\Data $jsonHelper * @param \Magento\Downloadable\Helper\File $downloadableFile - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param \Magento\Downloadable\Model\SampleFactory $sampleFactory * @param \Magento\Downloadable\Model\ResourceModel\SampleFactory $sampleResourceFactory */ public function __construct( \Magento\Framework\Json\Helper\Data $jsonHelper, \Magento\Downloadable\Helper\File $downloadableFile, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Downloadable\Model\SampleFactory $sampleFactory, \Magento\Downloadable\Model\ResourceModel\SampleFactory $sampleResourceFactory ) { diff --git a/app/code/Magento/Downloadable/Model/ResourceModel/Link.php b/app/code/Magento/Downloadable/Model/ResourceModel/Link.php index 720a9cc6bf28c1eee598a401108b16cdd24636a3..2572b5dc158c7ed631dc35219fe8562e91ee12c0 100644 --- a/app/code/Magento/Downloadable/Model/ResourceModel/Link.php +++ b/app/code/Magento/Downloadable/Model/ResourceModel/Link.php @@ -15,7 +15,7 @@ use Magento\Catalog\Api\Data\ProductInterface; class Link extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -47,7 +47,7 @@ class Link extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb * @param \Magento\Framework\App\Config\ScopeConfigInterface $configuration * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory * @param \Magento\Store\Model\StoreManagerInterface $storeManager - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param string $connectionName */ public function __construct( @@ -56,7 +56,7 @@ class Link extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb \Magento\Framework\App\Config\ScopeConfigInterface $configuration, \Magento\Directory\Model\CurrencyFactory $currencyFactory, \Magento\Store\Model\StoreManagerInterface $storeManager, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, $connectionName = null ) { $this->_catalogData = $catalogData; diff --git a/app/code/Magento/Downloadable/Model/ResourceModel/Link/Collection.php b/app/code/Magento/Downloadable/Model/ResourceModel/Link/Collection.php index 65b37d621140a09188bc3eef9286b3b20ac14279..23ac9e620398cddb7055636c33a915f331535759 100644 --- a/app/code/Magento/Downloadable/Model/ResourceModel/Link/Collection.php +++ b/app/code/Magento/Downloadable/Model/ResourceModel/Link/Collection.php @@ -15,7 +15,7 @@ use Magento\Catalog\Api\Data\ProductInterface; class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection { /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -24,7 +24,7 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab * @param \Psr\Log\LoggerInterface $logger * @param \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy * @param \Magento\Framework\Event\ManagerInterface $eventManager - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param \Magento\Framework\DB\Adapter\AdapterInterface|null $connection * @param \Magento\Framework\Model\ResourceModel\Db\AbstractDb|null $resource */ @@ -33,7 +33,7 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab \Psr\Log\LoggerInterface $logger, \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, \Magento\Framework\Event\ManagerInterface $eventManager, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\DB\Adapter\AdapterInterface $connection = null, \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource = null ) { diff --git a/app/code/Magento/Downloadable/Model/ResourceModel/Sample.php b/app/code/Magento/Downloadable/Model/ResourceModel/Sample.php index a3b538e45954c6974a894644472cf34d1695e8b7..f49b3e68c54a32deca623f32b2f692ab95a5f469 100644 --- a/app/code/Magento/Downloadable/Model/ResourceModel/Sample.php +++ b/app/code/Magento/Downloadable/Model/ResourceModel/Sample.php @@ -15,18 +15,18 @@ use Magento\Catalog\Api\Data\ProductInterface; class Sample extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; /** * @param \Magento\Framework\Model\ResourceModel\Db\Context $context - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param null $connectionName */ public function __construct( \Magento\Framework\Model\ResourceModel\Db\Context $context, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, $connectionName = null ) { $this->metadataPool = $metadataPool; diff --git a/app/code/Magento/Downloadable/Model/ResourceModel/Sample/Collection.php b/app/code/Magento/Downloadable/Model/ResourceModel/Sample/Collection.php index faa4e94a598020ae54ba6006818a7f5f6683a57d..c2c6def6c46a355576580f80300dd7fa4582e515 100644 --- a/app/code/Magento/Downloadable/Model/ResourceModel/Sample/Collection.php +++ b/app/code/Magento/Downloadable/Model/ResourceModel/Sample/Collection.php @@ -15,7 +15,7 @@ use Magento\Catalog\Api\Data\ProductInterface; class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection { /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -24,7 +24,7 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab * @param \Psr\Log\LoggerInterface $logger * @param \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy * @param \Magento\Framework\Event\ManagerInterface $eventManager - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param \Magento\Framework\DB\Adapter\AdapterInterface|null $connection * @param \Magento\Framework\Model\ResourceModel\Db\AbstractDb|null $resource */ @@ -33,7 +33,7 @@ class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\Ab \Psr\Log\LoggerInterface $logger, \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, \Magento\Framework\Event\ManagerInterface $eventManager, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, \Magento\Framework\DB\Adapter\AdapterInterface $connection = null, \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource = null ) { diff --git a/app/code/Magento/Downloadable/Model/SampleRepository.php b/app/code/Magento/Downloadable/Model/SampleRepository.php index c0703d9c78b7830146bd9f41dcaadc96c548050e..6470bfbb964233a29ea64ccaa18f98e3851b8b28 100644 --- a/app/code/Magento/Downloadable/Model/SampleRepository.php +++ b/app/code/Magento/Downloadable/Model/SampleRepository.php @@ -11,7 +11,7 @@ use Magento\Downloadable\Api\Data\SampleInterfaceFactory; use Magento\Downloadable\Api\Data\SampleInterface; use Magento\Downloadable\Model\Product\Type; use Magento\Downloadable\Model\Sample\ContentValidator; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Downloadable\Model\ResourceModel\Sample as ResourceModel; use Magento\Framework\Json\Helper\Data as JsonHelper; use Magento\Downloadable\Helper\File; diff --git a/app/code/Magento/Downloadable/Test/Unit/Model/LinkRepositoryTest.php b/app/code/Magento/Downloadable/Test/Unit/Model/LinkRepositoryTest.php index 2a8a06408440f65d03ab3d21aff9f4ac79597073..45b10339d9ee3315abb8765cebf4a9642eb6fbf5 100644 --- a/app/code/Magento/Downloadable/Test/Unit/Model/LinkRepositoryTest.php +++ b/app/code/Magento/Downloadable/Test/Unit/Model/LinkRepositoryTest.php @@ -11,7 +11,7 @@ use Magento\Framework\DataObject; class LinkRepositoryTest extends \PHPUnit_Framework_TestCase { /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Model\Entity\MetadataPool + * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\EntityManager\MetadataPool */ protected $metadataPoolMock; @@ -62,7 +62,7 @@ class LinkRepositoryTest extends \PHPUnit_Framework_TestCase protected function setUp() { - $this->metadataPoolMock = $this->getMock('Magento\Framework\Model\Entity\MetadataPool', [], [], '', false); + $this->metadataPoolMock = $this->getMock('Magento\Framework\EntityManager\MetadataPool', [], [], '', false); $this->repositoryMock = $this->getMock('\Magento\Catalog\Api\ProductRepositoryInterface', [], [], '', false); $this->productTypeMock = $this->getMock('\Magento\Downloadable\Model\Product\Type', [], [], '', false); $this->linkResourceMock = $this->getMock('Magento\Downloadable\Model\ResourceModel\Link', [], [], '', false); diff --git a/app/code/Magento/Downloadable/Test/Unit/Model/Product/TypeHandler/LinkTest.php b/app/code/Magento/Downloadable/Test/Unit/Model/Product/TypeHandler/LinkTest.php index a9dce851e2812219a1b1cc0a179cea2a762d96cc..7724635694089119977ba004e32b2666653a0065 100644 --- a/app/code/Magento/Downloadable/Test/Unit/Model/Product/TypeHandler/LinkTest.php +++ b/app/code/Magento/Downloadable/Test/Unit/Model/Product/TypeHandler/LinkTest.php @@ -48,7 +48,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase ->disableOriginalConstructor() ->setMethods(['deleteItems']) ->getMock(); - $this->metadataPoolMock = $this->getMockBuilder('Magento\Framework\Model\Entity\MetadataPool') + $this->metadataPoolMock = $this->getMockBuilder('Magento\Framework\EntityManager\MetadataPool') ->disableOriginalConstructor() ->getMock(); $this->metadataMock = $this->getMock('Magento\Framework\Model\Entity\EntityMetadata', [], [], '', false); diff --git a/app/code/Magento/Downloadable/Test/Unit/Model/Product/TypeHandler/SampleTest.php b/app/code/Magento/Downloadable/Test/Unit/Model/Product/TypeHandler/SampleTest.php index 3480bb6cd98189e26b47839dc9b3839baa04e6cc..4ed1940552a9590786868d0e60c50d130eb84d24 100644 --- a/app/code/Magento/Downloadable/Test/Unit/Model/Product/TypeHandler/SampleTest.php +++ b/app/code/Magento/Downloadable/Test/Unit/Model/Product/TypeHandler/SampleTest.php @@ -55,7 +55,7 @@ class SampleTest extends \PHPUnit_Framework_TestCase $sampleResourceFactory->expects($this->any()) ->method('create') ->will($this->returnValue($this->sampleResource)); - $this->metadataPoolMock = $this->getMockBuilder('Magento\Framework\Model\Entity\MetadataPool') + $this->metadataPoolMock = $this->getMockBuilder('Magento\Framework\EntityManager\MetadataPool') ->disableOriginalConstructor() ->getMock(); $this->metadataMock = $this->getMock('Magento\Framework\Model\Entity\EntityMetadata', [], [], '', false); diff --git a/app/code/Magento/Downloadable/Test/Unit/Model/SampleRepositoryTest.php b/app/code/Magento/Downloadable/Test/Unit/Model/SampleRepositoryTest.php index 66bb28030a8bec359eacca891bd96003e1ce0ea8..dad67ea42e4fba96e546f6ee5bb6046f6e5a94b4 100644 --- a/app/code/Magento/Downloadable/Test/Unit/Model/SampleRepositoryTest.php +++ b/app/code/Magento/Downloadable/Test/Unit/Model/SampleRepositoryTest.php @@ -16,7 +16,7 @@ class SampleRepositoryTest extends \PHPUnit_Framework_TestCase protected $service; /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Model\Entity\MetadataPool + * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\EntityManager\MetadataPool */ protected $metadataPoolMock; @@ -62,7 +62,7 @@ class SampleRepositoryTest extends \PHPUnit_Framework_TestCase protected function setUp() { - $this->metadataPoolMock = $this->getMock('Magento\Framework\Model\Entity\MetadataPool', [], [], '', false); + $this->metadataPoolMock = $this->getMock('Magento\Framework\EntityManager\MetadataPool', [], [], '', false); $this->repositoryMock = $this->getMock('\Magento\Catalog\Api\ProductRepositoryInterface', [], [], '', false); $this->productTypeMock = $this->getMock('\Magento\Downloadable\Model\Product\Type', [], [], '', false); $this->sampleResourceMock = $this->getMock( diff --git a/app/code/Magento/Downloadable/etc/di.xml b/app/code/Magento/Downloadable/etc/di.xml index e2c04429616d06e19a58089bdf6bc88a5a3f196c..890a14f89c6473da6fc78c96eedbf82254892ae2 100644 --- a/app/code/Magento/Downloadable/etc/di.xml +++ b/app/code/Magento/Downloadable/etc/di.xml @@ -75,9 +75,9 @@ <preference for="\Magento\Downloadable\Api\Data\File\ContentUploaderInterface" type="\Magento\Downloadable\Model\File\ContentUploader" /> <preference for="\Magento\Downloadable\Model\Product\TypeHandler\TypeHandlerInterface" type="\Magento\Downloadable\Model\Product\TypeHandler\TypeHandler" /> <preference for="\Magento\Downloadable\Api\Data\DownloadableOptionInterface" type="\Magento\Downloadable\Model\DownloadableOption" /> - <type name="Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool"> + <type name="Magento\Framework\EntityManager\Operation\ExtensionPool"> <arguments> - <argument name="relationActions" xsi:type="array"> + <argument name="extensionActions" xsi:type="array"> <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array"> <item name="read" xsi:type="array"> <item name="downloadable_link_read" xsi:type="string">Magento\Downloadable\Model\Link\ReadHandler</item> @@ -99,7 +99,7 @@ </argument> </arguments> </type> - <type name="Magento\Framework\Model\Entity\MetadataPool"> + <type name="Magento\Framework\EntityManager\MetadataPool"> <arguments> <argument name="metadata" xsi:type="array"> <item name="Magento\Downloadable\Api\Data\LinkInterface" xsi:type="array"> diff --git a/app/code/Magento/Eav/Model/AttributeProvider.php b/app/code/Magento/Eav/Model/AttributeProvider.php index 56eb5b46a5ba891741790c0bf9fab0a0e477a963..5e21b58531f454aa12c0df6e74f33f087f2c57e4 100644 --- a/app/code/Magento/Eav/Model/AttributeProvider.php +++ b/app/code/Magento/Eav/Model/AttributeProvider.php @@ -7,7 +7,7 @@ namespace Magento\Eav\Model; use Magento\Framework\Model\EntitySnapshot\AttributeProviderInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Eav\Api\AttributeRepositoryInterface; use Magento\Framework\Api\SearchCriteriaBuilder; diff --git a/app/code/Magento/Eav/Model/ResourceModel/AttributePersistor.php b/app/code/Magento/Eav/Model/ResourceModel/AttributePersistor.php index edc1340dce18e536aa1b53a5fdb1f8f80bd842e1..b5d9989b61e5f586a9f7c079a61bf4dc4ac482f6 100644 --- a/app/code/Magento/Eav/Model/ResourceModel/AttributePersistor.php +++ b/app/code/Magento/Eav/Model/ResourceModel/AttributePersistor.php @@ -12,7 +12,7 @@ use Magento\Catalog\Api\ProductRepositoryInterface; use Magento\Eav\Model\Entity\Attribute\AbstractAttribute; use Magento\Store\Model\StoreManagerInterface; use Magento\Framework\Locale\FormatInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class AttributePersistor diff --git a/app/code/Magento/Eav/Model/ResourceModel/CreateHandler.php b/app/code/Magento/Eav/Model/ResourceModel/CreateHandler.php index 74f45ef68a9ccb29c662daa01337c4bb8a9b80bf..4c82f1cbf2a79d742f8ce30a4b133b746d35e1a4 100644 --- a/app/code/Magento/Eav/Model/ResourceModel/CreateHandler.php +++ b/app/code/Magento/Eav/Model/ResourceModel/CreateHandler.php @@ -6,7 +6,7 @@ namespace Magento\Eav\Model\ResourceModel; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Eav\Api\AttributeRepositoryInterface as AttributeRepository; use Magento\Framework\Api\SearchCriteriaBuilder; use Magento\Framework\Model\Entity\ScopeResolver; diff --git a/app/code/Magento/Eav/Model/ResourceModel/ReadHandler.php b/app/code/Magento/Eav/Model/ResourceModel/ReadHandler.php index 1a311ab2b1c8bfdafea81b5e8a5b463e65145323..b3e5f10fff238481ee4dff610f5958a43634a1c8 100644 --- a/app/code/Magento/Eav/Model/ResourceModel/ReadHandler.php +++ b/app/code/Magento/Eav/Model/ResourceModel/ReadHandler.php @@ -7,7 +7,7 @@ namespace Magento\Eav\Model\ResourceModel; use Magento\Eav\Api\AttributeRepositoryInterface as AttributeRepository; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Api\SearchCriteriaBuilder; use Magento\Framework\App\ResourceConnection as AppResource; use Magento\Framework\Model\Entity\ScopeResolver; diff --git a/app/code/Magento/Eav/Model/ResourceModel/UpdateHandler.php b/app/code/Magento/Eav/Model/ResourceModel/UpdateHandler.php index 5818165dc5b0bceadfdaccd4478eb48d78b50301..46446dc168591fa417b7bd5646f45e2df24eebe9 100644 --- a/app/code/Magento/Eav/Model/ResourceModel/UpdateHandler.php +++ b/app/code/Magento/Eav/Model/ResourceModel/UpdateHandler.php @@ -6,7 +6,7 @@ namespace Magento\Eav\Model\ResourceModel; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Eav\Api\AttributeRepositoryInterface as AttributeRepository; use Magento\Framework\Api\SearchCriteriaBuilder; use Magento\Framework\Model\Entity\ScopeResolver; diff --git a/app/code/Magento/Eav/etc/di.xml b/app/code/Magento/Eav/etc/di.xml index 809829ce6df0bc8e659988844ff6f853910b3862..f9fe0841e9dead6e344eca8c1b68fb6b3ac0d07f 100644 --- a/app/code/Magento/Eav/etc/di.xml +++ b/app/code/Magento/Eav/etc/di.xml @@ -62,7 +62,7 @@ <argument name="reservedAttributeList" xsi:type="object">Magento\Catalog\Model\Product\ReservedAttributeList\Proxy</argument> </arguments> </type> - <type name="Magento\Framework\Model\ResourceModel\Db\ExtensionPool"> + <type name="Magento\Framework\EntityManager\Operation\AttributePool"> <arguments> <argument name="extensionActions" xsi:type="array"> <item name="eav" xsi:type="array"> @@ -84,11 +84,6 @@ </argument> </arguments> </type> - <type name="Magento\Eav\Model\ResourceModel\ReadHandler"> - <arguments> - <argument name="contextHandler" xsi:type="object">Magento\Eav\Model\ResourceModel\ContextHandler</argument> - </arguments> - </type> <type name="Magento\Eav\Model\Entity\AbstractEntity"> <plugin name="clean_cache" type="Magento\Framework\App\Cache\FlushCacheByTags" /> </type> diff --git a/app/code/Magento/GroupedImportExport/Test/Unit/Model/Import/Product/Type/GroupedTest.php b/app/code/Magento/GroupedImportExport/Test/Unit/Model/Import/Product/Type/GroupedTest.php index cca8ffca238bfe664dd69fda5d000ceed61a0497..9ebf08915283d038499017b47ea238091b72868a 100644 --- a/app/code/Magento/GroupedImportExport/Test/Unit/Model/Import/Product/Type/GroupedTest.php +++ b/app/code/Magento/GroupedImportExport/Test/Unit/Model/Import/Product/Type/GroupedTest.php @@ -162,7 +162,7 @@ class GroupedTest extends \Magento\ImportExport\Test\Unit\Model\Import\AbstractI 'links' => $this->links ] ); - $metadataPoolMock = $this->getMock(\Magento\Framework\Model\Entity\MetadataPool::class, [], [], '', false); + $metadataPoolMock = $this->getMock(\Magento\Framework\EntityManager\MetadataPool::class, [], [], '', false); $entityMetadataMock = $this->getMock(\Magento\Framework\Model\Entity\EntityMetadata::class, [], [], '', false); $metadataPoolMock->expects($this->any()) ->method('getMetadata') diff --git a/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Link.php b/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Link.php index 944234c1d135a823c907636f827f65916711aa5f..b9bc442023ab1a3e41debc88fa68a0d49c1ee8e0 100644 --- a/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Link.php +++ b/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Link.php @@ -6,7 +6,7 @@ namespace Magento\GroupedProduct\Model\ResourceModel\Product; use Magento\Catalog\Api\Data\ProductInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class Link diff --git a/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Type/Grouped/AssociatedProductsCollection.php b/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Type/Grouped/AssociatedProductsCollection.php index 9acbda5af933b1e0e5581d8d668a937aa4b4edda..b57f9e2455de098d5651c837becaf20300d85159 100644 --- a/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Type/Grouped/AssociatedProductsCollection.php +++ b/app/code/Magento/GroupedProduct/Model/ResourceModel/Product/Type/Grouped/AssociatedProductsCollection.php @@ -7,7 +7,7 @@ */ namespace Magento\GroupedProduct\Model\ResourceModel\Product\Type\Grouped; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) diff --git a/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php b/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php index 54f112b4e3d428c3ee7a64bd12f70c3e7143ee44..306bf715fc1121e6b579578a4b2bc2cac594da1b 100644 --- a/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php +++ b/app/code/Magento/ImportExport/Model/Import/Entity/AbstractEntity.php @@ -242,7 +242,7 @@ abstract class AbstractEntity /** * Product metadata pool * - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -840,13 +840,13 @@ abstract class AbstractEntity /** * Get product metadata pool * - * @return \Magento\Framework\Model\Entity\MetadataPool + * @return \Magento\Framework\EntityManager\MetadataPool */ protected function getMetadataPool() { if (!$this->metadataPool) { $this->metadataPool = \Magento\Framework\App\ObjectManager::getInstance() - ->get(\Magento\Framework\Model\Entity\MetadataPool::class); + ->get(\Magento\Framework\EntityManager\MetadataPool::class); } return $this->metadataPool; } diff --git a/app/code/Magento/SalesRule/Model/ResourceModel/ReadHandler.php b/app/code/Magento/SalesRule/Model/ResourceModel/ReadHandler.php index 7a1162d4a2e5ed5b5dec31cd1fb5abf2bfa5d35f..e46fcd08b3c29b5c99210f7ec12bad6a101f07c2 100644 --- a/app/code/Magento/SalesRule/Model/ResourceModel/ReadHandler.php +++ b/app/code/Magento/SalesRule/Model/ResourceModel/ReadHandler.php @@ -6,7 +6,7 @@ namespace Magento\SalesRule\Model\ResourceModel; use Magento\SalesRule\Model\ResourceModel\Rule; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class ReadHandler { diff --git a/app/code/Magento/SalesRule/Model/ResourceModel/SaveHandler.php b/app/code/Magento/SalesRule/Model/ResourceModel/SaveHandler.php index 777b241f8f7146301138467fe28bd812cb473b22..e882e86cdc17978e2498de8ac355cb7efacf2a85 100644 --- a/app/code/Magento/SalesRule/Model/ResourceModel/SaveHandler.php +++ b/app/code/Magento/SalesRule/Model/ResourceModel/SaveHandler.php @@ -6,7 +6,7 @@ namespace Magento\SalesRule\Model\ResourceModel; use Magento\SalesRule\Model\ResourceModel\Rule; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; class SaveHandler { diff --git a/app/code/Magento/SalesRule/Test/Unit/Model/ResourceModel/ReadHandlerTest.php b/app/code/Magento/SalesRule/Test/Unit/Model/ResourceModel/ReadHandlerTest.php index 545358cf1c030de0e2c34a42d25a68f3c6315b60..71cf86f0e6fa509dde3fcbbc8c9e23e02b1d1873 100644 --- a/app/code/Magento/SalesRule/Test/Unit/Model/ResourceModel/ReadHandlerTest.php +++ b/app/code/Magento/SalesRule/Test/Unit/Model/ResourceModel/ReadHandlerTest.php @@ -7,7 +7,7 @@ namespace Magento\SalesRule\Test\Unit\Model\ResourceModel; use Magento\SalesRule\Model\ResourceModel\ReadHandler; use Magento\SalesRule\Model\ResourceModel\Rule; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\SalesRule\Api\Data\RuleInterface; /** @@ -44,7 +44,7 @@ class ReadHandlerTest extends \PHPUnit_Framework_TestCase $className = 'Magento\SalesRule\Model\ResourceModel\Rule'; $this->ruleResource = $this->getMock($className, [], [], '', false); - $className = 'Magento\Framework\Model\Entity\MetadataPool'; + $className = 'Magento\Framework\EntityManager\MetadataPool'; $this->metadataPool = $this->getMock($className, [], [], '', false); $this->model = $this->objectManager->getObject( diff --git a/app/code/Magento/SalesRule/Test/Unit/Model/ResourceModel/SaveHandlerTest.php b/app/code/Magento/SalesRule/Test/Unit/Model/ResourceModel/SaveHandlerTest.php index 02326529a8c670d40322c3d187a73bbc4b7c2dca..71fd7cece8a64d681795b08c40b5318d898c712b 100644 --- a/app/code/Magento/SalesRule/Test/Unit/Model/ResourceModel/SaveHandlerTest.php +++ b/app/code/Magento/SalesRule/Test/Unit/Model/ResourceModel/SaveHandlerTest.php @@ -7,7 +7,7 @@ namespace Magento\SalesRule\Test\Unit\Model\ResourceModel; use Magento\SalesRule\Model\ResourceModel\SaveHandler; use Magento\SalesRule\Model\ResourceModel\Rule; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\SalesRule\Api\Data\RuleInterface; /** @@ -44,7 +44,7 @@ class SaveHandlerTest extends \PHPUnit_Framework_TestCase $className = 'Magento\SalesRule\Model\ResourceModel\Rule'; $this->ruleResource = $this->getMock($className, [], [], '', false); - $className = 'Magento\Framework\Model\Entity\MetadataPool'; + $className = 'Magento\Framework\EntityManager\MetadataPool'; $this->metadataPool = $this->getMock($className, [], [], '', false); $this->model = $this->objectManager->getObject( diff --git a/app/code/Magento/SalesRule/etc/di.xml b/app/code/Magento/SalesRule/etc/di.xml index 0785a7faf1d68f0d06de6e384f3599a467cd2921..afe8e2cd48c01a3bbb03eb085868d4af8154b801 100644 --- a/app/code/Magento/SalesRule/etc/di.xml +++ b/app/code/Magento/SalesRule/etc/di.xml @@ -106,7 +106,7 @@ </argument> </arguments> </type> - <type name="Magento\Framework\Model\Entity\MetadataPool"> + <type name="Magento\Framework\EntityManager\MetadataPool"> <arguments> <argument name="metadata" xsi:type="array"> <item name="Magento\SalesRule\Api\Data\RuleInterface" xsi:type="array"> @@ -116,11 +116,11 @@ </argument> </arguments> </type> - <type name="Magento\Framework\Model\OrchestratorPool"> + <type name="Magento\Framework\EntityManager\OperationPool"> <arguments> <argument name="operations" xsi:type="array"> <item name="default" xsi:type="array"> - <item name="read" xsi:type="string">Magento\Framework\Model\Operation\Read</item> + <item name="read" xsi:type="string">Magento\Framework\EntityManager\Operation\Read</item> <item name="create" xsi:type="string">Magento\Framework\Model\Operation\Write\Create</item> <item name="update" xsi:type="string">Magento\Framework\Model\Operation\Write\Update</item> <item name="delete" xsi:type="string">Magento\Framework\Model\Operation\Write\Delete</item> @@ -128,7 +128,7 @@ </argument> </arguments> </type> - <type name="Magento\Framework\Model\ResourceModel\Db\ExtensionPool"> + <type name="Magento\Framework\EntityManager\Operation\AttributePool"> <arguments> <argument name="extensionActions" xsi:type="array"> <item name="salesRule" xsi:type="array"> diff --git a/app/code/Magento/Security/view/adminhtml/layout/admin_login.xml b/app/code/Magento/Security/view/adminhtml/layout/admin_login.xml deleted file mode 100644 index 7e4f46d2adbff09d1011b559e7b13267ffb16177..0000000000000000000000000000000000000000 --- a/app/code/Magento/Security/view/adminhtml/layout/admin_login.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> - <body> - <referenceBlock name="security.init.ajax.session.checker" remove="true"/> - </body> -</page> diff --git a/app/code/Magento/Security/view/adminhtml/layout/default.xml b/app/code/Magento/Security/view/adminhtml/layout/default.xml deleted file mode 100644 index 39481ae09285371f3afe0cbb76ae841e558fb6bf..0000000000000000000000000000000000000000 --- a/app/code/Magento/Security/view/adminhtml/layout/default.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> - <body> - <referenceContainer name="before.body.end"> - <block class="Magento\Security\Block\Adminhtml\Js\Checker" name="security.init.ajax.session.checker" template="Magento_Security::js/init_ajax_session_checker.phtml" /> - </referenceContainer> - <referenceContainer name="legal.system"> - <block class="Magento\Framework\View\Element\Template" name="session.activity.link" template="Magento_Security::page/activity_link.phtml" before="report" ifconfig="admin/security/admin_account_sharing" /> - </referenceContainer> - </body> -</page> diff --git a/app/code/Magento/Security/view/adminhtml/layout/security_session_activity.xml b/app/code/Magento/Security/view/adminhtml/layout/security_session_activity.xml deleted file mode 100644 index bbb928a94f0bcc45de61092c60a8e6bbfb50041c..0000000000000000000000000000000000000000 --- a/app/code/Magento/Security/view/adminhtml/layout/security_session_activity.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-popup" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> - <head> - <css src="Magento_Security::css/activity.css"/> - </head> - <body> - <referenceContainer name="content"> - <block class="Magento\Security\Block\Adminhtml\Session\Activity" name="session.activity" template="Magento_Security::session/activity.phtml" /> - </referenceContainer> - </body> -</page> diff --git a/app/code/Magento/Security/view/adminhtml/page_layout/admin-popup.xml b/app/code/Magento/Security/view/adminhtml/page_layout/admin-popup.xml deleted file mode 100644 index 6aeabd73e08f9fcdbdfdf7f7ca295f46442c12fa..0000000000000000000000000000000000000000 --- a/app/code/Magento/Security/view/adminhtml/page_layout/admin-popup.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0"?> -<!-- -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_layout.xsd"> - <container name="backend.session.activity"> - <container name="after.body.start" as="after.body.start" label="Page Top" before="-"/> - <container name="page.wrapper" as="page_wrapper" htmlTag="div" htmlClass="page-wrapper"> - <container name="page.main.container" as="page_main_container" htmlId="page:main-container" htmlTag="div" htmlClass="page-columns"> - <container name="main.col" as="main-col" htmlId="container" htmlTag="div" htmlClass="main-col"> - <container name="content" as="content" /> - </container> - </container> - <container name="js" as="js" label="JavaScript"/> - </container> - <container name="before.body.end" as="before_body_end" label="Before Body End" after="-"/> - </container> -</layout> diff --git a/app/code/Magento/Sitemap/Model/ResourceModel/Catalog/Category.php b/app/code/Magento/Sitemap/Model/ResourceModel/Catalog/Category.php index dc71b469f39a04063d10cbd219251cc9a6ae217c..2bd1435a1060eed349e4c7eb89db0b95ff721622 100644 --- a/app/code/Magento/Sitemap/Model/ResourceModel/Catalog/Category.php +++ b/app/code/Magento/Sitemap/Model/ResourceModel/Catalog/Category.php @@ -39,7 +39,7 @@ class Category extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb protected $_categoryResource; /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -47,14 +47,14 @@ class Category extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb * @param \Magento\Framework\Model\ResourceModel\Db\Context $context * @param \Magento\Store\Model\StoreManagerInterface $storeManager * @param \Magento\Catalog\Model\ResourceModel\Category $categoryResource - * @param \Magento\Framework\Model\Entity\MetadataPool $metadataPool + * @param \Magento\Framework\EntityManager\MetadataPool $metadataPool * @param string $connectionName */ public function __construct( \Magento\Framework\Model\ResourceModel\Db\Context $context, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Catalog\Model\ResourceModel\Category $categoryResource, - \Magento\Framework\Model\Entity\MetadataPool $metadataPool, + \Magento\Framework\EntityManager\MetadataPool $metadataPool, $connectionName = null ) { $this->_storeManager = $storeManager; diff --git a/app/code/Magento/Sitemap/Model/ResourceModel/Cms/Page.php b/app/code/Magento/Sitemap/Model/ResourceModel/Cms/Page.php index e500d84cabc900e2611a69f1ac66c86b58d148b6..2842898c75a488e33088449d7e39a29eb52aff3b 100644 --- a/app/code/Magento/Sitemap/Model/ResourceModel/Cms/Page.php +++ b/app/code/Magento/Sitemap/Model/ResourceModel/Cms/Page.php @@ -6,7 +6,7 @@ namespace Magento\Sitemap\Model\ResourceModel\Cms; use Magento\Cms\Api\Data\PageInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\ResourceModel\Db\Context; use Magento\Framework\Model\AbstractModel; use Magento\Cms\Model\Page as CmsPage; diff --git a/app/etc/di.xml b/app/etc/di.xml index 2dc7d99d05bd36818206deeabc0c92477fb86cce..b74ea39ba89c334e199f02adf689b9692e897c11 100755 --- a/app/etc/di.xml +++ b/app/etc/di.xml @@ -7,6 +7,8 @@ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <preference for="Psr\Log\LoggerInterface" type="Magento\Framework\Logger\Monolog" /> + <preference for="Magento\Framework\EntityManager\EntityMetadataInterface" type="Magento\Framework\EntityManager\EntityMetadata" /> + <preference for="Magento\Framework\EntityManager\EntityHydratorInterface" type="Magento\Framework\Model\Entity\Hydrator" /> <preference for="Magento\Framework\View\Template\Html\MinifierInterface" type="Magento\Framework\View\Template\Html\Minifier" /> <preference for="Magento\Framework\Model\Entity\ScopeInterface" type="Magento\Framework\Model\Entity\Scope" /> <preference for="Magento\Framework\ObjectManager\FactoryInterface" type="Magento\Framework\ObjectManager\Factory\Dynamic\Developer" /> @@ -1169,14 +1171,15 @@ </argument> </arguments> </type> - <type name="Magento\Framework\Model\OrchestratorPool"> + <type name="Magento\Framework\EntityManager\OperationPool"> <arguments> <argument name="operations" xsi:type="array"> <item name="default" xsi:type="array"> - <item name="read" xsi:type="object">Magento\Framework\Model\Operation\Read</item> - <item name="create" xsi:type="object">Magento\Framework\Model\Operation\Write\Create</item> - <item name="update" xsi:type="object">Magento\Framework\Model\Operation\Write\Update</item> - <item name="delete" xsi:type="object">Magento\Framework\Model\Operation\Write\Delete</item> + <item name="checkIsExists" xsi:type="string">Magento\Framework\EntityManager\Operation\Read\CheckIsExists</item> + <item name="read" xsi:type="string">Magento\Framework\EntityManager\Operation\Read</item> + <item name="create" xsi:type="string">Magento\Framework\EntityManager\Operation\Write\Create</item> + <item name="update" xsi:type="string">Magento\Framework\EntityManager\Operation\Write\Update</item> + <item name="delete" xsi:type="string">Magento\Framework\EntityManager\Operation\Write\Delete</item> </item> </argument> </arguments> diff --git a/dev/tests/api-functional/phpunit.xml.dist b/dev/tests/api-functional/phpunit.xml.dist index 5138d64ee83540d375a91bc64ee35f72a3b7cf53..aa6f7c08e307f601c9bf3e37530532bdff2e859e 100644 --- a/dev/tests/api-functional/phpunit.xml.dist +++ b/dev/tests/api-functional/phpunit.xml.dist @@ -35,7 +35,7 @@ <!-- WebSerivice Type. Possible values: soap, rest --> <const name="TESTS_WEB_API_ADAPTER" value="rest"/> <!-- Webserver URL --> - <const name="TESTS_BASE_URL" value="http://magento.url"/> + <const name="TESTS_BASE_URL" value="http://magento-ee.localhost"/> <!-- Webserver API user --> <const name="TESTS_WEBSERVICE_USER" value="admin"/> <!-- Webserver API key --> diff --git a/dev/tests/integration/etc/install-config-mysql.php.dist b/dev/tests/integration/etc/install-config-mysql.php.dist index 3cbe5eed4e976da6ad88238ad9a60a7fdb42c999..aba4e19fd2a29166e4d1f60799cf9651a4aadd2b 100644 --- a/dev/tests/integration/etc/install-config-mysql.php.dist +++ b/dev/tests/integration/etc/install-config-mysql.php.dist @@ -7,7 +7,7 @@ return [ 'db-host' => 'localhost', 'db-user' => 'root', - 'db-password' => '', + 'db-password' => '123123q', 'db-name' => 'magento_integration_tests', 'db-prefix' => '', 'backend-frontname' => 'backend', diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/TierpriceTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/TierpriceTest.php index ca9f1333187277a38e152f1177c43b0f0bcf0d86..4f477c9fc80476c136dca2b9be967a960a1f08bb 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/TierpriceTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/TierpriceTest.php @@ -15,7 +15,7 @@ use Magento\Catalog\Api\Data\ProductInterface; class TierpriceTest extends \PHPUnit_Framework_TestCase { /** - * @var \Magento\Framework\Model\Entity\MetadataPool + * @var \Magento\Framework\EntityManager\MetadataPool */ protected $metadataPool; @@ -38,7 +38,7 @@ class TierpriceTest extends \PHPUnit_Framework_TestCase 'Magento\Catalog\Model\ProductRepository' ); $this->metadataPool = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( - 'Magento\Framework\Model\Entity\MetadataPool' + 'Magento\Framework\EntityManager\MetadataPool' ); $this->_model->setAttribute( \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Gallery/ReadHandlerTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Gallery/ReadHandlerTest.php index a21c8f78fb701a9efaf12396ab3a381df653db8f..592e42ef3b02927b8f35df85ea304df6b735fb33 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Gallery/ReadHandlerTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Gallery/ReadHandlerTest.php @@ -6,7 +6,7 @@ namespace Magento\Catalog\Model\Product\Gallery; use Magento\Catalog\Api\Data\ProductInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\TestFramework\Helper\Bootstrap; /** diff --git a/dev/tests/integration/testsuite/Magento/ConfigurableImportExport/Model/Import/Product/Type/ConfigurableTest.php b/dev/tests/integration/testsuite/Magento/ConfigurableImportExport/Model/Import/Product/Type/ConfigurableTest.php index 5f510ff8f58d67dcf7068845e0f21726e605f59b..d3ad2c76e3be5a844391f0f516d3479158ab3444 100644 --- a/dev/tests/integration/testsuite/Magento/ConfigurableImportExport/Model/Import/Product/Type/ConfigurableTest.php +++ b/dev/tests/integration/testsuite/Magento/ConfigurableImportExport/Model/Import/Product/Type/ConfigurableTest.php @@ -51,8 +51,8 @@ class ConfigurableTest extends \PHPUnit_Framework_TestCase { $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); $this->model = $this->objectManager->create(\Magento\CatalogImportExport\Model\Import\Product::class); - /** @var \Magento\Framework\Model\Entity\MetadataPool $metadataPool */ - $metadataPool = $this->objectManager->get(\Magento\Framework\Model\Entity\MetadataPool::class); + /** @var \Magento\Framework\EntityManager\MetadataPool $metadataPool */ + $metadataPool = $this->objectManager->get(\Magento\Framework\EntityManager\MetadataPool::class); $this->productMetadata = $metadataPool->getMetadata(\Magento\Catalog\Api\Data\ProductInterface::class); } diff --git a/dev/tests/integration/testsuite/Magento/DownloadableImportExport/Model/Import/Product/Type/DownloadableTest.php b/dev/tests/integration/testsuite/Magento/DownloadableImportExport/Model/Import/Product/Type/DownloadableTest.php index 3a6d8166c9bc25e6a48be346b0a36012a5405880..cdf227d2a0bd2b5992df806a886c9b0b35abb69e 100644 --- a/dev/tests/integration/testsuite/Magento/DownloadableImportExport/Model/Import/Product/Type/DownloadableTest.php +++ b/dev/tests/integration/testsuite/Magento/DownloadableImportExport/Model/Import/Product/Type/DownloadableTest.php @@ -55,8 +55,8 @@ class DownloadableTest extends \PHPUnit_Framework_TestCase $this->model = $this->objectManager->create( \Magento\CatalogImportExport\Model\Import\Product::class ); - /** @var \Magento\Framework\Model\Entity\MetadataPool $metadataPool */ - $metadataPool = $this->objectManager->get(\Magento\Framework\Model\Entity\MetadataPool::class); + /** @var \Magento\Framework\EntityManager\MetadataPool $metadataPool */ + $metadataPool = $this->objectManager->get(\Magento\Framework\EntityManager\MetadataPool::class); $this->productMetadata = $metadataPool->getMetadata(\Magento\Catalog\Api\Data\ProductInterface::class); } diff --git a/lib/internal/Magento/Framework/Model/CommitCallback.php b/lib/internal/Magento/Framework/EntityManager/CallbackHandler.php similarity index 93% rename from lib/internal/Magento/Framework/Model/CommitCallback.php rename to lib/internal/Magento/Framework/EntityManager/CallbackHandler.php index 0b13250bbaa356ba8cf4211703f9f3b6a1fa1568..630724ed656e3fd1a8c9b88b5cb9181d80834b0a 100644 --- a/lib/internal/Magento/Framework/Model/CommitCallback.php +++ b/lib/internal/Magento/Framework/EntityManager/CallbackHandler.php @@ -4,15 +4,15 @@ * See COPYING.txt for license details. */ -namespace Magento\Framework\Model; +namespace Magento\Framework\EntityManager; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\Model\CallbackPool; use Psr\Log\LoggerInterface; /** - * Class CommitCallback + * Class CallbackHandler */ -class CommitCallback +class CallbackHandler { /** * @var MetadataPool diff --git a/lib/internal/Magento/Framework/EntityManager/Db/CreateRow.php b/lib/internal/Magento/Framework/EntityManager/Db/CreateRow.php new file mode 100644 index 0000000000000000000000000000000000000000..6a44569c939d5eb392dfb3f571c30ded8956000f --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Db/CreateRow.php @@ -0,0 +1,86 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Db; + +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\EntityManager\EntityMetadataInterface; +use Magento\Framework\DB\Adapter\AdapterInterface; +use Magento\Framework\App\ResourceConnection; + + +/** + * Class CreateRow + */ +class CreateRow +{ + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var ResourceConnection + */ + private $resourceConnection; + + /** + * CreateRow constructor. + * + * @param MetadataPool $metadataPool + * @param ResourceConnection $resourceConnection + */ + public function __construct( + MetadataPool $metadataPool, + ResourceConnection $resourceConnection + ) { + $this->metadataPool = $metadataPool; + $this->resourceConnection = $resourceConnection; + } + + /** + * @param EntityMetadataInterface $metadata + * @param AdapterInterface $connection + * @param array $data + * @return array + */ + protected function prepareData(EntityMetadataInterface $metadata, AdapterInterface $connection, $data) + { + $output = []; + foreach ($connection->describeTable($metadata->getEntityTable()) as $column) { + + if ($column['DEFAULT'] == 'CURRENT_TIMESTAMP') { + continue; + } + if (isset($data[strtolower($column['COLUMN_NAME'])])) { + $output[strtolower($column['COLUMN_NAME'])] = $data[strtolower($column['COLUMN_NAME'])]; + } elseif ($column['DEFAULT'] === null) { + $output[strtolower($column['COLUMN_NAME'])] = null; + } + } + if (empty($data[$metadata->getIdentifierField()])) { + $output[$metadata->getIdentifierField()] = $metadata->generateIdentifier(); + } + return $output; + } + + /** + * @param string $entityType + * @param array $data + * @return array + */ + public function execute($entityType, $data) + { + $metadata = $this->metadataPool->getMetadata($entityType); + $linkField = $metadata->getLinkField(); + $entityTable = $metadata->getEntityTable(); + $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName()); + $connection->insert($entityTable, $this->prepareData($metadata, $connection, $data)); + $data[$linkField] = $connection->lastInsertId($entityTable); + + return $data; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Db/DeleteRow.php b/lib/internal/Magento/Framework/EntityManager/Db/DeleteRow.php new file mode 100644 index 0000000000000000000000000000000000000000..469ce93ec2bb54c82c9c5238b5946f0bb0fca8b6 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Db/DeleteRow.php @@ -0,0 +1,57 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Db; + +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\App\ResourceConnection; + + +/** + * Class DeleteRow + */ +class DeleteRow +{ + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var ResourceConnection + */ + private $resourceConnection; + + /** + * CreateRow constructor. + * + * @param MetadataPool $metadataPool + * @param ResourceConnection $resourceConnection + */ + public function __construct( + MetadataPool $metadataPool, + ResourceConnection $resourceConnection + ) { + $this->metadataPool = $metadataPool; + $this->resourceConnection = $resourceConnection; + } + + /** + * @param string $entityType + * @param array $data + * @return int + * @throws \Exception + */ + public function execute($entityType, $data) + { + $metadata = $this->metadataPool->getMetadata($entityType); + $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName()); + return $connection->delete( + $metadata->getEntityTable(), + [$metadata->getLinkField() . ' = ?' => $data[$metadata->getLinkField()]] + ); + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Db/ReadRow.php b/lib/internal/Magento/Framework/EntityManager/Db/ReadRow.php new file mode 100644 index 0000000000000000000000000000000000000000..ed69238cb67721532dd85a57be33b96ab4cfa2a4 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Db/ReadRow.php @@ -0,0 +1,66 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Db; + +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\App\ResourceConnection; + + +/** + * Class DeleteRow + */ +class ReadRow +{ + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var ResourceConnection + */ + private $resourceConnection; + + /** + * CreateRow constructor. + * + * @param MetadataPool $metadataPool + * @param ResourceConnection $resourceConnection + */ + public function __construct( + MetadataPool $metadataPool, + ResourceConnection $resourceConnection + ) { + $this->metadataPool = $metadataPool; + $this->resourceConnection = $resourceConnection; + } + + /** + * @param string $entityType + * @param string $identifier + * @param array $context + * @return array + * @throws \Exception + */ + public function execute($entityType, $identifier, $context = []) + { + $metadata = $this->metadataPool->getMetadata($entityType); + $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName()); + $metadata = $this->metadataPool->getMetadata($entityType); + $select = $connection->select() + ->from(['t' => $metadata->getEntityTable()]) + ->where($metadata->getIdentifierField() . ' = ?', $identifier); + foreach ($context as $field => $value) { + $select->where( + $connection->quoteIdentifier($field) . ' = ?', + $value + ); + } + $data = $connection->fetchRow($select); + return $data ?: []; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Db/UpdateRow.php b/lib/internal/Magento/Framework/EntityManager/Db/UpdateRow.php new file mode 100644 index 0000000000000000000000000000000000000000..233dcc18c5aa02d26d358e339e6d5dacc141c0c8 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Db/UpdateRow.php @@ -0,0 +1,85 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Db; + +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\EntityManager\EntityMetadataInterface; +use Magento\Framework\DB\Adapter\AdapterInterface; +use Magento\Framework\App\ResourceConnection; + + +/** + * Class UpdateRow + */ +class UpdateRow +{ + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var ResourceConnection + */ + private $resourceConnection; + + /** + * CreateRow constructor. + * + * @param MetadataPool $metadataPool + * @param ResourceConnection $resourceConnection + */ + public function __construct( + MetadataPool $metadataPool, + ResourceConnection $resourceConnection + ) { + $this->metadataPool = $metadataPool; + $this->resourceConnection = $resourceConnection; + } + + /** + * @param EntityMetadataInterface $metadata + * @param AdapterInterface $connection + * @param array $data + * @return array + */ + protected function prepareData(EntityMetadataInterface $metadata, AdapterInterface $connection, $data) + { + $output = []; + foreach ($connection->describeTable($metadata->getEntityTable()) as $column) { + + if ($column['DEFAULT'] == 'CURRENT_TIMESTAMP'|| $column['IDENTITY']) { + continue; + } + if (isset($data[strtolower($column['COLUMN_NAME'])])) { + $output[strtolower($column['COLUMN_NAME'])] = $data[strtolower($column['COLUMN_NAME'])]; + } elseif ($column['DEFAULT'] === null) { + $output[strtolower($column['COLUMN_NAME'])] = null; + } + } + if (empty($data[$metadata->getIdentifierField()])) { + $output[$metadata->getIdentifierField()] = $metadata->generateIdentifier(); + } + return $output; + } + + /** + * @param string $entityType + * @param array $data + * @return array + */ + public function execute($entityType, $data) + { + $metadata = $this->metadataPool->getMetadata($entityType); + $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName()); + return $connection->update( + $metadata->getEntityTable(), + $this->prepareData($metadata, $connection, $data), + [$metadata->getLinkField() . ' = ?' => $data[$metadata->getLinkField()]] + ); + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/EntityHydrator.php b/lib/internal/Magento/Framework/EntityManager/EntityHydrator.php new file mode 100644 index 0000000000000000000000000000000000000000..3376e3a402744add98130fb9665c9e2715d74daa --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/EntityHydrator.php @@ -0,0 +1,23 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager; + +/** + * Class EntityHydrator + */ +class EntityHydrator implements EntityHydratorInterface +{ + public function extract($entity) + { + // TODO: Implement extract() method. + } + + public function hydrate($entity, array $data) + { + // TODO: Implement hydrate() method. + } +} diff --git a/lib/internal/Magento/Framework/Model/Entity/HydratorInterface.php b/lib/internal/Magento/Framework/EntityManager/EntityHydratorInterface.php similarity index 65% rename from lib/internal/Magento/Framework/Model/Entity/HydratorInterface.php rename to lib/internal/Magento/Framework/EntityManager/EntityHydratorInterface.php index 9005b1380a72803c921b97d29fd22be4e0cba8c4..e1a208073a381fd1ab5c6e6cda25c1d2199bf98a 100644 --- a/lib/internal/Magento/Framework/Model/Entity/HydratorInterface.php +++ b/lib/internal/Magento/Framework/EntityManager/EntityHydratorInterface.php @@ -4,20 +4,24 @@ * See COPYING.txt for license details. */ -namespace Magento\Framework\Model\Entity; +namespace Magento\Framework\EntityManager; /** - * Interface HydratorInterface + * Interface EntityHydratorInterface */ -interface HydratorInterface +interface EntityHydratorInterface { /** + * Extract data from object + * * @param object $entity * @return array */ public function extract($entity); /** + * Populate entity with data + * * @param object $entity * @param array $data * @return object diff --git a/lib/internal/Magento/Framework/EntityManager/EntityManager.php b/lib/internal/Magento/Framework/EntityManager/EntityManager.php new file mode 100644 index 0000000000000000000000000000000000000000..53e1abd4562d957464f563682f53b8ab8c4a4c1c --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/EntityManager.php @@ -0,0 +1,110 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager; + +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\Model\ResourceModel\Db\ObjectRelationProcessor; + +/** + * Class EntityManager + */ +class EntityManager +{ + /** + * @var OperationPool + */ + private $operationPool; + + /** + * @var CallbackHandler + */ + private $callbackHandler; + + /** + * EntityManager constructor. + * + * @param OperationPool $operationPool + * @param MetadataPool $metadataPool + * @param CallbackHandler $callbackHandler + */ + public function __construct( + OperationPool $operationPool, + MetadataPool $metadataPool, + CallbackHandler $callbackHandler + ) { + $this->operationPool = $operationPool; + $this->metadataPool = $metadataPool; + $this->callbackHandler = $callbackHandler; + } + + /** + * @param string $entityType + * @param object $entity + * @param string $identifier + * @return object + * @throws \Exception + */ + public function load($entityType, $entity, $identifier) + { + $operation = $this->operationPool->getOperation($entityType, 'read'); + $entity = $operation->execute($entityType, $entity, $identifier); + return $entity; + } + + /** + * @param string $entityType + * @param object $entity + * @return bool|object + * @throws \Exception + */ + public function save($entityType, $entity) + { + if ($this->has($entityType, $entity)) { + $operation = $this->operationPool->getOperation($entityType, 'update'); + } else { + $operation = $this->operationPool->getOperation($entityType, 'create'); + } + try { + $entity = $operation->execute($entityType, $entity); + $this->callbackHandler->process($entityType); + } catch (\Exception $e) { + $this->callbackHandler->clear($entityType); + throw $e; + } + return $entity; + } + + /** + * @param string $entityType + * @param object $entity + * @return bool + */ + public function has($entityType, $entity) + { + $operation = $this->operationPool->getOperation($entityType, 'checkIsExists'); + return $operation->execute($entityType, $entity); + } + + /** + * @param string $entityType + * @param object $entity + * @return bool|object + * @throws \Exception + */ + public function delete($entityType, $entity) + { + $operation = $this->operationPool->getOperation($entityType, 'delete'); + try { + $result = $operation->execute($entityType, $entity); + $this->callbackHandler->process($entityType); + } catch (\Exception $e) { + $this->callbackHandler->clear($entityType); + throw new $e; + } + return $result; + } +} diff --git a/lib/internal/Magento/Framework/Model/Entity/EntityMetadata.php b/lib/internal/Magento/Framework/EntityManager/EntityMetadata.php similarity index 58% rename from lib/internal/Magento/Framework/Model/Entity/EntityMetadata.php rename to lib/internal/Magento/Framework/EntityManager/EntityMetadata.php index eb192f058e726681e541bbb25255b151b99590b4..7deaf131fb50f2c7c558aaedca92b314201e463b 100644 --- a/lib/internal/Magento/Framework/Model/Entity/EntityMetadata.php +++ b/lib/internal/Magento/Framework/EntityManager/EntityMetadata.php @@ -4,21 +4,21 @@ * See COPYING.txt for license details. */ -namespace Magento\Framework\Model\Entity; +namespace Magento\Framework\EntityManager; -use Magento\Framework\App\ResourceConnection as AppResource; +use Magento\Framework\App\ResourceConnection; use Magento\Framework\DB\Sequence\SequenceInterface; /** * Class EntityMetadata */ -class EntityMetadata +class EntityMetadata implements EntityMetadataInterface { /** - * @var AppResource + * @var ResourceConnection */ - protected $appResource; + protected $resourceConnection; /** * @var string @@ -51,38 +51,32 @@ class EntityMetadata protected $entityContext; /** - * @var array - */ - protected $fields; - - /** - * @param AppResource $appResource - * @param string $entityTableName - * @param string $identifierField + * EntityMetadata constructor. + * + * @param ResourceConnection $resourceConnection + * @param $entityTableName + * @param $identifierField * @param SequenceInterface|null $sequence - * @param string|null $eavEntityType - * @param string|null $connectionName + * @param null $eavEntityType + * @param null $connectionName * @param array $entityContext - * @param array $fields */ public function __construct( - AppResource $appResource, + ResourceConnection $resourceConnection, $entityTableName, $identifierField, SequenceInterface $sequence = null, $eavEntityType = null, $connectionName = null, - $entityContext = [], - $fields = [] + $entityContext = [] ) { - $this->appResource = $appResource; + $this->resourceConnection = $resourceConnection; $this->entityTableName = $entityTableName; $this->eavEntityType = $eavEntityType; $this->connectionName = $connectionName; $this->identifierField = $identifierField; $this->sequence = $sequence; $this->entityContext = $entityContext; - $this->fields = $fields; } /** @@ -98,16 +92,18 @@ class EntityMetadata */ public function getLinkField() { - $indexList = $this->getEntityConnection()->getIndexList($this->getEntityTable()); - return $indexList[$this->getEntityConnection()->getPrimaryKeyName($this->getEntityTable())]['COLUMNS_LIST'][0]; + $connection = $this->resourceConnection->getConnectionByName($this->getEntityConnectionName()); + $indexList = $connection->getIndexList($this->getEntityTable()); + return $indexList[$connection->getPrimaryKeyName($this->getEntityTable())]['COLUMNS_LIST'][0]; } /** * @return \Magento\Framework\DB\Adapter\AdapterInterface + * @deprecated */ public function getEntityConnection() { - return $this->appResource->getConnectionByName($this->connectionName); + return $this->resourceConnection->getConnectionByName($this->connectionName); } /** @@ -115,7 +111,15 @@ class EntityMetadata */ public function getEntityTable() { - return $this->appResource->getTableName($this->entityTableName); + return $this->resourceConnection->getTableName($this->entityTableName); + } + + /** + * @return string + */ + public function getEntityConnectionName() + { + return $this->connectionName; } /** @@ -145,29 +149,4 @@ class EntityMetadata { return $this->eavEntityType; } - - /** - * @return array - */ - public function getExtensionFields() - { - return $this->fields; - } - - /** - * Check is entity exists - * - * @param string $identifier - * @return bool - */ - public function checkIsEntityExists($identifier) - { - return (bool)$this->getEntityConnection()->fetchOne( - $this->getEntityConnection() - ->select() - ->from($this->getEntityTable(), [$this->getIdentifierField()]) - ->where($this->getIdentifierField() . ' = ?', $identifier) - ->limit(1) - ); - } } diff --git a/lib/internal/Magento/Framework/EntityManager/EntityMetadataInterface.php b/lib/internal/Magento/Framework/EntityManager/EntityMetadataInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..ee3641240fb9a38a3d537fabe22927bd3b500d1d --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/EntityMetadataInterface.php @@ -0,0 +1,54 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager; + +/** + * Interface EntityMetadataInterface + */ +interface EntityMetadataInterface +{ + /** + * @return string + */ + public function getIdentifierField(); + + /** + * @return string + */ + public function getLinkField(); + + /** + * @return string + */ + public function getEntityTable(); + + /** + * @return string + */ + public function getEntityConnectionName(); + + /** + * @return null|string + */ + public function generateIdentifier(); + + /** + * @return string[] + */ + public function getEntityContext(); + + /** + * @return null|string + */ + public function getEavEntityType(); + + /** + * @return \Magento\Framework\DB\Adapter\AdapterInterface + * @deprecated + */ + public function getEntityConnection(); +} diff --git a/lib/internal/Magento/Framework/EntityManager/HydratorPool.php b/lib/internal/Magento/Framework/EntityManager/HydratorPool.php new file mode 100644 index 0000000000000000000000000000000000000000..f533787d6373f295462b0231305d7906eab45955 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/HydratorPool.php @@ -0,0 +1,51 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager; + +use Magento\Framework\ObjectManagerInterface; + +/** + * Class HydratorPool + */ +class HydratorPool +{ + /** + * @var + */ + private $hydrators; + + /** + * @var ObjectManagerInterface + */ + protected $objectManager; + + /** + * HydratorPool constructor. + * @param ObjectManagerInterface $objectManager + * @param string[] $hydrators + */ + public function __construct( + ObjectManagerInterface $objectManager, + $hydrators = [] + ) { + $this->objectManager = $objectManager; + $this->hydrators = $hydrators; + } + + /** + * @param string $entityType + * @return EntityHydratorInterface + */ + public function getHydrator($entityType) + { + if (isset($this->hydrators[$entityType])) { + return $this->objectManager->get($this->hydrators[$entityType]); + } else { + return $this->objectManager->get(EntityHydratorInterface::class); + } + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/MetadataPool.php b/lib/internal/Magento/Framework/EntityManager/MetadataPool.php new file mode 100644 index 0000000000000000000000000000000000000000..ee7753e395ea9326af4d5f46fd3aa7b0e11c3f3f --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/MetadataPool.php @@ -0,0 +1,109 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager; + +use Magento\Framework\ObjectManagerInterface; +use Magento\Framework\EntityManager\Sequence\SequenceFactory; + +/** + * Class MetadataPool + */ +class MetadataPool +{ + /** + * @var ObjectManagerInterface + */ + protected $objectManager; + + /** + * @var array + */ + protected $metadata; + + /** + * @var \Magento\Framework\Model\Entity\EntityMetadata[] + */ + protected $registry; + + /** + * @var SequenceFactory + */ + protected $sequenceFactory; + + /** + * MetadataPool constructor. + * @param ObjectManagerInterface $objectManager + * @param SequenceFactory $sequenceFactory + * @param array $metadata + */ + public function __construct( + ObjectManagerInterface $objectManager, + SequenceFactory $sequenceFactory, + array $metadata + ) { + $this->objectManager = $objectManager; + $this->sequenceFactory = $sequenceFactory; + $this->metadata = $metadata; + } + + /** + * @param string $entityType + * @return EntityMetadataInterface + */ + private function createMetadata($entityType) + { + //@todo: use ID as default if , check is type has EAV attributes + $connectionName = isset($this->metadata[$entityType]['connectionName']) + ? $this->metadata[$entityType]['connectionName'] + : 'default'; + $eavEntityType = isset($this->metadata[$entityType]['eavEntityType']) + ? $this->metadata[$entityType]['eavEntityType'] + : null; + $entityContext = isset($this->metadata[$entityType]['entityContext']) + ? $this->metadata[$entityType]['entityContext'] + : []; + return $this->objectManager->create( + EntityMetadataInterface::class, + [ + 'entityTableName' => $this->metadata[$entityType]['entityTableName'], + 'eavEntityType' => $eavEntityType, + 'connectionName' => $connectionName, + 'identifierField' => $this->metadata[$entityType]['identifierField'], + 'sequence' => $this->sequenceFactory->create($entityType, $this->metadata), + 'entityContext' => $entityContext + ] + ); + } + + /** + * @param string $entityType + * @return EntityMetadataInterface + * @throws \Exception + */ + public function getMetadata($entityType) + { + if (!isset($this->metadata[$entityType])) { + throw new \Exception(sprintf('Unknown entity type: %s requested', $entityType)); + } + if (!isset($this->registry[$entityType])) { + + $this->registry[$entityType] = $this->createMetadata($entityType); + } + return $this->registry[$entityType]; + } + + /** + * @param $entityType + * @deprecated + * @return EntityHydratorInterface + */ + public function getHydrator($entityType) + { + $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); + return $objectManager->get(HydratorPool::class)->getHydrator($entityType); + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/AttributePool.php b/lib/internal/Magento/Framework/EntityManager/Operation/AttributePool.php new file mode 100644 index 0000000000000000000000000000000000000000..413de81bfd583e406ae9113a4c49ec6b38ae1310 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/AttributePool.php @@ -0,0 +1,56 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation; + +use Magento\Framework\ObjectManagerInterface; + +/** + * Class AttributePool + */ +class AttributePool +{ + /** + * @var ObjectManagerInterface + */ + private $objectManager; + + /** + * @var object[] + */ + private $actions; + + /** + * @param ObjectManagerInterface $objectManager + * @param array $extensionActions + */ + public function __construct( + ObjectManagerInterface $objectManager, + array $extensionActions = [] + ) { + $this->objectManager = $objectManager; + $this->actions = $extensionActions; + } + + /** + * @param string $entityType + * @param string $actionName + * @return object[] + * @throws \Exception + */ + public function getActions($entityType, $actionName) + { + $actions = []; + foreach ($this->actions as $name => $actionGroup) { + if (isset($actionGroup[$entityType][$actionName])) { + $actions[$name] = $this->objectManager->get($actionGroup[$entityType][$actionName]); + } elseif (isset($actionGroup['default'][$actionName])) { + $actions[$name] = $this->objectManager->get($actionGroup['default'][$actionName]); + } + } + return $actions; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/ExtensionPool.php b/lib/internal/Magento/Framework/EntityManager/Operation/ExtensionPool.php new file mode 100644 index 0000000000000000000000000000000000000000..73db14888e235a7bb1571401119f996120c42192 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/ExtensionPool.php @@ -0,0 +1,56 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation; + +use Magento\Framework\ObjectManagerInterface; + +/** + * Class ExtensionPool + */ +class ExtensionPool +{ + /** + * @var ObjectManagerInterface + */ + protected $objectManager; + + /** + * @var object[] + */ + protected $actions; + + /** + * @param ObjectManagerInterface $objectManager + * @param array $extensionActions + */ + public function __construct( + ObjectManagerInterface $objectManager, + array $extensionActions = [] + ) { + $this->objectManager = $objectManager; + $this->actions = $extensionActions; + } + + /** + * @param string $entityType + * @param string $actionName + * @return object[] + * @throws \Exception + */ + public function getActions($entityType, $actionName) + { + $actions = []; + foreach ($this->actions as $name => $actionGroup) { + if (isset($actionGroup[$entityType][$actionName])) { + $actions[$name] = $this->objectManager->get($actionGroup[$entityType][$actionName]); + } elseif (isset($actionGroup['default'][$actionName])) { + $actions[$name] = $this->objectManager->get($actionGroup['default'][$actionName]); + } + } + return $actions; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Read.php b/lib/internal/Magento/Framework/EntityManager/Operation/Read.php new file mode 100644 index 0000000000000000000000000000000000000000..65d364faa17b944f5d53caea3e26a62b44a26274 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Read.php @@ -0,0 +1,93 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation; + +use Magento\Framework\EntityManager\HydratorPool; +use Magento\Framework\EntityManager\Operation\Read\ReadMain; +use Magento\Framework\EntityManager\Operation\Read\ReadAttributes; +use Magento\Framework\EntityManager\Operation\Read\ReadExtensions; +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\App\ResourceConnection; +use Magento\Framework\Event\ManagerInterface; + +/** + * Class Read + */ +class Read +{ + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * @var ManagerInterface + */ + private $eventManager; + + /** + * @var ReadMain + */ + private $readMain; + + /** + * @var ReadAttributes + */ + private $readAttributes; + + /** + * @var ReadAttributes + */ + private $readExtensions; + + /** + * Read constructor. + * + * @param MetadataPool $metadataPool + * @param HydratorPool $hydratorPool + * @param ManagerInterface $eventManager + * @param ReadMain $readMain + * @param ReadAttributes $readAttributes + * @param ReadAttributes $readExtensions + */ + public function __construct( + MetadataPool $metadataPool, + HydratorPool $hydratorPool, + ManagerInterface $eventManager, + ReadMain $readMain, + ReadAttributes $readAttributes, + ReadExtensions $readExtensions + ) { + $this->metadataPool = $metadataPool; + $this->hydratorPool = $hydratorPool; + $this->eventManager = $eventManager; + $this->readMain = $readMain; + $this->readAttributes = $readAttributes; + $this->readExtensions = $readExtensions; + } + + public function execute($entityType, $entity, $identifier) + { + $metadata = $this->metadataPool->getMetadata($entityType); + + $hydrator = $this->hydratorPool->getHydrator($entityType); + $entity = $this->readMain->execute($entityType, $entity, $identifier); + + $entityData = $hydrator->extract($entity); + if (isset($entityData[$metadata->getLinkField()])) { + $entity = $this->readAttributes->execute($entityType, $entity); + $entity = $this->readExtensions->execute($entityType, $entity); + } + + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Read/CheckIsExists.php b/lib/internal/Magento/Framework/EntityManager/Operation/Read/CheckIsExists.php new file mode 100644 index 0000000000000000000000000000000000000000..1377036fa91adf838acddd121278ca4308d14fff --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Read/CheckIsExists.php @@ -0,0 +1,72 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Read; + +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\EntityManager\HydratorPool; +use Magento\Framework\App\ResourceConnection; + +/** + * Class CheckIsExists + */ +class CheckIsExists +{ + /** + * @var ResourceConnection + */ + private $resourceConnection; + + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * CheckIsExists constructor. + * + * @param ResourceConnection $resourceConnection + * @param MetadataPool $metadataPool + * @param HydratorPool $hydratorPool + */ + public function __construct( + ResourceConnection $resourceConnection, + MetadataPool $metadataPool, + HydratorPool $hydratorPool + ) { + $this->resourceConnection = $resourceConnection; + $this->metadataPool = $metadataPool; + $this->hydratorPool = $hydratorPool; + } + + /** + * @param string $entityType + * @param object $entity + * @return bool + * @throws \Exception + */ + public function execute($entityType, $entity) + { + $metadata = $this->metadataPool->getMetadata($entityType); + $hydrator = $this->hydratorPool->getHydrator($entityType); + $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName()); + $entityData = $hydrator->extract($entity); + if (!isset($entityData[$metadata->getIdentifierField()])) { + return false; + } + return (bool)$connection->fetchOne( + $connection->select() + ->from($metadata->getEntityTable(), [$metadata->getIdentifierField()]) + ->where($metadata->getIdentifierField() . ' = ?', $entityData[$metadata->getIdentifierField()]) + ->limit(1) + ); + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Read/ReadAttributes.php b/lib/internal/Magento/Framework/EntityManager/Operation/Read/ReadAttributes.php new file mode 100644 index 0000000000000000000000000000000000000000..4217992553fb114ef40356f0341c8ea130ad378a --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Read/ReadAttributes.php @@ -0,0 +1,57 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Read; + +use Magento\Framework\EntityManager\Operation\AttributePool; +use Magento\Framework\EntityManager\HydratorPool; + +/** + * Class ReadAttributes + */ +class ReadAttributes +{ + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * @var AttributePool + */ + private $attributePool; + + /** + * ReadAttributes constructor. + * + * @param HydratorPool $hydratorPool + * @param AttributePool $attributePool + */ + public function __construct( + HydratorPool $hydratorPool, + AttributePool $attributePool + ) { + $this->hydratorPool = $hydratorPool; + $this->attributePool = $attributePool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity) + { + $hydrator = $this->hydratorPool->getHydrator($entityType); + $entityData = $hydrator->extract($entity); + $actions = $this->attributePool->getActions($entityType, 'read'); + foreach ($actions as $action) { + $entityData = array_merge($entityData, $action->execute($entityType, $entityData)); + } + $entity = $hydrator->hydrate($entity, $entityData); + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Read/ReadExtensions.php b/lib/internal/Magento/Framework/EntityManager/Operation/Read/ReadExtensions.php new file mode 100644 index 0000000000000000000000000000000000000000..9bd413cff8e94d35b21b224ed7ba899d79504b1f --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Read/ReadExtensions.php @@ -0,0 +1,45 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Read; + +use Magento\Framework\EntityManager\Operation\ExtensionPool; + +/** + * Class ReadExtensions + */ +class ReadExtensions +{ + /** + * @var ExtensionPool + */ + private $extensionPool; + + /** + * ReadExtensions constructor. + * + * @param ExtensionPool $extensionPool + */ + public function __construct( + ExtensionPool $extensionPool + ) { + $this->extensionPool = $extensionPool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity) + { + $actions = $this->extensionPool->getActions($entityType, 'read'); + foreach ($actions as $action) { + $entity = $action->execute($entityType, $entity); + } + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Read/ReadMain.php b/lib/internal/Magento/Framework/EntityManager/Operation/Read/ReadMain.php new file mode 100644 index 0000000000000000000000000000000000000000..5ab9eb8f7ecebbd579a66ee21c8aff0e87afc296 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Read/ReadMain.php @@ -0,0 +1,60 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Read; + +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\EntityManager\HydratorPool; +use Magento\Framework\EntityManager\Db\ReadRow; + +class ReadMain +{ + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * @var ReadRow + */ + private $readRow; + + /** + * ReadMain constructor. + * + * @param MetadataPool $metadataPool + * @param HydratorPool $hydratorPool + * @param ReadRow $readRow + */ + public function __construct( + MetadataPool $metadataPool, + HydratorPool $hydratorPool, + ReadRow $readRow + ) { + $this->metadataPool = $metadataPool; + $this->hydratorPool = $hydratorPool; + $this->readRow = $readRow; + } + + /** + * @param string $entityType + * @param object $entity + * @param string $identifier + * @return object + */ + public function execute($entityType, $entity, $identifier) + { + $hydrator = $this->hydratorPool->getHydrator($entityType); + $entityData = $this->readRow->execute($entityType, $identifier); + $entity = $hydrator->hydrate($entity, $entityData); + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/ValidatorPool.php b/lib/internal/Magento/Framework/EntityManager/Operation/ValidatorPool.php new file mode 100644 index 0000000000000000000000000000000000000000..78acc27daf6d27056cf85cc28422f09b3f43bf2f --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/ValidatorPool.php @@ -0,0 +1,56 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation; + +use Magento\Framework\ObjectManagerInterface; + +/** + * Class ValidatorPool + */ +class ValidatorPool +{ + /** + * @var ObjectManagerInterface + */ + protected $objectManager; + + /** + * @var object[] + */ + protected $validators; + + /** + * @param ObjectManagerInterface $objectManager + * @param array $extensionActions + */ + public function __construct( + ObjectManagerInterface $objectManager, + array $extensionActions = [] + ) { + $this->objectManager = $objectManager; + $this->actions = $extensionActions; + } + + /** + * @param string $entityType + * @param string $actionName + * @return object[] + * @throws \Exception + */ + public function getValidators($entityType, $actionName) + { + $actions = []; + foreach ($this->validators as $name => $actionGroup) { + if (isset($actionGroup[$entityType][$actionName])) { + $actions[$name] = $this->objectManager->get($actionGroup[$entityType][$actionName]); + } elseif (isset($actionGroup['default'][$actionName])) { + $actions[$name] = $this->objectManager->get($actionGroup['default'][$actionName]); + } + } + return $actions; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create.php new file mode 100644 index 0000000000000000000000000000000000000000..cc0884ac2ffa6f19caf0844bc309eb49be4d68a2 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create.php @@ -0,0 +1,111 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write; + +use Magento\Framework\EntityManager\Operation\Write\Create\ValidateCreate; +use Magento\Framework\EntityManager\Operation\Write\Create\CreateMain; +use Magento\Framework\EntityManager\Operation\Write\Create\CreateAttributes; +use Magento\Framework\EntityManager\Operation\Write\Create\CreateExtensions; +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\App\ResourceConnection; +use Magento\Framework\Event\ManagerInterface; + +/** + * Class Create + */ +class Create +{ + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var ResourceConnection + */ + private $resourceConnection; + + /** + * @var ManagerInterface + */ + private $eventManager; + + /** + * @var ValidateCreate + */ + private $validateCreate; + + /** + * @var CreateMain + */ + private $createMain; + + /** + * @var CreateAttributes + */ + private $createAttributes; + + /** + * @var CreateExtensions + */ + private $createExtensions; + + /** + * Create constructor. + * + * @param MetadataPool $metadataPool + * @param ResourceConnection $resourceConnection + * @param ManagerInterface $eventManager + * @param ValidateCreate $validateCreate + * @param CreateMain $createMain + * @param CreateAttributes $createAttributes + * @param CreateExtensions $createExtensions + */ + public function __construct( + MetadataPool $metadataPool, + ResourceConnection $resourceConnection, + ManagerInterface $eventManager, + ValidateCreate $validateCreate, + CreateMain $createMain, + CreateAttributes $createAttributes, + CreateExtensions $createExtensions + ) { + $this->metadataPool = $metadataPool; + $this->resourceConnection = $resourceConnection; + $this->eventManager = $eventManager; + $this->validateCreate = $validateCreate; + $this->createMain = $createMain; + $this->createAttributes = $createAttributes; + $this->createExtensions = $createExtensions; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + * @throws \Exception + */ + public function execute($entityType, $entity) + { + $this->validateCreate->execute($entityType, $entity); + $metadata = $this->metadataPool->getMetadata($entityType); + $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName()); + $connection->beginTransaction(); + try { + $this->eventManager->dispatch('entity_save_before', ['entity_type' => $entityType, 'entity' => $entity]); + $entity = $this->createMain->execute($entityType, $entity); + $entity = $this->createAttributes->execute($entityType, $entity); + $entity = $this->createExtensions->execute($entityType, $entity); + $this->eventManager->dispatch('entity_save_after', ['entity_type' => $entityType, 'entity' => $entity]); + $connection->commit(); + } catch (\Exception $e) { + $connection->rollBack(); + throw $e; + } + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/CreateAttributes.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/CreateAttributes.php new file mode 100644 index 0000000000000000000000000000000000000000..564609bd8cf44dd4c0a81c399a13616d9317149d --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/CreateAttributes.php @@ -0,0 +1,57 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Create; + +use Magento\Framework\EntityManager\Operation\AttributePool; +use Magento\Framework\EntityManager\HydratorPool; + +/** + * Class CreateAttributes + */ +class CreateAttributes +{ + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * @var AttributePool + */ + private $attributePool; + + /** + * CreateAttributes constructor. + * + * @param HydratorPool $hydratorPool + * @param AttributePool $attributePool + */ + public function __construct( + HydratorPool $hydratorPool, + AttributePool $attributePool + ) { + $this->hydratorPool = $hydratorPool; + $this->attributePool = $attributePool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity, $data = []) + { + $hydrator = $this->hydratorPool->getHydrator($entityType); + $entityData = array_merge($hydrator->extract($entity), $data); + $actions = $this->attributePool->getActions($entityType, 'create'); + foreach ($actions as $action) { + $action->execute($entityType, $entityData); + } + $entity = $hydrator->hydrate($entity, $entityData); + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/CreateExtensions.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/CreateExtensions.php new file mode 100644 index 0000000000000000000000000000000000000000..7706d1a5fd79dab382665b1da3f2cbc677e0926b --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/CreateExtensions.php @@ -0,0 +1,44 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Create; + +use Magento\Framework\EntityManager\Operation\ExtensionPool; + +/** + * Class CreateExtensions + */ +class CreateExtensions +{ + /** + * @var ExtensionPool + */ + private $extensionPool; + + /** + * CreateExtensions constructor. + * @param ExtensionPool $extensionPool + */ + public function __construct( + ExtensionPool $extensionPool + ) { + $this->extensionPool = $extensionPool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity) + { + $actions = $this->extensionPool->getActions($entityType, 'create'); + foreach ($actions as $action) { + $entity = $action->execute($entityType, $entity); + } + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/CreateMain.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/CreateMain.php new file mode 100644 index 0000000000000000000000000000000000000000..31637ea41c7d43fb98cba6a124aa01c56991b815 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/CreateMain.php @@ -0,0 +1,56 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Create; + +use Magento\Framework\EntityManager\HydratorPool; +use Magento\Framework\EntityManager\Db\CreateRow; + +/** + * Class CreateMain + */ +class CreateMain +{ + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * @var CreateRow + */ + private $createRow; + + /** + * CreateMain constructor. + * + * @param HydratorPool $hydratorPool + * @param CreateRow $createRow + */ + public function __construct( + HydratorPool $hydratorPool, + CreateRow $createRow + ) { + $this->hydratorPool = $hydratorPool; + $this->createRow = $createRow; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity, $data = []) + { + $hydrator = $this->hydratorPool->getHydrator($entityType); + $entityData = $this->createRow->execute( + $entityType, + array_merge($hydrator->extract($entity), $data) + ); + $entity = $hydrator->hydrate($entity, $entityData); + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/ValidateCreate.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/ValidateCreate.php new file mode 100644 index 0000000000000000000000000000000000000000..09946dec6a1cb04c734dd4a8c93d560fce752e0e --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Create/ValidateCreate.php @@ -0,0 +1,45 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Create; + +use Magento\Framework\EntityManager\Operation\ValidatorPool; + +/** + * Class ValidateCreate + */ +class ValidateCreate +{ + /** + * @var ValidatorPool + */ + private $validatorPool; + + /** + * ValidateCreate constructor. + * + * @param ValidatorPool $validatorPool + */ + public function __construct( + ValidatorPool $validatorPool + ) { + $this->validatorPool = $validatorPool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity) + { + $validators = $this->validatorPool->getValidators($entityType, 'create'); + foreach ($validators as $validator) { + $validator->execute($entityType, $entity); + } + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete.php new file mode 100644 index 0000000000000000000000000000000000000000..adc12a0fb06b2bf352155ca2e5f0f1df83041eea --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete.php @@ -0,0 +1,117 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write; + +use Magento\Framework\EntityManager\Operation\Write\Delete\ValidateDelete; +use Magento\Framework\EntityManager\Operation\Write\Delete\DeleteMain; +use Magento\Framework\EntityManager\Operation\Write\Delete\DeleteAttributes; +use Magento\Framework\EntityManager\Operation\Write\Delete\DeleteExtensions; +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\App\ResourceConnection; +use Magento\Framework\Event\ManagerInterface; +use Magento\Framework\Model\ResourceModel\Db\TransactionManagerInterface; + +/** + * Class Delete + */ +class Delete +{ + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var ResourceConnection + */ + private $resourceConnection; + + /** + * @var ManagerInterface + */ + private $eventManager; + + /** + * @var TransactionManagerInterface + */ + private $transactionManager; + + private $validateDelete; + + /** + * @var DeleteMain + */ + private $deleteMain; + + /** + * @var DeleteAttributes + */ + private $deleteAttributes; + + /** + * @var DeleteExtensions + */ + private $deleteExtensions; + + /** + * Delete constructor. + * + * @param MetadataPool $metadataPool + * @param ResourceConnection $resourceConnection + * @param ManagerInterface $eventManager + * @param TransactionManagerInterface $transactionManager + * @param ValidateDelete $validateDelete + * @param DeleteMain $deleteMain + * @param DeleteAttributes $deleteAttributes + * @param DeleteExtensions $deleteExtensions + */ + public function __construct( + MetadataPool $metadataPool, + ResourceConnection $resourceConnection, + ManagerInterface $eventManager, + TransactionManagerInterface $transactionManager, + ValidateDelete $validateDelete, + DeleteMain $deleteMain, + DeleteAttributes $deleteAttributes, + DeleteExtensions $deleteExtensions + ) { + $this->metadataPool = $metadataPool; + $this->resourceConnection = $resourceConnection; + $this->eventManager = $eventManager; + $this->transactionManager = $transactionManager; + $this->validateDelete = $validateDelete; + $this->deleteMain = $deleteMain; + $this->deleteAttributes = $deleteAttributes; + $this->deleteExtensions = $deleteExtensions; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + * @throws \Exception + */ + public function execute($entityType, $entity) + { + $this->validateDelete->execute($entityType, $entity); + $metadata = $this->metadataPool->getMetadata($entityType); + $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName()); + $this->transactionManager->start($connection); + try { + $this->eventManager->dispatch('entity_delete_before', ['entity_type' => $entityType, 'entity' => $entity]); + $entity = $this->deleteMain->execute($entityType, $entity); + $entity = $this->deleteAttributes->execute($entityType, $entity); + $entity = $this->deleteExtensions->execute($entityType, $entity); + $this->eventManager->dispatch('entity_delete_before', ['entity_type' => $entityType, 'entity' => $entity]); + $this->transactionManager->commit(); + } catch (\Exception $e) { + $this->transactionManager->rollBack(); + throw $e; + } + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/DeleteAttributes.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/DeleteAttributes.php new file mode 100644 index 0000000000000000000000000000000000000000..9bbf27526c65bbcbc412f39d061cfd9e4d18cbcd --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/DeleteAttributes.php @@ -0,0 +1,57 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Delete; + +use Magento\Framework\EntityManager\Operation\AttributePool; +use Magento\Framework\EntityManager\HydratorPool; + +/** + * Class DeleteAttributes + */ +class DeleteAttributes +{ + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * @var AttributePool + */ + private $attributePool; + + /** + * DeleteAttributes constructor. + * + * @param HydratorPool $hydratorPool + * @param AttributePool $attributePool + */ + public function __construct( + HydratorPool $hydratorPool, + AttributePool $attributePool + ) { + $this->hydratorPool = $hydratorPool; + $this->attributePool = $attributePool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity, $data = []) + { + $hydrator = $this->hydratorPool->getHydrator($entityType); + $entityData = array_merge($hydrator->extract($entity), $data); + $actions = $this->attributePool->getActions($entityType, 'delete'); + foreach ($actions as $action) { + $action->execute($entityType, $entityData); + } + $entity = $hydrator->hydrate($entity, $entityData); + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/DeleteExtensions.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/DeleteExtensions.php new file mode 100644 index 0000000000000000000000000000000000000000..6ceeea3650077facd25bfa518f4a6cff4634a008 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/DeleteExtensions.php @@ -0,0 +1,44 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Delete; + +use Magento\Framework\EntityManager\Operation\ExtensionPool; + +/** + * Class DeleteExtensions + */ +class DeleteExtensions +{ + /** + * @var ExtensionPool + */ + private $extensionPool; + + /** + * CreateExtensions constructor. + * @param ExtensionPool $extensionPool + */ + public function __construct( + ExtensionPool $extensionPool + ) { + $this->extensionPool = $extensionPool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity) + { + $actions = $this->extensionPool->getActions($entityType, 'delete'); + foreach ($actions as $action) { + $entity = $action->execute($entityType, $entity); + } + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/DeleteMain.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/DeleteMain.php new file mode 100644 index 0000000000000000000000000000000000000000..73b177a4946402b7dd61be9106bd489a9a2a06ec --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/DeleteMain.php @@ -0,0 +1,51 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Delete; + +use Magento\Framework\EntityManager\HydratorPool; +use Magento\Framework\EntityManager\Db\DeleteRow; + +/** + * Class DeleteMain + */ +class DeleteMain +{ + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * @var DeleteRow + */ + private $deleteRow; + + /** + * DeleteMain constructor. + * + * @param HydratorPool $hydratorPool + * @param DeleteRow $deleteRow + */ + public function __construct( + HydratorPool $hydratorPool, + DeleteRow $deleteRow + ) { + $this->hydratorPool = $hydratorPool; + $this->deleteRow = $deleteRow; + } + + /** + * @param string $entityType + * @param object $entity + * @return int + */ + public function execute($entityType, $entity) + { + $hydrator = $this->hydratorPool->getHydrator($entityType); + return $this->deleteRow->execute($entityType, $hydrator->extract($entity)); + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/ValidateDelete.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/ValidateDelete.php new file mode 100644 index 0000000000000000000000000000000000000000..f2002cb54fbd5b7493a8ccc45d28d423d4996683 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Delete/ValidateDelete.php @@ -0,0 +1,45 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Delete; + +use Magento\Framework\EntityManager\Operation\ValidatorPool; + +/** + * Class ValidateDelete + */ +class ValidateDelete +{ + /** + * @var ValidatorPool + */ + private $validatorPool; + + /** + * ValidateDelete constructor. + * + * @param ValidatorPool $validatorPool + */ + public function __construct( + ValidatorPool $validatorPool + ) { + $this->validatorPool = $validatorPool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity) + { + $validators = $this->validatorPool->getValidators($entityType, 'delete'); + foreach ($validators as $validator) { + $validator->execute($entityType, $entity); + } + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update.php new file mode 100644 index 0000000000000000000000000000000000000000..cd89c3f380b2e24568642e18528bbec70b15cc2a --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update.php @@ -0,0 +1,111 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write; + +use Magento\Framework\EntityManager\Operation\Write\Update\ValidateUpdate; +use Magento\Framework\EntityManager\Operation\Write\Update\UpdateMain; +use Magento\Framework\EntityManager\Operation\Write\Update\UpdateAttributes; +use Magento\Framework\EntityManager\Operation\Write\Update\UpdateExtensions; +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\App\ResourceConnection; +use Magento\Framework\Event\ManagerInterface; + +/** + * Class Update + */ +class Update +{ + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var ResourceConnection + */ + private $resourceConnection; + + /** + * @var ManagerInterface + */ + private $eventManager; + + /** + * @var ValidateUpdate + */ + private $validateUpdate; + + /** + * @var UpdateMain + */ + private $updateMain; + + /** + * @var UpdateAttributes + */ + private $updateAttributes; + + /** + * @var UpdateExtensions + */ + private $updateExtensions; + + /** + * Update constructor. + * + * @param MetadataPool $metadataPool + * @param ResourceConnection $resourceConnection + * @param ManagerInterface $eventManager + * @param ValidateUpdate $validateUpdate + * @param UpdateMain $updateMain + * @param UpdateAttributes $updateAttributes + * @param UpdateExtensions $updateExtensions + */ + public function __construct( + MetadataPool $metadataPool, + ResourceConnection $resourceConnection, + ManagerInterface $eventManager, + ValidateUpdate $validateUpdate, + UpdateMain $updateMain, + UpdateAttributes $updateAttributes, + UpdateExtensions $updateExtensions + ) { + $this->metadataPool = $metadataPool; + $this->resourceConnection = $resourceConnection; + $this->eventManager = $eventManager; + $this->validateUpdate = $validateUpdate; + $this->updateMain = $updateMain; + $this->updateAttributes = $updateAttributes; + $this->updateExtensions = $updateExtensions; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + * @throws \Exception + */ + public function execute($entityType, $entity) + { + $this->validateUpdate->execute($entityType, $entity); + $metadata = $this->metadataPool->getMetadata($entityType); + $connection = $this->resourceConnection->getConnectionByName($metadata->getEntityConnectionName()); + $connection->beginTransaction(); + try { + $this->eventManager->dispatch('entity_save_before', ['entity_type' => $entityType, 'entity' => $entity]); + $entity = $this->updateMain->execute($entityType, $entity); + $entity = $this->updateAttributes->execute($entityType, $entity); + $entity = $this->updateExtensions->execute($entityType, $entity); + $this->eventManager->dispatch('entity_save_after', ['entity_type' => $entityType, 'entity' => $entity]); + $connection->commit(); + } catch (\Exception $e) { + $connection->rollBack(); + throw $e; + } + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/UpdateAttributes.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/UpdateAttributes.php new file mode 100644 index 0000000000000000000000000000000000000000..16b640630d2532f3a3d75ffa076f2e8af6110145 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/UpdateAttributes.php @@ -0,0 +1,57 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Update; + +use Magento\Framework\EntityManager\Operation\AttributePool; +use Magento\Framework\EntityManager\HydratorPool; + +/** + * Class UpdateAttributes + */ +class UpdateAttributes +{ + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * @var AttributePool + */ + private $attributePool; + + /** + * DeleteAttributes constructor. + * + * @param HydratorPool $hydratorPool + * @param AttributePool $attributePool + */ + public function __construct( + HydratorPool $hydratorPool, + AttributePool $attributePool + ) { + $this->hydratorPool = $hydratorPool; + $this->attributePool = $attributePool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity, $data = []) + { + $hydrator = $this->hydratorPool->getHydrator($entityType); + $entityData = array_merge($hydrator->extract($entity), $data); + $actions = $this->attributePool->getActions($entityType, 'update'); + foreach ($actions as $action) { + $action->execute($entityType, $entityData); + } + $entity = $hydrator->hydrate($entity, $entityData); + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/UpdateExtensions.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/UpdateExtensions.php new file mode 100644 index 0000000000000000000000000000000000000000..5add30b29658d2135f758e119dfdafc6d2a4fda7 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/UpdateExtensions.php @@ -0,0 +1,44 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Update; + +use Magento\Framework\EntityManager\Operation\ExtensionPool; + +/** + * Class UpdateExtensions + */ +class UpdateExtensions +{ + /** + * @var ExtensionPool + */ + private $extensionPool; + + /** + * CreateExtensions constructor. + * @param ExtensionPool $extensionPool + */ + public function __construct( + ExtensionPool $extensionPool + ) { + $this->extensionPool = $extensionPool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity) + { + $actions = $this->extensionPool->getActions($entityType, 'update'); + foreach ($actions as $action) { + $entity = $action->execute($entityType, $entity); + } + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/UpdateMain.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/UpdateMain.php new file mode 100644 index 0000000000000000000000000000000000000000..c0266ab05d81284fd4ea8df7e800ebaa59347893 --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/UpdateMain.php @@ -0,0 +1,56 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Update; + +use Magento\Framework\EntityManager\HydratorPool; +use Magento\Framework\EntityManager\Db\UpdateRow; + +/** + * Class UpdateMain + */ +class UpdateMain +{ + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * @var UpdateRow + */ + private $updateRow; + + /** + * UpdateMain constructor. + * + * @param HydratorPool $hydratorPool + * @param UpdateRow $updateRow + */ + public function __construct( + HydratorPool $hydratorPool, + UpdateRow $updateRow + ) { + $this->hydratorPool = $hydratorPool; + $this->updateRow = $updateRow; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity, $data = []) + { + $hydrator = $this->hydratorPool->getHydrator($entityType); + $entityData = $this->updateRow->execute( + $entityType, + array_merge($hydrator->extract($entity), $data) + ); + $entity = $hydrator->hydrate($entity, $entityData); + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/ValidateUpdate.php b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/ValidateUpdate.php new file mode 100644 index 0000000000000000000000000000000000000000..eeb147c06f02b54ccf3016b5ed0a07491118191d --- /dev/null +++ b/lib/internal/Magento/Framework/EntityManager/Operation/Write/Update/ValidateUpdate.php @@ -0,0 +1,45 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\EntityManager\Operation\Write\Update; + +use Magento\Framework\EntityManager\Operation\ValidatorPool; + +/** + * Class ValidateUpdate + */ +class ValidateUpdate +{ + /** + * @var ValidatorPool + */ + private $validatorPool; + + /** + * ValidateUpdate constructor. + * + * @param ValidatorPool $validatorPool + */ + public function __construct( + ValidatorPool $validatorPool + ) { + $this->validatorPool = $validatorPool; + } + + /** + * @param string $entityType + * @param object $entity + * @return object + */ + public function execute($entityType, $entity) + { + $validators = $this->validatorPool->getValidators($entityType, 'update'); + foreach ($validators as $validator) { + $validator->execute($entityType, $entity); + } + return $entity; + } +} diff --git a/lib/internal/Magento/Framework/Model/OrchestratorPool.php b/lib/internal/Magento/Framework/EntityManager/OperationPool.php similarity index 57% rename from lib/internal/Magento/Framework/Model/OrchestratorPool.php rename to lib/internal/Magento/Framework/EntityManager/OperationPool.php index 86708c3689e469064100937d35ca0f735a19a9f4..d5b4e62ebce001ac5a72bb003b87cdfe51e0122c 100644 --- a/lib/internal/Magento/Framework/Model/OrchestratorPool.php +++ b/lib/internal/Magento/Framework/EntityManager/OperationPool.php @@ -4,24 +4,24 @@ * See COPYING.txt for license details. */ -namespace Magento\Framework\Model; +namespace Magento\Framework\EntityManager; use Magento\Framework\ObjectManagerInterface as ObjectManager; /** - * Class Orchestrator + * Class OperationPool */ -class OrchestratorPool +class OperationPool { /** * @var array */ - protected $operations; + private $operations; /** * @var ObjectManager */ - protected $objectManager; + private $objectManager; /** * OrchestratorPool constructor. @@ -37,29 +37,17 @@ class OrchestratorPool } /** + * Returns operation by name by entity type + * * @param string $entityType * @param string $operationName - * @return Operation\WriteInterface - * @throws \Exception + * @return object */ - public function getWriteOperation($entityType, $operationName) + public function getOperation($entityType, $operationName) { if (!isset($this->operations[$entityType][$operationName])) { return $this->objectManager->get($this->operations['default'][$operationName]); } return $this->objectManager->get($this->operations[$entityType][$operationName]); } - - /** - * @param string $entityType - * @return Operation\ReadInterface - * @throws \Exception - */ - public function getReadOperation($entityType) - { - if (!isset($this->operations[$entityType]['read'])) { - return $this->objectManager->get($this->operations['default']['read']); - } - return $this->objectManager->get($this->operations[$entityType]['read']); - } } diff --git a/lib/internal/Magento/Framework/Model/Entity/Sequence.php b/lib/internal/Magento/Framework/EntityManager/Sequence/Sequence.php similarity index 91% rename from lib/internal/Magento/Framework/Model/Entity/Sequence.php rename to lib/internal/Magento/Framework/EntityManager/Sequence/Sequence.php index ce7aab9fa3ad3450343657d122321a1efd12ab76..bb0daf008bc86b0de62f703409e5b3d2cb280f66 100644 --- a/lib/internal/Magento/Framework/Model/Entity/Sequence.php +++ b/lib/internal/Magento/Framework/EntityManager/Sequence/Sequence.php @@ -4,14 +4,15 @@ * See COPYING.txt for license details. */ -namespace Magento\Framework\Model\Entity; +namespace Magento\Framework\EntityManager\Sequence; use Magento\Framework\App\ResourceConnection; +use Magento\Framework\DB\Sequence\SequenceInterface; /** * Class Sequence */ -class Sequence implements \Magento\Framework\DB\Sequence\SequenceInterface +class Sequence implements SequenceInterface { /** * @var string diff --git a/lib/internal/Magento/Framework/Model/Entity/SequenceFactory.php b/lib/internal/Magento/Framework/EntityManager/Sequence/SequenceFactory.php similarity index 81% rename from lib/internal/Magento/Framework/Model/Entity/SequenceFactory.php rename to lib/internal/Magento/Framework/EntityManager/Sequence/SequenceFactory.php index f748a52f478a125f1a1c58cc4756e0def63d1792..f52828b5b467d1acd6d46967d5017b6d3f7f7d09 100644 --- a/lib/internal/Magento/Framework/Model/Entity/SequenceFactory.php +++ b/lib/internal/Magento/Framework/EntityManager/Sequence/SequenceFactory.php @@ -4,11 +4,14 @@ * See COPYING.txt for license details. */ -namespace Magento\Framework\Model\Entity; +namespace Magento\Framework\EntityManager\Sequence; use Magento\Framework\DB\Sequence\SequenceInterface; use Magento\Framework\ObjectManagerInterface; +/** + * Class SequenceFactory + */ class SequenceFactory { /** @@ -34,7 +37,7 @@ class SequenceFactory public function __construct( SequenceRegistry $sequenceRegistry, ObjectManagerInterface $objectManager, - $instanceName = 'Magento\\Framework\\Model\\Entity\\Sequence' + $instanceName = 'Magento\\Framework\\EntityManager\\Sequence\\Sequence' ) { $this->sequenceRegistry = $sequenceRegistry; $this->objectManager = $objectManager; @@ -57,12 +60,17 @@ class SequenceFactory $config[$entityType]['sequence'] ); } elseif (isset($config[$entityType]['sequenceTable'])) { + if (isset($config[$entityType]['connectionName'])) { + $connectionName = $config[$entityType]['connectionName']; + } else { + $connectionName = 'default'; + } $this->sequenceRegistry->register( $entityType, $this->objectManager->create( $this->instanceName, [ - 'connectionName' => $config[$entityType]['connectionName'], + 'connectionName' => $connectionName, 'sequenceTable' => $config[$entityType]['sequenceTable'], ] ), diff --git a/lib/internal/Magento/Framework/Model/Entity/SequenceManager.php b/lib/internal/Magento/Framework/EntityManager/Sequence/SequenceManager.php similarity index 85% rename from lib/internal/Magento/Framework/Model/Entity/SequenceManager.php rename to lib/internal/Magento/Framework/EntityManager/Sequence/SequenceManager.php index c3e48d5e3b38e4d1b3256092113571e547e78588..b46a69f65545a310e1bcc781a5b3979ddb2e13d0 100644 --- a/lib/internal/Magento/Framework/Model/Entity/SequenceManager.php +++ b/lib/internal/Magento/Framework/EntityManager/Sequence/SequenceManager.php @@ -4,39 +4,35 @@ * See COPYING.txt for license details. */ -namespace Magento\Framework\Model\Entity; +namespace Magento\Framework\EntityManager\Sequence; use Psr\Log\LoggerInterface; +use Magento\Framework\EntityManager\MetadataPool; /** * Class SequenceManager */ class SequenceManager { - /** - * @var array - */ - protected $registry; - /** * @var SequenceRegistry */ - protected $sequenceRegistry; + private $sequenceRegistry; /** * @var MetadataPool */ - protected $metadataPool; + private $metadataPool; /** * @var LoggerInterface */ - protected $logger; + private $logger; /** * @var \Magento\Framework\App\ResourceConnection */ - protected $appResource; + private $appResource; /** * @param MetadataPool $metadataPool @@ -73,7 +69,8 @@ class SequenceManager throw new \Exception('TODO: use correct Exception class' . PHP_EOL . ' Sequence table doesnt exists'); } try { - return $metadata->getEntityConnection()->insert( + $connection = $this->appResource->getConnectionByName($metadata->getEntityConnectionName()); + return $connection->insert( $this->appResource->getTableName($sequenceInfo['sequenceTable']), ['sequence_value' => $identifier] ); @@ -97,7 +94,8 @@ class SequenceManager throw new \Exception('TODO: use correct Exception class' . PHP_EOL . ' Sequence table doesnt exists'); } try { - return $metadata->getEntityConnection()->delete( + $connection = $this->appResource->getConnectionByName($metadata->getEntityConnectionName()); + return $connection->delete( $this->appResource->getTableName($sequenceInfo['sequenceTable']), ['sequence_value = ?' => $identifier] ); diff --git a/lib/internal/Magento/Framework/Model/Entity/SequenceRegistry.php b/lib/internal/Magento/Framework/EntityManager/Sequence/SequenceRegistry.php similarity index 93% rename from lib/internal/Magento/Framework/Model/Entity/SequenceRegistry.php rename to lib/internal/Magento/Framework/EntityManager/Sequence/SequenceRegistry.php index 056e354ce236438ea52fd2d5742832899c52033b..c50159df27b19fea53abb4b2a761a421af95bd1e 100644 --- a/lib/internal/Magento/Framework/Model/Entity/SequenceRegistry.php +++ b/lib/internal/Magento/Framework/EntityManager/Sequence/SequenceRegistry.php @@ -4,7 +4,7 @@ * See COPYING.txt for license details. */ -namespace Magento\Framework\Model\Entity; +namespace Magento\Framework\EntityManager\Sequence; use Magento\Framework\DB\Sequence\SequenceInterface; @@ -16,7 +16,7 @@ class SequenceRegistry /** * @var array */ - protected $registry; + private $registry; /** * Register information about existing sequence diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/CreateExtension.php b/lib/internal/Magento/Framework/Model/Entity/Action/CreateExtension.php deleted file mode 100644 index d6268e015feb7be9eadf9fba5625a55ed7d7bf46..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/CreateExtension.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\ExtensionPool; - -/** - * Class CreateExtension - */ -class CreateExtension -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var ExtensionPool - */ - protected $extensionPool; - - /** - * @param MetadataPool $metadataPool - * @param ExtensionPool $extensionPool - */ - public function __construct( - MetadataPool $metadataPool, - ExtensionPool $extensionPool - ) { - $this->extensionPool = $extensionPool; - $this->metadataPool = $metadataPool; - } - - /** - * @param string $entityType - * @param object $entity - * @param array $data - * @return object - * @throws \Exception - */ - public function execute($entityType, $entity, $data = []) - { - $hydrator = $this->metadataPool->getHydrator($entityType); - $entityData = array_merge($hydrator->extract($entity), $data); - $actions = $this->extensionPool->getActions($entityType, 'create'); - foreach ($actions as $action) { - $entityData = $action->execute($entityType, $entityData); - } - $entity = $hydrator->hydrate($entity, $entityData); - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/CreateMain.php b/lib/internal/Magento/Framework/Model/Entity/Action/CreateMain.php deleted file mode 100644 index 1eba9e8a5970cf4327986158aef0b670783007e7..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/CreateMain.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\CreateEntityRow; - -/** - * Class CreateMain - */ -class CreateMain -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var CreateEntityRow - */ - protected $createEntityRow; - - /** - * @param MetadataPool $metadataPool - * @param CreateEntityRow $createEntityRow - */ - public function __construct( - MetadataPool $metadataPool, - CreateEntityRow $createEntityRow - ) { - $this->metadataPool = $metadataPool; - $this->createEntityRow = $createEntityRow; - } - - /** - * @param string $entityType - * @param object $entity - * @param array $data - * @return object - */ - public function execute($entityType, $entity, $data = []) - { - $hydrator = $this->metadataPool->getHydrator($entityType); - $entityData = $this->createEntityRow->execute( - $entityType, - array_merge($hydrator->extract($entity), $data) - ); - $entity = $hydrator->hydrate($entity, $entityData); - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/CreateRelation.php b/lib/internal/Magento/Framework/Model/Entity/Action/CreateRelation.php deleted file mode 100644 index e00018284dea5bc48f7e92adb67f455dd7584d20..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/CreateRelation.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool as RelationActionPool; - -/** - * Class CreateRelation - */ -class CreateRelation -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var RelationActionPool - */ - protected $relationActionPool; - - /** - * @param MetadataPool $metadataPool - * @param RelationActionPool $relationActionPool - */ - public function __construct( - MetadataPool $metadataPool, - RelationActionPool $relationActionPool - ) { - $this->metadataPool = $metadataPool; - $this->relationActionPool = $relationActionPool; - } - - /** - * @param string $entityType - * @param object $entity - * @return object - * @throws \Exception - */ - public function execute($entityType, $entity) - { - $actions = $this->relationActionPool->getActions($entityType, 'create'); - foreach ($actions as $action) { - $entity = $action->execute($entityType, $entity); - } - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/DeleteExtension.php b/lib/internal/Magento/Framework/Model/Entity/Action/DeleteExtension.php deleted file mode 100644 index f4b6e7b8a88535d548deeeba4c1addb0f25d614d..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/DeleteExtension.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\ExtensionPool; - -/** - * Class DeleteExtension - */ -class DeleteExtension -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var ExtensionPool - */ - protected $extensionPool; - - /** - * @param MetadataPool $metadataPool - * @param ExtensionPool $extensionPool - */ - public function __construct( - MetadataPool $metadataPool, - ExtensionPool $extensionPool - ) { - $this->metadataPool = $metadataPool; - $this->extensionPool = $extensionPool; - } - - /** - * @param string $entityType - * @param object $entity - * @param array $data - * @return object - * @throws \Exception - */ - public function execute($entityType, $entity, $data = []) - { - $metadata = $this->metadataPool->getMetadata($entityType); - if ($metadata->getEavEntityType()) { - $hydrator = $this->metadataPool->getHydrator($entityType); - $entityData = array_merge($hydrator->extract($entity), $data); - $actions = $this->extensionPool->getActions($entityType, 'delete'); - foreach ($actions as $action) { - $action->execute($entityType, $entityData); - } - $entity = $hydrator->hydrate($entity, $entityData); - } - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/DeleteMain.php b/lib/internal/Magento/Framework/Model/Entity/Action/DeleteMain.php deleted file mode 100644 index 61ed8e908e1b80ebdccb6ea7984d21a182839f9f..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/DeleteMain.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\DeleteEntityRow; - -/** - * Class DeleteMain - */ -class DeleteMain -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var DeleteEntityRow - */ - protected $deleteEntityRow; - - /** - * @param MetadataPool $metadataPool - * @param DeleteEntityRow $createEntityRow - */ - public function __construct( - MetadataPool $metadataPool, - DeleteEntityRow $createEntityRow - ) { - $this->metadataPool = $metadataPool; - $this->deleteEntityRow = $createEntityRow; - } - - /** - * @param string $entityType - * @param object $entity - * @return bool - */ - public function execute($entityType, $entity) - { - $hydrator = $this->metadataPool->getHydrator($entityType); - $entityData = $hydrator->extract($entity); - return $this->deleteEntityRow->execute( - $entityType, - $entityData - ); - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/DeleteRelation.php b/lib/internal/Magento/Framework/Model/Entity/Action/DeleteRelation.php deleted file mode 100644 index a295152aa1b2a5aabc2f612119889868c636c56f..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/DeleteRelation.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool as RelationActionPool; - -/** - * Class CreateRelation - */ -class DeleteRelation -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var RelationActionPool - */ - protected $relationActionPool; - - /** - * @param MetadataPool $metadataPool - * @param RelationActionPool $relationActionPool - */ - public function __construct( - MetadataPool $metadataPool, - RelationActionPool $relationActionPool - ) { - $this->metadataPool = $metadataPool; - $this->relationActionPool = $relationActionPool; - } - - /** - * @param string $entityType - * @param object $entity - * @return object - * @throws \Exception - */ - public function execute($entityType, $entity) - { - $actions = $this->relationActionPool->getActions($entityType, 'delete'); - foreach ($actions as $action) { - $entity = $action->execute($entityType, $entity); - } - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/ReadExtension.php b/lib/internal/Magento/Framework/Model/Entity/Action/ReadExtension.php deleted file mode 100644 index a0cc7b7e3fea6a61cb5582a3adddc1b8090bcdcb..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/ReadExtension.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\ExtensionPool; - -/** - * Class ReadExtension - */ -class ReadExtension -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var ExtensionPool - */ - protected $extensionPool; - - /** - * @param MetadataPool $metadataPool - * @param ExtensionPool $extensionPool - */ - public function __construct( - MetadataPool $metadataPool, - ExtensionPool $extensionPool - ) { - $this->metadataPool = $metadataPool; - $this->extensionPool = $extensionPool; - } - - /** - * @param string $entityType - * @param object $entity - * @return object - * @throws \Exception - */ - public function execute($entityType, $entity) - { - $hydrator = $this->metadataPool->getHydrator($entityType); - $entityData = $hydrator->extract($entity); - $actions = $this->extensionPool->getActions($entityType, 'read'); - foreach ($actions as $action) { - $data = $action->execute($entityType, $entityData); - $entity = $hydrator->hydrate($entity, $data); - } - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/ReadMain.php b/lib/internal/Magento/Framework/Model/Entity/Action/ReadMain.php deleted file mode 100644 index 21d76260c10cf0bd35e2f583e1de2e929722bbcf..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/ReadMain.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\ReadEntityRow; - -/** - * Class ReadMain - */ -class ReadMain -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var ReadEntityRow - */ - protected $readEntityRow; - - /** - * @param MetadataPool $metadataPool - * @param ReadEntityRow $readEntityRow - */ - public function __construct( - MetadataPool $metadataPool, - ReadEntityRow $readEntityRow - ) { - $this->metadataPool = $metadataPool; - $this->readEntityRow = $readEntityRow; - } - - /** - * @param string $entityType - * @param object $entity - * @param string $identifier - * @return object - */ - public function execute($entityType, $entity, $identifier) - { - $hydrator = $this->metadataPool->getHydrator($entityType); - $data = $this->readEntityRow->execute($entityType, $identifier); - return $hydrator->hydrate($entity, $data); - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/ReadRelation.php b/lib/internal/Magento/Framework/Model/Entity/Action/ReadRelation.php deleted file mode 100644 index 00f1cee3a236ea96e4890469a083b598951f457c..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/ReadRelation.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool as RelationActionPool; - -/** - * Class ReadRelation - */ -class ReadRelation -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var RelationActionPool - */ - protected $relationActionPool; - - /** - * @param MetadataPool $metadataPool - * @param RelationActionPool $relationActionPool - */ - public function __construct( - MetadataPool $metadataPool, - RelationActionPool $relationActionPool - ) { - $this->metadataPool = $metadataPool; - $this->relationActionPool = $relationActionPool; - } - - /** - * @param string $entityType - * @param object $entity - * @return object - * @throws \Exception - */ - public function execute($entityType, $entity) - { - $actions = $this->relationActionPool->getActions($entityType, 'read'); - foreach ($actions as $action) { - $entity = $action->execute($entityType, $entity); - } - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/UpdateExtension.php b/lib/internal/Magento/Framework/Model/Entity/Action/UpdateExtension.php deleted file mode 100644 index 0a841619f934781baaca492e9a07addd1061b4f4..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/UpdateExtension.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\ExtensionPool; - -/** - * Class UpdateExtension - */ -class UpdateExtension -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var ExtensionPool - */ - protected $extensionPool; - - /** - * @param MetadataPool $metadataPool - * @param ExtensionPool $extensionPool - */ - public function __construct( - MetadataPool $metadataPool, - ExtensionPool $extensionPool - ) { - $this->metadataPool = $metadataPool; - $this->extensionPool = $extensionPool; - } - - /** - * @param string $entityType - * @param object $entity - * @param array $data - * @return object - * @throws \Exception - */ - public function execute($entityType, $entity, $data = []) - { - $hydrator = $this->metadataPool->getHydrator($entityType); - $entityData = array_merge($hydrator->extract($entity), $data); - $actions = $this->extensionPool->getActions($entityType, 'update'); - foreach ($actions as $action) { - $action->execute($entityType, $entityData); - $entity = $hydrator->hydrate($entity, $entityData); - } - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/UpdateMain.php b/lib/internal/Magento/Framework/Model/Entity/Action/UpdateMain.php deleted file mode 100644 index 3718da8c7f0df9255efccb15c22614c1ca1161bc..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/UpdateMain.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\UpdateEntityRow; - -/** - * Class UpdateMain - */ -class UpdateMain -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var UpdateEntityRow - */ - protected $updateEntityRow; - - /** - * @param MetadataPool $metadataPool - * @param UpdateEntityRow $updateEntityRow - */ - public function __construct( - MetadataPool $metadataPool, - UpdateEntityRow $updateEntityRow - ) { - $this->metadataPool = $metadataPool; - $this->updateEntityRow = $updateEntityRow; - } - - /** - * @param string $entityType - * @param object $entity - * @param array $data - * @return object - */ - public function execute($entityType, $entity, $data = []) - { - $hydrator = $this->metadataPool->getHydrator($entityType); - $entityData = array_merge($hydrator->extract($entity), $data); - $this->updateEntityRow->execute($entityType, $entityData); - $hydrator->hydrate($entity, $entityData); - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/Action/UpdateRelation.php b/lib/internal/Magento/Framework/Model/Entity/Action/UpdateRelation.php deleted file mode 100644 index 058b981ac587a26b3708d65fd7c704db799acc62..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/Action/UpdateRelation.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool as RelationActionPool; - -/** - * Class UpdateRelation - */ -class UpdateRelation -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var RelationActionPool - */ - protected $relationActionPool; - - /** - * @param MetadataPool $metadataPool - * @param RelationActionPool $relationActionPool - */ - public function __construct( - MetadataPool $metadataPool, - RelationActionPool $relationActionPool - ) { - $this->metadataPool = $metadataPool; - $this->relationActionPool = $relationActionPool; - } - - /** - * @param string $entityType - * @param object $entity - * @return object - * @throws \Exception - */ - public function execute($entityType, $entity) - { - $actions = $this->relationActionPool->getActions($entityType, 'update'); - foreach ($actions as $action) { - $entity = $action->execute($entityType, $entity); - } - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/EntityHydrator.php b/lib/internal/Magento/Framework/Model/Entity/Hydrator.php similarity index 74% rename from lib/internal/Magento/Framework/Model/Entity/EntityHydrator.php rename to lib/internal/Magento/Framework/Model/Entity/Hydrator.php index b4001018e2ecaa30044d9ab17978bef8e7cd95e1..cd5fe987fcd47d37fbf695cb9804d562f947da58 100644 --- a/lib/internal/Magento/Framework/Model/Entity/EntityHydrator.php +++ b/lib/internal/Magento/Framework/Model/Entity/Hydrator.php @@ -3,13 +3,14 @@ * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ - namespace Magento\Framework\Model\Entity; +use Magento\Framework\EntityManager\EntityHydratorInterface; + /** - * Class EntityHydrator + * Class Hydrator */ -class EntityHydrator implements HydratorInterface +class Hydrator implements EntityHydratorInterface { /** * @param object $entity @@ -17,7 +18,6 @@ class EntityHydrator implements HydratorInterface */ public function extract($entity) { - //TODO: refactor with using API data interfaces return $entity->getData(); } @@ -28,7 +28,6 @@ class EntityHydrator implements HydratorInterface */ public function hydrate($entity, array $data) { - //TODO: refactor with using API data interfaces $entity->setData(array_merge($entity->getData(), $data)); return $entity; } diff --git a/lib/internal/Magento/Framework/Model/Entity/MetadataPool.php b/lib/internal/Magento/Framework/Model/Entity/MetadataPool.php deleted file mode 100644 index ef1b50474555827537a093b5c40f6cc53923b3cc..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Entity/MetadataPool.php +++ /dev/null @@ -1,100 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Entity; - -use Magento\Framework\ObjectManagerInterface; - -/** - * Class MetadataPool - */ -class MetadataPool -{ - /** - * @var ObjectManagerInterface - */ - protected $objectManager; - - /** - * @var array - */ - protected $metadata; - - /** - * @var \Magento\Framework\Model\Entity\EntityMetadata[] - */ - protected $registry; - - /** - * @var SequenceFactory - */ - protected $sequenceFactory; - - /** - * MetadataPool constructor. - * @param ObjectManagerInterface $objectManager - * @param SequenceFactory $sequenceFactory - * @param array $metadata - */ - public function __construct( - ObjectManagerInterface $objectManager, - SequenceFactory $sequenceFactory, - array $metadata - ) { - $this->objectManager = $objectManager; - $this->sequenceFactory = $sequenceFactory; - $this->metadata = $metadata; - } - - /** - * @param string $bentityType - * @return EntityMetadata - * @throws \Exception - * @SuppressWarnings(PHPMD.NPathComplexity) - */ - public function getMetadata($entityType) - { - if (!isset($this->metadata[$entityType])) { - throw new \Exception('Not enough configuration'); - } - if (!isset($this->registry[$entityType])) { - $this->metadata[$entityType]['connectionName'] = 'default'; - $this->registry[$entityType] = $this->objectManager->create( - EntityMetadata::class, - [ - 'entityTableName' => $this->metadata[$entityType]['entityTableName'], - 'eavEntityType' => isset($this->metadata[$entityType]['eavEntityType']) - ? $this->metadata[$entityType]['eavEntityType'] - : null, - //isset($this->eavMapping[$entityType]) ? $this->eavMapping[$entityType] : null, - 'connectionName' => $this->metadata[$entityType]['connectionName'], - 'identifierField' => $this->metadata[$entityType]['identifierField'], - 'sequence' => $this->sequenceFactory->create($entityType, $this->metadata), - 'entityContext' => isset($this->metadata[$entityType]['entityContext']) - ? $this->metadata[$entityType]['entityContext'] - : [], - 'fields' => isset($this->metadata[$entityType]['fields']) - ? $this->metadata[$entityType]['fields'] - : null, - ] - ); - } - return $this->registry[$entityType]; - } - - /** - * @param string $entityType - * @return HydratorInterface - */ - public function getHydrator($entityType) - { - if (!isset($this->metadata[$entityType]['hydrator'])) { - return $this->objectManager->get(EntityHydrator::class); - } else { - return $this->objectManager->get($this->metadata[$entityType]['hydrator']); - } - } -} diff --git a/lib/internal/Magento/Framework/Model/Entity/ScopeResolver.php b/lib/internal/Magento/Framework/Model/Entity/ScopeResolver.php index 72a910de27193d820dffc868d2076116c6a49c7f..9cf4cde3eb89760182f6157ceb7f842352ce47f5 100644 --- a/lib/internal/Magento/Framework/Model/Entity/ScopeResolver.php +++ b/lib/internal/Magento/Framework/Model/Entity/ScopeResolver.php @@ -8,6 +8,7 @@ namespace Magento\Framework\Model\Entity; use Magento\Framework\ObjectManagerInterface; use Magento\Framework\Exception\ConfigurationMismatchException; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Phrase; /** diff --git a/lib/internal/Magento/Framework/Model/EntityManager.php b/lib/internal/Magento/Framework/Model/EntityManager.php index e254588e33f6c1b8187167275e5b44ed10e5eb4b..c25bd1b99e8672433ed6335b3da92accc74dbe8e 100644 --- a/lib/internal/Magento/Framework/Model/EntityManager.php +++ b/lib/internal/Magento/Framework/Model/EntityManager.php @@ -6,208 +6,9 @@ namespace Magento\Framework\Model; -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Api\SearchCriteria; -use Magento\Framework\Model\ResourceModel\Db\ObjectRelationProcessor; -use Magento\Framework\Event\ManagerInterface as EventManager; -use Magento\Framework\Model\ResourceModel\Db\TransactionManagerInterface as TransactionManager; - /** * Class EntityManager */ -class EntityManager +class EntityManager extends \Magento\Framework\EntityManager\EntityManager { - /** - * @var OrchestratorPool - */ - private $orchestratorPool; - - /** - * @var MetadataPool - */ - private $metadataPool; - - /** - * @var ObjectRelationProcessor - */ - private $relationProcessor; - - /** - * @var EventManager - */ - private $eventManger; - - /** - * @var CommitCallback - */ - private $commitCallback; - - /** - * @var TransactionManager - */ - private $transactionManager; - - /** - * EntityManager constructor. - * - * @param OrchestratorPool $orchestratorPool - * @param MetadataPool $metadataPool - * @param ObjectRelationProcessor $relationProcessor - * @param EventManager $eventManager - * @param CommitCallback $commitCallback - * @param TransactionManager $transactionManager - */ - public function __construct( - OrchestratorPool $orchestratorPool, - MetadataPool $metadataPool, - ObjectRelationProcessor $relationProcessor, - EventManager $eventManager, - CommitCallback $commitCallback, - TransactionManager $transactionManager - ) { - $this->relationProcessor = $relationProcessor; - $this->orchestratorPool = $orchestratorPool; - $this->metadataPool = $metadataPool; - $this->eventManger = $eventManager; - $this->commitCallback = $commitCallback; - $this->transactionManager = $transactionManager; - } - - /** - * @param string $entityType - * @param object $entity - * @param string $identifier - * @return object - * @throws \Exception - */ - public function load($entityType, $entity, $identifier) - { - $this->eventManger->dispatch( - 'entity_load_before', - [ - 'entity_type' => $entityType, - 'identifier' => $identifier - ] - ); - $operation = $this->orchestratorPool->getReadOperation($entityType); - $entity = $operation->execute($entityType, $entity, $identifier); - $this->eventManger->dispatch( - 'entity_load_after', - [ - 'entity_type' => $entityType, - 'entity' => $entity - ] - ); - return $entity; - } - - /** - * @param string $entityType - * @param object $entity - * @return bool|object - * @throws \Exception - */ - public function save($entityType, $entity) - { - $hydrator = $this->metadataPool->getHydrator($entityType); - $metadata = $this->metadataPool->getMetadata($entityType); - $entityData = $hydrator->extract($entity); - $connection = $metadata->getEntityConnection(); - - if (!empty($entityData[$metadata->getIdentifierField()]) - && $metadata->checkIsEntityExists($entityData[$metadata->getIdentifierField()]) - ) { - $operation = $this->orchestratorPool->getWriteOperation($entityType, 'update'); - } else { - $operation = $this->orchestratorPool->getWriteOperation($entityType, 'create'); - } - $connection->beginTransaction(); - try { - $this->eventManger->dispatch( - 'entity_save_before', - [ - 'entity_type' => $entityType, - 'entity' => $entity - ] - ); - $this->relationProcessor->validateDataIntegrity($metadata->getEntityTable(), $entityData); - $entity = $operation->execute($entityType, $entity); - $this->eventManger->dispatch( - 'entity_save_after', - [ - 'entity_type' => $entityType, - 'entity' => $entity - ] - ); - $connection->commit(); - $this->commitCallback->process($entityType); - } catch (\Exception $e) { - $connection->rollBack(); - $this->commitCallback->clear($entityType); - throw $e; - } - return $entity; - } - - /** - * Is entity exists in Entity Manager - * - * @param string $entityType - * @param string $identifier - * @return bool - * @throws \Exception - */ - public function has($entityType, $identifier) - { - return $this->metadataPool->getMetadata($entityType)->checkIsEntityExists($identifier); - } - - /** - * @param string $entityType - * @param object $entity - * @return bool|object - * @throws \Exception - */ - public function delete($entityType, $entity) - { - $metadata = $this->metadataPool->getMetadata($entityType); - $connection = $metadata->getEntityConnection(); - $operation = $this->orchestratorPool->getWriteOperation($entityType, 'delete'); - $this->transactionManager->start($connection); - try { - $this->eventManger->dispatch( - 'entity_delete_before', - [ - 'entity_type' => $entityType, - 'entity' => $entity - ] - ); - $result = $operation->execute($entityType, $entity); - $this->eventManger->dispatch( - 'entity_delete_after', - [ - 'entity_type' => $entityType, - 'entity' => $entity - ] - ); - $this->transactionManager->commit(); - $this->commitCallback->process($entityType); - } catch (\Exception $e) { - $this->transactionManager->rollBack(); - $this->commitCallback->clear($entityType); - throw $e; - } - return $result; - } - - /** - * @param string $entityType - * @param SearchCriteria $searchCriteria - * @return object[] - * @SuppressWarnings(PHPMD.UnusedFormalParameter) - */ - public function find($entityType, SearchCriteria $searchCriteria) - { - //TODO:: implement method - } } diff --git a/lib/internal/Magento/Framework/Model/EntitySnapshot.php b/lib/internal/Magento/Framework/Model/EntitySnapshot.php index 02a6a4a6a004fa931dcdd4339516b86b7595d5bb..fe804724bb6f7efb1075e95f6c652c3a66cbf84b 100644 --- a/lib/internal/Magento/Framework/Model/EntitySnapshot.php +++ b/lib/internal/Magento/Framework/Model/EntitySnapshot.php @@ -6,7 +6,7 @@ namespace Magento\Framework\Model; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\EntitySnapshot\AttributeProvider; /** diff --git a/lib/internal/Magento/Framework/Model/EntitySnapshot/AttributeProvider.php b/lib/internal/Magento/Framework/Model/EntitySnapshot/AttributeProvider.php index e5bf650458a69c8ae57406d2f7499e346f2e497e..6811fab84fbdf2942c6787d73730d668ba3e2ed7 100644 --- a/lib/internal/Magento/Framework/Model/EntitySnapshot/AttributeProvider.php +++ b/lib/internal/Magento/Framework/Model/EntitySnapshot/AttributeProvider.php @@ -6,7 +6,7 @@ namespace Magento\Framework\Model\EntitySnapshot; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\ObjectManagerInterface as ObjectManager; /** diff --git a/lib/internal/Magento/Framework/Model/Operation/ContextHandlerInterface.php b/lib/internal/Magento/Framework/Model/Operation/ContextHandlerInterface.php deleted file mode 100644 index ea73d006a6af972d079a4b8023b2231a5bfa9b24..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Operation/ContextHandlerInterface.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Operation; - -use Magento\Framework\Model\Entity\EntityMetadata; - -/** - * Interface ContextHandler - * - * Retrieve context value map based on metadata context - */ -interface ContextHandlerInterface -{ - /** - * @param EntityMetadata $metadata - * @param array $entityData - * @return array - */ - public function retrieve(EntityMetadata $metadata, array $entityData); -} diff --git a/lib/internal/Magento/Framework/Model/Operation/Read.php b/lib/internal/Magento/Framework/Model/Operation/Read.php deleted file mode 100755 index baac6a12b1579dcd482d3cebae0903da3fdcca71..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Operation/Read.php +++ /dev/null @@ -1,74 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Framework\Model\Operation; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\Entity\Action\ReadMain; -use Magento\Framework\Model\Entity\Action\ReadExtension; -use Magento\Framework\Model\Entity\Action\ReadRelation; - -/** - * Class Read - */ -class Read implements ReadInterface -{ - /** - * @var MetadataPool - */ - protected $metadataPool; - - /** - * @var ReadMain - */ - protected $readMain; - - /** - * @var ReadExtension - */ - protected $readExtension; - - /** - * @var ReadRelation - */ - protected $readRelation; - - /** - * @param MetadataPool $metadataPool - * @param ReadMain $readMain - * @param ReadExtension $readExtension - * @param ReadRelation $readRelation - */ - public function __construct( - MetadataPool $metadataPool, - ReadMain $readMain, - ReadExtension $readExtension, - ReadRelation $readRelation - ) { - $this->metadataPool = $metadataPool; - $this->readMain = $readMain; - $this->readExtension = $readExtension; - $this->readRelation = $readRelation; - } - - /** - * {@inheritdoc} - */ - public function execute($entityType, $entity, $identifier) - { - $metadata = $this->metadataPool->getMetadata($entityType); - - $hydrator = $this->metadataPool->getHydrator($entityType); - $entity = $this->readMain->execute($entityType, $entity, $identifier); - - $entityData = $hydrator->extract($entity); - if (isset($entityData[$metadata->getLinkField()])) { - $entity = $this->readExtension->execute($entityType, $entity); - $entity = $this->readRelation->execute($entityType, $entity); - } - - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Operation/Write/Create.php b/lib/internal/Magento/Framework/Model/Operation/Write/Create.php deleted file mode 100755 index 2efcee68ad2c3b1cfd5af3120e7d0da84a6d019e..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Operation/Write/Create.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Framework\Model\Operation\Write; - -use Magento\Framework\Model\Operation\WriteInterface; -use Magento\Framework\Model\Entity\Action\CreateMain; -use Magento\Framework\Model\Entity\Action\CreateExtension; -use Magento\Framework\Model\Entity\Action\CreateRelation; - -/** - * Class Create - */ -class Create implements WriteInterface -{ - /** - * @var CreateMain - */ - protected $createMain; - - /** - * @var CreateExtension - */ - protected $createExtension; - - /** - * @var CreateRelation - */ - protected $createRelation; - - /** - * @param CreateMain $createMain - * @param CreateExtension $createExtension - * @param CreateRelation $createRelation - */ - public function __construct( - CreateMain $createMain, - CreateExtension $createExtension, - CreateRelation $createRelation - ) { - $this->createMain = $createMain; - $this->createExtension = $createExtension; - $this->createRelation = $createRelation; - } - - /** - * @param string $entityType - * @param object $entity - * @return object - * @throws \Exception - */ - public function execute($entityType, $entity) - { - $entity = $this->createMain->execute($entityType, $entity); - $entity = $this->createExtension->execute($entityType, $entity); - $entity = $this->createRelation->execute($entityType, $entity); - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/Operation/Write/Delete.php b/lib/internal/Magento/Framework/Model/Operation/Write/Delete.php deleted file mode 100755 index 68fe762b1cb77303d0c49cc19a7310ad1d3db06c..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Operation/Write/Delete.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Framework\Model\Operation\Write; - -use Magento\Framework\Model\Operation\WriteInterface; -use Magento\Framework\Model\Entity\Action\DeleteMain; -use Magento\Framework\Model\Entity\Action\DeleteExtension; -use Magento\Framework\Model\Entity\Action\DeleteRelation; - -/** - * Class Delete - */ -class Delete implements WriteInterface -{ - /** - * @var DeleteMain - */ - protected $deleteMain; - - /** - * @var DeleteExtension - */ - protected $deleteExtension; - - /** - * @var DeleteRelation - */ - protected $deleteRelation; - - /** - * @param DeleteMain $deleteMain - * @param DeleteExtension $deleteExtension - * @param DeleteRelation $deleteRelation - */ - public function __construct( - DeleteMain $deleteMain, - DeleteExtension $deleteExtension, - DeleteRelation $deleteRelation - ) { - $this->deleteMain = $deleteMain; - $this->deleteExtension = $deleteExtension; - $this->deleteRelation = $deleteRelation; - } - - /** - * @param string $entityType - * @param object $entity - * @return true - * @throws \Exception - */ - public function execute($entityType, $entity) - { - $this->deleteRelation->execute($entityType, $entity); - $this->deleteExtension->execute($entityType, $entity); - $this->deleteMain->execute($entityType, $entity); - return true; - } -} diff --git a/lib/internal/Magento/Framework/Model/Operation/Write/Update.php b/lib/internal/Magento/Framework/Model/Operation/Write/Update.php deleted file mode 100755 index a48d7958a78d112db285a59a8e3cf5a301b5450b..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Operation/Write/Update.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ -namespace Magento\Framework\Model\Operation\Write; - -use Magento\Framework\Model\Operation\WriteInterface; -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\Entity\Action\UpdateMain; -use Magento\Framework\Model\Entity\Action\UpdateExtension; -use Magento\Framework\Model\Entity\Action\UpdateRelation; - -/** - * Class Update - */ -class Update implements WriteInterface -{ - /** - * @var UpdateMain - */ - protected $updateMain; - - /** - * @var UpdateExtension - */ - protected $updateExtension; - - /** - * @var UpdateRelation - */ - protected $updateRelation; - - /** - * @param UpdateMain $updateMain - * @param UpdateExtension $updateExtension - * @param UpdateRelation $updateRelation - */ - public function __construct( - UpdateMain $updateMain, - UpdateExtension $updateExtension, - UpdateRelation $updateRelation - ) { - $this->updateMain = $updateMain; - $this->updateExtension = $updateExtension; - $this->updateRelation = $updateRelation; - } - - /** - * @param string $entityType - * @param object $entity - * @return object - * @throws \Exception - */ - public function execute($entityType, $entity) - { - $entity = $this->updateMain->execute($entityType, $entity); - $entity = $this->updateExtension->execute($entityType, $entity); - $entity = $this->updateRelation->execute($entityType, $entity); - return $entity; - } -} diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/Db/CreateEntityRow.php b/lib/internal/Magento/Framework/Model/ResourceModel/Db/CreateEntityRow.php index cc90efda449ea5a5eb66729212f1875fb13581f4..fbcad7b1312c543fc80a40bae78182d6eb8d0942 100755 --- a/lib/internal/Magento/Framework/Model/ResourceModel/Db/CreateEntityRow.php +++ b/lib/internal/Magento/Framework/Model/ResourceModel/Db/CreateEntityRow.php @@ -5,7 +5,7 @@ */ namespace Magento\Framework\Model\ResourceModel\Db; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\Entity\EntityMetadata; /** diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/Db/DeleteEntityRow.php b/lib/internal/Magento/Framework/Model/ResourceModel/Db/DeleteEntityRow.php index a3622682611695bd75ef28da82fec2918e287d64..e3a3dcf5afb0f4f5d509024e94e7f477ed07d93e 100755 --- a/lib/internal/Magento/Framework/Model/ResourceModel/Db/DeleteEntityRow.php +++ b/lib/internal/Magento/Framework/Model/ResourceModel/Db/DeleteEntityRow.php @@ -5,7 +5,7 @@ */ namespace Magento\Framework\Model\ResourceModel\Db; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\Entity\EntityMetadata; class DeleteEntityRow diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/Db/ReadEntityRow.php b/lib/internal/Magento/Framework/Model/ResourceModel/Db/ReadEntityRow.php index d0e081234d9aae4efa7c507399240b3cd0307329..2e61de6ae12b242c56a21521ff7c13285b69dbd7 100644 --- a/lib/internal/Magento/Framework/Model/ResourceModel/Db/ReadEntityRow.php +++ b/lib/internal/Magento/Framework/Model/ResourceModel/Db/ReadEntityRow.php @@ -6,7 +6,7 @@ namespace Magento\Framework\Model\ResourceModel\Db; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; /** * Class ReadEntityRow diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/Db/UpdateEntityRow.php b/lib/internal/Magento/Framework/Model/ResourceModel/Db/UpdateEntityRow.php index 26e52091d63c98b09a0448081f5aa41561ea169a..c26d813b6a55ec05efb5bf2461ac6c44be0690d6 100755 --- a/lib/internal/Magento/Framework/Model/ResourceModel/Db/UpdateEntityRow.php +++ b/lib/internal/Magento/Framework/Model/ResourceModel/Db/UpdateEntityRow.php @@ -6,7 +6,7 @@ namespace Magento\Framework\Model\ResourceModel\Db; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\Entity\EntityMetadata; /** diff --git a/lib/internal/Magento/Framework/Model/ResourceModel/Db/ValidateDataIntegrity.php b/lib/internal/Magento/Framework/Model/ResourceModel/Db/ValidateDataIntegrity.php new file mode 100644 index 0000000000000000000000000000000000000000..8dda7cb4a751ed59385c446bfe7590a3c18d32c1 --- /dev/null +++ b/lib/internal/Magento/Framework/Model/ResourceModel/Db/ValidateDataIntegrity.php @@ -0,0 +1,63 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\Model\ResourceModel\Db; + +use Magento\Framework\EntityManager\MetadataPool; +use Magento\Framework\EntityManager\HydratorPool; + +/** + * Class ValidateDataIntegrity + */ +class ValidateDataIntegrity +{ + /** + * @var MetadataPool + */ + private $metadataPool; + + /** + * @var HydratorPool + */ + private $hydratorPool; + + /** + * @var ObjectRelationProcessor + */ + private $objectRelationProcessor; + + /** + * ValidateDataIntegrity constructor. + * + * @param MetadataPool $metadataPool + * @param HydratorPool $hydratorPool + * @param ObjectRelationProcessor $objectRelationProcessor + */ + public function __construct( + MetadataPool $metadataPool, + HydratorPool $hydratorPool, + ObjectRelationProcessor $objectRelationProcessor + ) { + $this->metadataPool = $metadataPool; + $this->hydratorPool = $hydratorPool; + $this->objectRelationProcessor = $objectRelationProcessor; + } + + /** + * @param string $entityType + * @param object $entity + * @throws \Exception + */ + public function execute($entityType, $entity) + { + $metadata = $this->metadataPool->getMetadata($entityType); + $hydrator = $this->hydratorPool->getHydrator($entityType); + $this->objectRelationProcessor->validateDataIntegrity( + $metadata->getEntityTable(), + $hydrator->extract($entity) + ); + } +} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/CreateExtensionTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/CreateExtensionTest.php deleted file mode 100644 index fa44e376e373c3ab36fbb78718d6219987406d55..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/CreateExtensionTest.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\Action\CreateExtension; -use Magento\Framework\Model\Entity\EntityHydrator; -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\ExtensionPool; - -/** - * Class CreateExtensionTest - */ -class CreateExtensionTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $extensionPoolMock; - - /** - * @var CreateExtension - */ - protected $createExtension; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->extensionPoolMock = $this->getMockBuilder(ExtensionPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->createExtension = new CreateExtension( - $this->metadataPoolMock, - $this->extensionPoolMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $entityData = ['name' => 'test']; - $entityHydrator = $this->getMockBuilder(EntityHydrator::class) - ->disableOriginalConstructor() - ->getMock(); - $action = $this->getMockBuilder(\stdClass::class) - ->disableOriginalConstructor() - ->setMethods(['execute']) - ->getMock(); - $this->metadataPoolMock->expects($this->once())->method('getHydrator')->willReturn($entityHydrator); - $entityHydrator->expects($this->once())->method('extract')->with($entity)->willReturn([]); - $this->extensionPoolMock->expects($this->once()) - ->method('getActions') - ->with($entityType, 'create') - ->willReturn([$action]); - $action->expects($this->once())->method('execute')->with($entityType, $entityData)->willReturn($entityData); - $entityHydrator->expects($this->once())->method('hydrate')->with($entity, $entityData)->willReturn($entity); - $this->assertEquals($entity, $this->createExtension->execute($entityType, $entity, $entityData)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/CreateMainTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/CreateMainTest.php deleted file mode 100644 index d3a40056e14f455be27c718cf0e00145bc3d6c11..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/CreateMainTest.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\EntityHydrator; -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\CreateEntityRow; -use Magento\Framework\Model\Entity\Action\CreateMain; - -/** - * Class CreateMainTest - */ -class CreateMainTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $createEntityRowMock; - - /** - * @var CreateMain - */ - protected $createMain; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->createEntityRowMock = $this->getMockBuilder(CreateEntityRow::class) - ->disableOriginalConstructor() - ->getMock(); - $this->createMain = new CreateMain( - $this->metadataPoolMock, - $this->createEntityRowMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $entityData = ['name' => 'test']; - $entityHydrator = $this->getMockBuilder(EntityHydrator::class) - ->disableOriginalConstructor() - ->getMock(); - $this->metadataPoolMock->expects($this->once())->method('getHydrator')->willReturn($entityHydrator); - $entityHydrator->expects($this->once())->method('extract')->with($entity)->willReturn([]); - $entityHydrator->expects($this->once())->method('hydrate')->with($entity, $entityData)->willReturn($entity); - $this->createEntityRowMock->expects($this->once()) - ->method('execute') - ->with($entityType, $entityData) - ->willReturn($entityData); - $this->assertEquals($entity, $this->createMain->execute($entityType, $entity, $entityData)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/CreateRelationTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/CreateRelationTest.php deleted file mode 100644 index 0a79a926add49891510a0d77feb47766e4e8a091..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/CreateRelationTest.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool as RelationActionPool; -use Magento\Framework\Model\Entity\Action\CreateRelation; - -/** - * Class CreateRelationTest - */ -class CreateRelationTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $relationActionPoolMock; - - /** - * @var CreateRelation - */ - protected $createRelation; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->relationActionPoolMock = $this->getMockBuilder(RelationActionPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->createRelation = new CreateRelation( - $this->metadataPoolMock, - $this->relationActionPoolMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $action = $this->getMockBuilder(\stdClass::class) - ->disableOriginalConstructor() - ->setMethods(['execute']) - ->getMock(); - $this->relationActionPoolMock->expects($this->once()) - ->method('getActions') - ->with($entityType, 'create') - ->willReturn([$action]); - $action->expects($this->once())->method('execute')->with($entityType, $entity)->willReturn($entity); - $this->assertEquals($entity, $this->createRelation->execute($entityType, $entity)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/DeleteExtensionTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/DeleteExtensionTest.php deleted file mode 100644 index b6b1e0c98e4940ec60e7b5175286abb8f04b23d4..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/DeleteExtensionTest.php +++ /dev/null @@ -1,73 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\Action\DeleteExtension; -use Magento\Framework\Model\Entity\EntityHydrator; -use Magento\Framework\Model\Entity\EntityMetadata; -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\ExtensionPool; - -class DeleteExtensionTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $extensionPoolMock; - - /** - * @var DeleteExtension - */ - protected $deleteExtension; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->extensionPoolMock = $this->getMockBuilder(ExtensionPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->deleteExtension = new DeleteExtension( - $this->metadataPoolMock, - $this->extensionPoolMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $entityData = ['name' => 'test']; - $entityHydrator = $this->getMockBuilder(EntityHydrator::class) - ->disableOriginalConstructor() - ->getMock(); - $action = $this->getMockBuilder(\stdClass::class) - ->disableOriginalConstructor() - ->setMethods(['execute']) - ->getMock(); - $entityMetadata = $this->getMockBuilder(EntityMetadata::class) - ->disableOriginalConstructor() - ->getMock(); - $this->metadataPoolMock->expects($this->once())->method('getHydrator')->willReturn($entityHydrator); - $this->metadataPoolMock->expects($this->once())->method('getMetadata')->willReturn($entityMetadata); - $entityMetadata->expects($this->once())->method('getEavEntityType')->willReturn(true); - $entityHydrator->expects($this->once())->method('extract')->with($entity)->willReturn([]); - $this->extensionPoolMock->expects($this->once()) - ->method('getActions') - ->with($entityType, 'delete') - ->willReturn([$action]); - $action->expects($this->once())->method('execute')->with($entityType, $entityData)->willReturn($entityData); - $entityHydrator->expects($this->once())->method('hydrate')->with($entity, $entityData)->willReturn($entity); - $this->assertEquals($entity, $this->deleteExtension->execute($entityType, $entity, $entityData)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/DeleteMainTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/DeleteMainTest.php deleted file mode 100644 index ac76e23b397c4401b039b49e3150d6468da1f257..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/DeleteMainTest.php +++ /dev/null @@ -1,64 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\EntityHydrator; -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\DeleteEntityRow; -use Magento\Framework\Model\Entity\Action\DeleteMain; - -/** - * Class DeleteMainTest - */ -class DeleteMainTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $deleteEntityRowMock; - - /** - * @var DeleteMain - */ - protected $deleteMain; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->deleteEntityRowMock = $this->getMockBuilder(DeleteEntityRow::class) - ->disableOriginalConstructor() - ->getMock(); - $this->deleteMain = new DeleteMain( - $this->metadataPoolMock, - $this->deleteEntityRowMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $entityData = ['name' => 'test']; - $entityHydrator = $this->getMockBuilder(EntityHydrator::class) - ->disableOriginalConstructor() - ->getMock(); - $this->metadataPoolMock->expects($this->once())->method('getHydrator')->willReturn($entityHydrator); - $entityHydrator->expects($this->once())->method('extract')->with($entity)->willReturn($entityData); - $this->deleteEntityRowMock->expects($this->once()) - ->method('execute') - ->with($entityType, $entityData) - ->willReturn($entity); - $this->assertEquals($entity, $this->deleteMain->execute($entityType, $entity)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/DeleteRelationTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/DeleteRelationTest.php deleted file mode 100644 index 175684428eaa813afe3e940261c913dfc9ee0531..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/DeleteRelationTest.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool as RelationActionPool; -use Magento\Framework\Model\Entity\Action\DeleteRelation; - -/** - * Class DeleteRelationTest - */ -class DeleteRelationTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $relationActionPoolMock; - - /** - * @var DeleteRelation - */ - protected $deleteRelation; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->relationActionPoolMock = $this->getMockBuilder(RelationActionPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->deleteRelation = new DeleteRelation( - $this->metadataPoolMock, - $this->relationActionPoolMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $action = $this->getMockBuilder(\stdClass::class) - ->disableOriginalConstructor() - ->setMethods(['execute']) - ->getMock(); - $this->relationActionPoolMock->expects($this->once()) - ->method('getActions') - ->with($entityType, 'delete') - ->willReturn([$action]); - $action->expects($this->once())->method('execute')->with($entityType, $entity)->willReturn($entity); - $this->assertEquals($entity, $this->deleteRelation->execute($entityType, $entity)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/ReadExtensionTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/ReadExtensionTest.php deleted file mode 100644 index c0800668d8bff2c96e8d34ffecab95261d0db47d..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/ReadExtensionTest.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\Action\ReadExtension; -use Magento\Framework\Model\Entity\EntityHydrator; -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\ExtensionPool; - -/** - * Class ReadExtensionTest - */ -class ReadExtensionTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $extensionPoolMock; - - /** - * @var ReadExtension - */ - protected $readExtension; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->extensionPoolMock = $this->getMockBuilder(ExtensionPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->readExtension = new ReadExtension( - $this->metadataPoolMock, - $this->extensionPoolMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $entityData = ['name' => 'test']; - $entityHydrator = $this->getMockBuilder(EntityHydrator::class) - ->disableOriginalConstructor() - ->getMock(); - $action = $this->getMockBuilder(\stdClass::class) - ->disableOriginalConstructor() - ->setMethods(['execute']) - ->getMock(); - $this->metadataPoolMock->expects($this->once())->method('getHydrator')->willReturn($entityHydrator); - $entityHydrator->expects($this->once())->method('extract')->with($entity)->willReturn($entityData); - $this->extensionPoolMock->expects($this->once()) - ->method('getActions') - ->with($entityType, 'read') - ->willReturn([$action]); - $action->expects($this->once())->method('execute')->with($entityType, $entityData)->willReturn($entityData); - $entityHydrator->expects($this->once())->method('hydrate')->with($entity, $entityData)->willReturn($entity); - $this->assertEquals($entity, $this->readExtension->execute($entityType, $entity)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/ReadMainTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/ReadMainTest.php deleted file mode 100644 index 572eccbca8ac445ca50883d0a7d5a59888cc6e48..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/ReadMainTest.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\EntityHydrator; -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\ReadEntityRow; -use Magento\Framework\Model\Entity\Action\ReadMain; - -/** - * Class ReadMainTest - */ -class ReadMainTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $readEntityRowMock; - - /** - * @var ReadMain - */ - protected $readMain; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->readEntityRowMock = $this->getMockBuilder(ReadEntityRow::class) - ->disableOriginalConstructor() - ->getMock(); - $this->readMain = new ReadMain( - $this->metadataPoolMock, - $this->readEntityRowMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $entityData = ['name' => 'test']; - $id = 1; - $entityHydrator = $this->getMockBuilder(EntityHydrator::class) - ->disableOriginalConstructor() - ->getMock(); - $this->metadataPoolMock->expects($this->once())->method('getHydrator')->willReturn($entityHydrator); - $entityHydrator->expects($this->once())->method('hydrate')->with($entity, $entityData)->willReturn($entity); - $this->readEntityRowMock->expects($this->once()) - ->method('execute') - ->with($entityType, $id) - ->willReturn($entityData); - $this->assertEquals($entity, $this->readMain->execute($entityType, $entity, $id)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/ReadRelationTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/ReadRelationTest.php deleted file mode 100644 index c370f9e3dcbe46f6d824a5a3561b9431931dd78d..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/ReadRelationTest.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool as RelationActionPool; -use Magento\Framework\Model\Entity\Action\ReadRelation; - -/** - * Class ReadRelationTest - */ -class ReadRelationTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $relationActionPoolMock; - - /** - * @var ReadRelation - */ - protected $readRelation; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->relationActionPoolMock = $this->getMockBuilder(RelationActionPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->readRelation = new ReadRelation( - $this->metadataPoolMock, - $this->relationActionPoolMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $action = $this->getMockBuilder(\stdClass::class) - ->disableOriginalConstructor() - ->setMethods(['execute']) - ->getMock(); - $this->relationActionPoolMock->expects($this->once()) - ->method('getActions') - ->with($entityType, 'read') - ->willReturn([$action]); - $action->expects($this->once())->method('execute')->with($entityType, $entity)->willReturn($entity); - $this->assertEquals($entity, $this->readRelation->execute($entityType, $entity)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/UpdateExtensionTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/UpdateExtensionTest.php deleted file mode 100644 index b12d32de6b4cb754459372ede2ef258de7e87fdc..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/UpdateExtensionTest.php +++ /dev/null @@ -1,70 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\Action\UpdateExtension; -use Magento\Framework\Model\Entity\EntityHydrator; -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\ExtensionPool; - -/** - * Class UpdateExtensionTest - */ -class UpdateExtensionTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $extensionPoolMock; - - /** - * @var UpdateExtension - */ - protected $updateExtension; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->extensionPoolMock = $this->getMockBuilder(ExtensionPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->updateExtension = new UpdateExtension( - $this->metadataPoolMock, - $this->extensionPoolMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $entityData = ['name' => 'test']; - $entityHydrator = $this->getMockBuilder(EntityHydrator::class) - ->disableOriginalConstructor() - ->getMock(); - $action = $this->getMockBuilder(\stdClass::class) - ->disableOriginalConstructor() - ->setMethods(['execute']) - ->getMock(); - $this->metadataPoolMock->expects($this->once())->method('getHydrator')->willReturn($entityHydrator); - $entityHydrator->expects($this->once())->method('extract')->with($entity)->willReturn([]); - $this->extensionPoolMock->expects($this->once()) - ->method('getActions') - ->with($entityType, 'update') - ->willReturn([$action]); - $action->expects($this->once())->method('execute')->with($entityType, $entityData)->willReturn($entityData); - $entityHydrator->expects($this->once())->method('hydrate')->with($entity, $entityData)->willReturn($entity); - $this->assertEquals($entity, $this->updateExtension->execute($entityType, $entity, $entityData)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/UpdateMainTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/UpdateMainTest.php deleted file mode 100644 index e9a91a3d804fd9622b39ae869bf5f2c64a33379e..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/UpdateMainTest.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\EntityHydrator; -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\UpdateEntityRow; -use Magento\Framework\Model\Entity\Action\UpdateMain; - -/** - * Class UpdateMainTest - */ -class UpdateMainTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $updateEntityRowMock; - - /** - * @var UpdateMain - */ - protected $updateMain; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->updateEntityRowMock = $this->getMockBuilder(UpdateEntityRow::class) - ->disableOriginalConstructor() - ->getMock(); - $this->updateMain = new UpdateMain( - $this->metadataPoolMock, - $this->updateEntityRowMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $entityData = ['name' => 'test']; - $entityHydrator = $this->getMockBuilder(EntityHydrator::class) - ->disableOriginalConstructor() - ->getMock(); - $this->metadataPoolMock->expects($this->once())->method('getHydrator')->willReturn($entityHydrator); - $entityHydrator->expects($this->once())->method('extract')->with($entity)->willReturn([]); - $entityHydrator->expects($this->once())->method('hydrate')->with($entity, $entityData)->willReturn($entity); - $this->updateEntityRowMock->expects($this->once()) - ->method('execute') - ->with($entityType, $entityData) - ->willReturn($entityData); - $this->assertEquals($entity, $this->updateMain->execute($entityType, $entity, $entityData)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/UpdateRelationTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/UpdateRelationTest.php deleted file mode 100644 index 143be1795c48c5d245f41192db1f7f0158486fd3..0000000000000000000000000000000000000000 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/Action/UpdateRelationTest.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -/** - * Copyright © 2015 Magento. All rights reserved. - * See COPYING.txt for license details. - */ - -namespace Magento\Framework\Model\Test\Unit\Entity\Action; - -use Magento\Framework\Model\Entity\MetadataPool; -use Magento\Framework\Model\ResourceModel\Db\Relation\ActionPool as RelationActionPool; -use Magento\Framework\Model\Entity\Action\UpdateRelation; - -/** - * Class UpdateRelationTest - */ -class UpdateRelationTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $metadataPoolMock; - - /** - * @var \PHPUnit_Framework_MockObject_MockObject - */ - protected $relationActionPoolMock; - - /** - * @var UpdateRelation - */ - protected $updateRelation; - - protected function setUp() - { - $this->metadataPoolMock = $this->getMockBuilder(MetadataPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->relationActionPoolMock = $this->getMockBuilder(RelationActionPool::class) - ->disableOriginalConstructor() - ->getMock(); - $this->updateRelation = new UpdateRelation( - $this->metadataPoolMock, - $this->relationActionPoolMock - ); - } - - public function testExecute() - { - $entityType = 'Type'; - $entity = new \stdClass(); - $action = $this->getMockBuilder(\stdClass::class) - ->disableOriginalConstructor() - ->setMethods(['execute']) - ->getMock(); - $this->relationActionPoolMock->expects($this->once()) - ->method('getActions') - ->with($entityType, 'update') - ->willReturn([$action]); - $action->expects($this->once())->method('execute')->with($entityType, $entity)->willReturn($entity); - $this->assertEquals($entity, $this->updateRelation->execute($entityType, $entity)); - } -} diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/MetadataPoolTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/MetadataPoolTest.php index 13a2c683f900a632649cab87ac472407e83f7693..7fcc637e52dd49b6e9a69ac0f07baf5bb7268ee8 100644 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Entity/MetadataPoolTest.php +++ b/lib/internal/Magento/Framework/Model/Test/Unit/Entity/MetadataPoolTest.php @@ -7,7 +7,7 @@ namespace Magento\Framework\Model\Test\Unit\Entity; use Magento\Framework\Model\Entity\EntityHydrator; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\Entity\EntityMetadata; use Magento\Framework\ObjectManagerInterface; use Magento\Framework\Model\Entity\SequenceFactory; diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/EntityManagerTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/EntityManagerTest.php index cdd331fed9a1634b4c3011b89e38ec8359987d2b..1e453428988b3f432e4535b9004cd5db1eea7389 100644 --- a/lib/internal/Magento/Framework/Model/Test/Unit/EntityManagerTest.php +++ b/lib/internal/Magento/Framework/Model/Test/Unit/EntityManagerTest.php @@ -28,7 +28,7 @@ class EntityManagerTest extends \PHPUnit_Framework_TestCase protected $hydrator; /** - * @var \Magento\Framework\Model\Entity\MetadataPool|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject */ protected $metadataPool; @@ -71,7 +71,7 @@ class EntityManagerTest extends \PHPUnit_Framework_TestCase ); $this->metadataPool = $this->getMock( - 'Magento\Framework\Model\Entity\MetadataPool', + 'Magento\Framework\EntityManager\MetadataPool', [], [], '', diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/EntitySnapshot/AttributeProviderTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/EntitySnapshot/AttributeProviderTest.php index 83f31ee98bf153d293f66058c21cea7e4c9e82b3..0ca67fa6f2d49ea98faa3e859a63035da65153de 100644 --- a/lib/internal/Magento/Framework/Model/Test/Unit/EntitySnapshot/AttributeProviderTest.php +++ b/lib/internal/Magento/Framework/Model/Test/Unit/EntitySnapshot/AttributeProviderTest.php @@ -10,7 +10,7 @@ use Magento\Framework\DB\Adapter\AdapterInterface; use Magento\Framework\Model\Entity\EntityMetadata; use Magento\Framework\Model\EntitySnapshot\AttributeProvider; use Magento\Framework\Model\EntitySnapshot\AttributeProviderInterface; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\ObjectManagerInterface as ObjectManager; /** diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/EntitySnapshotTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/EntitySnapshotTest.php index 6331e658c1466208547815bff99b3aa09a23cafc..d06a4b04aa04d7a86b61a9694c20e774ce602e7d 100644 --- a/lib/internal/Magento/Framework/Model/Test/Unit/EntitySnapshotTest.php +++ b/lib/internal/Magento/Framework/Model/Test/Unit/EntitySnapshotTest.php @@ -8,7 +8,7 @@ namespace Magento\Framework\Model\Test\Unit; use Magento\Framework\Model\Entity\EntityHydrator; use Magento\Framework\Model\Entity\EntityMetadata; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\EntitySnapshot; use Magento\Framework\Model\EntitySnapshot\AttributeProvider; diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Operation/ReadTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Operation/ReadTest.php index 5f03986123a052f35c91843be62a231dcd87f3fd..1524629212bb6a02e394a3a89e5aefc41933666b 100644 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Operation/ReadTest.php +++ b/lib/internal/Magento/Framework/Model/Test/Unit/Operation/ReadTest.php @@ -6,7 +6,7 @@ namespace Magento\Framework\Model\Test\Unit\Operation; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\Entity\Action\ReadMain; use Magento\Framework\Model\Entity\Action\ReadExtension; use Magento\Framework\Model\Entity\Action\ReadRelation; diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/Operation/Write/UpdateTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/Operation/Write/UpdateTest.php index 097fcc6daa6f3ae5a76ff60ea76ddf8eefacf58a..3d79f0104e3b4b4f68abade13425b6a6223bc30b 100644 --- a/lib/internal/Magento/Framework/Model/Test/Unit/Operation/Write/UpdateTest.php +++ b/lib/internal/Magento/Framework/Model/Test/Unit/Operation/Write/UpdateTest.php @@ -6,7 +6,7 @@ namespace Magento\Framework\Model\Test\Unit\Operation\Write; -use Magento\Framework\Model\Entity\MetadataPool; +use Magento\Framework\EntityManager\MetadataPool; use Magento\Framework\Model\Entity\Action\UpdateMain; use Magento\Framework\Model\Entity\Action\UpdateExtension; use Magento\Framework\Model\Entity\Action\UpdateRelation; diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/CreateEntityRowTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/CreateEntityRowTest.php index 3da0e1b84782245e2d1b79552d8175ec07a7d6f3..fb25eb23bedb1285f782281e5659a5b38c9b387d 100644 --- a/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/CreateEntityRowTest.php +++ b/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/CreateEntityRowTest.php @@ -23,7 +23,7 @@ class CreateEntityRowTest extends \PHPUnit_Framework_TestCase protected $connection; /** - * @var \Magento\Framework\Model\Entity\MetadataPool|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject */ protected $metadataPool; @@ -72,7 +72,7 @@ class CreateEntityRowTest extends \PHPUnit_Framework_TestCase ->willReturn('100000001'); $this->metadataPool = $this->getMock( - 'Magento\Framework\Model\Entity\MetadataPool', + 'Magento\Framework\EntityManager\MetadataPool', [], [], '', diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/DeleteEntityRowTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/DeleteEntityRowTest.php index 6aa524e30caa14c413fcb66478ca6223da7d98d1..e186121079f4d1757817f659b876e131b09407e1 100644 --- a/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/DeleteEntityRowTest.php +++ b/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/DeleteEntityRowTest.php @@ -23,7 +23,7 @@ class DeleteEntityRowTest extends \PHPUnit_Framework_TestCase protected $connection; /** - * @var \Magento\Framework\Model\Entity\MetadataPool|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject */ protected $metadataPool; @@ -60,7 +60,7 @@ class DeleteEntityRowTest extends \PHPUnit_Framework_TestCase ->willReturn($this->connection); $this->metadataPool = $this->getMock( - 'Magento\Framework\Model\Entity\MetadataPool', + 'Magento\Framework\EntityManager\MetadataPool', [], [], '', diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/ReadEntityRowTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/ReadEntityRowTest.php index 55b0330d6eb33a4c6c423a3090249aad79434dfd..ec4042a4b0908f66fff6c01a9334be0493a29ccd 100644 --- a/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/ReadEntityRowTest.php +++ b/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/ReadEntityRowTest.php @@ -28,7 +28,7 @@ class ReadEntityRowTest extends \PHPUnit_Framework_TestCase protected $connection; /** - * @var \Magento\Framework\Model\Entity\MetadataPool|\PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\EntityManager\MetadataPool|\PHPUnit_Framework_MockObject_MockObject */ protected $metadataPool; @@ -81,7 +81,7 @@ class ReadEntityRowTest extends \PHPUnit_Framework_TestCase ->willReturn('identifier'); $this->metadataPool = $this->getMock( - 'Magento\Framework\Model\Entity\MetadataPool', + 'Magento\Framework\EntityManager\MetadataPool', [], [], '', diff --git a/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/UpdateEntityRowTest.php b/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/UpdateEntityRowTest.php index 66d33ff0be011e01305be87d80bbc5bb55cff8c9..cc4263338cf62db407db7d5b0c403fa3ecaf8f89 100644 --- a/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/UpdateEntityRowTest.php +++ b/lib/internal/Magento/Framework/Model/Test/Unit/ResourceModel/Db/UpdateEntityRowTest.php @@ -22,7 +22,7 @@ class UpdateEntityRowTest extends \PHPUnit_Framework_TestCase protected function setUp() { $objectManager = new ObjectManager($this); - $this->metadataPoolMock = $this->getMockBuilder('\Magento\Framework\Model\Entity\MetadataPool') + $this->metadataPoolMock = $this->getMockBuilder('\Magento\Framework\EntityManager\MetadataPool') ->disableOriginalConstructor() ->getMock(); $this->model = $objectManager->getObject( diff --git a/setup/src/Magento/Setup/Fixtures/CatalogPriceRulesFixture.php b/setup/src/Magento/Setup/Fixtures/CatalogPriceRulesFixture.php index ec83f33944f3e06dff2f9f61fdc23f9c8094d056..a344cfe8d62d7499e3088a29235ba94b5bc62989 100644 --- a/setup/src/Magento/Setup/Fixtures/CatalogPriceRulesFixture.php +++ b/setup/src/Magento/Setup/Fixtures/CatalogPriceRulesFixture.php @@ -34,8 +34,8 @@ class CatalogPriceRulesFixture extends Fixture $category = $this->fixtureModel->getObjectManager()->get('Magento\Catalog\Model\Category'); /** @var $model \Magento\CatalogRule\Model\Rule*/ $model = $this->fixtureModel->getObjectManager()->get('Magento\CatalogRule\Model\Rule'); - /** @var \Magento\Framework\Model\Entity\MetadataPool $metadataPool */ - $metadataPool = $this->fixtureModel->getObjectManager()->get('Magento\Framework\Model\Entity\MetadataPool'); + /** @var \Magento\Framework\EntityManager\MetadataPool $metadataPool */ + $metadataPool = $this->fixtureModel->getObjectManager()->get('Magento\Framework\EntityManager\MetadataPool'); $metadata = $metadataPool->getMetadata('Magento\CatalogRule\Api\Data\RuleInterface'); //Get all websites diff --git a/setup/src/Magento/Setup/Test/Unit/Fixtures/CatalogPriceRulesFixtureTest.php b/setup/src/Magento/Setup/Test/Unit/Fixtures/CatalogPriceRulesFixtureTest.php index 71241d9d5800417b569c2eda93712e0f88282e0b..344e8ad46d0686dff88c6d8fe5ab1532056c875b 100644 --- a/setup/src/Magento/Setup/Test/Unit/Fixtures/CatalogPriceRulesFixtureTest.php +++ b/setup/src/Magento/Setup/Test/Unit/Fixtures/CatalogPriceRulesFixtureTest.php @@ -74,7 +74,7 @@ class CatalogPriceRulesFixtureTest extends \PHPUnit_Framework_TestCase $modelMock = $this->getMock('Magento\CatalogRule\Model\Rule', [], [], '', false); $metadataMock = $this->getMock('\Magento\Framework\Model\Entity\EntityMetadata', [], [], '', false); - $metadataPoolMock = $this->getMock('Magento\Framework\Model\Entity\MetadataPool', [], [], '', false); + $metadataPoolMock = $this->getMock('Magento\Framework\EntityManager\MetadataPool', [], [], '', false); $metadataMock->expects($this->once()) ->method('getLinkField') ->will($this->returnValue('Field Id Name')); @@ -82,7 +82,7 @@ class CatalogPriceRulesFixtureTest extends \PHPUnit_Framework_TestCase $valueMap = [ ['Magento\CatalogRule\Model\Rule', $modelMock], ['Magento\Catalog\Model\Category', $categoryMock], - ['Magento\Framework\Model\Entity\MetadataPool', $metadataPoolMock] + ['Magento\Framework\EntityManager\MetadataPool', $metadataPoolMock] ]; $metadataPoolMock ->expects($this->once())