Code Duplication    Length = 27-27 lines in 3 locations

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

@@ 621-647 (lines=27) @@
618
     * @param SendResult $response Ticket_CreateTSTFromPricing result
619
     * @return Result
620
     */
621
    protected function analyzeTicketCreateTSTFromPricingResponse($response)
622
    {
623
        $analyzeResponse = new Result($response);
624
625
        $domDoc = $this->loadDomDocument($response->responseXml);
626
627
        $errorCodeNode = $domDoc->getElementsByTagName("applicationErrorCode")->item(0);
628
629
        if (!is_null($errorCodeNode)) {
630
            $analyzeResponse->status = Result::STATUS_ERROR;
631
632
            $errorCatNode = $domDoc->getElementsByTagName("codeListQualifier")->item(0);
633
            if ($errorCatNode instanceof \DOMNode) {
634
                $analyzeResponse->status = $this->makeStatusFromErrorQualifier($errorCatNode->nodeValue);
635
            }
636
637
            $errorCode = $errorCodeNode->nodeValue;
638
            $errorTextNodeList = $domDoc->getElementsByTagName("errorFreeText");
639
640
            $analyzeResponse->messages[] = new Result\NotOk(
641
                $errorCode,
642
                $this->makeMessageFromMessagesNodeList($errorTextNodeList)
643
            );
644
        }
645
646
        return $analyzeResponse;
647
    }
648
649
    /**
650
     * @param SendResult $response
@@ 806-832 (lines=27) @@
803
     * @return Result
804
     * @throws Exception
805
     */
806
    protected function analyzeSimpleResponseErrorCodeAndMessage($response)
807
    {
808
        $analyzeResponse = new Result($response);
809
810
        $domDoc = $this->loadDomDocument($response->responseXml);
811
812
        $errorCodeNode = $domDoc->getElementsByTagName("errorCode")->item(0);
813
814
        if (!is_null($errorCodeNode)) {
815
            $errorCatNode = $domDoc->getElementsByTagName("errorCategory")->item(0);
816
            if ($errorCatNode instanceof \DOMNode) {
817
                $analyzeResponse->status = $this->makeStatusFromErrorQualifier($errorCatNode->nodeValue);
818
            } else {
819
                $analyzeResponse->status = Result::STATUS_ERROR;
820
            }
821
822
            $errorCode = $errorCodeNode->nodeValue;
823
            $errorTextNodeList = $domDoc->getElementsByTagName("freeText");
824
825
            $analyzeResponse->messages[] = new Result\NotOk(
826
                $errorCode,
827
                $this->makeMessageFromMessagesNodeList($errorTextNodeList)
828
            );
829
        }
830
831
        return $analyzeResponse;
832
    }
833
834
    /**
835
     * @param SendResult $response WebService message Send Result
@@ 839-865 (lines=27) @@
836
     * @return Result
837
     * @throws Exception
838
     */
839
    protected function analyzeSimpleResponseErrorCodeAndMessageStatusCode($response)
840
    {
841
        $analyzeResponse = new Result($response);
842
843
        $domDoc = $this->loadDomDocument($response->responseXml);
844
845
        $errorCodeNode = $domDoc->getElementsByTagName("errorCode")->item(0);
846
847
        if (!is_null($errorCodeNode)) {
848
            $analyzeResponse->status = Result::STATUS_ERROR;
849
850
            $errorCatNode = $domDoc->getElementsByTagName("statusCode")->item(0);
851
            if ($errorCatNode instanceof \DOMNode) {
852
                $analyzeResponse->status = $this->makeStatusFromErrorQualifier($errorCatNode->nodeValue);
853
            }
854
855
            $errorCode = $errorCodeNode->nodeValue;
856
            $errorTextNodeList = $domDoc->getElementsByTagName("freeText");
857
858
            $analyzeResponse->messages[] = new Result\NotOk(
859
                $errorCode,
860
                $this->makeMessageFromMessagesNodeList($errorTextNodeList)
861
            );
862
        }
863
864
        return $analyzeResponse;
865
    }
866
867
    /**
868
     * Returns the errortext from a Queue_*Reply errorcode