Code Duplication    Length = 25-26 lines in 3 locations

eZ/Publish/Core/REST/Server/Input/Parser/ContentCreate.php 1 location

@@ 150-175 (lines=26) @@
147
            throw new Exceptions\Parser("Missing or invalid 'fields' element for ContentCreate.");
148
        }
149
150
        foreach ($data['fields']['field'] as $fieldData) {
151
            if (!array_key_exists('fieldDefinitionIdentifier', $fieldData)) {
152
                throw new Exceptions\Parser("Missing 'fieldDefinitionIdentifier' element in field data for ContentCreate.");
153
            }
154
155
            $fieldDefinition = $contentType->getFieldDefinition($fieldData['fieldDefinitionIdentifier']);
156
            if (!$fieldDefinition) {
157
                throw new Exceptions\Parser(
158
                    "'{$fieldData['fieldDefinitionIdentifier']}' is invalid field definition identifier for '{$contentType->identifier}' content type in ContentCreate."
159
                );
160
            }
161
162
            if (!array_key_exists('fieldValue', $fieldData)) {
163
                throw new Exceptions\Parser("Missing 'fieldValue' element for '{$fieldData['fieldDefinitionIdentifier']}' identifier in ContentCreate.");
164
            }
165
166
            $fieldValue = $this->fieldTypeParser->parseValue($fieldDefinition->fieldTypeIdentifier,
167
                $fieldData['fieldValue']);
168
169
            $languageCode = null;
170
            if (array_key_exists('languageCode', $fieldData)) {
171
                $languageCode = $fieldData['languageCode'];
172
            }
173
174
            $contentCreateStruct->setField($fieldData['fieldDefinitionIdentifier'], $fieldValue, $languageCode);
175
        }
176
177
        return new RestContentCreateStruct($contentCreateStruct, $locationCreateStruct);
178
    }

eZ/Publish/Core/REST/Server/Input/Parser/UserCreate.php 1 location

@@ 133-157 (lines=25) @@
130
            throw new Exceptions\Parser("Missing or invalid 'fields' element for UserCreate.");
131
        }
132
133
        foreach ($data['fields']['field'] as $fieldData) {
134
            if (!array_key_exists('fieldDefinitionIdentifier', $fieldData)) {
135
                throw new Exceptions\Parser("Missing 'fieldDefinitionIdentifier' element in field data for UserCreate.");
136
            }
137
138
            $fieldDefinition = $userCreateStruct->contentType->getFieldDefinition($fieldData['fieldDefinitionIdentifier']);
139
            if (!$fieldDefinition) {
140
                throw new Exceptions\Parser(
141
                    "'{$fieldData['fieldDefinitionIdentifier']}' is invalid field definition identifier for '{$userCreateStruct->contentType->identifier}' content type in UserCreate."
142
                );
143
            }
144
145
            if (!array_key_exists('fieldValue', $fieldData)) {
146
                throw new Exceptions\Parser("Missing 'fieldValue' element for '{$fieldData['fieldDefinitionIdentifier']}' identifier in UserCreate.");
147
            }
148
149
            $fieldValue = $this->fieldTypeParser->parseValue($fieldDefinition->fieldTypeIdentifier, $fieldData['fieldValue']);
150
151
            $languageCode = null;
152
            if (array_key_exists('languageCode', $fieldData)) {
153
                $languageCode = $fieldData['languageCode'];
154
            }
155
156
            $userCreateStruct->setField($fieldData['fieldDefinitionIdentifier'], $fieldValue, $languageCode);
157
        }
158
159
        return $userCreateStruct;
160
    }

eZ/Publish/Core/REST/Server/Input/Parser/UserGroupCreate.php 1 location

@@ 101-125 (lines=25) @@
98
            throw new Exceptions\Parser("Missing or invalid 'fields' element for UserGroupCreate.");
99
        }
100
101
        foreach ($data['fields']['field'] as $fieldData) {
102
            if (!array_key_exists('fieldDefinitionIdentifier', $fieldData)) {
103
                throw new Exceptions\Parser("Missing 'fieldDefinitionIdentifier' element in field data for UserGroupCreate.");
104
            }
105
106
            $fieldDefinition = $userGroupCreateStruct->contentType->getFieldDefinition($fieldData['fieldDefinitionIdentifier']);
107
            if (!$fieldDefinition) {
108
                throw new Exceptions\Parser(
109
                    "'{$fieldData['fieldDefinitionIdentifier']}' is invalid field definition identifier for '{$userGroupCreateStruct->contentType->identifier}' content type in UserGroupCreate."
110
                );
111
            }
112
113
            if (!array_key_exists('fieldValue', $fieldData)) {
114
                throw new Exceptions\Parser("Missing 'fieldValue' element for '{$fieldData['fieldDefinitionIdentifier']}' identifier in UserGroupCreate.");
115
            }
116
117
            $fieldValue = $this->fieldTypeParser->parseValue($fieldDefinition->fieldTypeIdentifier, $fieldData['fieldValue']);
118
119
            $languageCode = null;
120
            if (array_key_exists('languageCode', $fieldData)) {
121
                $languageCode = $fieldData['languageCode'];
122
            }
123
124
            $userGroupCreateStruct->setField($fieldData['fieldDefinitionIdentifier'], $fieldValue, $languageCode);
125
        }
126
127
        return $userGroupCreateStruct;
128
    }