Code Duplication    Length = 25-25 lines in 2 locations

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

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