Skip to content
Snippets Groups Projects
Commit a9bbd362 authored by Cristian Partica's avatar Cristian Partica
Browse files

MAGETWO-58924: SQL error wait timeout error when saving categories

- reduce dependency coupling count
parent d694a539
No related merge requests found
...@@ -5,33 +5,27 @@ ...@@ -5,33 +5,27 @@
*/ */
namespace Magento\CatalogUrlRewrite\Model\Category; namespace Magento\CatalogUrlRewrite\Model\Category;
use Magento\Catalog\Model\Category;
use Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator; use Magento\CatalogUrlRewrite\Model\CategoryUrlRewriteGenerator;
use Magento\UrlRewrite\Model\OptionProvider; use Magento\UrlRewrite\Model\OptionProvider;
use Magento\UrlRewrite\Model\UrlFinderInterface;
use Magento\UrlRewrite\Service\V1\Data\UrlRewriteFactory;
use Magento\UrlRewrite\Service\V1\Data\UrlRewrite;
use Magento\CatalogUrlRewrite\Model\Map\UrlRewriteMap;
use Magento\UrlRewrite\Model\UrlRewritesSetFactory;
class CurrentUrlRewritesRegenerator class CurrentUrlRewritesRegenerator
{ {
/** @var \Magento\CatalogUrlRewrite\Model\CategoryUrlPathGenerator */ /** @var \Magento\CatalogUrlRewrite\Model\CategoryUrlPathGenerator */
protected $categoryUrlPathGenerator; protected $categoryUrlPathGenerator;
/** @var UrlRewriteFactory */ /** @var \Magento\UrlRewrite\Service\V1\Data\UrlRewriteFactory */
protected $urlRewriteFactory; protected $urlRewriteFactory;
/** @var UrlRewrite */ /** @var \Magento\UrlRewrite\Service\V1\Data\UrlRewrite */
private $urlRewritePlaceholder; private $urlRewritePlaceholder;
/** /**
* @var UrlFinderInterface * @var \Magento\UrlRewrite\Model\UrlFinderInterface
* @deprecated * @deprecated
*/ */
protected $urlFinder; protected $urlFinder;
/** @var UrlRewriteMap */ /** @var \Magento\CatalogUrlRewrite\Model\Map\UrlRewriteMap */
private $urlRewriteMap; private $urlRewriteMap;
/** @var \Magento\UrlRewrite\Model\UrlRewritesSet */ /** @var \Magento\UrlRewrite\Model\UrlRewritesSet */
...@@ -56,7 +50,7 @@ class CurrentUrlRewritesRegenerator ...@@ -56,7 +50,7 @@ class CurrentUrlRewritesRegenerator
$this->urlRewritePlaceholder = $urlRewriteFactory->create(); $this->urlRewritePlaceholder = $urlRewriteFactory->create();
$this->urlFinder = $urlFinder; $this->urlFinder = $urlFinder;
$this->urlRewriteMap = $urlRewriteMap ?: \Magento\Framework\App\ObjectManager::getInstance() $this->urlRewriteMap = $urlRewriteMap ?: \Magento\Framework\App\ObjectManager::getInstance()
->get(UrlRewriteMap::class); ->get(\Magento\CatalogUrlRewrite\Model\Map\UrlRewriteMap::class);
$urlRewritesSetFactory = $urlRewritesSetFactory ?: \Magento\Framework\App\ObjectManager::getInstance() $urlRewritesSetFactory = $urlRewritesSetFactory ?: \Magento\Framework\App\ObjectManager::getInstance()
->get(UrlRewritesSetFactory::class); ->get(UrlRewritesSetFactory::class);
$this->urlRewritesSetPlaceHolder = $urlRewritesSetFactory->create(); $this->urlRewritesSetPlaceHolder = $urlRewritesSetFactory->create();
...@@ -70,7 +64,7 @@ class CurrentUrlRewritesRegenerator ...@@ -70,7 +64,7 @@ class CurrentUrlRewritesRegenerator
* @param int|null $rootCategoryId * @param int|null $rootCategoryId
* @return \Magento\UrlRewrite\Service\V1\Data\UrlRewrite[] * @return \Magento\UrlRewrite\Service\V1\Data\UrlRewrite[]
*/ */
public function generate($storeId, Category $category, $rootCategoryId = null) public function generate($storeId, \Magento\Catalog\Model\Category $category, $rootCategoryId = null)
{ {
$urlRewritesSet = clone $this->urlRewritesSetPlaceHolder; $urlRewritesSet = clone $this->urlRewritesSetPlaceHolder;
$currentUrlRewrites = $this->urlRewriteMap->getByIdentifiers( $currentUrlRewrites = $this->urlRewriteMap->getByIdentifiers(
...@@ -96,10 +90,10 @@ class CurrentUrlRewritesRegenerator ...@@ -96,10 +90,10 @@ class CurrentUrlRewritesRegenerator
/** /**
* @param \Magento\UrlRewrite\Service\V1\Data\UrlRewrite $url * @param \Magento\UrlRewrite\Service\V1\Data\UrlRewrite $url
* @param int $storeId * @param int $storeId
* @param Category $category * @param \Magento\Catalog\Model\Category $category
* @return \Magento\UrlRewrite\Service\V1\Data\UrlRewrite[] * @return \Magento\UrlRewrite\Service\V1\Data\UrlRewrite[]
*/ */
protected function generateForAutogenerated($url, $storeId, Category $category) protected function generateForAutogenerated($url, $storeId, \Magento\Catalog\Model\Category $category)
{ {
if ($category->getData('save_rewrites_history')) { if ($category->getData('save_rewrites_history')) {
$targetPath = $this->categoryUrlPathGenerator->getUrlPathWithSuffix($category, $storeId); $targetPath = $this->categoryUrlPathGenerator->getUrlPathWithSuffix($category, $storeId);
...@@ -121,10 +115,10 @@ class CurrentUrlRewritesRegenerator ...@@ -121,10 +115,10 @@ class CurrentUrlRewritesRegenerator
/** /**
* @param \Magento\UrlRewrite\Service\V1\Data\UrlRewrite $url * @param \Magento\UrlRewrite\Service\V1\Data\UrlRewrite $url
* @param int $storeId * @param int $storeId
* @param Category $category * @param \Magento\Catalog\Model\Category $category
* @return \Magento\UrlRewrite\Service\V1\Data\UrlRewrite[] * @return \Magento\UrlRewrite\Service\V1\Data\UrlRewrite[]
*/ */
protected function generateForCustom($url, $storeId, Category $category) protected function generateForCustom($url, $storeId, \Magento\Catalog\Model\Category $category)
{ {
$targetPath = !$url->getRedirectType() $targetPath = !$url->getRedirectType()
? $url->getTargetPath() ? $url->getTargetPath()
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment