services:
    oro_entity.api.entity_structure_normalizer:
        class: Oro\Bundle\EntityBundle\Api\EntityStructureNormalizer
        calls:
            - [setValueNormalizer, ['@oro_api.value_normalizer']]

    oro_entity.api.validate_entity_fallback:
        class: Oro\Bundle\EntityBundle\Api\Processor\ValidateEntityFallback
        arguments:
            - '@oro_entity.fallback.resolver.entity_fallback_resolver'
            - '@oro_api.form_property_accessor'
        tags:
            - { name: oro.api.processor, action: customize_form_data, event: post_validate, class: Oro\Bundle\EntityBundle\Entity\EntityFieldFallbackValue }

    oro_entity.api.load_entity_structure:
        class: Oro\Bundle\EntityBundle\Api\Processor\LoadEntityStructure
        arguments:
            - '@oro_entity.provider.structure_data'
        tags:
            - { name: oro.api.processor, action: get, group: load_data, class: Oro\Bundle\EntityBundle\Model\EntityStructure }

    oro_entity.api.load_entity_structures:
        class: Oro\Bundle\EntityBundle\Api\Processor\LoadEntityStructures
        arguments:
            - '@oro_entity.provider.structure_data'
        tags:
            - { name: oro.api.processor, action: get_list, group: load_data, class: Oro\Bundle\EntityBundle\Model\EntityStructure }

    oro_entity.api.normalize_entity_structure:
        class: Oro\Bundle\EntityBundle\Api\Processor\NormalizeEntityStructure
        arguments:
            - '@oro_entity.api.entity_structure_normalizer'
        tags:
            - { name: oro.api.processor, action: get, group: normalize_data, class: Oro\Bundle\EntityBundle\Model\EntityStructure }

    oro_entity.api.normalize_entity_structures:
        class: Oro\Bundle\EntityBundle\Api\Processor\NormalizeEntityStructures
        arguments:
            - '@oro_entity.api.entity_structure_normalizer'
        tags:
            - { name: oro.api.processor, action: get_list, group: normalize_data, class: Oro\Bundle\EntityBundle\Model\EntityStructure }
