Code Duplication    Length = 25-25 lines in 2 locations

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

@@ 213-237 (lines=25) @@
210
        $domXpath = $this->makeDomXpath($response->responseXml);
211
212
        $errorCodeNode = $domXpath->query('//m:errorInformation/m:errorDetails/m:code');
213
        if ($errorCodeNode->length > 0) {
214
            $analyzeResponse->status = Result::STATUS_ERROR;
215
216
            $errCode = $errorCodeNode->item(0)->nodeValue;
217
            $level = null;
218
            $errDesc = null;
219
220
            $errorLevelNode = $domXpath->query('//m:errorInformation/m:errorDetails/m:processingLevel');
221
            if ($errorLevelNode->length > 0) {
222
                $level = RetrieveSeatMap::decodeProcessingLevel($errorLevelNode->item(0)->nodeValue);
223
            }
224
225
            $errorDescNode = $domXpath->query('//m:errorInformation/m:errorDetails/m:description');
226
            if ($errorDescNode->length > 0) {
227
                $errDesc = $errorDescNode->item(0)->nodeValue;
228
            } else {
229
                $errDesc = RetrieveSeatMap::findMessage($errCode);
230
            }
231
232
            $analyzeResponse->messages[] = new Result\NotOk(
233
                $errCode,
234
                $errDesc,
235
                $level
236
            );
237
        }
238
239
        $codeNode = $domXpath->query('//m:warningInformation/m:warningDetails/m:number');
240
        if ($codeNode->length > 0) {
@@ 240-264 (lines=25) @@
237
        }
238
239
        $codeNode = $domXpath->query('//m:warningInformation/m:warningDetails/m:number');
240
        if ($codeNode->length > 0) {
241
            $analyzeResponse->status = Result::STATUS_WARN;
242
243
            $warnCode = $codeNode->item(0)->nodeValue;
244
            $level = null;
245
            $warnDesc = null;
246
247
            $levelNode = $domXpath->query('//m:warningInformation/m:warningDetails/m:processingLevel');
248
            if ($levelNode->length > 0) {
249
                $level = RetrieveSeatMap::decodeProcessingLevel($levelNode->item(0)->nodeValue);
250
            }
251
252
            $descNode = $domXpath->query('//m:warningInformation/m:warningDetails/m:description');
253
            if ($descNode->length > 0) {
254
                $warnDesc = $descNode->item(0)->nodeValue;
255
            } else {
256
                $warnDesc = RetrieveSeatMap::findMessage($warnCode);
257
            }
258
259
            $analyzeResponse->messages[] = new Result\NotOk(
260
                $warnCode,
261
                $warnDesc,
262
                $level
263
            );
264
        }
265
266
        return $analyzeResponse;
267
    }