From b1bc6a397b8ebafa8b06f6edf96ec53bd05020b6 Mon Sep 17 00:00:00 2001 From: Igor Melnikov <imelnikov@magento.com> Date: Wed, 28 Dec 2016 11:49:22 -0600 Subject: [PATCH] MAGETWO-62134: Create data converter that can process nested serialized data Resolving code review feedback --- .../Sales/Order/Pdf/Items/AbstractItems.php | 27 ++++----------- .../Unit/Helper/Product/ConfigurationTest.php | 2 +- .../Quote/Model/Quote/Address/Total.php | 4 ++- app/code/Magento/Tax/Helper/Data.php | 33 +++++++++---------- 4 files changed, 27 insertions(+), 39 deletions(-) diff --git a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/AbstractItems.php b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/AbstractItems.php index d1d5e44f077..ccba97b753b 100644 --- a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/AbstractItems.php +++ b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/AbstractItems.php @@ -9,7 +9,8 @@ use Magento\Catalog\Model\Product\Type\AbstractType; use Magento\Framework\Serialize\Serializer\Json; /** - * Sales Order Pdf Items renderer + * Order pdf items renderer + * * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems @@ -22,10 +23,12 @@ abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\Abstra private $serializer; /** + * Constructor + * * @param \Magento\Framework\Model\Context $context * @param \Magento\Framework\Registry $registry * @param \Magento\Tax\Helper\Data $taxData - * @param \Magento\Framework\Filesystem $filesystem , + * @param \Magento\Framework\Filesystem $filesystem * @param \Magento\Framework\Filter\FilterManager $filterManager * @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection @@ -43,8 +46,7 @@ abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\Abstra array $data = [], Json $serializer = null ) { - $this->serializer = $serializer; - + $this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance()->get(Json::class); parent::__construct( $context, $registry, @@ -202,7 +204,7 @@ abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\Abstra $options = $item->getOrderItem()->getProductOptions(); } if (isset($options['bundle_selection_attributes'])) { - return $this->getSerializer()->unserialize($options['bundle_selection_attributes']); + return $this->serializer->unserialize($options['bundle_selection_attributes']); } return null; } @@ -287,19 +289,4 @@ abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\Abstra } return false; } - - /** - * The getter function to get serializer - * - * @return Json - * - * @deprecated - */ - private function getSerializer() - { - if ($this->serializer === null) { - $this->serializer = \Magento\Framework\App\ObjectManager::getInstance()->get(Json::class); - } - return $this->serializer; - } } diff --git a/app/code/Magento/Catalog/Test/Unit/Helper/Product/ConfigurationTest.php b/app/code/Magento/Catalog/Test/Unit/Helper/Product/ConfigurationTest.php index 66a2b346868..902f63c578a 100644 --- a/app/code/Magento/Catalog/Test/Unit/Helper/Product/ConfigurationTest.php +++ b/app/code/Magento/Catalog/Test/Unit/Helper/Product/ConfigurationTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Test\Unit\Helper\Product; class ConfigurationTest extends \PHPUnit_Framework_TestCase { /** - * @var \Magento\Framework\Serialize\Serializer\Json | \PHPUnit_Framework_MockObject_MockObject + * @var \Magento\Framework\Serialize\Serializer\Json|\PHPUnit_Framework_MockObject_MockObject */ protected $serializer; diff --git a/app/code/Magento/Quote/Model/Quote/Address/Total.php b/app/code/Magento/Quote/Model/Quote/Address/Total.php index 499147b9bf7..cd7aa54e149 100644 --- a/app/code/Magento/Quote/Model/Quote/Address/Total.php +++ b/app/code/Magento/Quote/Model/Quote/Address/Total.php @@ -25,7 +25,9 @@ class Total extends \Magento\Framework\DataObject private $serializer; /** - * @param array $data [optional] + * Constructor + * + * @param array $data * @param \Magento\Framework\Serialize\Serializer\Json|null $serializer */ public function __construct( diff --git a/app/code/Magento/Tax/Helper/Data.php b/app/code/Magento/Tax/Helper/Data.php index 3d5179b8f61..0626b336b33 100644 --- a/app/code/Magento/Tax/Helper/Data.php +++ b/app/code/Magento/Tax/Helper/Data.php @@ -3,9 +3,6 @@ * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license details. */ - -// @codingStandardsIgnoreFile - namespace Magento\Tax\Helper; use Magento\Framework\Pricing\PriceCurrencyInterface; @@ -22,9 +19,11 @@ use Magento\Framework\Serialize\Serializer\Json; use Magento\Framework\App\ObjectManager; /** - * Catalog data helper + * Tax helper + * * @SuppressWarnings(PHPMD.TooManyFields) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + * @codingStandardsIgnoreFile */ class Data extends \Magento\Framework\App\Helper\AbstractHelper { @@ -80,9 +79,7 @@ class Data extends \Magento\Framework\App\Helper\AbstractHelper protected $_localeResolver; /** - * \Magento\Catalog\Helper\Data - * - * @var CatalogHelper + * @var \Magento\Catalog\Helper\Data */ protected $catalogHelper; @@ -102,17 +99,19 @@ class Data extends \Magento\Framework\App\Helper\AbstractHelper private $serializer; /** - * @param \Magento\Framework\App\Helper\Context $context - * @param \Magento\Framework\Json\Helper\Data $jsonHelper - * @param Config $taxConfig - * @param \Magento\Store\Model\StoreManagerInterface $storeManager - * @param \Magento\Framework\Locale\FormatInterface $localeFormat + * Constructor + * + * @param \Magento\Framework\App\Helper\Context $context + * @param \Magento\Framework\Json\Helper\Data $jsonHelper + * @param Config $taxConfig + * @param \Magento\Store\Model\StoreManagerInterface $storeManager + * @param \Magento\Framework\Locale\FormatInterface $localeFormat * @param \Magento\Tax\Model\ResourceModel\Sales\Order\Tax\CollectionFactory $orderTaxCollectionFactory - * @param \Magento\Framework\Locale\ResolverInterface $localeResolver - * @param \Magento\Catalog\Helper\Data $catalogHelper - * @param OrderTaxManagementInterface $orderTaxManagement - * @param PriceCurrencyInterface $priceCurrency - * @param Json $serializer + * @param \Magento\Framework\Locale\ResolverInterface $localeResolver + * @param \Magento\Catalog\Helper\Data $catalogHelper + * @param OrderTaxManagementInterface $orderTaxManagement + * @param PriceCurrencyInterface $priceCurrency + * @param Json $serializer * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( -- GitLab