Code Duplication    Length = 24-24 lines in 2 locations

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

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