Skip to content

Commit edfc1c3

Browse files
committed
Fix #92 null pointer exception
1 parent f3c5dac commit edfc1c3

File tree

2 files changed

+17
-15
lines changed

2 files changed

+17
-15
lines changed

Observer/DeleteExport.php

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
use Magento\Framework\Api\FilterBuilder;
1313
use Magento\Framework\Api\SearchCriteriaBuilder;
1414
use Magento\Framework\Api\SearchResultsInterface;
15+
use Magento\Framework\DataObject;
1516
use Magento\Framework\Event\Observer;
1617
use Magento\Framework\Event\ObserverInterface;
1718
use Magento\Framework\Exception\LocalizedException;
18-
use Magento\Framework\Model\AbstractModel;
1919
use Opengento\Gdpr\Api\Data\ExportEntityInterface;
2020
use Opengento\Gdpr\Api\Data\ExportEntitySearchResultsInterface;
2121
use Opengento\Gdpr\Api\ExportEntityRepositoryInterface;
@@ -65,27 +65,29 @@ public function __construct(
6565

6666
public function execute(Observer $observer): void
6767
{
68-
/** @var AbstractModel $entity */
68+
/** @var DataObject $entity */
6969
$entity = $observer->getData('data_object');
7070

71-
try {
72-
foreach ($this->fetchExportEntities($entity)->getItems() as $exportEntity) {
73-
$this->exportRepository->delete($exportEntity);
71+
if ($entity instanceof DataObject) {
72+
try {
73+
foreach ($this->fetchExportEntities($entity)->getItems() as $exportEntity) {
74+
$this->exportRepository->delete($exportEntity);
75+
}
76+
} catch (LocalizedException $e) {
77+
$this->logger->error($e->getLogMessage(), $e->getTrace());
78+
} catch (Exception $e) {
79+
$this->logger->error($e->getMessage(), $e->getTrace());
7480
}
75-
} catch (LocalizedException $e) {
76-
$this->logger->error($e->getLogMessage(), $e->getTrace());
77-
} catch (Exception $e) {
78-
$this->logger->error($e->getMessage(), $e->getTrace());
7981
}
8082
}
8183

8284
/**
83-
* @param AbstractModel $entity
85+
* @param DataObject $entity
8486
* @return ExportEntitySearchResultsInterface
8587
* @throws LocalizedException
8688
* @throws Exception
8789
*/
88-
private function fetchExportEntities(AbstractModel $entity): SearchResultsInterface
90+
private function fetchExportEntities(DataObject $entity): SearchResultsInterface
8991
{
9092
$entityTypes = $this->entityTypeResolver->resolve($entity);
9193

Observer/InvalidateExport.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
use Magento\Framework\Api\FilterBuilder;
1313
use Magento\Framework\Api\SearchCriteriaBuilder;
1414
use Magento\Framework\Api\SearchResultsInterface;
15+
use Magento\Framework\DataObject;
1516
use Magento\Framework\Event\Observer;
1617
use Magento\Framework\Event\ObserverInterface;
1718
use Magento\Framework\Exception\LocalizedException;
18-
use Magento\Framework\Model\AbstractModel;
1919
use Opengento\Gdpr\Api\Data\ExportEntityInterface;
2020
use Opengento\Gdpr\Api\Data\ExportEntitySearchResultsInterface;
2121
use Opengento\Gdpr\Api\ExportEntityManagementInterface;
@@ -75,7 +75,7 @@ public function execute(Observer $observer): void
7575
{
7676
$entity = $observer->getData('data_object');
7777

78-
if ($entity instanceof AbstractModel) {
78+
if ($entity instanceof DataObject) {
7979
try {
8080
foreach ($this->fetchExportEntities($entity)->getItems() as $exportEntity) {
8181
$this->exportManagement->invalidate($exportEntity);
@@ -89,12 +89,12 @@ public function execute(Observer $observer): void
8989
}
9090

9191
/**
92-
* @param AbstractModel $entity
92+
* @param DataObject $entity
9393
* @return ExportEntitySearchResultsInterface
9494
* @throws LocalizedException
9595
* @throws Exception
9696
*/
97-
private function fetchExportEntities(AbstractModel $entity): SearchResultsInterface
97+
private function fetchExportEntities(DataObject $entity): SearchResultsInterface
9898
{
9999
$entityTypes = $this->entityTypeResolver->resolve($entity);
100100

0 commit comments

Comments
 (0)