32 private $defaultValueProvider;
46 $this->validator = $validator;
47 $this->readers = $readers;
48 $this->defaultValueProvider = $defaultValueProvider;
57 public function read($scope =
null)
60 foreach ($this->readers as $reader) {
66 $this->validator->validate(
$result);
71 foreach (
$value[
'connections'] as $connectionConfig) {
72 if (!$connectionConfig[
'disabled']) {
78 unset(
$value[
'connections']);
90 private function addDefaultConnection(array
$config)
92 $defaultConnectionName = $this->defaultValueProvider->getConnection();
94 'name' => $defaultConnectionName,
95 'exchange' => $this->defaultValueProvider->getExchange(),
100 if (!isset(
$value[
'connections']) || empty(
$value[
'connections'])) {
101 $value[
'connections'][$defaultConnectionName] = $default;
105 $hasActiveConnection =
false;
107 foreach (
$value[
'connections'] as $connectionConfig) {
108 if (!$connectionConfig[
'disabled']) {
109 $hasActiveConnection =
true;
113 if (!$hasActiveConnection) {
114 $value[
'connections'][$defaultConnectionName] = $default;
__construct(ValidatorInterface $validator, DefaultValueProvider $defaultValueProvider, array $readers)