@@ 124-145 (lines=22) @@ | ||
121 | /** @var string $determinatorColumn */ |
|
122 | $determinatorColumn = $this->determinatorColumn->getName(); |
|
123 | ||
124 | if (array_key_exists($determinatorColumn, $dataFromAdditionalColumns)) { |
|
125 | /** @var string|int $determinatorValue */ |
|
126 | $determinatorValue = $dataFromAdditionalColumns[$determinatorColumn]; |
|
127 | ||
128 | if (!empty($determinatorValue) && !array_key_exists($determinatorValue, $this->choiceMappings)) { |
|
129 | throw new InvalidMappingException(sprintf( |
|
130 | "Invalid option-value '%s' for choice-column '%s' on entity %s!", |
|
131 | $determinatorValue, |
|
132 | $determinatorColumn, |
|
133 | $context->getEntityClass() |
|
134 | )); |
|
135 | } |
|
136 | ||
137 | if (isset($this->choiceMappings[$determinatorValue])) { |
|
138 | $choiceMapping = $this->choiceMappings[$determinatorValue]; |
|
139 | ||
140 | $value = $choiceMapping->resolveValue( |
|
141 | $context, |
|
142 | $dataFromAdditionalColumns |
|
143 | ); |
|
144 | } |
|
145 | } |
|
146 | ||
147 | return $value; |
|
148 | } |
|
@@ 199-221 (lines=23) @@ | ||
196 | /** @var string $determinatorColumn */ |
|
197 | $determinatorColumn = $this->determinatorColumn->getName(); |
|
198 | ||
199 | if (array_key_exists($determinatorColumn, $dataFromAdditionalColumns)) { |
|
200 | /** @var string|int $determinatorValue */ |
|
201 | $determinatorValue = $dataFromAdditionalColumns[$determinatorColumn]; |
|
202 | ||
203 | if (!empty($determinatorValue) && !array_key_exists($determinatorValue, $this->choiceMappings)) { |
|
204 | throw new InvalidMappingException(sprintf( |
|
205 | "Invalid option-value '%s' for choice-column '%s' on entity %s!", |
|
206 | $determinatorValue, |
|
207 | $determinatorColumn, |
|
208 | $context->getEntityClass() |
|
209 | )); |
|
210 | } |
|
211 | ||
212 | if (isset($this->choiceMappings[$determinatorValue])) { |
|
213 | $choiceMapping = $this->choiceMappings[$determinatorValue]; |
|
214 | ||
215 | $choiceMapping->assertValue( |
|
216 | $context, |
|
217 | $dataFromAdditionalColumns, |
|
218 | $actualValue |
|
219 | ); |
|
220 | } |
|
221 | } |
|
222 | } |
|
223 | ||
224 | public function wakeUpMapping(ContainerInterface $container): void |