Code Duplication    Length = 27-27 lines in 3 locations

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

@@ 589-615 (lines=27) @@
586
        return $this->analyzeSimpleResponseErrorCodeAndMessageStatusCode($response);
587
    }
588
589
    protected function analyzeTicketCreateTSTFromPricingResponse($response)
590
    {
591
        $analyzeResponse = new Result($response);
592
593
        $domDoc = $this->loadDomDocument($response->responseXml);
594
595
        $errorCodeNode = $domDoc->getElementsByTagName("applicationErrorCode")->item(0);
596
597
        if (!is_null($errorCodeNode)) {
598
            $analyzeResponse->status = Result::STATUS_ERROR;
599
600
            $errorCatNode = $domDoc->getElementsByTagName("codeListQualifier")->item(0);
601
            if ($errorCatNode instanceof \DOMNode) {
602
                $analyzeResponse->status = $this->makeStatusFromErrorQualifier($errorCatNode->nodeValue);
603
            }
604
605
            $errorCode = $errorCodeNode->nodeValue;
606
            $errorTextNodeList = $domDoc->getElementsByTagName("errorFreeText");
607
608
            $analyzeResponse->messages[] = new Result\NotOk(
609
                $errorCode,
610
                $this->makeMessageFromMessagesNodeList($errorTextNodeList)
611
            );
612
        }
613
614
        return $analyzeResponse;
615
    }
616
617
    /**
618
     * @param SendResult $response
@@ 772-798 (lines=27) @@
769
     * @return Result
770
     * @throws Exception
771
     */
772
    protected function analyzeSimpleResponseErrorCodeAndMessage($response)
773
    {
774
        $analyzeResponse = new Result($response);
775
776
        $domDoc = $this->loadDomDocument($response->responseXml);
777
778
        $errorCodeNode = $domDoc->getElementsByTagName("errorCode")->item(0);
779
780
        if (!is_null($errorCodeNode)) {
781
            $errorCatNode = $domDoc->getElementsByTagName("errorCategory")->item(0);
782
            if ($errorCatNode instanceof \DOMNode) {
783
                $analyzeResponse->status = $this->makeStatusFromErrorQualifier($errorCatNode->nodeValue);
784
            } else {
785
                $analyzeResponse->status = Result::STATUS_ERROR;
786
            }
787
788
            $errorCode = $errorCodeNode->nodeValue;
789
            $errorTextNodeList = $domDoc->getElementsByTagName("freeText");
790
791
            $analyzeResponse->messages[] = new Result\NotOk(
792
                $errorCode,
793
                $this->makeMessageFromMessagesNodeList($errorTextNodeList)
794
            );
795
        }
796
797
        return $analyzeResponse;
798
    }
799
800
    /**
801
     * @param SendResult $response WebService message Send Result
@@ 805-831 (lines=27) @@
802
     * @return Result
803
     * @throws Exception
804
     */
805
    protected function analyzeSimpleResponseErrorCodeAndMessageStatusCode($response)
806
    {
807
        $analyzeResponse = new Result($response);
808
809
        $domDoc = $this->loadDomDocument($response->responseXml);
810
811
        $errorCodeNode = $domDoc->getElementsByTagName("errorCode")->item(0);
812
813
        if (!is_null($errorCodeNode)) {
814
            $analyzeResponse->status = Result::STATUS_ERROR;
815
816
            $errorCatNode = $domDoc->getElementsByTagName("statusCode")->item(0);
817
            if ($errorCatNode instanceof \DOMNode) {
818
                $analyzeResponse->status = $this->makeStatusFromErrorQualifier($errorCatNode->nodeValue);
819
            }
820
821
            $errorCode = $errorCodeNode->nodeValue;
822
            $errorTextNodeList = $domDoc->getElementsByTagName("freeText");
823
824
            $analyzeResponse->messages[] = new Result\NotOk(
825
                $errorCode,
826
                $this->makeMessageFromMessagesNodeList($errorTextNodeList)
827
            );
828
        }
829
830
        return $analyzeResponse;
831
    }
832
833
    /**
834
     * Returns the errortext from a Queue_*Reply errorcode