| 123456789101112131415161718192021222324252627282930313233 | 
							- <?php
 
- /**
 
-  * Copyright © Magento, Inc. All rights reserved.
 
-  * See COPYING.txt for license details.
 
-  */
 
- namespace Magento\Framework\MessageQueue\Topology\Config\Validator;
 
- use Magento\Framework\MessageQueue\Topology\Config\ValidatorInterface;
 
- /**
 
-  * Topology config data validator.
 
-  */
 
- class DependentFields implements ValidatorInterface
 
- {
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function validate($configData)
 
-     {
 
-         $errors = [];
 
-         foreach ($configData as $name => $data) {
 
-             foreach ((array)$data['bindings'] as $binding) {
 
-                 if (isset($data['type']) && $data['type'] == 'topic' && !isset($binding['topic'])) {
 
-                     $errors[] = 'Topic name is required for topic based exchange: ' . $name;
 
-                 }
 
-             }
 
-         }
 
-         if (!empty($errors)) {
 
-             throw new \LogicException(implode(PHP_EOL, $errors));
 
-         }
 
-     }
 
- }
 
 
  |