Reader.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\MessageQueue\Topology\Config\Xml;
  7. use \Magento\Framework\MessageQueue\Topology\Config\ReaderInterface;
  8. /**
  9. * Reader for etc/queue_topology.xml configs.
  10. */
  11. class Reader extends \Magento\Framework\Config\Reader\Filesystem implements ReaderInterface
  12. {
  13. /**
  14. * {@inheritdoc}
  15. */
  16. protected $_idAttributes = [
  17. '/config/exchange' => ['name', 'connection'],
  18. '/config/exchange/arguments/argument' => 'name',
  19. '/config/exchange/arguments/argument(/item)+' => 'name',
  20. '/config/exchange/binding' => 'id',
  21. '/config/exchange/binding/arguments/argument' => 'name',
  22. '/config/exchange/binding/arguments/argument(/item)+' => 'name',
  23. ];
  24. /**
  25. * {@inheritdoc}
  26. */
  27. public function __construct(
  28. \Magento\Framework\Config\FileResolverInterface $fileResolver,
  29. Converter $converter,
  30. SchemaLocator $schemaLocator,
  31. \Magento\Framework\Config\ValidationStateInterface $validationState,
  32. $fileName = 'queue_topology.xml',
  33. $idAttributes = [],
  34. $domDocumentClass = \Magento\Framework\Config\Dom::class,
  35. $defaultScope = 'global'
  36. ) {
  37. parent::__construct(
  38. $fileResolver,
  39. $converter,
  40. $schemaLocator,
  41. $validationState,
  42. $fileName,
  43. $idAttributes,
  44. $domDocumentClass,
  45. $defaultScope
  46. );
  47. }
  48. }