Code Duplication    Length = 33-33 lines in 2 locations

src/Observers/CleanUpVariantProductRelationObserver.php 2 locations

@@ 203-235 (lines=33) @@
200
        $parentSku = $this->getValue(ColumnKeys::SKU);
201
        foreach ($actualVariants as $parentProductId => $childData) {
202
            // load the existing variant entities for the product with the given SKU
203
            foreach ($this->getProductVariantProcessor()
204
                         ->loadProductSuperLinksFromParent($parentProductId) as $existingVariantChildren) {
205
                if (in_array($existingVariantChildren[MemberNames::PRODUCT_ID], $childData)) {
206
                    continue;
207
                }
208
209
                try {
210
                    // remove the old variantes from the database
211
                    $this->getProductVariantProcessor()
212
                        ->deleteProductSuperLink(array(MemberNames::LINK_ID => $existingVariantChildren[MemberNames::LINK_ID]));
213
214
                    // log a debug message that the image has been removed
215
                    $this->getSubject()
216
                        ->getSystemLogger()
217
                        ->info(
218
                            $this->getSubject()->appendExceptionSuffix(
219
                                sprintf(
220
                                    'Successfully clean up variants for product with SKU "%s"',
221
                                    $parentSku
222
                                )
223
                            )
224
                        );
225
                } catch (\Exception $e) {
226
                    // log a warning if debug mode has been enabled and the file is NOT available
227
                    if ($this->getSubject()->isDebugMode()) {
228
                        $this->getSubject()
229
                            ->getSystemLogger()
230
                            ->critical($this->getSubject()->appendExceptionSuffix($e->getMessage()));
231
                    } else {
232
                        throw $e;
233
                    }
234
                }
235
            }
236
        }
237
    }
238
@@ 259-291 (lines=33) @@
256
                }
257
            }
258
            // load the existing super attributes for the product with the given SKU
259
            foreach ($this->getProductVariantProcessor()
260
                         ->loadProductSuperAttributesFromProduct($parentProductId) as $existingSuperAttribute) {
261
                if (in_array($existingSuperAttribute[MemberNames::ATTRIBUTE_ID], $attributeFromParentProduct)) {
262
                    continue;
263
                }
264
265
                try {
266
                    // remove the old super attributes from the database
267
                    $this->getProductVariantProcessor()
268
                        ->deleteProductSuperAttribute(array(MemberNames::PRODUCT_SUPER_ATTRIBUTE_ID => $existingSuperAttribute[MemberNames::PRODUCT_SUPER_ATTRIBUTE_ID]));
269
270
                    // log a debug message that the image has been removed
271
                    $this->getSubject()
272
                        ->getSystemLogger()
273
                        ->info(
274
                            $this->getSubject()->appendExceptionSuffix(
275
                                sprintf(
276
                                    'Successfully clean up attributes for product with SKU "%s"',
277
                                    $parentSku
278
                                )
279
                            )
280
                        );
281
                } catch (\Exception $e) {
282
                    // log a warning if debug mode has been enabled and the file is NOT available
283
                    if ($this->getSubject()->isDebugMode()) {
284
                        $this->getSubject()
285
                            ->getSystemLogger()
286
                            ->critical($this->getSubject()->appendExceptionSuffix($e->getMessage()));
287
                    } else {
288
                        throw $e;
289
                    }
290
                }
291
            }
292
        }
293
    }
294
}