public String handleRequest()

in wilma-extras/lookAndSayService/src/main/java/com/epam/wilma/extras/lookandsayservice/LookAndSayServiceInterceptor.java [63:108]


    public String handleRequest(HttpServletRequest httpServletRequest, String request, HttpServletResponse httpServletResponse) {
        String myMethod = httpServletRequest.getMethod();
        boolean myCall = request.equalsIgnoreCase(this.getClass().getSimpleName() + HANDLED_SERVICE);

        //set default response
        String response = "{ \"incorrectServiceCall\": \"" + myMethod + ":" + request + "\" }";
        httpServletResponse.setStatus(HttpServletResponse.SC_NOT_FOUND);

        String startingText = httpServletRequest.getParameter("number");
        String iterationText = httpServletRequest.getParameter("iterations");


        int iterations;
        try {
            iterations = Integer.parseInt(iterationText);
        } catch (NumberFormatException e) {
            iterations = 1;
        }

        long startingSequence;
        try {
            startingSequence = Long.parseLong(startingText);
        } catch (NumberFormatException e) {
            startingSequence = -1;
        }

        //handle the call
        if (myCall && startingSequence >= 0) {
            if (isRequestIssue(startingText.length(), iterations)) {
                response = "{\n  \"serviceCalculationProblem\": \"Specified initial string and requested number of iterations would take unacceptable long time.\"\n}";
            } else {
                response = startingText;
                while (iterations > 0) {
                    response = handleIteration(response);
                    iterations--;
                }
                //formulate the response
                response = "{\n  \"number\": \"" + startingSequence
                        + "\",\n  \"iterations\": \"" + iterationText
                        + "\",\n  \"serviceResult\": \"" + response
                        + "\",\n  \"length\": \"" + response.length() + "\"\n}";
                httpServletResponse.setStatus(HttpServletResponse.SC_OK);
            }
        }
        return response;
    }