Code Duplication    Length = 25-25 lines in 2 locations

src/Amadeus/Client/ResponseHandler/Base.php 2 locations

@@ 186-210 (lines=25) @@
183
        $domXpath = $this->makeDomXpath($response->responseXml);
184
185
        $errorCodeNode = $domXpath->query('//m:errorInformation/m:errorDetails/m:code');
186
        if ($errorCodeNode->length > 0) {
187
            $analyzeResponse->status = Result::STATUS_ERROR;
188
189
            $errCode = $errorCodeNode->item(0)->nodeValue;
190
            $level = null;
191
            $errDesc = null;
192
193
            $errorLevelNode = $domXpath->query('//m:errorInformation/m:errorDetails/m:processingLevel');
194
            if ($errorLevelNode->length > 0) {
195
                $level = RetrieveSeatMap::decodeProcessingLevel($errorLevelNode->item(0)->nodeValue);
196
            }
197
198
            $errorDescNode = $domXpath->query('//m:errorInformation/m:errorDetails/m:description');
199
            if ($errorDescNode->length > 0) {
200
                $errDesc = $errorDescNode->item(0)->nodeValue;
201
            } else {
202
                $errDesc = RetrieveSeatMap::findMessage($errCode);
203
            }
204
205
            $analyzeResponse->messages[] = new Result\NotOk(
206
                $errCode,
207
                $errDesc,
208
                $level
209
            );
210
        }
211
212
        $codeNode = $domXpath->query('//m:warningInformation/m:warningDetails/m:code');
213
        if ($codeNode->length > 0) {
@@ 213-237 (lines=25) @@
210
        }
211
212
        $codeNode = $domXpath->query('//m:warningInformation/m:warningDetails/m:code');
213
        if ($codeNode->length > 0) {
214
            $analyzeResponse->status = Result::STATUS_WARN;
215
216
            $warnCode = $codeNode->item(0)->nodeValue;
217
            $level = null;
218
            $warnDesc = null;
219
220
            $levelNode = $domXpath->query('//m:warningInformation/m:warningDetails/m:processingLevel');
221
            if ($levelNode->length > 0) {
222
                $level = RetrieveSeatMap::decodeProcessingLevel($levelNode->item(0)->nodeValue);
223
            }
224
225
            $descNode = $domXpath->query('//m:warningInformation/m:warningDetails/m:description');
226
            if ($descNode->length > 0) {
227
                $warnDesc = $descNode->item(0)->nodeValue;
228
            } else {
229
                $warnDesc = RetrieveSeatMap::findMessage($warnCode);
230
            }
231
232
            $analyzeResponse->messages[] = new Result\NotOk(
233
                $warnCode,
234
                $warnDesc,
235
                $level
236
            );
237
        }
238
239
        return $analyzeResponse;
240
    }