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