parameters:
    pim_enrich.connector.processor.mass_edit.product.update_value.class:                       Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\MassEdit\UpdateProductValueProcessor
    pim_enrich.connector.processor.mass_edit.product.add_value.class:                          Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\MassEdit\AddProductValueProcessor
    pim_enrich.connector.processor.mass_edit.product.remove_value.class:                       Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\MassEdit\RemoveProductValueProcessor
    pim_enrich.connector.processor.mass_edit.product.edit_common_attributes.class:             Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\MassEdit\EditCommonAttributesProcessor
    pim_enrich.connector.processor.mass_edit.product.add_attribute_value.class:               Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\MassEdit\AddAttributeValueProcessor
    pim_enrich.connector.processor.mass_edit.product.add_to_existing_product_model.class:      Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\MassEdit\AddToExistingProductModelProcessor
    pim_enrich.connector.processor.mass_edit.product.edit_attributes.class:        Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\MassEdit\EditAttributesProcessor
    pim_enrich.connector.processor.quick_export.product_and_product_model.class:               Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\QuickExport\ProductAndProductModelProcessor

services:
    pim_enrich.connector.processor.mass_edit.product.update_value:
        class: '%pim_enrich.connector.processor.mass_edit.product.update_value.class%'
        arguments:
            - '@pim_catalog.updater.property_setter'
            - '@pim_catalog.validator.product'

    pim_enrich.connector.processor.mass_edit.product.add_value:
        class: '%pim_enrich.connector.processor.mass_edit.product.add_value.class%'
        arguments:
            - '@pim_catalog.updater.property_adder'
            - '@pim_catalog.validator.product'

    pim_enrich.connector.processor.mass_edit.product.remove_value:
        class: '%pim_enrich.connector.processor.mass_edit.product.remove_value.class%'
        arguments:
            - '@pim_catalog.updater.property_remover'
            - '@pim_catalog.validator.product'

    pim_enrich.connector.processor.mass_edit.product.edit_common_attributes:
        class: '%pim_enrich.connector.processor.mass_edit.product.edit_common_attributes.class%'
        arguments:
            - '@pim_catalog.validator.product'
            - '@pim_catalog.repository.product'
            - '@pim_catalog.updater.product'
            - '@akeneo_storage_utils.doctrine.object_detacher'

    pim_enrich.connector.processor.mass_edit.product.edit_attributes:
        class: '%pim_enrich.connector.processor.mass_edit.product.edit_attributes.class%'
        arguments:
            - '@pim_catalog.validator.product'
            - '@pim_catalog.validator.product_model'
            - '@pim_catalog.updater.product'
            - '@pim_catalog.updater.product_model'
            - '@pim_catalog.repository.cached_attribute'
            - '@pim_catalog.entity_with_family_variant.check_attribute_editable'
            - '@pim_catalog.comparator.filter.product'
            - '@pim_catalog.comparator.filter.product_model'

    pim_enrich.connector.processor.mass_edit.product.add_attribute_value:
        class: '%pim_enrich.connector.processor.mass_edit.product.add_attribute_value.class%'
        arguments:
            - '@pim_catalog.validator.product'
            - '@pim_catalog.validator.product_model'
            - '@pim_catalog.updater.property_adder'
            - '@pim_catalog.repository.cached_attribute'
            - '@pim_catalog.entity_with_family_variant.check_attribute_editable'
            - ['pim_catalog_multiselect', 'pim_reference_data_multiselect']

    pim_enrich.connector.processor.mass_edit.product.add_to_existing_product_model:
        class: '%pim_enrich.connector.processor.mass_edit.product.add_to_existing_product_model.class%'
        arguments:
            - '@pim_catalog.entity_with_family_variant.add_parent_to_product'
            - '@validator'

    pim_enrich.connector.processor.mass_edit.product.convert_to_simple_product:
        class: 'Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\MassEdit\ConvertToSimpleProductProcessor'
        arguments:
            - '@pim_catalog.entity_with_family_variant.remove_parent_from_product'
            - '@validator'

    pim_enrich.connector.processor.quick_export.product:
        class: '%pim_enrich.connector.processor.quick_export.product_and_product_model.class%'
        arguments:
            - '@pim_catalog.normalizer.standard.product'
            - '@pim_catalog.repository.channel'
            - '@pim_catalog.repository.attribute'
            - '@pim_catalog.product_model.fill_missing_values'
            - '@pim_catalog.product.fill_missing_values'
            - '@akeneo_storage_utils.doctrine.object_detacher'
            - '@pim_user.provider.user'
            - '@security.token_storage'

    pim_enrich.connector.processor.quick_export.product_model:
        class: '%pim_enrich.connector.processor.quick_export.product_and_product_model.class%'
        arguments:
            - '@pim_catalog.normalizer.standard.product_model'
            - '@pim_catalog.repository.channel'
            - '@pim_catalog.repository.attribute'
            - '@pim_catalog.product_model.fill_missing_values'
            - '@pim_catalog.product.fill_missing_values'
            - '@akeneo_storage_utils.doctrine.object_detacher'
            - '@pim_user.provider.user'
            - '@security.token_storage'

    pim_enrich.connector.processor.mass_edit.product.change_parent:
        class: Akeneo\Pim\Enrichment\Component\Product\Connector\Processor\MassEdit\ChangeParentProcessor
        arguments:
            - '@pim_catalog.validator.product'
            - '@pim_catalog.validator.product_model'
            - '@pim_catalog.updater.product'
            - '@pim_catalog.updater.product_model'
