Code Duplication    Length = 27-27 lines in 3 locations

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

@@ 606-632 (lines=27) @@
603
     * @param SendResult $response Ticket_CreateTSTFromPricing result
604
     * @return Result
605
     */
606
    protected function analyzeTicketCreateTSTFromPricingResponse($response)
607
    {
608
        $analyzeResponse = new Result($response);
609
610
        $domDoc = $this->loadDomDocument($response->responseXml);
611
612
        $errorCodeNode = $domDoc->getElementsByTagName("applicationErrorCode")->item(0);
613
614
        if (!is_null($errorCodeNode)) {
615
            $analyzeResponse->status = Result::STATUS_ERROR;
616
617
            $errorCatNode = $domDoc->getElementsByTagName("codeListQualifier")->item(0);
618
            if ($errorCatNode instanceof \DOMNode) {
619
                $analyzeResponse->status = $this->makeStatusFromErrorQualifier($errorCatNode->nodeValue);
620
            }
621
622
            $errorCode = $errorCodeNode->nodeValue;
623
            $errorTextNodeList = $domDoc->getElementsByTagName("errorFreeText");
624
625
            $analyzeResponse->messages[] = new Result\NotOk(
626
                $errorCode,
627
                $this->makeMessageFromMessagesNodeList($errorTextNodeList)
628
            );
629
        }
630
631
        return $analyzeResponse;
632
    }
633
634
    /**
635
     * @param SendResult $response
@@ 789-815 (lines=27) @@
786
     * @return Result
787
     * @throws Exception
788
     */
789
    protected function analyzeSimpleResponseErrorCodeAndMessage($response)
790
    {
791
        $analyzeResponse = new Result($response);
792
793
        $domDoc = $this->loadDomDocument($response->responseXml);
794
795
        $errorCodeNode = $domDoc->getElementsByTagName("errorCode")->item(0);
796
797
        if (!is_null($errorCodeNode)) {
798
            $errorCatNode = $domDoc->getElementsByTagName("errorCategory")->item(0);
799
            if ($errorCatNode instanceof \DOMNode) {
800
                $analyzeResponse->status = $this->makeStatusFromErrorQualifier($errorCatNode->nodeValue);
801
            } else {
802
                $analyzeResponse->status = Result::STATUS_ERROR;
803
            }
804
805
            $errorCode = $errorCodeNode->nodeValue;
806
            $errorTextNodeList = $domDoc->getElementsByTagName("freeText");
807
808
            $analyzeResponse->messages[] = new Result\NotOk(
809
                $errorCode,
810
                $this->makeMessageFromMessagesNodeList($errorTextNodeList)
811
            );
812
        }
813
814
        return $analyzeResponse;
815
    }
816
817
    /**
818
     * @param SendResult $response WebService message Send Result
@@ 822-848 (lines=27) @@
819
     * @return Result
820
     * @throws Exception
821
     */
822
    protected function analyzeSimpleResponseErrorCodeAndMessageStatusCode($response)
823
    {
824
        $analyzeResponse = new Result($response);
825
826
        $domDoc = $this->loadDomDocument($response->responseXml);
827
828
        $errorCodeNode = $domDoc->getElementsByTagName("errorCode")->item(0);
829
830
        if (!is_null($errorCodeNode)) {
831
            $analyzeResponse->status = Result::STATUS_ERROR;
832
833
            $errorCatNode = $domDoc->getElementsByTagName("statusCode")->item(0);
834
            if ($errorCatNode instanceof \DOMNode) {
835
                $analyzeResponse->status = $this->makeStatusFromErrorQualifier($errorCatNode->nodeValue);
836
            }
837
838
            $errorCode = $errorCodeNode->nodeValue;
839
            $errorTextNodeList = $domDoc->getElementsByTagName("freeText");
840
841
            $analyzeResponse->messages[] = new Result\NotOk(
842
                $errorCode,
843
                $this->makeMessageFromMessagesNodeList($errorTextNodeList)
844
            );
845
        }
846
847
        return $analyzeResponse;
848
    }
849
850
    /**
851
     * Returns the errortext from a Queue_*Reply errorcode