public HybrisHttpResult executeLogUpdate()

in src/com/intellij/idea/plugin/hybris/tools/remote/http/HybrisHacHttpClient.java [300:354]


    public HybrisHttpResult executeLogUpdate(
        final Project project,
        final String loggerName,
        final String logLevel,
        final int timeout
    ) {

        final var settings = RemoteConnectionUtil.INSTANCE.getActiveRemoteConnectionSettings(project, RemoteConnectionType.Hybris);
        final var params = Arrays.asList(
            new BasicNameValuePair("loggerName", loggerName),
            new BasicNameValuePair("levelName", logLevel)
        );
        HybrisHttpResult.HybrisHttpResultBuilder resultBuilder = createResult();
        final String actionUrl = settings.getGeneratedURL() + "/platform/log4j/changeLevel/";

        final HttpResponse response = post(project, actionUrl, params, true, timeout, settings);
        final StatusLine statusLine = response.getStatusLine();
        resultBuilder = resultBuilder.httpCode(statusLine.getStatusCode());
        if (statusLine.getStatusCode() != SC_OK || response.getEntity() == null) {
            return resultBuilder.errorMessage("[" + statusLine.getStatusCode() + "] " +
                statusLine.getReasonPhrase()).build();
        }
        final Document document;
        try {
            document = parse(response.getEntity().getContent(), StandardCharsets.UTF_8.name(), "");
        } catch (final IOException e) {
            return resultBuilder.errorMessage(e.getMessage() + ' ' + actionUrl).httpCode(SC_BAD_REQUEST).build();
        }
        final Elements fsResultStatus = document.getElementsByTag("body");
        if (fsResultStatus == null) {
            return resultBuilder.errorMessage("No data in response").build();
        }
        final Map json = parseResponse(fsResultStatus);

        if (json == null) {
            return createResult()
                .errorMessage("Cannot parse response from the server...")
                .build();
        }

        final var stacktraceText = json.get("stacktraceText");
        if (stacktraceText != null && isNotEmpty(stacktraceText.toString())) {
            return createResult()
                .errorMessage(stacktraceText.toString())
                .build();
        }

        if (json.get("outputText") != null) {
            resultBuilder.output(json.get("outputText").toString());
        }
        if (json.get("executionResult") != null) {
            resultBuilder.result(json.get("executionResult").toString());
        }
        return resultBuilder.build();
    }