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