services:
    oro_action.assembler.operation:
        class: Oro\Bundle\ActionBundle\Model\Assembler\OperationAssembler
        arguments:
            - '@oro_action.action_factory'
            - '@oro_action.expression.factory'
            - '@oro_action.assembler.attribute'
            - '@oro_action.assembler.form_options'

    oro_action.assembler.action_group:
        class: Oro\Bundle\ActionBundle\Model\Assembler\ActionGroupAssembler
        arguments:
            - '@oro_action.action_factory'
            - '@oro_action.expression.factory'
            - '@oro_action.assembler.parameter'
            - '@oro_action.parameters_resolver'

    oro_action.assembler.parameter:
        class: Oro\Bundle\ActionBundle\Model\Assembler\ParameterAssembler

    oro_action.parameters_resolver:
        class: Oro\Bundle\ActionBundle\Model\ActionGroup\ParametersResolver

    oro_action.assembler.attribute:
        class: Oro\Bundle\ActionBundle\Model\Assembler\AttributeAssembler
        arguments:
            - '@oro_action.attribute_guesser'

    oro_action.assembler.form_options:
        class: Oro\Bundle\ActionBundle\Model\Assembler\FormOptionsAssembler
        calls:
            - [addConfigurationPass, ['@oro_action.configuration_pass.replace_property_path']]
