Mapper.php 914 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Analytics\ReportXml\Config;
  7. /**
  8. * A reports configuration mapper.
  9. *
  10. * Transforms configuration data to improve its usability.
  11. *
  12. * @see usage examples in \Magento\Analytics\ReportXml\Config\Reader
  13. */
  14. class Mapper
  15. {
  16. /**
  17. * Transforms configuration data.
  18. *
  19. * @param array $configData
  20. * @return array
  21. */
  22. public function execute($configData)
  23. {
  24. if (!isset($configData['config'][0]['report'])) {
  25. return [];
  26. }
  27. $queries = [];
  28. foreach ($configData['config'][0]['report'] as $queryData) {
  29. $entityData = array_shift($queryData['source']);
  30. $queries[$queryData['name']] = $queryData;
  31. $queries[$queryData['name']]['source'] = $entityData;
  32. }
  33. return $queries;
  34. }
  35. }