Code Duplication    Length = 21-22 lines in 3 locations

Core/Executor/UserGroupManager.php 1 location

@@ 145-166 (lines=22) @@
142
     * @param UserGroup $userGroup
143
     * @return boolean
144
     */
145
    protected function setReferences($userGroup)
146
    {
147
        if (!array_key_exists('references', $this->dsl)) {
148
            return false;
149
        }
150
151
        foreach ($this->dsl['references'] as $reference) {
152
153
            switch ($reference['attribute']) {
154
                case 'object_id':
155
                case 'id':
156
                    $value = $userGroup->id;
157
                    break;
158
                default:
159
                    throw new \InvalidArgumentException('User Group Manager does not support setting references for attribute ' . $reference['attribute']);
160
            }
161
162
            $this->referenceResolver->addReference($reference['identifier'], $value);
163
        }
164
165
        return true;
166
    }
167
}
168

Core/Executor/UserManager.php 1 location

@@ 169-189 (lines=21) @@
166
     * @throws \InvalidArgumentException when trying to set references to unsupported attributes
167
     * @return boolean
168
     */
169
    protected function setReferences($user)
170
    {
171
        if (!array_key_exists('references', $this->dsl)) {
172
            return false;
173
        }
174
175
        foreach ($this->dsl['references'] as $reference) {
176
            switch ($reference['attribute']) {
177
                case 'user_id':
178
                case 'id':
179
                    $value = $user->id;
180
                    break;
181
                default:
182
                    throw new \InvalidArgumentException('User Manager does not support setting references for attribute ' . $reference['attribute']);
183
            }
184
185
            $this->referenceResolver->addReference($reference['identifier'], $value);
186
        }
187
188
        return true;
189
    }
190
}
191

Core/Executor/LocationManager.php 1 location

@@ 268-288 (lines=21) @@
265
     * @param \eZ\Publish\API\Repository\Values\Content\Location $location
266
     * @return boolean
267
     */
268
    protected function setReferences($location)
269
    {
270
        if (!array_key_exists('references', $this->dsl)) {
271
            return false;
272
        }
273
274
        foreach ($this->dsl['references'] as $reference) {
275
            switch ($reference['attribute']) {
276
                case 'location_id':
277
                case 'id':
278
                    $value = $location->id;
279
                    break;
280
                default:
281
                    throw new \InvalidArgumentException('Location Manager does not support setting references for attribute ' . $reference['attribute']);
282
            }
283
284
            $this->referenceResolver->addReference($reference['identifier'], $value);
285
        }
286
287
        return true;
288
    }
289
}
290