| @@ 146-174 (lines=29) @@ | ||
| 143 | * {@inheritdoc} |
|
| 144 | * @param \eZ\Publish\API\Repository\Values\ObjectState\ObjectStateGroup $objectStateGroup |
|
| 145 | */ |
|
| 146 | protected function setReferences($objectStateGroup, $step) |
|
| 147 | { |
|
| 148 | if (!array_key_exists('references', $step->dsl)) { |
|
| 149 | return false; |
|
| 150 | } |
|
| 151 | ||
| 152 | foreach ($step->dsl['references'] as $reference) { |
|
| 153 | switch ($reference['attribute']) { |
|
| 154 | case 'object_state_group_id': |
|
| 155 | case 'id': |
|
| 156 | $value = $objectStateGroup->id; |
|
| 157 | break; |
|
| 158 | case 'object_state_group_identifier': |
|
| 159 | case 'identifier': |
|
| 160 | $value = $objectStateGroup->id; |
|
| 161 | break; |
|
| 162 | default: |
|
| 163 | throw new \InvalidArgumentException('Object State Group Manager does not support setting references for attribute ' . $reference['attribute']); |
|
| 164 | } |
|
| 165 | ||
| 166 | $overwrite = false; |
|
| 167 | if (isset($reference['overwrite'])) { |
|
| 168 | $overwrite = $reference['overwrite']; |
|
| 169 | } |
|
| 170 | $this->referenceResolver->addReference($reference['identifier'], $value, $overwrite); |
|
| 171 | } |
|
| 172 | ||
| 173 | return true; |
|
| 174 | } |
|
| 175 | ||
| 176 | /** |
|
| 177 | * @param array $matchCondition |
|
| @@ 162-189 (lines=28) @@ | ||
| 159 | * {@inheritdoc} |
|
| 160 | * @param \eZ\Publish\API\Repository\Values\ObjectState\ObjectState $objectState |
|
| 161 | */ |
|
| 162 | protected function setReferences($objectState, $step) |
|
| 163 | { |
|
| 164 | if (!array_key_exists('references', $step->dsl)) { |
|
| 165 | return false; |
|
| 166 | } |
|
| 167 | ||
| 168 | foreach ($step->dsl['references'] as $reference) { |
|
| 169 | switch ($reference['attribute']) { |
|
| 170 | case 'object_state_id': |
|
| 171 | case 'id': |
|
| 172 | $value = $objectState->id; |
|
| 173 | break; |
|
| 174 | case 'priority': |
|
| 175 | $value = $objectState->priority; |
|
| 176 | break; |
|
| 177 | default: |
|
| 178 | throw new \InvalidArgumentException('Object State Manager does not support setting references for attribute ' . $reference['attribute']); |
|
| 179 | } |
|
| 180 | ||
| 181 | $overwrite = false; |
|
| 182 | if (isset($reference['overwrite'])) { |
|
| 183 | $overwrite = $reference['overwrite']; |
|
| 184 | } |
|
| 185 | $this->referenceResolver->addReference($reference['identifier'], $value, $overwrite); |
|
| 186 | } |
|
| 187 | ||
| 188 | return true; |
|
| 189 | } |
|
| 190 | ||
| 191 | /** |
|
| 192 | * @param array $matchCondition |
|