21 private $deploymentConfig;
33 private $publisherNameToConnectionMap;
42 MessageQueueConfigData $configData,
43 $publisherNameToConnectionMap = []
47 $this->publisherNameToConnectionMap = $publisherNameToConnectionMap;
56 public function read($scope =
null)
58 $configData = $this->deploymentConfig->getConfigData(MessageQueueEnvReader::ENV_QUEUE);
59 if (isset($configData[
'config'])) {
60 $configData = isset($configData[
'config'][MessageQueueEnvReader::ENV_PUBLISHERS])
61 ? $configData[
'config'][MessageQueueEnvReader::ENV_PUBLISHERS]
64 $configData = isset($configData[MessageQueueEnvReader::ENV_PUBLISHERS])
65 ? $this->convertConfigData($scope)
77 private function convertConfigData($scope)
80 $topicsConfig = $this->configData->get(
'topics');
81 foreach ($topicsConfig as $topicName => $topicConfig) {
82 $configData[$topicName] = [];
83 if (isset($topicConfig[
'disabled'])) {
84 $configData[$topicName][
'disabled'] = $topicConfig[
'disabled'];
86 $publisherName = $this->configData->get(
'topics/' . $topicName .
'/publisher', $scope);
87 $config = $this->configData->get(
'publishers/' . $publisherName, $scope);
88 if (!empty(
$config) && isset($this->publisherNameToConnectionMap[$publisherName])) {
89 $connectionName = $this->publisherNameToConnectionMap[$publisherName];
92 $disabled = isset(
$config[
'disabled']) ?
$config[
'disabled'] :
false;
93 $config[
'disabled'] = $disabled;
94 $configData[$topicName][
'connections'][$connectionName] =
$config;
__construct(DeploymentConfig $deploymentConfig, MessageQueueConfigData $configData, $publisherNameToConnectionMap=[])