getDataImporterPlugins()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 94
Code Lines 92

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 92
c 0
b 0
f 0
dl 0
loc 94
rs 8.1745
cc 1
nc 1
nop 0

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
/**
4
 * This file is part of the Spryker Commerce OS.
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
declare(strict_types = 1);
9
10
namespace Pyz\Zed\DataImport;
11
12
use Pyz\Zed\MerchantProductOfferDataImport\Communication\Plugin\CombinedMerchantProductOfferDataImportPlugin;
13
use Pyz\Zed\MerchantProductOfferDataImport\Communication\Plugin\CombinedMerchantProductOfferStoreDataImportPlugin;
14
use Pyz\Zed\PriceProductOfferDataImport\Communication\Plugin\CombinedPriceProductOfferDataImportPlugin;
15
use Pyz\Zed\ProductOfferStockDataImport\Communication\Plugin\CombinedProductOfferStockDataImportPlugin;
16
use Pyz\Zed\ProductOfferValidityDataImport\Communication\Plugin\CombinedProductOfferValidityDataImportPlugin;
17
use Spryker\Zed\AclDataImport\Communication\Plugin\AclGroupDataImportPlugin;
18
use Spryker\Zed\AclDataImport\Communication\Plugin\AclGroupRoleDataImportPlugin;
19
use Spryker\Zed\AclDataImport\Communication\Plugin\AclRoleDataImportPlugin;
20
use Spryker\Zed\AclEntityDataImport\Communication\Plugin\AclEntityRuleDataImportPlugin;
21
use Spryker\Zed\AclEntityDataImport\Communication\Plugin\AclEntitySegmentConnectorDataImportPlugin;
22
use Spryker\Zed\AclEntityDataImport\Communication\Plugin\AclEntitySegmentDataImportPlugin;
23
use Spryker\Zed\CategoryDataImport\Communication\Plugin\CategoryDataImportPlugin;
24
use Spryker\Zed\CategoryDataImport\Communication\Plugin\DataImport\CategoryStoreDataImportPlugin;
25
use Spryker\Zed\CmsPageDataImport\Communication\Plugin\CmsPageDataImportPlugin;
26
use Spryker\Zed\CmsPageDataImport\Communication\Plugin\CmsPageStoreDataImportPlugin;
27
use Spryker\Zed\CmsSlotBlockDataImport\Communication\Plugin\CmsSlotBlockDataImportPlugin;
28
use Spryker\Zed\CmsSlotDataImport\Communication\Plugin\CmsSlotDataImportPlugin;
29
use Spryker\Zed\CmsSlotDataImport\Communication\Plugin\CmsSlotTemplateDataImportPlugin;
30
use Spryker\Zed\ConfigurableBundleDataImport\Communication\Plugin\ConfigurableBundleTemplateDataImportPlugin;
31
use Spryker\Zed\ConfigurableBundleDataImport\Communication\Plugin\ConfigurableBundleTemplateImageDataImportPlugin;
32
use Spryker\Zed\ConfigurableBundleDataImport\Communication\Plugin\ConfigurableBundleTemplateSlotDataImportPlugin;
33
use Spryker\Zed\ContentBannerDataImport\Communication\Plugin\ContentBannerDataImportPlugin;
34
use Spryker\Zed\ContentNavigationDataImport\Communication\Plugin\DataImport\ContentNavigationDataImportPlugin;
35
use Spryker\Zed\ContentProductDataImport\Communication\Plugin\ContentProductAbstractListDataImportPlugin;
36
use Spryker\Zed\ContentProductSetDataImport\Communication\Plugin\ContentProductSetDataImportPlugin;
37
use Spryker\Zed\CountryDataImport\Communication\Plugin\DataImport\CountryStoreDataImportPlugin;
38
use Spryker\Zed\CurrencyDataImport\Communication\Plugin\DataImport\CurrencyStoreDataImportPlugin;
39
use Spryker\Zed\DataImport\Communication\Plugin\DataImportEventBehaviorPlugin;
40
use Spryker\Zed\DataImport\Communication\Plugin\DataImportPublisherPlugin;
41
use Spryker\Zed\DataImport\DataImportDependencyProvider as SprykerDataImportDependencyProvider;
42
use Spryker\Zed\FileManagerDataImport\Communication\Plugin\FileManagerDataImportPlugin;
43
use Spryker\Zed\Kernel\Container;
44
use Spryker\Zed\LocaleDataImport\Communication\Plugin\DataImport\DefaultLocaleStoreDataImportPlugin;
45
use Spryker\Zed\LocaleDataImport\Communication\Plugin\DataImport\LocaleStoreDataImportPlugin;
46
use Spryker\Zed\MerchantCategoryDataImport\Communication\Plugin\DataImport\MerchantCategoryDataImportPlugin;
47
use Spryker\Zed\MerchantCommissionDataImport\Communication\Plugin\DataImport\MerchantCommissionAmountDataImportPlugin;
48
use Spryker\Zed\MerchantCommissionDataImport\Communication\Plugin\DataImport\MerchantCommissionDataImportPlugin;
49
use Spryker\Zed\MerchantCommissionDataImport\Communication\Plugin\DataImport\MerchantCommissionGroupDataImportPlugin;
50
use Spryker\Zed\MerchantCommissionDataImport\Communication\Plugin\DataImport\MerchantCommissionMerchantDataImportPlugin;
51
use Spryker\Zed\MerchantCommissionDataImport\Communication\Plugin\DataImport\MerchantCommissionStoreDataImportPlugin;
52
use Spryker\Zed\MerchantDataImport\Communication\Plugin\MerchantDataImportPlugin;
53
use Spryker\Zed\MerchantDataImport\Communication\Plugin\MerchantStoreDataImportPlugin;
54
use Spryker\Zed\MerchantOmsDataImport\Communication\Plugin\DataImport\MerchantOmsProcessDataImportPlugin;
55
use Spryker\Zed\MerchantOpeningHoursDataImport\Communication\Plugin\MerchantOpeningHoursDateScheduleDataImportPlugin;
56
use Spryker\Zed\MerchantOpeningHoursDataImport\Communication\Plugin\MerchantOpeningHoursWeekdayScheduleDataImportPlugin;
57
use Spryker\Zed\MerchantProductApprovalDataImport\Communication\Plugin\DataImport\MerchantProductApprovalStatusDefaultDataImportPlugin;
58
use Spryker\Zed\MerchantProductDataImport\Communication\Plugin\DataImport\MerchantCombinedProductDataImportPlugin;
59
use Spryker\Zed\MerchantProductDataImport\Communication\Plugin\MerchantProductDataImportPlugin;
60
use Spryker\Zed\MerchantProductOfferDataImport\Communication\Plugin\DataImport\MerchantCombinedProductOfferDataImportPlugin;
61
use Spryker\Zed\MerchantProductOfferDataImport\Communication\Plugin\DataImport\MerchantProductOfferDataImportPlugin;
62
use Spryker\Zed\MerchantProductOfferDataImport\Communication\Plugin\DataImport\MerchantProductOfferStoreDataImportPlugin;
63
use Spryker\Zed\MerchantProductOptionDataImport\Communication\Plugin\DataImport\MerchantProductOptionGroupDataImportPlugin;
64
use Spryker\Zed\MerchantProfileDataImport\Communication\Plugin\MerchantProfileAddressDataImportPlugin;
65
use Spryker\Zed\MerchantProfileDataImport\Communication\Plugin\MerchantProfileDataImportPlugin;
66
use Spryker\Zed\MerchantStockDataImport\Communication\Plugin\MerchantStockDataImportPlugin;
67
use Spryker\Zed\PaymentDataImport\Communication\Plugin\PaymentMethodDataImportPlugin;
68
use Spryker\Zed\PaymentDataImport\Communication\Plugin\PaymentMethodStoreDataImportPlugin;
69
use Spryker\Zed\PriceProductDataImport\Communication\Plugin\PriceProductDataImportPlugin;
70
use Spryker\Zed\PriceProductOfferDataImport\Communication\Plugin\PriceProductOfferDataImportPlugin;
71
use Spryker\Zed\PriceProductScheduleDataImport\Communication\Plugin\PriceProductScheduleDataImportPlugin;
72
use Spryker\Zed\ProductAlternativeDataImport\Communication\Plugin\ProductAlternativeDataImportPlugin;
73
use Spryker\Zed\ProductApprovalDataImport\Communication\Plugin\DataImport\ProductAbstractApprovalStatusDataImportPlugin;
74
use Spryker\Zed\ProductConfigurationDataImport\Communication\Plugin\ProductConfigurationDataImportPlugin;
75
use Spryker\Zed\ProductDiscontinuedDataImport\Communication\Plugin\ProductDiscontinuedDataImportPlugin;
76
use Spryker\Zed\ProductLabelDataImport\Communication\Plugin\ProductLabelDataImportPlugin;
77
use Spryker\Zed\ProductLabelDataImport\Communication\Plugin\ProductLabelStoreDataImportPlugin;
78
use Spryker\Zed\ProductListDataImport\Communication\Plugin\ProductListCategoryDataImportPlugin;
79
use Spryker\Zed\ProductListDataImport\Communication\Plugin\ProductListDataImportPlugin;
80
use Spryker\Zed\ProductListDataImport\Communication\Plugin\ProductListProductConcreteDataImportPlugin;
81
use Spryker\Zed\ProductOfferServicePointDataImport\Communication\Plugin\DataImport\ProductOfferServiceDataImportPlugin;
82
use Spryker\Zed\ProductOfferShipmentTypeDataImport\Communication\Plugin\DataImport\ProductOfferShipmentTypeDataImportPlugin;
83
use Spryker\Zed\ProductOfferStockDataImport\Communication\Plugin\ProductOfferStockDataImportPlugin;
84
use Spryker\Zed\ProductOfferValidityDataImport\Communication\DataImport\ProductOfferValidityDataImportPlugin;
85
use Spryker\Zed\ProductQuantityDataImport\Communication\Plugin\ProductQuantityDataImportPlugin;
86
use Spryker\Zed\ProductRelationDataImport\Communication\Plugin\ProductRelationDataImportPlugin;
87
use Spryker\Zed\ProductRelationDataImport\Communication\Plugin\ProductRelationStoreDataImportPlugin;
88
use Spryker\Zed\SalesOrderThresholdDataImport\Communication\Plugin\DataImport\SalesOrderThresholdDataImportPlugin;
89
use Spryker\Zed\SalesReturnDataImport\Communication\Plugin\ReturnReasonDataImportPlugin;
90
use Spryker\Zed\ServicePointDataImport\Communication\Plugin\DataImport\ServiceDataImportPlugin;
91
use Spryker\Zed\ServicePointDataImport\Communication\Plugin\DataImport\ServicePointAddressDataImportPlugin;
92
use Spryker\Zed\ServicePointDataImport\Communication\Plugin\DataImport\ServicePointDataImportPlugin;
93
use Spryker\Zed\ServicePointDataImport\Communication\Plugin\DataImport\ServicePointStoreDataImportPlugin;
94
use Spryker\Zed\ServicePointDataImport\Communication\Plugin\DataImport\ServiceTypeDataImportPlugin;
95
use Spryker\Zed\ShipmentDataImport\Communication\Plugin\ShipmentDataImportPlugin;
96
use Spryker\Zed\ShipmentDataImport\Communication\Plugin\ShipmentMethodPriceDataImportPlugin;
97
use Spryker\Zed\ShipmentDataImport\Communication\Plugin\ShipmentMethodStoreDataImportPlugin;
98
use Spryker\Zed\ShipmentTypeDataImport\Communication\Plugin\DataImport\ShipmentMethodShipmentTypeDataImportPlugin;
99
use Spryker\Zed\ShipmentTypeDataImport\Communication\Plugin\DataImport\ShipmentTypeDataImportPlugin;
100
use Spryker\Zed\ShipmentTypeDataImport\Communication\Plugin\DataImport\ShipmentTypeStoreDataImportPlugin;
101
use Spryker\Zed\ShipmentTypeServicePointDataImport\Communication\Plugin\DataImport\ShipmentTypeServiceTypeDataImportPlugin;
102
use Spryker\Zed\StockAddressDataImport\Communication\Plugin\DataImport\StockAddressDataImportPlugin;
103
use Spryker\Zed\StockDataImport\Communication\Plugin\StockDataImportPlugin;
104
use Spryker\Zed\StockDataImport\Communication\Plugin\StockStoreDataImportPlugin;
105
use Spryker\Zed\StoreContextDataImport\Communication\Plugin\DataImport\StoreContextDataImportPlugin;
106
use Spryker\Zed\StoreDataImport\Communication\Plugin\DataImport\StoreDataImportPlugin;
107
108
class DataImportDependencyProvider extends SprykerDataImportDependencyProvider
109
{
110
    /**
111
     * @var string
112
     */
113
    public const FACADE_AVAILABILITY = 'availability facade';
114
115
    /**
116
     * @var string
117
     */
118
    public const FACADE_CATEGORY = 'category facade';
119
120
    /**
121
     * @var string
122
     */
123
    public const FACADE_PRODUCT_BUNDLE = 'product bundle facade';
124
125
    /**
126
     * @var string
127
     */
128
    public const FACADE_PRODUCT_RELATION = 'product relation facade';
129
130
    /**
131
     * @var string
132
     */
133
    public const FACADE_PRODUCT_SEARCH = 'product search facade';
134
135
    /**
136
     * @var string
137
     */
138
    public const FACADE_CURRENCY = 'FACADE_CURRENCY';
139
140
    /**
141
     * @var string
142
     */
143
    public const FACADE_PRICE_PRODUCT = 'FACADE_PRICE_PRODUCT';
144
145
    /**
146
     * @var string
147
     */
148
    public const FACADE_STOCK = 'FACADE_STOCK';
149
150
    /**
151
     * @var string
152
     */
153
    public const FACADE_STORE = 'FACADE_STORE';
154
155
    /**
156
     * @var string
157
     */
158
    public const FACADE_MERCHANT_USER = 'FACADE_MERCHANT_USER';
159
160
    /**
161
     * @param \Spryker\Zed\Kernel\Container $container
162
     *
163
     * @return \Spryker\Zed\Kernel\Container
164
     */
165
    public function provideBusinessLayerDependencies(Container $container): Container
166
    {
167
        $container = parent::provideBusinessLayerDependencies($container);
168
169
        $container = $this->addAvailabilityFacade($container);
170
        $container = $this->addCategoryFacade($container);
171
        $container = $this->addProductBundleFacade($container);
172
        $container = $this->addProductRelationFacade($container);
173
        $container = $this->addProductSearchFacade($container);
174
        $container = $this->addCurrencyFacade($container);
175
        $container = $this->addPriceProductFacade($container);
176
        $container = $this->addStockFacade($container);
177
        $container = $this->addStoreFacade($container);
178
        $container = $this->addMerchantUserFacade($container);
179
180
        return $container;
181
    }
182
183
    /**
184
     * @param \Spryker\Zed\Kernel\Container $container
185
     *
186
     * @return \Spryker\Zed\Kernel\Container
187
     */
188
    protected function addMerchantUserFacade(Container $container): Container
189
    {
190
        $container->set(static::FACADE_MERCHANT_USER, function (Container $container) {
191
            return $container->getLocator()->merchantUser()->facade();
192
        });
193
194
        return $container;
195
    }
196
197
    /**
198
     * @param \Spryker\Zed\Kernel\Container $container
199
     *
200
     * @return \Spryker\Zed\Kernel\Container
201
     */
202
    protected function addAvailabilityFacade(Container $container): Container
203
    {
204
        $container->set(static::FACADE_AVAILABILITY, function (Container $container) {
205
            return $container->getLocator()->availability()->facade();
206
        });
207
208
        return $container;
209
    }
210
211
    /**
212
     * @param \Spryker\Zed\Kernel\Container $container
213
     *
214
     * @return \Spryker\Zed\Kernel\Container
215
     */
216
    protected function addCategoryFacade(Container $container): Container
217
    {
218
        $container->set(static::FACADE_CATEGORY, function (Container $container) {
219
            return $container->getLocator()->category()->facade();
220
        });
221
222
        return $container;
223
    }
224
225
    /**
226
     * @param \Spryker\Zed\Kernel\Container $container
227
     *
228
     * @return \Spryker\Zed\Kernel\Container
229
     */
230
    protected function addProductBundleFacade(Container $container): Container
231
    {
232
        $container->set(static::FACADE_PRODUCT_BUNDLE, function (Container $container) {
233
            return $container->getLocator()->productBundle()->facade();
234
        });
235
236
        return $container;
237
    }
238
239
    /**
240
     * @param \Spryker\Zed\Kernel\Container $container
241
     *
242
     * @return \Spryker\Zed\Kernel\Container
243
     */
244
    protected function addProductSearchFacade(Container $container): Container
245
    {
246
        $container->set(static::FACADE_PRODUCT_SEARCH, function (Container $container) {
247
            return $container->getLocator()->productSearch()->facade();
248
        });
249
250
        return $container;
251
    }
252
253
    /**
254
     * @param \Spryker\Zed\Kernel\Container $container
255
     *
256
     * @return \Spryker\Zed\Kernel\Container
257
     */
258
    protected function addProductRelationFacade(Container $container): Container
259
    {
260
        $container->set(static::FACADE_PRODUCT_RELATION, function (Container $container) {
261
            return $container->getLocator()->productRelation()->facade();
262
        });
263
264
        return $container;
265
    }
266
267
    /**
268
     * @param \Spryker\Zed\Kernel\Container $container
269
     *
270
     * @return \Spryker\Zed\Kernel\Container
271
     */
272
    protected function addCurrencyFacade(Container $container): Container
273
    {
274
        $container->set(static::FACADE_CURRENCY, function (Container $container) {
275
            return $container->getLocator()->currency()->facade();
276
        });
277
278
        return $container;
279
    }
280
281
    /**
282
     * @param \Spryker\Zed\Kernel\Container $container
283
     *
284
     * @return \Spryker\Zed\Kernel\Container
285
     */
286
    protected function addPriceProductFacade(Container $container): Container
287
    {
288
        $container->set(static::FACADE_PRICE_PRODUCT, function (Container $container) {
289
            return $container->getLocator()->priceProduct()->facade();
290
        });
291
292
        return $container;
293
    }
294
295
    /**
296
     * @param \Spryker\Zed\Kernel\Container $container
297
     *
298
     * @return \Spryker\Zed\Kernel\Container
299
     */
300
    protected function addStockFacade(Container $container): Container
301
    {
302
        $container->set(static::FACADE_STOCK, function (Container $container) {
303
            return $container->getLocator()->stock()->facade();
304
        });
305
306
        return $container;
307
    }
308
309
    /**
310
     * @param \Spryker\Zed\Kernel\Container $container
311
     *
312
     * @return \Spryker\Zed\Kernel\Container
313
     */
314
    protected function addStoreFacade(Container $container): Container
315
    {
316
        $container->set(static::FACADE_STORE, function (Container $container) {
317
            return $container->getLocator()->store()->facade();
318
        });
319
320
        return $container;
321
    }
322
323
    /**
324
     * @return list<\Spryker\Zed\DataImport\Dependency\Plugin\DataImportPluginInterface>
325
     */
326
    protected function getDataImporterPlugins(): array
327
    {
328
        return [
329
            new StoreDataImportPlugin(),
330
            new CountryStoreDataImportPlugin(),
331
            new CurrencyStoreDataImportPlugin(),
332
            new LocaleStoreDataImportPlugin(),
333
            new DefaultLocaleStoreDataImportPlugin(),
334
            new StoreContextDataImportPlugin(),
335
            new CategoryDataImportPlugin(),
336
            new ContentBannerDataImportPlugin(),
337
            new ContentProductAbstractListDataImportPlugin(),
338
            new ContentProductSetDataImportPlugin(),
339
            new CmsPageDataImportPlugin(),
340
            new CmsPageStoreDataImportPlugin(),
341
            new AclGroupDataImportPlugin(),
342
            new AclRoleDataImportPlugin(),
343
            new AclGroupRoleDataImportPlugin(),
344
            new AclEntityRuleDataImportPlugin(),
345
            new AclEntitySegmentDataImportPlugin(),
346
            new AclEntitySegmentConnectorDataImportPlugin(),
347
            new PriceProductDataImportPlugin(),
348
            new ProductDiscontinuedDataImportPlugin(),
349
            new ProductAlternativeDataImportPlugin(),
350
            new SalesOrderThresholdDataImportPlugin(),
351
            new FileManagerDataImportPlugin(),
352
            new PriceProductScheduleDataImportPlugin(),
353
            new ProductQuantityDataImportPlugin(),
354
            new CmsSlotTemplateDataImportPlugin(),
355
            new CmsSlotDataImportPlugin(),
356
            new CmsSlotBlockDataImportPlugin(),
357
            new ShipmentDataImportPlugin(),
358
            new ShipmentMethodPriceDataImportPlugin(),
359
            new ShipmentMethodStoreDataImportPlugin(),
360
            new StockDataImportPlugin(),
361
            new StockStoreDataImportPlugin(),
362
            new PaymentMethodDataImportPlugin(),
363
            new PaymentMethodStoreDataImportPlugin(),
364
            new ProductListDataImportPlugin(),
365
            new ProductListProductConcreteDataImportPlugin(),
366
            new ProductListCategoryDataImportPlugin(),
367
            new ConfigurableBundleTemplateDataImportPlugin(),
368
            new ConfigurableBundleTemplateSlotDataImportPlugin(),
369
            new ConfigurableBundleTemplateImageDataImportPlugin(),
370
            new ProductRelationDataImportPlugin(),
371
            new ProductRelationStoreDataImportPlugin(),
372
            new ProductLabelDataImportPlugin(),
373
            new ProductLabelStoreDataImportPlugin(),
374
            new ReturnReasonDataImportPlugin(),
375
            new ContentNavigationDataImportPlugin(),
376
            new StockAddressDataImportPlugin(),
377
            new CategoryStoreDataImportPlugin(),
378
            new MerchantDataImportPlugin(),
379
            new MerchantStoreDataImportPlugin(),
380
            new MerchantProfileDataImportPlugin(),
381
            new MerchantProfileAddressDataImportPlugin(),
382
            new MerchantProductOfferDataImportPlugin(),
383
            new MerchantProductOfferStoreDataImportPlugin(),
384
            new ProductOfferValidityDataImportPlugin(),
385
            new PriceProductOfferDataImportPlugin(),
386
            new MerchantStockDataImportPlugin(),
387
            new ProductOfferStockDataImportPlugin(),
388
            new MerchantOmsProcessDataImportPlugin(),
389
            new MerchantProductDataImportPlugin(),
390
            new MerchantOpeningHoursDateScheduleDataImportPlugin(),
391
            new MerchantOpeningHoursWeekdayScheduleDataImportPlugin(),
392
            new MerchantProductOptionGroupDataImportPlugin(),
393
            new CombinedMerchantProductOfferDataImportPlugin(),
394
            new CombinedMerchantProductOfferStoreDataImportPlugin(),
395
            new CombinedPriceProductOfferDataImportPlugin(),
396
            new CombinedProductOfferValidityDataImportPlugin(),
397
            new CombinedProductOfferStockDataImportPlugin(),
398
            new MerchantCategoryDataImportPlugin(),
399
            new MerchantProductApprovalStatusDefaultDataImportPlugin(),
400
            new ProductAbstractApprovalStatusDataImportPlugin(),
401
            new ProductConfigurationDataImportPlugin(),
402
            new ServicePointDataImportPlugin(),
403
            new ServicePointStoreDataImportPlugin(),
404
            new ServicePointAddressDataImportPlugin(),
405
            new ServiceTypeDataImportPlugin(),
406
            new ServiceDataImportPlugin(),
407
            new ShipmentTypeDataImportPlugin(),
408
            new ShipmentTypeStoreDataImportPlugin(),
409
            new ShipmentMethodShipmentTypeDataImportPlugin(),
410
            new ShipmentTypeServiceTypeDataImportPlugin(),
411
            new ProductOfferShipmentTypeDataImportPlugin(),
412
            new ProductOfferServiceDataImportPlugin(),
413
            new MerchantCommissionGroupDataImportPlugin(),
414
            new MerchantCommissionDataImportPlugin(),
415
            new MerchantCommissionAmountDataImportPlugin(),
416
            new MerchantCommissionStoreDataImportPlugin(),
417
            new MerchantCommissionMerchantDataImportPlugin(),
418
            new MerchantCombinedProductDataImportPlugin(),
419
            new MerchantCombinedProductOfferDataImportPlugin(),
420
        ];
421
    }
422
423
    /**
424
     * @return array<\Spryker\Zed\DataImport\Business\Model\DataImporterPluginCollectionInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterCollectionInterface|\Spryker\Zed\DataImport\Dependency\Plugin\DataImportBeforeImportHookInterface|\Spryker\Zed\DataImport\Dependency\Plugin\DataImportAfterImportHookInterface>
425
     */
426
    protected function getDataImportBeforeImportHookPlugins(): array
427
    {
428
        return [
0 ignored issues
show
Bug Best Practice introduced by
The expression return array(new Spryker...tEventBehaviorPlugin()) returns the type array<integer,Spryker\Ze...ortEventBehaviorPlugin> which is incompatible with the return type mandated by Spryker\Zed\DataImport\D...foreImportHookPlugins() of array<mixed,Spryker\Zed\...ginCollectionInterface>.

In the issue above, the returned value is violating the contract defined by the mentioned interface.

Let's take a look at an example:

interface HasName {
    /** @return string */
    public function getName();
}

class Name {
    public $name;
}

class User implements HasName {
    /** @return string|Name */
    public function getName() {
        return new Name('foo'); // This is a violation of the ``HasName`` interface
                                // which only allows a string value to be returned.
    }
}
Loading history...
429
            new DataImportEventBehaviorPlugin(),
430
        ];
431
    }
432
433
    /**
434
     * @return array<\Spryker\Zed\DataImport\Business\Model\DataImporterPluginCollectionInterface|\Spryker\Zed\DataImport\Business\Model\DataImporterCollectionInterface|\Spryker\Zed\DataImport\Dependency\Plugin\DataImportBeforeImportHookInterface|\Spryker\Zed\DataImport\Dependency\Plugin\DataImportAfterImportHookInterface>
435
     */
436
    protected function getDataImportAfterImportHookPlugins(): array
437
    {
438
        return [
0 ignored issues
show
Bug Best Practice introduced by
The expression return array(new Spryker...mportPublisherPlugin()) returns the type array<integer,Spryker\Ze...aImportPublisherPlugin> which is incompatible with the return type mandated by Spryker\Zed\DataImport\D...fterImportHookPlugins() of array<mixed,Spryker\Zed\...ginCollectionInterface>.

In the issue above, the returned value is violating the contract defined by the mentioned interface.

Let's take a look at an example:

interface HasName {
    /** @return string */
    public function getName();
}

class Name {
    public $name;
}

class User implements HasName {
    /** @return string|Name */
    public function getName() {
        return new Name('foo'); // This is a violation of the ``HasName`` interface
                                // which only allows a string value to be returned.
    }
}
Loading history...
439
            new DataImportEventBehaviorPlugin(),
440
            new DataImportPublisherPlugin(),
441
        ];
442
    }
443
}
444