Skip to content

Commit 3784f92

Browse files
committed
#27499: Removed DataExtractor in favour to DataObjectProcessor
1 parent df912e4 commit 3784f92

File tree

6 files changed

+21
-252
lines changed

6 files changed

+21
-252
lines changed

app/code/Magento/MediaGallery/Model/Asset/Command/Save.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77

88
namespace Magento\MediaGallery\Model\Asset\Command;
99

10-
use Magento\MediaGalleryApi\Model\DataExtractorInterface;
1110
use Magento\MediaGalleryApi\Api\Data\AssetInterface;
1211
use Magento\MediaGalleryApi\Model\Asset\Command\SaveInterface;
1312
use Magento\Framework\App\ResourceConnection;
1413
use Magento\Framework\Exception\CouldNotSaveException;
14+
use Magento\Framework\Reflection\DataObjectProcessor;
1515
use Psr\Log\LoggerInterface;
1616

1717
/**
@@ -27,9 +27,9 @@ class Save implements SaveInterface
2727
private $resourceConnection;
2828

2929
/**
30-
* @var DataExtractorInterface
30+
* @var DataObjectProcessor
3131
*/
32-
private $extractor;
32+
private $objectProcessor;
3333

3434
/**
3535
* @var LoggerInterface
@@ -40,16 +40,16 @@ class Save implements SaveInterface
4040
* Save constructor.
4141
*
4242
* @param ResourceConnection $resourceConnection
43-
* @param DataExtractorInterface $extractor
43+
* @param DataObjectProcessor $objectProcessor
4444
* @param LoggerInterface $logger
4545
*/
4646
public function __construct(
4747
ResourceConnection $resourceConnection,
48-
DataExtractorInterface $extractor,
48+
DataObjectProcessor $objectProcessor,
4949
LoggerInterface $logger
5050
) {
5151
$this->resourceConnection = $resourceConnection;
52-
$this->extractor = $extractor;
52+
$this->objectProcessor = $objectProcessor;
5353
$this->logger = $logger;
5454
}
5555

@@ -68,7 +68,10 @@ public function execute(AssetInterface $mediaAsset): int
6868
$connection = $this->resourceConnection->getConnection();
6969
$tableName = $this->resourceConnection->getTableName(self::TABLE_MEDIA_GALLERY_ASSET);
7070

71-
$connection->insertOnDuplicate($tableName, $this->extractor->extract($mediaAsset, AssetInterface::class));
71+
$connection->insertOnDuplicate(
72+
$tableName,
73+
array_filter($this->objectProcessor->buildOutputDataArray($mediaAsset, AssetInterface::class))
74+
);
7275
return (int) $connection->lastInsertId($tableName);
7376
} catch (\Exception $exception) {
7477
$this->logger->critical($exception);

app/code/Magento/MediaGallery/Model/DataExtractor.php

Lines changed: 0 additions & 48 deletions
This file was deleted.

app/code/Magento/MediaGallery/Test/Unit/Model/Asset/Command/SaveTest.php

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,17 @@
77

88
namespace Magento\MediaGallery\Test\Unit\Model\Asset\Command;
99

10+
use Magento\Eav\Helper\Data;
1011
use Magento\MediaGallery\Model\Asset\Command\Save;
1112
use Magento\MediaGalleryApi\Api\Data\AssetInterface;
12-
use Magento\MediaGalleryApi\Model\DataExtractorInterface;
1313
use Magento\Framework\App\ResourceConnection;
1414
use Magento\Framework\DB\Adapter\AdapterInterface;
1515
use Magento\Framework\DB\Adapter\Pdo\Mysql;
1616
use Magento\Framework\Exception\CouldNotSaveException;
1717
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
1818
use PHPUnit\Framework\MockObject\MockObject;
1919
use PHPUnit\Framework\TestCase;
20+
use Magento\Framework\Reflection\DataObjectProcessor;
2021
use Psr\Log\LoggerInterface;
2122

2223
/**
@@ -63,14 +64,14 @@ class SaveTest extends TestCase
6364
private $resourceConnectionMock;
6465

6566
/**
66-
* @var MockObject | DataExtractorInterface
67+
* @var MockObject | LoggerInterface
6768
*/
6869
private $loggerMock;
6970

7071
/**
71-
* @var MockObject | LoggerInterface
72+
* @var MockObject | DataObjectProcessor
7273
*/
73-
private $extractorMock;
74+
private $objectProcessor;
7475

7576
/**
7677
* @var MockObject | AdapterInterface
@@ -97,7 +98,7 @@ protected function setUp(): void
9798
$this->mediaAssetMock = $this->createMock(AssetInterface::class);
9899

99100
/* Save constructor mocks */
100-
$this->extractorMock = $this->createMock(DataExtractorInterface::class);
101+
$this->objectProcessor = $this->createMock(DataObjectProcessor::class);
101102
$this->loggerMock = $this->createMock(LoggerInterface::class);
102103
$this->resourceConnectionMock = $this->createConfiguredMock(
103104
ResourceConnection::class,
@@ -112,7 +113,7 @@ protected function setUp(): void
112113
Save::class,
113114
[
114115
'resourceConnection' => $this->resourceConnectionMock,
115-
'extractor' => $this->extractorMock,
116+
'objectProcessor' => $this->objectProcessor,
116117
'logger' => $this->loggerMock
117118
]
118119
);
@@ -126,9 +127,9 @@ public function testSuccessfulExecute(): void
126127
$this->resourceConnectionMock->expects(self::once())->method('getConnection');
127128
$this->resourceConnectionMock->expects(self::once())->method('getTableName');
128129

129-
$this->extractorMock
130+
$this->objectProcessor
130131
->expects(self::once())
131-
->method('extract')
132+
->method('buildOutputDataArray')
132133
->with($this->mediaAssetMock, AssetInterface::class)
133134
->willReturn(self::IMAGE_DATA);
134135

@@ -155,9 +156,9 @@ public function testExceptionExecute(): void
155156
$this->resourceConnectionMock->expects(self::once())->method('getConnection');
156157
$this->resourceConnectionMock->expects(self::once())->method('getTableName');
157158

158-
$this->extractorMock
159+
$this->objectProcessor
159160
->expects(self::once())
160-
->method('extract')
161+
->method('buildOutputDataArray')
161162
->with($this->mediaAssetMock, AssetInterface::class)
162163
->willReturn(self::IMAGE_DATA);
163164

app/code/Magento/MediaGallery/Test/Unit/Model/DataExtractorTest.php

Lines changed: 0 additions & 161 deletions
This file was deleted.

app/code/Magento/MediaGallery/etc/di.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
<preference for="Magento\MediaGalleryApi\Model\Keyword\Command\SaveAssetKeywordsInterface" type="Magento\MediaGallery\Model\Keyword\Command\SaveAssetKeywords"/>
2020
<preference for="Magento\MediaGalleryApi\Model\Keyword\Command\SaveAssetLinksInterface" type="Magento\MediaGallery\Model\Keyword\Command\SaveAssetLinks"/>
2121

22-
<preference for="Magento\MediaGalleryApi\Model\DataExtractorInterface" type="Magento\MediaGallery\Model\DataExtractor"/>
23-
2422
<preference for="Magento\MediaGalleryApi\Model\Directory\Command\CreateByPathInterface" type="Magento\MediaGallery\Model\Directory\Command\CreateByPath"/>
2523
<preference for="Magento\MediaGalleryApi\Model\Directory\Command\DeleteByPathInterface" type="Magento\MediaGallery\Model\Directory\Command\DeleteByPath"/>
2624

app/code/Magento/MediaGalleryApi/Model/DataExtractorInterface.php

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)