From 4892786ed5c321b3996ead6176c317030de2fd14 Mon Sep 17 00:00:00 2001 From: asa1997 Date: Mon, 6 May 2024 14:52:49 +0530 Subject: [PATCH 01/17] Added playbook for sonarqube --- playbook-metadata.json | 19 +++ playbooks/besman-sonarqube-0.0.1-playbook.sh | 169 +++++++++++++++++++ playbooks/besman-sonarqube-0.0.1-steps.md | 81 +++++++++ 3 files changed, 269 insertions(+) create mode 100644 playbooks/besman-sonarqube-0.0.1-playbook.sh create mode 100644 playbooks/besman-sonarqube-0.0.1-steps.md diff --git a/playbook-metadata.json b/playbook-metadata.json index 48587de..7e1d914 100644 --- a/playbook-metadata.json +++ b/playbook-metadata.json @@ -38,6 +38,25 @@ "environment": "opencti-RT-env" }, "detailed_report_path": "STRING" + }, + { + "name": "sonarqube", + "version": "0.0.1", + "type": "tool", + "author": { + "name": "Be-Secure", + "type": "Organization" + }, + "date_of_creation": "2024-05-06T14:52:02", + "last_update_date": "2024-05-06T14:52:02", + "last_execution": { + "name": "Be-Secure", + "type": "Organization", + "status": "Success", + "timestamp": "2024-05-06T14:52:02", + "environment": "fastjson-RT-env" + }, + "detailed_report_path": "STRING" } ] } \ No newline at end of file diff --git a/playbooks/besman-sonarqube-0.0.1-playbook.sh b/playbooks/besman-sonarqube-0.0.1-playbook.sh new file mode 100644 index 0000000..4fb07aa --- /dev/null +++ b/playbooks/besman-sonarqube-0.0.1-playbook.sh @@ -0,0 +1,169 @@ +#!/bin/bash + +function __besman_init() { + __besman_echo_white "initialising" + export ASSESSMENT_TOOL_NAME="sonarqube" + export ASSESSMENT_TOOL_TYPE="sast" + export ASSESSMENT_TOOL_VERSION="9.9.4" + export ASSESSMENT_TOOL_PLAYBOOK="besman-$ASSESSMENT_TOOL_NAME-0.0.1-playbook.sh" + + local steps_file_name="besman-$ASSESSMENT_TOOL_NAME-0.0.1-steps.md" + export BESMAN_STEPS_FILE_PATH="./$steps_file_name" + + local var_array=("BESMAN_ARTIFACT_TYPE" "BESMAN_ARTIFACT_NAME" "BESMAN_ARTIFACT_VERSION" "BESMAN_ARTIFACT_URL" "BESMAN_ENV_NAME" "BESMAN_ARTIFACT_DIR" "ASSESSMENT_TOOL_NAME" "ASSESSMENT_TOOL_TYPE" "ASSESSMENT_TOOL_VERSION" "ASSESSMENT_TOOL_PLAYBOOK" "BESMAN_ASSESSMENT_DATASTORE_DIR" "BESMAN_TOOL_PATH" "BESMAN_ASSESSMENT_DATASTORE_URL" "BESMAN_LAB_TYPE" "BESMAN_LAB_NAME") + + local flag=false + for var in "${var_array[@]}"; do + if [[ ! -v $var ]]; then + + # read -rp "Enter value for $var:" value #remove + # export "$var"="$value" #remove + __besman_echo_yellow "$var is not set" #uncomment + __besman_echo_no_colour "" #uncomment + flag=true #uncomment + fi + + done + + local dir_array=("BESMAN_ASSESSMENT_DATASTORE_DIR") + + for dir in "${dir_array[@]}"; do + # Get the value of the variable with the name stored in $dir + dir_path="${!dir}" + + if [[ ! -d $dir_path ]]; then + + __besman_echo_red "Could not find $dir_path" + + flag=true + + fi + + done + + if [[ -z $(command -v docker) ]]; + then + + __besman_echo_red "Docker not installed" + flag=true + fi + + + if [[ $flag == true ]]; then + + return 1 + + else + export SBOM_PATH="$BESMAN_ASSESSMENT_DATASTORE_DIR/$BESMAN_ARTIFACT_NAME/$BESMAN_ARTIFACT_VERSION/sbom" + export DETAILED_REPORT_PATH="$SBOM_PATH/$BESMAN_ARTIFACT_NAME-$BESMAN_ARTIFACT_VERSION-sbom-report.json" + mkdir -p "$SBOM_PATH" + export OSAR_PATH="$BESMAN_ASSESSMENT_DATASTORE_DIR/osar/$BESMAN_ARTIFACT_NAME-$BESMAN_ARTIFACT_VERSION-OSAR.json" + # __besman_fetch_steps_file "$steps_file_name" || return 1 + return 0 + + fi + +} + +function __besman_execute() { + local duration + __besman_echo_yellow "Launching steps file" + + SECONDS=0 + gedit "$BESMAN_STEPS_FILE_PATH" + duration=$SECONDS + + export EXECUTION_DURATION=$duration + if [[ ! -f $DETAILED_REPORT_PATH ]]; then + + __besman_echo_red "Could not find detailed report @ $DETAILED_REPORT_PATH" + export PLAYBOOK_EXECUTION_STATUS=failure + return 1 + + else + export PLAYBOOK_EXECUTION_STATUS=success + return 0 + fi + +} + +function __besman_prepare() { + + __besman_echo_white "preparing data" + EXECUTION_TIMESTAMP=$(date) + export EXECUTION_TIMESTAMP + [[ ! -f $DETAILED_REPORT_PATH ]] && __besman_echo_red "Could not find report at $DETAILED_REPORT_PATH" && return 1 + __besman_generate_osar + +} + +function __besman_publish() { + __besman_echo_yellow "Pushing to datastores" + # push code to remote datastore + cd "$BESMAN_ASSESSMENT_DATASTORE_DIR" + + git add "$DETAILED_REPORT_PATH" "$OSAR_PATH" + git commit -m "Added osar and detailed report" + git push origin main + # Fix code + # gh pr create --title "Added reports" --body "Added osar and detailed reports" + +} + +function __besman_cleanup() { + local var_array=("ASSESSMENT_TOOL_NAME" "ASSESSMENT_TOOL_TYPE" "ASSESSMENT_TOOL_PLAYBOOK" "ASSESSMENT_TOOL_VERSION" "OSAR_PATH" "SBOM_PATH" "DETAILED_REPORT_PATH") + + for var in "${var_array[@]}"; do + if [[ -v $var ]]; then + unset "$var" + fi + + done +} + +function __besman_launch() { + __besman_echo_yellow "Starting playbook" + local flag=1 + + __besman_init + flag=$? + if [[ $flag == 0 ]]; then + + __besman_execute + flag=$? + + else + + __besman_cleanup + return + fi + + if [[ $flag == 0 ]]; then + + __besman_prepare + __besman_publish + __besman_cleanup + + else + + __besman_cleanup + return + + fi +} + +function __besman_fetch_steps_file() { + __besman_echo_white "fetching steps file" + local steps_file_name=$1 + local steps_file_url="https://raw.githubusercontent.com/$BESMAN_PLAYBOOK_REPO/main/playbooks/$steps_file_name" + __besman_check_url_valid "$steps_file_url" || return 1 + + if [[ ! -f "$BESMAN_STEPS_FILE_PATH" ]]; then + + touch "$BESMAN_STEPS_FILE_PATH" + + __besman_secure_curl "$steps_file_url" >>"$BESMAN_STEPS_FILE_PATH" + [[ "$?" != "0" ]] && __besman_echo_red "Failed to fetch from $steps_file_url" && return 1 + fi + __besman_echo_white "done fetching" +} \ No newline at end of file diff --git a/playbooks/besman-sonarqube-0.0.1-steps.md b/playbooks/besman-sonarqube-0.0.1-steps.md new file mode 100644 index 0000000..4f9fde9 --- /dev/null +++ b/playbooks/besman-sonarqube-0.0.1-steps.md @@ -0,0 +1,81 @@ + +## To Perform Sonar Scanning, make sure SonarQube is up and ready in your Docker host. + +### Below are the steps to achieve it: + +1. Check if Docker is installed on your System using below command . + `docker --version` +you should find the Docker information. If there is no info. you can refer the Documentation to install in on your pc https://docs.docker.com/get-docker/ +2. Now that you have Docker in place, you can check if sonar container is running or not. Hit Below command . +`docker ps | grep sonarqube` +you can get the Container info if it is running else hit the below command: +```docker run -d --name sonarqube -p 9000:9000 sonarqube``` + +>This command will pull the SonarQube Docker image and run it as a container named "sonarqube" on port 9000. + +3. Now Create a Token for further use: +- ###### From the UI: + - Launch/Login to SonarQube + - Open your web browser and navigate to http://localhost:9000. You can login with the default credentials: + Username: admin + Password: admin + - Navigate to http://localhost:9000/account/security/ after logging in. + - Click on "Generate Tokens". + - Provide a name for your token and click "Generate". + - Copy the generated token. Make sure to save it securely as you won't be able to see it again. +- ###### Using Curl : + ``` + export SONARQUBE_URL="http://localhost:9000" && \ + export USERNAME="admin" && \ + export PASSWORD="admin" && \ + API_ENDPOINT="${SONARQUBE_URL}/api/user_tokens/generate" && \ + + TOKEN=curl -u "${USERNAME}:${PASSWORD}" -X POST "${API_ENDPOINT}" -d "name=automation_token" | jq -r '.token' && \ + echo "${TOKEN}" + ``` +4. Create a Project using above created token: +- ###### using curl : +``` +export YOUR_PROJECT_KEY="" && \ +export YOUR_PROJECT_NAME="" && \ +export TOKEN="" && \ +API_ENDPOINT="http://localhost:9000/api/projects/create" + +curl -u "${TOKEN}": -X POST "${API_ENDPOINT}" \ + -d "project=${YOUR_PROJECT_KEY}" \ + -d "name=${YOUR_PROJECT_NAME}" + ``` +5. Performing Sonar Scanning for a project. +- Make sure you have sonar-Scanner-CLI installed or you can install it by following URL : https://docs.sonarsource.com/sonarqube/latest/analyzing-source-code/scanners/sonarscanner/ + +- Navigate to your project directory and run the scanner command: +``` +sonar-scanner \ +-Dsonar.projectKey=${YOUR_PROJECT_KEY} \ +-Dsonar.sources=. +``` +6. Sending the Result to SonarQube: +- After running the above step, it will automatically send the analysis results to the SonarQube server you configured. You can view the results in the SonarQube web interface. + +7. Downloading the Report to a Specific Folder in Your PC: + +- ###### From UI + - In SonarQube, navigate to the project for which you want to download the report. + - Click on "Measures" or "Quality Gate" to view the analysis results. + - You may find options to export or download the report. Typically, there will be an option to download the report as a PDF or CSV. + - Choose the desired format and save the report to a specific folder on your PC. + +- ###### Using curl: + + ``` + API_ENDPOINT="http://localhost:9000/api/measures/component" + + export TOKEN="your_authentication_token" + + + export PROJECT_KEY="your_project_key" + + export PARAMS="component=${PROJECT_KEY}&metricKeys=coverage,bugs,vulnerabilities" + + curl -u "${TOKEN}": ${API_ENDPOINT}?${PARAMS} --output "provide the Path to Data store directory as mentioned in the below" + ``` From c70fc9164bd14c2dbc41eb476eda11ee25fe0a78 Mon Sep 17 00:00:00 2001 From: asa1997 Date: Mon, 6 May 2024 14:55:00 +0530 Subject: [PATCH 02/17] updated --- playbooks/besman-sonarqube-0.0.1-playbook.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/playbooks/besman-sonarqube-0.0.1-playbook.sh b/playbooks/besman-sonarqube-0.0.1-playbook.sh index 4fb07aa..06c8c44 100644 --- a/playbooks/besman-sonarqube-0.0.1-playbook.sh +++ b/playbooks/besman-sonarqube-0.0.1-playbook.sh @@ -8,7 +8,7 @@ function __besman_init() { export ASSESSMENT_TOOL_PLAYBOOK="besman-$ASSESSMENT_TOOL_NAME-0.0.1-playbook.sh" local steps_file_name="besman-$ASSESSMENT_TOOL_NAME-0.0.1-steps.md" - export BESMAN_STEPS_FILE_PATH="./$steps_file_name" + export BESMAN_STEPS_FILE_PATH="$BESMAN_PLAYBOOK_DIR/$steps_file_name" local var_array=("BESMAN_ARTIFACT_TYPE" "BESMAN_ARTIFACT_NAME" "BESMAN_ARTIFACT_VERSION" "BESMAN_ARTIFACT_URL" "BESMAN_ENV_NAME" "BESMAN_ARTIFACT_DIR" "ASSESSMENT_TOOL_NAME" "ASSESSMENT_TOOL_TYPE" "ASSESSMENT_TOOL_VERSION" "ASSESSMENT_TOOL_PLAYBOOK" "BESMAN_ASSESSMENT_DATASTORE_DIR" "BESMAN_TOOL_PATH" "BESMAN_ASSESSMENT_DATASTORE_URL" "BESMAN_LAB_TYPE" "BESMAN_LAB_NAME") @@ -58,7 +58,7 @@ function __besman_init() { export DETAILED_REPORT_PATH="$SBOM_PATH/$BESMAN_ARTIFACT_NAME-$BESMAN_ARTIFACT_VERSION-sbom-report.json" mkdir -p "$SBOM_PATH" export OSAR_PATH="$BESMAN_ASSESSMENT_DATASTORE_DIR/osar/$BESMAN_ARTIFACT_NAME-$BESMAN_ARTIFACT_VERSION-OSAR.json" - # __besman_fetch_steps_file "$steps_file_name" || return 1 + __besman_fetch_steps_file "$steps_file_name" || return 1 return 0 fi From 36ad03e5004ab0f2973557f43d36c37695f2a72e Mon Sep 17 00:00:00 2001 From: asa1997 Date: Tue, 7 May 2024 14:29:40 +0530 Subject: [PATCH 03/17] Removed hardocding of steps file branch --- playbooks/besman-sonarqube-0.0.1-playbook.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/besman-sonarqube-0.0.1-playbook.sh b/playbooks/besman-sonarqube-0.0.1-playbook.sh index 06c8c44..513e72e 100644 --- a/playbooks/besman-sonarqube-0.0.1-playbook.sh +++ b/playbooks/besman-sonarqube-0.0.1-playbook.sh @@ -155,7 +155,7 @@ function __besman_launch() { function __besman_fetch_steps_file() { __besman_echo_white "fetching steps file" local steps_file_name=$1 - local steps_file_url="https://raw.githubusercontent.com/$BESMAN_PLAYBOOK_REPO/main/playbooks/$steps_file_name" + local steps_file_url="https://raw.githubusercontent.com/$BESMAN_PLAYBOOK_REPO/$BESMAN_PLAYBOOK_REPO_BRANCH/playbooks/$steps_file_name" __besman_check_url_valid "$steps_file_url" || return 1 if [[ ! -f "$BESMAN_STEPS_FILE_PATH" ]]; then From 4ff89c5035102374313e9cc2444beb13ac423fb7 Mon Sep 17 00:00:00 2001 From: asa1997 Date: Tue, 7 May 2024 14:31:40 +0530 Subject: [PATCH 04/17] updated url vars of steps file --- playbooks/besman-criticality_score-0.0.1-playbook.sh | 4 ++-- playbooks/besman-spdx-sbom-generator-0.0.1-playbook.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/playbooks/besman-criticality_score-0.0.1-playbook.sh b/playbooks/besman-criticality_score-0.0.1-playbook.sh index 5804ba8..bcb8ed6 100755 --- a/playbooks/besman-criticality_score-0.0.1-playbook.sh +++ b/playbooks/besman-criticality_score-0.0.1-playbook.sh @@ -6,7 +6,7 @@ function __besman_init() { export ASSESSMENT_TOOL_VERSION="2.0.3" #export BESLAB_OWNER_TYPE="Organization" #export BESLAB_OWNER_NAME="Be-Secure" - export ASSESSMENT_TOOL_PLAYBOOK="besman-$ASSESSMENT_TOOL_TYPE-0.0.1-playbook.sh" + export ASSESSMENT_TOOL_PLAYBOOK="besman-$ASSESSMENT_TOOL_NAME-0.0.1-playbook.sh" local steps_file_name="besman-$ASSESSMENT_TOOL_NAME-0.0.1-steps.sh" export BESMAN_STEPS_FILE_PATH="$BESMAN_PLAYBOOK_DIR/$steps_file_name" @@ -135,7 +135,7 @@ function __besman_launch() { function __besman_fetch_steps_file() { __besman_echo_white "fetching steps file" local steps_file_name=$1 - local steps_file_url="https://raw.githubusercontent.com/$BESMAN_NAMESPACE/$BESMAN_PLAYBOOK_REPO/main/playbooks/$steps_file_name" + local steps_file_url="https://raw.githubusercontent.com/$BESMAN_PLAYBOOK_REPO/$BESMAN_PLAYBOOK_REPO_BRANCH/playbooks/$steps_file_name" __besman_check_url_valid "$steps_file_url" || return 1 if [[ ! -f "$BESMAN_STEPS_FILE_PATH" ]]; then diff --git a/playbooks/besman-spdx-sbom-generator-0.0.1-playbook.sh b/playbooks/besman-spdx-sbom-generator-0.0.1-playbook.sh index 2d1fe55..ff3dc6c 100644 --- a/playbooks/besman-spdx-sbom-generator-0.0.1-playbook.sh +++ b/playbooks/besman-spdx-sbom-generator-0.0.1-playbook.sh @@ -5,7 +5,7 @@ function __besman_init() { export ASSESSMENT_TOOL_NAME="spdx-sbom-generator" export ASSESSMENT_TOOL_TYPE="sbom" export ASSESSMENT_TOOL_VERSION="v0.0.15" - export ASSESSMENT_TOOL_PLAYBOOK="besman-$ASSESSMENT_TOOL_TYPE-0.0.1-playbook.sh" + export ASSESSMENT_TOOL_PLAYBOOK="besman-$ASSESSMENT_TOOL_NAME-0.0.1-playbook.sh" local steps_file_name="besman-$ASSESSMENT_TOOL_NAME-0.0.1-steps.sh" export BESMAN_STEPS_FILE_PATH="$BESMAN_PLAYBOOK_DIR/$steps_file_name" @@ -149,7 +149,7 @@ function __besman_launch() { function __besman_fetch_steps_file() { __besman_echo_white "fetching steps file" local steps_file_name=$1 - local steps_file_url="https://raw.githubusercontent.com/$BESMAN_NAMESPACE/$BESMAN_PLAYBOOK_REPO/main/playbooks/$steps_file_name" + local steps_file_url="https://raw.githubusercontent.com/$BESMAN_PLAYBOOK_REPO/$BESMAN_PLAYBOOK_REPO_BRANCH/playbooks/$steps_file_name" __besman_check_url_valid "$steps_file_url" || return 1 if [[ ! -f "$BESMAN_STEPS_FILE_PATH" ]]; then From 234453441c280f8b76a52f16297608c8c3ed6caf Mon Sep 17 00:00:00 2001 From: asa1997 Date: Fri, 10 May 2024 15:23:27 +0530 Subject: [PATCH 05/17] Added semi automated steps file for sonarqube --- .../besman-sonarqube-steps-0.0.1-steps.ipynb | 284 ++++++++++++++++++ 1 file changed, 284 insertions(+) create mode 100644 playbooks/besman-sonarqube-steps-0.0.1-steps.ipynb diff --git a/playbooks/besman-sonarqube-steps-0.0.1-steps.ipynb b/playbooks/besman-sonarqube-steps-0.0.1-steps.ipynb new file mode 100644 index 0000000..0861699 --- /dev/null +++ b/playbooks/besman-sonarqube-steps-0.0.1-steps.ipynb @@ -0,0 +1,284 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1\n" + ] + } + ], + "source": [ + "!docker --version" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "!docker ps | grep sonarqube" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run sonarqube" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!docker run -d --name sonarqube -p 9000:9000 sonarqube" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setting variables" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "env: SONARQUBE_URL=http://localhost:9000\n", + "env: USERNAME=admin\n", + "env: PASSWORD=sonar\n", + "env: YOUR_PROJECT_KEY=fastjson\n", + "env: YOUR_PROJECT_NAME=fastjson\n", + "env: YOUR_PROJECT_BRANCH=\"branch_1.2.24\"\n" + ] + } + ], + "source": [ + "%env SONARQUBE_URL=http://localhost:9000\n", + "%env USERNAME=admin\n", + "%env PASSWORD=sonar\n", + "%env YOUR_PROJECT_KEY=fastjson\n", + "%env YOUR_PROJECT_NAME=fastjson\n", + "%env YOUR_PROJECT_BRANCH=\"branch_1.2.24\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating user token" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " % Total % Received % Xferd Average Speed Time Time Time Current\n", + " Dload Upload Total Spent Left Speed\n", + "100 178 0 157 100 21 631 84 --:--:-- --:--:-- --:--:-- 717\n" + ] + } + ], + "source": [ + "API_ENDPOINT=\"$SONARQUBE_URL/api/user_tokens/generate\"\n", + "!curl -u $USERNAME:$PASSWORD -X POST $API_ENDPOINT -d name=automation_token > sonar.json\n", + "!jq -r '.token' sonar.json > token.txt\n", + "TOKEN = open('token.txt', 'r').read()\n", + "%env TOKEN=$TOKEN\n", + "!rm token.txt sonar.json" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "squ_6427907900e64e54ec4daf52a372252ee9a873c1\n" + ] + } + ], + "source": [ + "!echo $TOKEN" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create project" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\"project\":{\"key\":\"fastjson\",\"name\":\"fastjson\",\"qualifier\":\"TRK\",\"visibility\":\"public\"}}" + ] + } + ], + "source": [ + "!curl -u \"$USERNAME\":\"$PASSWORD\" -X POST \"$SONARQUBE_URL/api/projects/create?name=$YOUR_PROJECT_NAME&project=$YOUR_PROJECT_KEY&branch=$YOUR_PROJECT_BRANCH\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Change directory" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "env: BESMAN_ARTIFACT_DIR=\"/home/arunsuresh/fastjson\"\n" + ] + } + ], + "source": [ + "%env BESMAN_ARTIFACT_DIR=\"/home/arunsuresh/fastjson\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run Scan\n", + "Move to your project directory to perform the scan" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### For maven builds" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "%env BESMAN_ARTIFACT_DIR=\"/home/arunsuresh/fastjson\"\n", + "!echo \"BESMAN_ARTIFACT_DIR=$BESMAN_ARTIFACT_DIR\"\n", + "%cd \"$BESMAN_ARTIFACT_DIR\"\n", + "!ls\n", + "\n", + "!mvn clean install\n", + "!\n", + "%cd -" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### For gradle builds\n", + "\n", + "Running an analysis with Gradle is straighforward. You just need to declare the `org.sonarqube` plugin in your `build.gradle` or `build.gradle.kts` file:\n", + "\n", + "**build.gradle**\n", + "```json\n", + "plugins {\n", + " id \"org.sonarqube\" version \"5.0.0.4638\"\n", + "}\n", + "```\n", + "\n", + "**build.gradle.kts**\n", + "\n", + "```json\n", + "plugins {\n", + " id(\"org.sonarqube\") version \"5.0.0.4638\"\n", + "}\n", + "```\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%cd \"$BESMAN_ARTIFACT_DIR\"\n", + "!ls\n", + "!./gradlew sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName='$YOUR_PROJECT_NAME' -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### For others(JS, TS, Go, Python, PHP)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!sonar-scanner -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.sources=. -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 239d8fc0a7916b94f41cfef3669d387882b526ef Mon Sep 17 00:00:00 2001 From: asa1997 Date: Tue, 14 May 2024 13:48:14 +0530 Subject: [PATCH 06/17] Renamed and updated --- ...ynb => besman-sonarqube-0.0.1-steps.ipynb} | 188 +++++++----------- 1 file changed, 70 insertions(+), 118 deletions(-) rename playbooks/{besman-sonarqube-steps-0.0.1-steps.ipynb => besman-sonarqube-0.0.1-steps.ipynb} (55%) diff --git a/playbooks/besman-sonarqube-steps-0.0.1-steps.ipynb b/playbooks/besman-sonarqube-0.0.1-steps.ipynb similarity index 55% rename from playbooks/besman-sonarqube-steps-0.0.1-steps.ipynb rename to playbooks/besman-sonarqube-0.0.1-steps.ipynb index 0861699..29827d9 100644 --- a/playbooks/besman-sonarqube-steps-0.0.1-steps.ipynb +++ b/playbooks/besman-sonarqube-0.0.1-steps.ipynb @@ -1,32 +1,22 @@ { "cells": [ { - "cell_type": "code", - "execution_count": 1, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1\n" - ] - } - ], "source": [ - "!docker --version" + "# Steps to perform SAST using Sonarqube" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "## Check if Sonarqube is up" + ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -37,7 +27,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Run sonarqube" + "## Start the container if not available" ] }, { @@ -58,125 +48,56 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "env: SONARQUBE_URL=http://localhost:9000\n", - "env: USERNAME=admin\n", - "env: PASSWORD=sonar\n", - "env: YOUR_PROJECT_KEY=fastjson\n", - "env: YOUR_PROJECT_NAME=fastjson\n", - "env: YOUR_PROJECT_BRANCH=\"branch_1.2.24\"\n" - ] - } - ], + "outputs": [], "source": [ - "%env SONARQUBE_URL=http://localhost:9000\n", - "%env USERNAME=admin\n", - "%env PASSWORD=sonar\n", - "%env YOUR_PROJECT_KEY=fastjson\n", - "%env YOUR_PROJECT_NAME=fastjson\n", - "%env YOUR_PROJECT_BRANCH=\"branch_1.2.24\"" + "%env SONARQUBE_URL= ###### Paste the url to your sonarqube server here\n", + "%env USERNAME= ###### Paste the username here\n", + "%env PASSWORD= ###### Paste your password here\n", + "%env YOUR_PROJECT_KEY= ##### Enter the project key (can be the same as project name)\n", + "%env YOUR_PROJECT_NAME= ###### Enter your project name" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Creating user token" + "## Creating user token\n", + "\n", + "This token wil be used across multiple projects" ] }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " % Total % Received % Xferd Average Speed Time Time Time Current\n", - " Dload Upload Total Spent Left Speed\n", - "100 178 0 157 100 21 631 84 --:--:-- --:--:-- --:--:-- 717\n" - ] - } - ], + "outputs": [], "source": [ - "API_ENDPOINT=\"$SONARQUBE_URL/api/user_tokens/generate\"\n", - "!curl -u $USERNAME:$PASSWORD -X POST $API_ENDPOINT -d name=automation_token > sonar.json\n", - "!jq -r '.token' sonar.json > token.txt\n", - "TOKEN = open('token.txt', 'r').read()\n", + "# API_ENDPOINT=\"$SONARQUBE_URL/api/user_tokens/generate\"\n", + "!curl -u $USERNAME:$PASSWORD -X POST $SONARQUBE_URL/api/user_tokens/generate -d name=automation_token > /tmp/sonar.json\n", + "!jq -r '.token' /tmp/sonar.json > /tmp/token.txt\n", + "TOKEN = open('/tmp/token.txt', 'r').read()\n", "%env TOKEN=$TOKEN\n", - "!rm token.txt sonar.json" - ] - }, - { - "cell_type": "code", - "execution_count": 121, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "squ_6427907900e64e54ec4daf52a372252ee9a873c1\n" - ] - } - ], - "source": [ - "!echo $TOKEN" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Create project" - ] - }, - { - "cell_type": "code", - "execution_count": 95, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\"project\":{\"key\":\"fastjson\",\"name\":\"fastjson\",\"qualifier\":\"TRK\",\"visibility\":\"public\"}}" - ] - } - ], - "source": [ - "!curl -u \"$USERNAME\":\"$PASSWORD\" -X POST \"$SONARQUBE_URL/api/projects/create?name=$YOUR_PROJECT_NAME&project=$YOUR_PROJECT_KEY&branch=$YOUR_PROJECT_BRANCH\"" + "!rm /tmp/token.txt /tmp/sonar.json" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Change directory" + "## Create project\n", + "\n", + "The command below will create a new project using the main branch. If you require a different branch, please visit the sonarqube server page and create the project manually." ] }, { "cell_type": "code", - "execution_count": 117, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "env: BESMAN_ARTIFACT_DIR=\"/home/arunsuresh/fastjson\"\n" - ] - } - ], + "outputs": [], "source": [ - "%env BESMAN_ARTIFACT_DIR=\"/home/arunsuresh/fastjson\"" + "!curl -u \"$USERNAME\":\"$PASSWORD\" -X POST \"$SONARQUBE_URL/api/projects/create?name=$YOUR_PROJECT_NAME&project=$YOUR_PROJECT_KEY" ] }, { @@ -195,16 +116,15 @@ ] }, { - "cell_type": "markdown", - "metadata": {}, + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], "source": [ - "%env BESMAN_ARTIFACT_DIR=\"/home/arunsuresh/fastjson\"\n", - "!echo \"BESMAN_ARTIFACT_DIR=$BESMAN_ARTIFACT_DIR\"\n", "%cd \"$BESMAN_ARTIFACT_DIR\"\n", - "!ls\n", - "\n", - "!mvn clean install\n", - "!\n", + "!mvn clean verify sonar:sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName=\"$YOUR_PROJECT_NAME\" -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.login=\"$TOKEN\"\n", "%cd -" ] }, @@ -258,6 +178,38 @@ "source": [ "!sonar-scanner -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.sources=. -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## View Report\n", + "\n", + "Once the assessment is done, you can visit the Sonarqube server and see your project scan report" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Download Report" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!curl -u \"$USERNAME\":\"$PASSWORD\" -X GET $SONARQUBE_URL/api/issues/search?componentKeys=$YOUR_PROJECT_NAME >> $BESMAN_DETAILED_REPOR_PATH" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From 0a04fc9ec49c84eb606d3b854b2c5309309ac3fa Mon Sep 17 00:00:00 2001 From: asa1997 Date: Tue, 14 May 2024 21:44:41 +0530 Subject: [PATCH 07/17] updated --- playbooks/besman-sonarqube-0.0.1-steps.ipynb | 9416 +++++++++++++++++- 1 file changed, 9405 insertions(+), 11 deletions(-) diff --git a/playbooks/besman-sonarqube-0.0.1-steps.ipynb b/playbooks/besman-sonarqube-0.0.1-steps.ipynb index 29827d9..97733eb 100644 --- a/playbooks/besman-sonarqube-0.0.1-steps.ipynb +++ b/playbooks/besman-sonarqube-0.0.1-steps.ipynb @@ -48,15 +48,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "env: SONARQUBE_URL=http://localhost:9000\n", + "env: USERNAME=admin\n", + "env: PASSWORD=sonar\n", + "env: YOUR_PROJECT_KEY=struts\n", + "env: YOUR_PROJECT_NAME=struts\n" + ] + } + ], + "source": [ + "%env SONARQUBE_URL=http://localhost:9000\n", + "%env USERNAME=admin\n", + "%env PASSWORD=sonar\n", + "%env YOUR_PROJECT_KEY=struts\n", + "%env YOUR_PROJECT_NAME=struts" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "http://localhost:9000\r\n" + ] + } + ], "source": [ - "%env SONARQUBE_URL= ###### Paste the url to your sonarqube server here\n", - "%env USERNAME= ###### Paste the username here\n", - "%env PASSWORD= ###### Paste your password here\n", - "%env YOUR_PROJECT_KEY= ##### Enter the project key (can be the same as project name)\n", - "%env YOUR_PROJECT_NAME= ###### Enter your project name" + "!echo $SONARQUBE_URL" ] }, { @@ -197,19 +226,9384 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " % Total % Received % Xferd Average Speed Time Time Time Current\n", + " Dload Upload Total Spent Left Speed\n", + "100 168k 0 168k 0 0 149k 0 --:--:-- 0:00:01 --:--:-- 149k\n" + ] + } + ], + "source": [ + "!curl -u \"$USERNAME\":\"$PASSWORD\" -X GET $SONARQUBE_URL/api/issues/search?componentKeys=$YOUR_PROJECT_NAME >> /tmp/report.json" + ] + }, + { + "cell_type": "code", + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ - "!curl -u \"$USERNAME\":\"$PASSWORD\" -X GET $SONARQUBE_URL/api/issues/search?componentKeys=$YOUR_PROJECT_NAME >> $BESMAN_DETAILED_REPOR_PATH" + "!curl -L $SONARQUBE_URL/api/issues/search?componentKeys=$YOUR_PROJECT_NAME&types=VULNERABILITY >> /tmp/report2.json" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'total': 6, 'p': 1, 'ps': 100, 'paging': {'pageIndex': 1, 'pageSize': 100, 'total': 6}, 'effortTotal': 105, 'issues': [{'key': '86a3d239-eb81-48e1-88b5-3c8bcfaa7f23', 'rule': 'java:S1989', 'severity': 'MINOR', 'component': 'struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java', 'project': 'struts', 'line': 40, 'hash': '18d9123759b0b461c73306331d2f1c14', 'textRange': {'startLine': 40, 'endLine': 40, 'startOffset': 44, 'endOffset': 51}, 'flows': [], 'status': 'OPEN', 'message': 'Handle the following exceptions that could be thrown by \"include\": ServletException, IOException.', 'effort': '20min', 'debt': '20min', 'author': 'jogep@apache.org', 'tags': ['cwe', 'error-handling', 'cert'], 'creationDate': '2011-06-26T08:38:59+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'CONVENTIONAL', 'cleanCodeAttributeCategory': 'CONSISTENT', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'LOW'}], 'issueStatus': 'OPEN'}, {'key': '3443ec7d-b5eb-44ee-b9ce-8039e34a0500', 'rule': 'java:S2755', 'severity': 'BLOCKER', 'component': 'struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java', 'project': 'struts', 'line': 98, 'hash': '8a3f07c40384d7743edadd6f7f1e3dc9', 'textRange': {'startLine': 98, 'endLine': 98, 'startOffset': 39, 'endOffset': 50}, 'flows': [], 'status': 'OPEN', 'message': 'Disable access to external entities in XML parsing.', 'effort': '15min', 'debt': '15min', 'author': 'lukaszlenart@apache.org', 'tags': ['cwe', 'symbolic-execution'], 'creationDate': '2010-02-18T08:22:46+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'COMPLETE', 'cleanCodeAttributeCategory': 'INTENTIONAL', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'HIGH'}], 'issueStatus': 'OPEN'}, {'key': 'f01b468b-5586-4a38-a7f7-1a038cba6fda', 'rule': 'java:S1989', 'severity': 'MINOR', 'component': 'struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java', 'project': 'struts', 'line': 111, 'hash': '4613a4a880dc84a4e538aca29e034b08', 'textRange': {'startLine': 111, 'endLine': 111, 'startOffset': 8, 'endOffset': 15}, 'flows': [], 'status': 'OPEN', 'message': 'Handle the following exceptions that could be thrown by \"process\": ServletException, IOException.', 'effort': '20min', 'debt': '20min', 'author': 'musachy@apache.org', 'tags': ['cwe', 'error-handling', 'cert'], 'creationDate': '2009-11-12T06:06:40+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'CONVENTIONAL', 'cleanCodeAttributeCategory': 'CONSISTENT', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'LOW'}], 'issueStatus': 'OPEN'}, {'key': 'c1586ab0-1306-4907-a0e9-33a9878ab3a0', 'rule': 'java:S1989', 'severity': 'MINOR', 'component': 'struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java', 'project': 'struts', 'line': 115, 'hash': '4613a4a880dc84a4e538aca29e034b08', 'textRange': {'startLine': 115, 'endLine': 115, 'startOffset': 8, 'endOffset': 15}, 'flows': [], 'status': 'OPEN', 'message': 'Handle the following exceptions that could be thrown by \"process\": ServletException, IOException.', 'effort': '20min', 'debt': '20min', 'author': 'musachy@apache.org', 'tags': ['cwe', 'error-handling', 'cert'], 'creationDate': '2009-11-12T06:06:40+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'CONVENTIONAL', 'cleanCodeAttributeCategory': 'CONSISTENT', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'LOW'}], 'issueStatus': 'OPEN'}, {'key': '5a5c2de1-8a1e-4f19-908a-7ff9eb585837', 'rule': 'java:S2755', 'severity': 'BLOCKER', 'component': 'struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java', 'project': 'struts', 'line': 1404, 'hash': '5b58411847835c40d3885f178bfa8003', 'textRange': {'startLine': 1404, 'endLine': 1404, 'startOffset': 52, 'endOffset': 63}, 'flows': [], 'status': 'OPEN', 'message': 'Disable access to external entities in XML parsing.', 'effort': '15min', 'debt': '15min', 'author': 'musachy@apache.org', 'tags': ['cwe', 'symbolic-execution'], 'creationDate': '2009-09-28T01:55:26+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'COMPLETE', 'cleanCodeAttributeCategory': 'INTENTIONAL', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'HIGH'}], 'issueStatus': 'OPEN'}, {'key': 'd99e2216-6af9-4755-acbb-e1630079e1ee', 'rule': 'java:S2755', 'severity': 'BLOCKER', 'component': 'struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java', 'project': 'struts', 'line': 178, 'hash': 'b7fa5265fe1391cdddca8173f65b4bb1', 'textRange': {'startLine': 178, 'endLine': 178, 'startOffset': 49, 'endOffset': 60}, 'flows': [], 'status': 'OPEN', 'message': 'Disable access to external entities in XML parsing.', 'effort': '15min', 'debt': '15min', 'author': 'hermanns@apache.org', 'tags': ['cwe', 'symbolic-execution'], 'creationDate': '2006-07-20T17:23:12+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'COMPLETE', 'cleanCodeAttributeCategory': 'INTENTIONAL', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'HIGH'}], 'issueStatus': 'OPEN'}], 'components': [{'key': 'struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java', 'enabled': True, 'qualifier': 'FIL', 'name': 'JspDocumentParser.java', 'longName': 'plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java', 'path': 'plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java'}, {'key': 'struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java', 'enabled': True, 'qualifier': 'FIL', 'name': 'DispatcherServlet.java', 'longName': 'plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java', 'path': 'plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java'}, {'key': 'struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java', 'enabled': True, 'qualifier': 'FIL', 'name': 'XSLTResult.java', 'longName': 'core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java', 'path': 'core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java'}, {'key': 'struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java', 'enabled': True, 'qualifier': 'FIL', 'name': 'DomHelper.java', 'longName': 'core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java', 'path': 'core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java'}, {'key': 'struts', 'enabled': True, 'qualifier': 'TRK', 'name': 'struts', 'longName': 'struts'}, {'key': 'struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java', 'enabled': True, 'qualifier': 'FIL', 'name': 'FreemarkerDecoratorServlet.java', 'longName': 'plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java', 'path': 'plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java'}], 'facets': []}\n" + ] + } + ], + "source": [ + "import requests\n", + "import os\n", + "import json\n", + "# Specify the URL from which you want to fetch JSON data\n", + "url = \"http://localhost:9000/api/issues/search?componentKeys=struts&types=VULNERABILITY\"\n", + "\n", + "name = os.environ.get('USERNAME')\n", + "pwd = os.environ.get('PASSWORD')\n", + "\n", + "# Specify your username and password\n", + "username = name\n", + "password = pwd\n", + "\n", + "# Send a GET request to the URL with username and password\n", + "response = requests.get(url, auth=(username, password))\n", + "\n", + "# Check if the request was successful (status code 200)\n", + "if response.status_code == 200:\n", + " # Parse the JSON response\n", + " json_data = response.json()\n", + " # Now you can work with the JSON data as a Python dictionary\n", + " print(json_data)\n", + "else:\n", + " print(\"Failed to fetch data:\", response.status_code)\n", + "with open(\"/tmp/vuln.json\", \"w\") as vuln_report:\n", + " json.dump(json_data,vuln_report, indent=4)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\r\n", + " \"total\": 6,\r\n", + " \"p\": 1,\r\n", + " \"ps\": 100,\r\n", + " \"paging\": {\r\n", + " \"pageIndex\": 1,\r\n", + " \"pageSize\": 100,\r\n", + " \"total\": 6\r\n", + " },\r\n", + " \"effortTotal\": 105,\r\n", + " \"issues\": [\r\n", + " {\r\n", + " \"key\": \"86a3d239-eb81-48e1-88b5-3c8bcfaa7f23\",\r\n", + " \"rule\": \"java:S1989\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 40,\r\n", + " \"hash\": \"18d9123759b0b461c73306331d2f1c14\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 40,\r\n", + " \"endLine\": 40,\r\n", + " \"startOffset\": 44,\r\n", + " \"endOffset\": 51\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Handle the following exceptions that could be thrown by \\\"include\\\": ServletException, IOException.\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"jogep@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"error-handling\",\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2011-06-26T08:38:59+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"3443ec7d-b5eb-44ee-b9ce-8039e34a0500\",\r\n", + " \"rule\": \"java:S2755\",\r\n", + " \"severity\": \"BLOCKER\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 98,\r\n", + " \"hash\": \"8a3f07c40384d7743edadd6f7f1e3dc9\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 98,\r\n", + " \"endLine\": 98,\r\n", + " \"startOffset\": 39,\r\n", + " \"endOffset\": 50\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", + " \"effort\": \"15min\",\r\n", + " \"debt\": \"15min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"symbolic-execution\"\r\n", + " ],\r\n", + " \"creationDate\": \"2010-02-18T08:22:46+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"f01b468b-5586-4a38-a7f7-1a038cba6fda\",\r\n", + " \"rule\": \"java:S1989\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 111,\r\n", + " \"hash\": \"4613a4a880dc84a4e538aca29e034b08\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 111,\r\n", + " \"endLine\": 111,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 15\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Handle the following exceptions that could be thrown by \\\"process\\\": ServletException, IOException.\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"musachy@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"error-handling\",\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2009-11-12T06:06:40+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"c1586ab0-1306-4907-a0e9-33a9878ab3a0\",\r\n", + " \"rule\": \"java:S1989\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 115,\r\n", + " \"hash\": \"4613a4a880dc84a4e538aca29e034b08\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 115,\r\n", + " \"endLine\": 115,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 15\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Handle the following exceptions that could be thrown by \\\"process\\\": ServletException, IOException.\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"musachy@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"error-handling\",\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2009-11-12T06:06:40+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"5a5c2de1-8a1e-4f19-908a-7ff9eb585837\",\r\n", + " \"rule\": \"java:S2755\",\r\n", + " \"severity\": \"BLOCKER\",\r\n", + " \"component\": \"struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 1404,\r\n", + " \"hash\": \"5b58411847835c40d3885f178bfa8003\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 1404,\r\n", + " \"endLine\": 1404,\r\n", + " \"startOffset\": 52,\r\n", + " \"endOffset\": 63\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", + " \"effort\": \"15min\",\r\n", + " \"debt\": \"15min\",\r\n", + " \"author\": \"musachy@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"symbolic-execution\"\r\n", + " ],\r\n", + " \"creationDate\": \"2009-09-28T01:55:26+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"d99e2216-6af9-4755-acbb-e1630079e1ee\",\r\n", + " \"rule\": \"java:S2755\",\r\n", + " \"severity\": \"BLOCKER\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 178,\r\n", + " \"hash\": \"b7fa5265fe1391cdddca8173f65b4bb1\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 178,\r\n", + " \"endLine\": 178,\r\n", + " \"startOffset\": 49,\r\n", + " \"endOffset\": 60\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", + " \"effort\": \"15min\",\r\n", + " \"debt\": \"15min\",\r\n", + " \"author\": \"hermanns@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"symbolic-execution\"\r\n", + " ],\r\n", + " \"creationDate\": \"2006-07-20T17:23:12+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " }\r\n", + " ],\r\n", + " \"components\": [\r\n", + " {\r\n", + " \"key\": \"struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"FIL\",\r\n", + " \"name\": \"JspDocumentParser.java\",\r\n", + " \"longName\": \"plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", + " \"path\": \"plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"FIL\",\r\n", + " \"name\": \"DispatcherServlet.java\",\r\n", + " \"longName\": \"plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", + " \"path\": \"plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"FIL\",\r\n", + " \"name\": \"XSLTResult.java\",\r\n", + " \"longName\": \"core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", + " \"path\": \"core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"FIL\",\r\n", + " \"name\": \"DomHelper.java\",\r\n", + " \"longName\": \"core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", + " \"path\": \"core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"struts\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"TRK\",\r\n", + " \"name\": \"struts\",\r\n", + " \"longName\": \"struts\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"FIL\",\r\n", + " \"name\": \"FreemarkerDecoratorServlet.java\",\r\n", + " \"longName\": \"plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", + " \"path\": \"plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\"\r\n", + " }\r\n", + " ],\r\n", + " \"facets\": []\r\n", + "}" + ] + } + ], + "source": [ + "!cat /tmp/vuln.json" + ] + }, + { + "cell_type": "code", + "execution_count": 20, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "import json\n", + "\n", + "# Load the first JSON file\n", + "with open(\"/tmp/vuln.json\", \"r\") as f1:\n", + " data1 = json.load(f1)\n", + "\n", + "# Load the second JSON file\n", + "with open(\"/tmp/report.json\", \"r\") as f2:\n", + " data2 = json.load(f2)\n", + "\n", + "# Extract the contents of the \"issues\" list from each file\n", + "issues1 = data1.get(\"issues\", [])\n", + "issues2 = data2.get(\"issues\", [])\n", + "\n", + "# Append the contents of the \"issues\" list from the second file to the first file\n", + "issues1.extend(issues2)\n", + "\n", + "# Update the \"issues\" list in the first file with the combined contents\n", + "data1[\"issues\"] = issues1\n", + "\n", + "# Write the combined data to a new JSON file\n", + "with open(\"combined_file.json\", \"w\") as f_combined:\n", + " json.dump(data1, f_combined, indent=4)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\r\n", + " \"total\": 6,\r\n", + " \"p\": 1,\r\n", + " \"ps\": 100,\r\n", + " \"paging\": {\r\n", + " \"pageIndex\": 1,\r\n", + " \"pageSize\": 100,\r\n", + " \"total\": 6\r\n", + " },\r\n", + " \"effortTotal\": 105,\r\n", + " \"issues\": [\r\n", + " {\r\n", + " \"key\": \"86a3d239-eb81-48e1-88b5-3c8bcfaa7f23\",\r\n", + " \"rule\": \"java:S1989\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 40,\r\n", + " \"hash\": \"18d9123759b0b461c73306331d2f1c14\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 40,\r\n", + " \"endLine\": 40,\r\n", + " \"startOffset\": 44,\r\n", + " \"endOffset\": 51\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Handle the following exceptions that could be thrown by \\\"include\\\": ServletException, IOException.\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"jogep@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"error-handling\",\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2011-06-26T08:38:59+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"3443ec7d-b5eb-44ee-b9ce-8039e34a0500\",\r\n", + " \"rule\": \"java:S2755\",\r\n", + " \"severity\": \"BLOCKER\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 98,\r\n", + " \"hash\": \"8a3f07c40384d7743edadd6f7f1e3dc9\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 98,\r\n", + " \"endLine\": 98,\r\n", + " \"startOffset\": 39,\r\n", + " \"endOffset\": 50\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", + " \"effort\": \"15min\",\r\n", + " \"debt\": \"15min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"symbolic-execution\"\r\n", + " ],\r\n", + " \"creationDate\": \"2010-02-18T08:22:46+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"f01b468b-5586-4a38-a7f7-1a038cba6fda\",\r\n", + " \"rule\": \"java:S1989\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 111,\r\n", + " \"hash\": \"4613a4a880dc84a4e538aca29e034b08\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 111,\r\n", + " \"endLine\": 111,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 15\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Handle the following exceptions that could be thrown by \\\"process\\\": ServletException, IOException.\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"musachy@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"error-handling\",\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2009-11-12T06:06:40+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"c1586ab0-1306-4907-a0e9-33a9878ab3a0\",\r\n", + " \"rule\": \"java:S1989\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 115,\r\n", + " \"hash\": \"4613a4a880dc84a4e538aca29e034b08\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 115,\r\n", + " \"endLine\": 115,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 15\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Handle the following exceptions that could be thrown by \\\"process\\\": ServletException, IOException.\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"musachy@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"error-handling\",\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2009-11-12T06:06:40+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"5a5c2de1-8a1e-4f19-908a-7ff9eb585837\",\r\n", + " \"rule\": \"java:S2755\",\r\n", + " \"severity\": \"BLOCKER\",\r\n", + " \"component\": \"struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 1404,\r\n", + " \"hash\": \"5b58411847835c40d3885f178bfa8003\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 1404,\r\n", + " \"endLine\": 1404,\r\n", + " \"startOffset\": 52,\r\n", + " \"endOffset\": 63\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", + " \"effort\": \"15min\",\r\n", + " \"debt\": \"15min\",\r\n", + " \"author\": \"musachy@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"symbolic-execution\"\r\n", + " ],\r\n", + " \"creationDate\": \"2009-09-28T01:55:26+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"d99e2216-6af9-4755-acbb-e1630079e1ee\",\r\n", + " \"rule\": \"java:S2755\",\r\n", + " \"severity\": \"BLOCKER\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 178,\r\n", + " \"hash\": \"b7fa5265fe1391cdddca8173f65b4bb1\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 178,\r\n", + " \"endLine\": 178,\r\n", + " \"startOffset\": 49,\r\n", + " \"endOffset\": 60\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", + " \"effort\": \"15min\",\r\n", + " \"debt\": \"15min\",\r\n", + " \"author\": \"hermanns@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"symbolic-execution\"\r\n", + " ],\r\n", + " \"creationDate\": \"2006-07-20T17:23:12+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"VULNERABILITY\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"SECURITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"538fe7e4-d29b-4763-a177-a64bdf6b439c\",\r\n", + " \"rule\": \"java:S2699\",\r\n", + " \"severity\": \"BLOCKER\",\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 124,\r\n", + " \"hash\": \"27f9a3c576875d7630531caca4bb4043\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 124,\r\n", + " \"endLine\": 124,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 34\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add at least one assertion to this test case.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"junit\",\r\n", + " \"tests\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-09-01T06:15:48+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"TEST\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"TESTED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"8edd5bf7-3e8c-4875-918d-3dc30f508349\",\r\n", + " \"rule\": \"java:S2699\",\r\n", + " \"severity\": \"BLOCKER\",\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 136,\r\n", + " \"hash\": \"9a025606860b91fe372eb851e5f4bb5f\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 136,\r\n", + " \"endLine\": 136,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 42\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add at least one assertion to this test case.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"junit\",\r\n", + " \"tests\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-09-01T06:15:48+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"TEST\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"TESTED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"ed6398b0-80c2-4bbf-83d0-234e09442880\",\r\n", + " \"rule\": \"java:S1124\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/interceptor/csp/DefaultCspSettings.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 41,\r\n", + " \"hash\": \"f695f4ce553b07b13cb3a258db26648b\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 41,\r\n", + " \"endLine\": 41,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 24\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Reorder the modifiers to comply with the Java Language Specification.\",\r\n", + " \"effort\": \"2min\",\r\n", + " \"debt\": \"2min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-08-23T18:31:39+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"05f3830e-271d-4d6e-9480-8f20b3ffa738\",\r\n", + " \"rule\": \"java:S1452\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 74,\r\n", + " \"hash\": \"d7c1cc9a927b8cd9ac3c6d5c6645296e\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 74,\r\n", + " \"endLine\": 74,\r\n", + " \"startOffset\": 21,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove usage of generic wildcard type.\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"pitfall\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-08-08T15:00:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"815658bf-beca-44df-afcc-8b2d13c458d2\",\r\n", + " \"rule\": \"java:S1128\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 50,\r\n", + " \"hash\": \"0fc07beaacd336506327651129171800\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 50,\r\n", + " \"endLine\": 50,\r\n", + " \"startOffset\": 7,\r\n", + " \"endOffset\": 23\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove this unused import 'java.util.Arrays'.\",\r\n", + " \"effort\": \"1min\",\r\n", + " \"debt\": \"1min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"unused\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-08-08T15:00:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"55aefedd-8345-40f8-b118-3241c4846fa7\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 195,\r\n", + " \"hash\": \"9563e729621dcbbe1df735e787e83bd0\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 195,\r\n", + " \"endLine\": 195,\r\n", + " \"startOffset\": 32,\r\n", + " \"endOffset\": 57\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 200,\r\n", + " \"endLine\": 200,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 11\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 201,\r\n", + " \"endLine\": 201,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 201,\r\n", + " \"endLine\": 201,\r\n", + " \"startOffset\": 43,\r\n", + " \"endOffset\": 45\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 205,\r\n", + " \"endLine\": 205,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 211,\r\n", + " \"endLine\": 211,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 23\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 212,\r\n", + " \"endLine\": 212,\r\n", + " \"startOffset\": 24,\r\n", + " \"endOffset\": 26\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 216,\r\n", + " \"endLine\": 216,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 23\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 17 to the 15 allowed.\",\r\n", + " \"effort\": \"7min\",\r\n", + " \"debt\": \"7min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-08-08T15:00:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"627fcd6c-4ff4-40f9-9a24-c1f12c6bc1db\",\r\n", + " \"rule\": \"java:S2293\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 86,\r\n", + " \"hash\": \"f35f2f2366316bdcc343a8d0c3ed5ccc\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 86,\r\n", + " \"endLine\": 86,\r\n", + " \"startOffset\": 50,\r\n", + " \"endOffset\": 66\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Replace the type specification in this constructor call with the diamond operator (\\\"<>\\\").\",\r\n", + " \"effort\": \"1min\",\r\n", + " \"debt\": \"1min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-07-31T22:26:48+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"592fdd53-37eb-40ab-8ed8-8388d6759b85\",\r\n", + " \"rule\": \"java:S2293\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 87,\r\n", + " \"hash\": \"124b1662f513f6a74a455141ccc7b7d4\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 87,\r\n", + " \"endLine\": 87,\r\n", + " \"startOffset\": 48,\r\n", + " \"endOffset\": 68\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Replace the type specification in this constructor call with the diamond operator (\\\"<>\\\").\",\r\n", + " \"effort\": \"1min\",\r\n", + " \"debt\": \"1min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-07-31T22:26:48+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"528fa6e5-6bee-4475-80a3-4169e36a7d8b\",\r\n", + " \"rule\": \"java:S1948\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 37,\r\n", + " \"hash\": \"7fce864e13eea94528cfb869dbb6f572\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 37,\r\n", + " \"endLine\": 37,\r\n", + " \"startOffset\": 38,\r\n", + " \"endOffset\": 46\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Make \\\"selector\\\" transient or serializable.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"48475312+rproserpio@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"serialization\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-07-24T23:11:46+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"28b4a8cc-5d3f-44d8-8f0c-ffaccada2cc8\",\r\n", + " \"rule\": \"java:S1161\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Radio.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 83,\r\n", + " \"hash\": \"48b465d4c33988aae1812fa8020c1830\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 83,\r\n", + " \"endLine\": 83,\r\n", + " \"startOffset\": 23,\r\n", + " \"endOffset\": 40\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add the \\\"@Override\\\" annotation above this method signature\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"bad-practice\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-07-07T19:34:43+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"fd88e0f8-5788-4ba1-9291-9a39564dbbc1\",\r\n", + " \"rule\": \"java:S2699\",\r\n", + " \"severity\": \"BLOCKER\",\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/config/StrutsJavaConfigurationProviderTest.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 114,\r\n", + " \"hash\": \"52f478f09dd3fec7802f8d41972ccb90\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 114,\r\n", + " \"endLine\": 114,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 48\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add at least one assertion to this test case.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"junit\",\r\n", + " \"tests\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-07-03T21:37:58+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"TEST\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"TESTED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"eaf8f3d4-9712-444b-b777-9a7273da0243\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 289,\r\n", + " \"hash\": \"c0e73c336b59ce2d5b9524d01901f131\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 289,\r\n", + " \"endLine\": 289,\r\n", + " \"startOffset\": 19,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 296,\r\n", + " \"endLine\": 296,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 298,\r\n", + " \"endLine\": 298,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 300,\r\n", + " \"endLine\": 300,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 302,\r\n", + " \"endLine\": 302,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 304,\r\n", + " \"endLine\": 304,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 306,\r\n", + " \"endLine\": 306,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 308,\r\n", + " \"endLine\": 308,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 310,\r\n", + " \"endLine\": 310,\r\n", + " \"startOffset\": 10,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 311,\r\n", + " \"endLine\": 311,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 313,\r\n", + " \"endLine\": 313,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 319,\r\n", + " \"endLine\": 319,\r\n", + " \"startOffset\": 54,\r\n", + " \"endOffset\": 55\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 324,\r\n", + " \"endLine\": 324,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 326,\r\n", + " \"endLine\": 326,\r\n", + " \"startOffset\": 58,\r\n", + " \"endOffset\": 59\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 331,\r\n", + " \"endLine\": 331,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 335,\r\n", + " \"endLine\": 335,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 336,\r\n", + " \"endLine\": 336,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 337,\r\n", + " \"endLine\": 337,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 339,\r\n", + " \"endLine\": 339,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 342,\r\n", + " \"endLine\": 342,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 344,\r\n", + " \"endLine\": 344,\r\n", + " \"startOffset\": 24,\r\n", + " \"endOffset\": 26\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 346,\r\n", + " \"endLine\": 346,\r\n", + " \"startOffset\": 26,\r\n", + " \"endOffset\": 30\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 349,\r\n", + " \"endLine\": 349,\r\n", + " \"startOffset\": 22,\r\n", + " \"endOffset\": 27\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 41 to the 15 allowed.\",\r\n", + " \"effort\": \"31min\",\r\n", + " \"debt\": \"31min\",\r\n", + " \"author\": \"ts.stadler@gmx.de\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-06-21T08:09:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"40633b8f-d265-4f5f-9ec1-69d35c710695\",\r\n", + " \"rule\": \"java:S3599\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 140,\r\n", + " \"hash\": \"d715620bfc2f4a9f3b028b680b3182bd\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 140,\r\n", + " \"endLine\": 175,\r\n", + " \"startOffset\": 38,\r\n", + " \"endOffset\": 9\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Use another way to initialize this instance.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"leak\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"BUG\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"RELIABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"389129bd-9848-4d7a-8a11-06cf51122a23\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 351,\r\n", + " \"hash\": \"040a76a42823e0c3c7026dc5d2493241\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 351,\r\n", + " \"endLine\": 351,\r\n", + " \"startOffset\": 19,\r\n", + " \"endOffset\": 40\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 354,\r\n", + " \"endLine\": 354,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 357,\r\n", + " \"endLine\": 357,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 363,\r\n", + " \"endLine\": 363,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 367,\r\n", + " \"endLine\": 367,\r\n", + " \"startOffset\": 10,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 374,\r\n", + " \"endLine\": 374,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 15\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 376,\r\n", + " \"endLine\": 376,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 376,\r\n", + " \"endLine\": 376,\r\n", + " \"startOffset\": 31,\r\n", + " \"endOffset\": 33\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 376,\r\n", + " \"endLine\": 376,\r\n", + " \"startOffset\": 91,\r\n", + " \"endOffset\": 93\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 377,\r\n", + " \"endLine\": 377,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 381,\r\n", + " \"endLine\": 381,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 389,\r\n", + " \"endLine\": 389,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 389,\r\n", + " \"endLine\": 389,\r\n", + " \"startOffset\": 30,\r\n", + " \"endOffset\": 32\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 394,\r\n", + " \"endLine\": 394,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 396,\r\n", + " \"endLine\": 396,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 396,\r\n", + " \"endLine\": 396,\r\n", + " \"startOffset\": 25,\r\n", + " \"endOffset\": 27\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 25 to the 15 allowed.\",\r\n", + " \"effort\": \"15min\",\r\n", + " \"debt\": \"15min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"1cf2b531-07d8-4283-9f7f-c7f750e2a49b\",\r\n", + " \"rule\": \"java:S1659\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 352,\r\n", + " \"hash\": \"71cad5838b4f516387b058cc80ed7b71\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 352,\r\n", + " \"endLine\": 352,\r\n", + " \"startOffset\": 32,\r\n", + " \"endOffset\": 42\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Declare \\\"actionName\\\" on a separate line.\",\r\n", + " \"effort\": \"2min\",\r\n", + " \"debt\": \"2min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\",\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FORMATTED\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"c4332627-a265-4e08-95a9-65fd0da99f16\",\r\n", + " \"rule\": \"java:S1066\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 377,\r\n", + " \"hash\": \"a40b4b6d9c83b05bca6a5b76fd6ab68b\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 377,\r\n", + " \"endLine\": 377,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 376,\r\n", + " \"endLine\": 376,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Merge this if statement with the enclosing one.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"b2485096-9756-4df6-ab0a-f2b999e911d2\",\r\n", + " \"rule\": \"java:S1066\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 574,\r\n", + " \"hash\": \"dd1225be27a61d7cc83c1b136e7127d4\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 574,\r\n", + " \"endLine\": 574,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 573,\r\n", + " \"endLine\": 573,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Merge this if statement with the enclosing one.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"b12b2e54-2311-49cd-b4cf-745a138719fe\",\r\n", + " \"rule\": \"java:S1066\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 575,\r\n", + " \"hash\": \"a7c355b43a0cfa7ba5cd3ed6c6a0e335\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 575,\r\n", + " \"endLine\": 575,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 574,\r\n", + " \"endLine\": 574,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Merge this if statement with the enclosing one.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"a8474740-8d31-4855-9450-70f9edbaf573\",\r\n", + " \"rule\": \"java:S2160\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsApplicationResource.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 30,\r\n", + " \"hash\": \"98948d462188d4cc27d52041cd0b03a6\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 30,\r\n", + " \"endLine\": 30,\r\n", + " \"startOffset\": 13,\r\n", + " \"endOffset\": 38\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Override the \\\"equals\\\" method in this class.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"suspicious\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-06-10T14:06:10+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"e6c02306-ea66-47fa-8dde-06c2deb7bffd\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 49,\r\n", + " \"hash\": \"4000bb9d34c44cc34eba9c54d1b0c86a\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 49,\r\n", + " \"endLine\": 49,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 30\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 53,\r\n", + " \"endLine\": 53,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 53,\r\n", + " \"endLine\": 53,\r\n", + " \"startOffset\": 36,\r\n", + " \"endOffset\": 38\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 58,\r\n", + " \"endLine\": 58,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 60,\r\n", + " \"endLine\": 60,\r\n", + " \"startOffset\": 19,\r\n", + " \"endOffset\": 21\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 69,\r\n", + " \"endLine\": 69,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 73,\r\n", + " \"endLine\": 73,\r\n", + " \"startOffset\": 24,\r\n", + " \"endOffset\": 26\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 76,\r\n", + " \"endLine\": 76,\r\n", + " \"startOffset\": 22,\r\n", + " \"endOffset\": 27\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 79,\r\n", + " \"endLine\": 79,\r\n", + " \"startOffset\": 19,\r\n", + " \"endOffset\": 21\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 83,\r\n", + " \"endLine\": 83,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 87,\r\n", + " \"endLine\": 87,\r\n", + " \"startOffset\": 24,\r\n", + " \"endOffset\": 26\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 90,\r\n", + " \"endLine\": 90,\r\n", + " \"startOffset\": 22,\r\n", + " \"endOffset\": 27\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 93,\r\n", + " \"endLine\": 93,\r\n", + " \"startOffset\": 19,\r\n", + " \"endOffset\": 21\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 93,\r\n", + " \"endLine\": 93,\r\n", + " \"startOffset\": 63,\r\n", + " \"endOffset\": 65\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 99,\r\n", + " \"endLine\": 99,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 103,\r\n", + " \"endLine\": 103,\r\n", + " \"startOffset\": 24,\r\n", + " \"endOffset\": 26\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 106,\r\n", + " \"endLine\": 106,\r\n", + " \"startOffset\": 22,\r\n", + " \"endOffset\": 27\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 110,\r\n", + " \"endLine\": 110,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 110,\r\n", + " \"endLine\": 110,\r\n", + " \"startOffset\": 36,\r\n", + " \"endOffset\": 38\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 112,\r\n", + " \"endLine\": 112,\r\n", + " \"startOffset\": 27,\r\n", + " \"endOffset\": 29\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 112,\r\n", + " \"endLine\": 112,\r\n", + " \"startOffset\": 43,\r\n", + " \"endOffset\": 45\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 114,\r\n", + " \"endLine\": 114,\r\n", + " \"startOffset\": 27,\r\n", + " \"endOffset\": 29\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 114,\r\n", + " \"endLine\": 114,\r\n", + " \"startOffset\": 43,\r\n", + " \"endOffset\": 45\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 116,\r\n", + " \"endLine\": 116,\r\n", + " \"startOffset\": 22,\r\n", + " \"endOffset\": 26\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 119,\r\n", + " \"endLine\": 119,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 23\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 126,\r\n", + " \"endLine\": 126,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 132,\r\n", + " \"endLine\": 132,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 136,\r\n", + " \"endLine\": 136,\r\n", + " \"startOffset\": 22,\r\n", + " \"endOffset\": 27\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 141,\r\n", + " \"endLine\": 141,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 145,\r\n", + " \"endLine\": 145,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 63 to the 15 allowed.\",\r\n", + " \"effort\": \"53min\",\r\n", + " \"debt\": \"53min\",\r\n", + " \"author\": \"ghuber@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-19T09:30:36+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"86c5fbdc-1b3d-4170-abe4-0fa392fd7c01\",\r\n", + " \"rule\": \"java:S1192\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 117,\r\n", + " \"hash\": \"200b1d98b0a714fcbd4143991f56c0bd\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 117,\r\n", + " \"endLine\": 117,\r\n", + " \"startOffset\": 58,\r\n", + " \"endOffset\": 80\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 117,\r\n", + " \"endLine\": 117,\r\n", + " \"startOffset\": 58,\r\n", + " \"endOffset\": 80\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 120,\r\n", + " \"endLine\": 120,\r\n", + " \"startOffset\": 54,\r\n", + " \"endOffset\": 76\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 142,\r\n", + " \"endLine\": 142,\r\n", + " \"startOffset\": 50,\r\n", + " \"endOffset\": 72\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Define a constant instead of duplicating this literal \\\"Could not parse date\\\" 3 times.\",\r\n", + " \"effort\": \"8min\",\r\n", + " \"debt\": \"8min\",\r\n", + " \"author\": \"ghuber@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"design\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-19T09:30:36+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"DISTINCT\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"43023b26-c4b4-4f49-88b9-b7a93119e9b5\",\r\n", + " \"rule\": \"java:S6541\",\r\n", + " \"severity\": \"INFO\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 49,\r\n", + " \"hash\": \"4000bb9d34c44cc34eba9c54d1b0c86a\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 49,\r\n", + " \"endLine\": 49,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 30\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"A \\\"Brain Method\\\" was detected. Refactor it to reduce at least one of the following metrics: LOC from 90 to 64, Complexity from 24 to 14, Nesting Level from 5 to 2, Number of Variables from 30 to 6.\",\r\n", + " \"effort\": \"0min\",\r\n", + " \"debt\": \"0min\",\r\n", + " \"author\": \"gregh3269@gmail.com\",\r\n", + " \"tags\": [\r\n", + " \"design\",\r\n", + " \"architecture\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-17T05:31:30+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"a4183f4f-410c-479b-8059-08d8bae4a3a8\",\r\n", + " \"rule\": \"java:S108\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 106,\r\n", + " \"hash\": \"7ce7fd74fa3ef1f4a253c1501e30c4c6\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 106,\r\n", + " \"endLine\": 106,\r\n", + " \"startOffset\": 60,\r\n", + " \"endOffset\": 61\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Either remove or fill this block of code.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"gregh3269@gmail.com\",\r\n", + " \"tags\": [\r\n", + " \"suspicious\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-17T05:31:30+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"bc4ace49-a65c-4a71-ae99-3f272ccf12c8\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 75,\r\n", + " \"hash\": \"7386f3159001dd1331f7fa720fa4b11f\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 75,\r\n", + " \"endLine\": 75,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 30\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 78,\r\n", + " \"endLine\": 78,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 78,\r\n", + " \"endLine\": 78,\r\n", + " \"startOffset\": 26,\r\n", + " \"endOffset\": 28\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 83,\r\n", + " \"endLine\": 83,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 95,\r\n", + " \"endLine\": 95,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 97,\r\n", + " \"endLine\": 97,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 99,\r\n", + " \"endLine\": 99,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 101,\r\n", + " \"endLine\": 101,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 103,\r\n", + " \"endLine\": 103,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 105,\r\n", + " \"endLine\": 105,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 107,\r\n", + " \"endLine\": 107,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 109,\r\n", + " \"endLine\": 109,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 111,\r\n", + " \"endLine\": 111,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 113,\r\n", + " \"endLine\": 113,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 113,\r\n", + " \"endLine\": 113,\r\n", + " \"startOffset\": 57,\r\n", + " \"endOffset\": 59\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 115,\r\n", + " \"endLine\": 115,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 119,\r\n", + " \"endLine\": 119,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 120,\r\n", + " \"endLine\": 120,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 123,\r\n", + " \"endLine\": 123,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 125,\r\n", + " \"endLine\": 125,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 131,\r\n", + " \"endLine\": 131,\r\n", + " \"startOffset\": 19,\r\n", + " \"endOffset\": 21\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 135,\r\n", + " \"endLine\": 135,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 135,\r\n", + " \"endLine\": 135,\r\n", + " \"startOffset\": 31,\r\n", + " \"endOffset\": 33\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 26 to the 15 allowed.\",\r\n", + " \"effort\": \"16min\",\r\n", + " \"debt\": \"16min\",\r\n", + " \"author\": \"gregh3269@gmail.com\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-17T05:31:30+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"959697d3-b721-445b-b973-8c6c5fba8609\",\r\n", + " \"rule\": \"java:S1168\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 232,\r\n", + " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 232,\r\n", + " \"endLine\": 232,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Return an empty map instead of null.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"d15353bc-8d2b-4776-8d54-53cff0bbcc15\",\r\n", + " \"rule\": \"java:S1168\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 262,\r\n", + " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 262,\r\n", + " \"endLine\": 262,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Return an empty map instead of null.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"89776846-5d08-4759-96db-50c41816b513\",\r\n", + " \"rule\": \"java:S1186\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 271,\r\n", + " \"hash\": \"5371973806ebc1cf99a41e52239f1ef6\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 271,\r\n", + " \"endLine\": 271,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 39\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"suspicious\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"e136f3f4-8e5f-475f-982a-4d03aa71d406\",\r\n", + " \"rule\": \"java:S1168\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 277,\r\n", + " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 277,\r\n", + " \"endLine\": 277,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Return an empty collection instead of null.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"8f7d664d-b37c-4018-ad87-f47ee6c8d09a\",\r\n", + " \"rule\": \"java:S1168\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 282,\r\n", + " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 282,\r\n", + " \"endLine\": 282,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Return an empty collection instead of null.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"3c99d09d-337a-47c8-be3f-aa1d6a499fd1\",\r\n", + " \"rule\": \"java:S1186\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 286,\r\n", + " \"hash\": \"5a87d2653876a0c4bb741506c6f7c085\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 286,\r\n", + " \"endLine\": 286,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 27\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"suspicious\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"73ca4b60-c648-469b-bb39-c043fe698906\",\r\n", + " \"rule\": \"java:S1186\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 291,\r\n", + " \"hash\": \"05b05bcc4bf3fb6c5862920a9cd23948\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 291,\r\n", + " \"endLine\": 291,\r\n", + " \"startOffset\": 42,\r\n", + " \"endOffset\": 53\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"suspicious\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"18e51d03-adf0-4b50-8d53-0d677e6f6152\",\r\n", + " \"rule\": \"java:S1186\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 296,\r\n", + " \"hash\": \"08965c5ac15d9fe56eeedea509468878\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 296,\r\n", + " \"endLine\": 296,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 27\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"suspicious\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"529ed68e-3c82-42da-9757-48b9690f40f2\",\r\n", + " \"rule\": \"java:S1186\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 316,\r\n", + " \"hash\": \"d58a32e4959bbb6304111f161db733fe\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 316,\r\n", + " \"endLine\": 316,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 28\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"suspicious\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"1ef8080e-4279-49db-9084-c7a4c44257d5\",\r\n", + " \"rule\": \"java:S1186\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 328,\r\n", + " \"hash\": \"e75c4731562803ee6ff19da01b454395\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 328,\r\n", + " \"endLine\": 328,\r\n", + " \"startOffset\": 13,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"suspicious\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"719fdad6-8cf5-44b3-982b-4ec4e11c22e1\",\r\n", + " \"rule\": \"java:S1186\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 333,\r\n", + " \"hash\": \"98485397bf25e554dd48e5e45b0e496b\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 333,\r\n", + " \"endLine\": 333,\r\n", + " \"startOffset\": 13,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"suspicious\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"1bc73a9d-bb87-4f78-939e-8c8add442f1e\",\r\n", + " \"rule\": \"java:S1168\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 339,\r\n", + " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 339,\r\n", + " \"endLine\": 339,\r\n", + " \"startOffset\": 9,\r\n", + " \"endOffset\": 13\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Return an empty collection instead of null.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"cbc0a283-b563-4e9e-8bf6-622f7c115204\",\r\n", + " \"rule\": \"java:S1168\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 120,\r\n", + " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 120,\r\n", + " \"endLine\": 120,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Return an empty collection instead of null.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"2eb46435-8378-4ce6-9293-978b93924063\",\r\n", + " \"rule\": \"java:S1168\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 125,\r\n", + " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 125,\r\n", + " \"endLine\": 125,\r\n", + " \"startOffset\": 15,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Return an empty collection instead of null.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"e3725341-cdc7-4cbd-9501-398b2fba35b7\",\r\n", + " \"rule\": \"java:S1186\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 236,\r\n", + " \"hash\": \"4ad3614a428a3832d136e953b0e76fbd\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 236,\r\n", + " \"endLine\": 236,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 36\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"suspicious\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"3c8e37d2-5e50-4923-81d7-73c2040c4170\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 43,\r\n", + " \"hash\": \"ad09a36483e7010a1df5966a08a189a8\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 43,\r\n", + " \"endLine\": 43,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 28\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 50,\r\n", + " \"endLine\": 50,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 50,\r\n", + " \"endLine\": 50,\r\n", + " \"startOffset\": 32,\r\n", + " \"endOffset\": 34\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 53,\r\n", + " \"endLine\": 53,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 16\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 56,\r\n", + " \"endLine\": 56,\r\n", + " \"startOffset\": 19,\r\n", + " \"endOffset\": 21\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 70,\r\n", + " \"endLine\": 70,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 79,\r\n", + " \"endLine\": 79,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 79,\r\n", + " \"endLine\": 79,\r\n", + " \"startOffset\": 33,\r\n", + " \"endOffset\": 35\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 79,\r\n", + " \"endLine\": 79,\r\n", + " \"startOffset\": 62,\r\n", + " \"endOffset\": 64\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 79,\r\n", + " \"endLine\": 79,\r\n", + " \"startOffset\": 86,\r\n", + " \"endOffset\": 88\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 81,\r\n", + " \"endLine\": 81,\r\n", + " \"startOffset\": 40,\r\n", + " \"endOffset\": 41\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 82,\r\n", + " \"endLine\": 82,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 87,\r\n", + " \"endLine\": 87,\r\n", + " \"startOffset\": 34,\r\n", + " \"endOffset\": 36\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 89,\r\n", + " \"endLine\": 89,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 91,\r\n", + " \"endLine\": 91,\r\n", + " \"startOffset\": 10,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 20 to the 15 allowed.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-05T10:28:09+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"b752c368-3b98-4dba-b1ef-252f7e90b542\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 21,\r\n", + " \"hash\": \"378ce92770f7870670a517669d41426b\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 21,\r\n", + " \"endLine\": 21,\r\n", + " \"startOffset\": 43,\r\n", + " \"endOffset\": 48\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"eb06868c-fb33-456b-9928-ae5104f890a5\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 21,\r\n", + " \"hash\": \"378ce92770f7870670a517669d41426b\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 21,\r\n", + " \"endLine\": 21,\r\n", + " \"startOffset\": 38,\r\n", + " \"endOffset\": 41\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"53b9fcd6-11b2-4ba5-a058-a03ed62a30d2\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 29,\r\n", + " \"hash\": \"4625d9c6d7f029b6ff779c6d705d948b\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 29,\r\n", + " \"endLine\": 29,\r\n", + " \"startOffset\": 45,\r\n", + " \"endOffset\": 48\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"f5c42f3a-d1ae-4f85-81b3-5fcf93139e45\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 29,\r\n", + " \"hash\": \"4625d9c6d7f029b6ff779c6d705d948b\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 29,\r\n", + " \"endLine\": 29,\r\n", + " \"startOffset\": 50,\r\n", + " \"endOffset\": 55\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"1d898f55-8f06-4cc2-91a9-7b11bc3755e1\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 30,\r\n", + " \"hash\": \"bb4c2ca19aeb02967dbd0aa204dbf5e1\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 30,\r\n", + " \"endLine\": 30,\r\n", + " \"startOffset\": 42,\r\n", + " \"endOffset\": 47\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"4f62cdfe-e243-4201-89a6-eba6df0478c1\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 30,\r\n", + " \"hash\": \"bb4c2ca19aeb02967dbd0aa204dbf5e1\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 30,\r\n", + " \"endLine\": 30,\r\n", + " \"startOffset\": 37,\r\n", + " \"endOffset\": 40\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"2912f862-650d-4174-93be-7a9bda911295\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 29,\r\n", + " \"hash\": \"4659f49408d5a4c1832b09fdf6dd8344\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 29,\r\n", + " \"endLine\": 29,\r\n", + " \"startOffset\": 52,\r\n", + " \"endOffset\": 57\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"a0434760-c4df-4c3f-b118-eb5bba6fe959\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 29,\r\n", + " \"hash\": \"4659f49408d5a4c1832b09fdf6dd8344\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 29,\r\n", + " \"endLine\": 29,\r\n", + " \"startOffset\": 47,\r\n", + " \"endOffset\": 50\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"93f5bc7e-467c-4fbb-8d0b-d21627b6480c\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 21,\r\n", + " \"hash\": \"e8c5de653f72a21e22f3ca8578086ca4\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 21,\r\n", + " \"endLine\": 21,\r\n", + " \"startOffset\": 40,\r\n", + " \"endOffset\": 43\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"a13643d9-c00c-4f51-81f9-ce49e6f402f1\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 21,\r\n", + " \"hash\": \"e8c5de653f72a21e22f3ca8578086ca4\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 21,\r\n", + " \"endLine\": 21,\r\n", + " \"startOffset\": 45,\r\n", + " \"endOffset\": 50\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"640a5b8a-0381-4f0c-bb42-e8d23506a226\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 25,\r\n", + " \"hash\": \"27722f18cae945818625c57d7f0630ab\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 25,\r\n", + " \"endLine\": 25,\r\n", + " \"startOffset\": 27,\r\n", + " \"endOffset\": 30\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"9192f238-1461-4e7f-8bdd-97c62492af81\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 25,\r\n", + " \"hash\": \"27722f18cae945818625c57d7f0630ab\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 25,\r\n", + " \"endLine\": 25,\r\n", + " \"startOffset\": 32,\r\n", + " \"endOffset\": 37\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"38e77ac5-db29-4854-b4ae-bd81de860375\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 26,\r\n", + " \"hash\": \"6881df66d49c8ef0fffb6a0e82e414fa\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 26,\r\n", + " \"endLine\": 26,\r\n", + " \"startOffset\": 32,\r\n", + " \"endOffset\": 37\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"f4ff5914-bdda-451e-abad-aaf920e4ce14\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 26,\r\n", + " \"hash\": \"6881df66d49c8ef0fffb6a0e82e414fa\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 26,\r\n", + " \"endLine\": 26,\r\n", + " \"startOffset\": 27,\r\n", + " \"endOffset\": 30\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"00062bc2-3e52-4694-b39b-0cec85a359be\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 30,\r\n", + " \"hash\": \"c69d0dd447a5197413c69f6fd4307cb9\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 30,\r\n", + " \"endLine\": 30,\r\n", + " \"startOffset\": 30,\r\n", + " \"endOffset\": 33\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"d4e7d830-4d09-4026-9d29-9db5247955e0\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 30,\r\n", + " \"hash\": \"c69d0dd447a5197413c69f6fd4307cb9\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 30,\r\n", + " \"endLine\": 30,\r\n", + " \"startOffset\": 35,\r\n", + " \"endOffset\": 40\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"1a4abf21-472f-4b48-adff-3e1028065352\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 36,\r\n", + " \"hash\": \"112b907b170719a3a1bdb989d4bd4b4f\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 36,\r\n", + " \"endLine\": 36,\r\n", + " \"startOffset\": 26,\r\n", + " \"endOffset\": 29\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"df8ad544-d338-4f49-be4a-fc24b0aeb9b9\",\r\n", + " \"rule\": \"java:S119\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 36,\r\n", + " \"hash\": \"112b907b170719a3a1bdb989d4bd4b4f\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 36,\r\n", + " \"endLine\": 36,\r\n", + " \"startOffset\": 31,\r\n", + " \"endOffset\": 36\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"convention\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"c7a5ca5d-4d28-4979-835e-37334be102aa\",\r\n", + " \"rule\": \"java:S1700\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 38,\r\n", + " \"hash\": \"16deda567c3d51307896f931fa4666f2\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 38,\r\n", + " \"endLine\": 38,\r\n", + " \"startOffset\": 34,\r\n", + " \"endOffset\": 46\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Rename field \\\"ognlLRUCache\\\"\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"5ac5f057-efff-4e18-9c28-1f613f0eacc7\",\r\n", + " \"rule\": \"java:S112\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/impl/FieldMatchValidator.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 56,\r\n", + " \"hash\": \"b9591633d35b5381ce42a1567a182f69\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 56,\r\n", + " \"endLine\": 56,\r\n", + " \"startOffset\": 78,\r\n", + " \"endOffset\": 87\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Define and throw a dedicated exception instead of using a generic one.\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"error-handling\",\r\n", + " \"cert\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-03-04T11:52:33+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"3df72514-a5f4-49c6-9a9f-b214a96908a7\",\r\n", + " \"rule\": \"java:S1066\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 336,\r\n", + " \"hash\": \"0d0de1cc860cda55c95e421c9b2851cc\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 336,\r\n", + " \"endLine\": 336,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 335,\r\n", + " \"endLine\": 335,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Merge this if statement with the enclosing one.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-02-20T12:29:46+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"73d403ab-a6cd-4bf9-86db-d5f0b43431c8\",\r\n", + " \"rule\": \"java:S3252\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/date/SimpleDateFormatAdapter.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 37,\r\n", + " \"hash\": \"6136567c880008ac9e5bd4aa2bd330ac\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 37,\r\n", + " \"endLine\": 37,\r\n", + " \"startOffset\": 34,\r\n", + " \"endOffset\": 49\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Use static access with \\\"java.text.DateFormat\\\" for \\\"getDateInstance\\\".\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"confusing\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-02-20T12:29:46+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"7e029542-01bb-4b3a-9b2a-d8573a341ce0\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 645,\r\n", + " \"hash\": \"4b4b383d71402833a54ea926e453ff26\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 645,\r\n", + " \"endLine\": 645,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 30\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 650,\r\n", + " \"endLine\": 650,\r\n", + " \"startOffset\": 50,\r\n", + " \"endOffset\": 51\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 660,\r\n", + " \"endLine\": 660,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 662,\r\n", + " \"endLine\": 662,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 666,\r\n", + " \"endLine\": 666,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 672,\r\n", + " \"endLine\": 672,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 677,\r\n", + " \"endLine\": 677,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 679,\r\n", + " \"endLine\": 679,\r\n", + " \"startOffset\": 10,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 680,\r\n", + " \"endLine\": 680,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 686,\r\n", + " \"endLine\": 686,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 690,\r\n", + " \"endLine\": 690,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 696,\r\n", + " \"endLine\": 696,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 700,\r\n", + " \"endLine\": 700,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 704,\r\n", + " \"endLine\": 704,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 706,\r\n", + " \"endLine\": 706,\r\n", + " \"startOffset\": 57,\r\n", + " \"endOffset\": 58\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 709,\r\n", + " \"endLine\": 709,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 711,\r\n", + " \"endLine\": 711,\r\n", + " \"startOffset\": 57,\r\n", + " \"endOffset\": 58\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 714,\r\n", + " \"endLine\": 714,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 718,\r\n", + " \"endLine\": 718,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 722,\r\n", + " \"endLine\": 722,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 726,\r\n", + " \"endLine\": 726,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 730,\r\n", + " \"endLine\": 730,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 734,\r\n", + " \"endLine\": 734,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 738,\r\n", + " \"endLine\": 738,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 742,\r\n", + " \"endLine\": 742,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 746,\r\n", + " \"endLine\": 746,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 750,\r\n", + " \"endLine\": 750,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 754,\r\n", + " \"endLine\": 754,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 758,\r\n", + " \"endLine\": 758,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 762,\r\n", + " \"endLine\": 762,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 766,\r\n", + " \"endLine\": 766,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 770,\r\n", + " \"endLine\": 770,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 774,\r\n", + " \"endLine\": 774,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 778,\r\n", + " \"endLine\": 778,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 782,\r\n", + " \"endLine\": 782,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 786,\r\n", + " \"endLine\": 786,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 790,\r\n", + " \"endLine\": 790,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 794,\r\n", + " \"endLine\": 794,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 801,\r\n", + " \"endLine\": 801,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 803,\r\n", + " \"endLine\": 803,\r\n", + " \"startOffset\": 10,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 804,\r\n", + " \"endLine\": 804,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 807,\r\n", + " \"endLine\": 807,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 808,\r\n", + " \"endLine\": 808,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 810,\r\n", + " \"endLine\": 810,\r\n", + " \"startOffset\": 27,\r\n", + " \"endOffset\": 29\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 812,\r\n", + " \"endLine\": 812,\r\n", + " \"startOffset\": 56,\r\n", + " \"endOffset\": 58\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 813,\r\n", + " \"endLine\": 813,\r\n", + " \"startOffset\": 24,\r\n", + " \"endOffset\": 26\r\n", + " },\r\n", + " \"msg\": \"+5 (incl 4 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 815,\r\n", + " \"endLine\": 815,\r\n", + " \"startOffset\": 26,\r\n", + " \"endOffset\": 30\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 820,\r\n", + " \"endLine\": 820,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 821,\r\n", + " \"endLine\": 821,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 823,\r\n", + " \"endLine\": 823,\r\n", + " \"startOffset\": 27,\r\n", + " \"endOffset\": 29\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 835,\r\n", + " \"endLine\": 835,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 838,\r\n", + " \"endLine\": 838,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 847,\r\n", + " \"endLine\": 847,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 850,\r\n", + " \"endLine\": 850,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 855,\r\n", + " \"endLine\": 855,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 863,\r\n", + " \"endLine\": 863,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 867,\r\n", + " \"endLine\": 867,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 16\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 873,\r\n", + " \"endLine\": 873,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 878,\r\n", + " \"endLine\": 878,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 880,\r\n", + " \"endLine\": 880,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 885,\r\n", + " \"endLine\": 885,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 887,\r\n", + " \"endLine\": 887,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 890,\r\n", + " \"endLine\": 890,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 893,\r\n", + " \"endLine\": 893,\r\n", + " \"startOffset\": 73,\r\n", + " \"endOffset\": 74\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 895,\r\n", + " \"endLine\": 895,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 897,\r\n", + " \"endLine\": 897,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 904,\r\n", + " \"endLine\": 904,\r\n", + " \"startOffset\": 44,\r\n", + " \"endOffset\": 45\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 905,\r\n", + " \"endLine\": 905,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 101 to the 15 allowed.\",\r\n", + " \"effort\": \"1h31min\",\r\n", + " \"debt\": \"1h31min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-02-10T17:42:10+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"ac7634b7-e674-4d04-beec-7db1a234cfd4\",\r\n", + " \"rule\": \"java:S1192\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 872,\r\n", + " \"hash\": \"621c51602ce755cab2af82dbc25cd187\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 872,\r\n", + " \"endLine\": 872,\r\n", + " \"startOffset\": 68,\r\n", + " \"endOffset\": 86\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 872,\r\n", + " \"endLine\": 872,\r\n", + " \"startOffset\": 68,\r\n", + " \"endOffset\": 86\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 893,\r\n", + " \"endLine\": 893,\r\n", + " \"startOffset\": 34,\r\n", + " \"endOffset\": 52\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 994,\r\n", + " \"endLine\": 994,\r\n", + " \"startOffset\": 23,\r\n", + " \"endOffset\": 41\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Define a constant instead of duplicating this literal \\\"jsTooltipEnabled\\\" 3 times.\",\r\n", + " \"effort\": \"8min\",\r\n", + " \"debt\": \"8min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"design\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-02-10T17:42:10+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"DISTINCT\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"436ab900-4279-44e7-ac2d-69c3559f4d3b\",\r\n", + " \"rule\": \"java:S2293\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 973,\r\n", + " \"hash\": \"727663d500898c74c92d7d5662ae514e\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 973,\r\n", + " \"endLine\": 973,\r\n", + " \"startOffset\": 38,\r\n", + " \"endOffset\": 54\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Replace the type specification in this constructor call with the diamond operator (\\\"<>\\\").\",\r\n", + " \"effort\": \"1min\",\r\n", + " \"debt\": \"1min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-02-10T17:42:10+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"6a504ad0-d2da-4996-8660-1c73e98854eb\",\r\n", + " \"rule\": \"java:S1128\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Anchor.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 23,\r\n", + " \"hash\": \"d820e074f2f71232ad758869ecffbc2a\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 23,\r\n", + " \"endLine\": 23,\r\n", + " \"startOffset\": 7,\r\n", + " \"endOffset\": 44\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove this unused import 'org.apache.commons.lang3.BooleanUtils'.\",\r\n", + " \"effort\": \"1min\",\r\n", + " \"debt\": \"1min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"unused\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"3f773abc-fc6f-423d-a1c6-4ecfbf228777\",\r\n", + " \"rule\": \"java:S1149\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Component.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 222,\r\n", + " \"hash\": \"3ad8e9d0d339c34a6d9e232b1bf58778\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 222,\r\n", + " \"endLine\": 222,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 24\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Replace the synchronized class \\\"Stack\\\" by an unsynchronized one such as \\\"Deque\\\".\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"performance\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"2d3c8f0a-ac1b-4433-9c25-91f234fa7f0f\",\r\n", + " \"rule\": \"java:S1128\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 26,\r\n", + " \"hash\": \"806cb7cca5c5f74fcce1dbd8936cce8e\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 26,\r\n", + " \"endLine\": 26,\r\n", + " \"startOffset\": 7,\r\n", + " \"endOffset\": 44\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove this unused import 'com.opensymphony.xwork2.inject.Inject'.\",\r\n", + " \"effort\": \"1min\",\r\n", + " \"debt\": \"1min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"unused\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"c5b7143b-3554-4f54-9563-c627c7875abc\",\r\n", + " \"rule\": \"java:S1128\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 27,\r\n", + " \"hash\": \"d820e074f2f71232ad758869ecffbc2a\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 27,\r\n", + " \"endLine\": 27,\r\n", + " \"startOffset\": 7,\r\n", + " \"endOffset\": 44\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove this unused import 'org.apache.commons.lang3.BooleanUtils'.\",\r\n", + " \"effort\": \"1min\",\r\n", + " \"debt\": \"1min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"unused\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"eff007fb-a303-4ff2-89b0-ba23309b21b7\",\r\n", + " \"rule\": \"java:S1128\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 28,\r\n", + " \"hash\": \"46ffce9a943a7192751f2ac5e391fd00\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 28,\r\n", + " \"endLine\": 28,\r\n", + " \"startOffset\": 7,\r\n", + " \"endOffset\": 41\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove this unused import 'org.apache.struts2.StrutsConstants'.\",\r\n", + " \"effort\": \"1min\",\r\n", + " \"debt\": \"1min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"unused\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"3ba1db0c-e81b-4207-9605-fe3b87d54c55\",\r\n", + " \"rule\": \"java:S5961\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 54,\r\n", + " \"hash\": \"c68a190432fff4a8e505fea58e598c5d\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 54,\r\n", + " \"endLine\": 54,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 36\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 69,\r\n", + " \"endLine\": 69,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 64\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 70,\r\n", + " \"endLine\": 70,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 44\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 71,\r\n", + " \"endLine\": 71,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 40\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 72,\r\n", + " \"endLine\": 72,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 51\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 73,\r\n", + " \"endLine\": 73,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 42\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 74,\r\n", + " \"endLine\": 74,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 41\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 75,\r\n", + " \"endLine\": 75,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 45\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 79,\r\n", + " \"endLine\": 79,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 62\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 82,\r\n", + " \"endLine\": 82,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 70\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 83,\r\n", + " \"endLine\": 83,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 69\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 86,\r\n", + " \"endLine\": 86,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 77\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 87,\r\n", + " \"endLine\": 87,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 80\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 88,\r\n", + " \"endLine\": 88,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 72\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 91,\r\n", + " \"endLine\": 91,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 79\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 92,\r\n", + " \"endLine\": 92,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 85\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 93,\r\n", + " \"endLine\": 93,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 63\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 94,\r\n", + " \"endLine\": 94,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 71\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 97,\r\n", + " \"endLine\": 97,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 69\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 98,\r\n", + " \"endLine\": 98,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 66\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 99,\r\n", + " \"endLine\": 99,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 84\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 100,\r\n", + " \"endLine\": 100,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 62\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 101,\r\n", + " \"endLine\": 101,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 70\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 104,\r\n", + " \"endLine\": 104,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 72\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 105,\r\n", + " \"endLine\": 105,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 67\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 106,\r\n", + " \"endLine\": 106,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 70\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 107,\r\n", + " \"endLine\": 107,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 88\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 108,\r\n", + " \"endLine\": 108,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 74\r\n", + " },\r\n", + " \"msg\": \"Assertion\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce the number of assertions from 27 to less than 25.\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"tests\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"TEST\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"814d34f9-d9a6-476d-a856-5e4831121c19\",\r\n", + " \"rule\": \"java:S1192\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 307,\r\n", + " \"hash\": \"2b81d34caa1a27b992b3f00702c32438\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 307,\r\n", + " \"endLine\": 307,\r\n", + " \"startOffset\": 57,\r\n", + " \"endOffset\": 64\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 307,\r\n", + " \"endLine\": 307,\r\n", + " \"startOffset\": 57,\r\n", + " \"endOffset\": 64\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 308,\r\n", + " \"endLine\": 308,\r\n", + " \"startOffset\": 77,\r\n", + " \"endOffset\": 84\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 309,\r\n", + " \"endLine\": 309,\r\n", + " \"startOffset\": 77,\r\n", + " \"endOffset\": 84\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 311,\r\n", + " \"endLine\": 311,\r\n", + " \"startOffset\": 74,\r\n", + " \"endOffset\": 81\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 312,\r\n", + " \"endLine\": 312,\r\n", + " \"startOffset\": 61,\r\n", + " \"endOffset\": 68\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Define a constant instead of duplicating this literal \\\"false\\\" 5 times.\",\r\n", + " \"effort\": \"12min\",\r\n", + " \"debt\": \"12min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"design\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-01T13:04:38+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"DISTINCT\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"4999e0e1-c5a8-4fea-982a-2143f8b4fa1e\",\r\n", + " \"rule\": \"java:S1123\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 317,\r\n", + " \"hash\": \"109d288af0b4e6464d6a8b00fc69604e\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 317,\r\n", + " \"endLine\": 317,\r\n", + " \"startOffset\": 31,\r\n", + " \"endOffset\": 66\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add the missing @Deprecated annotation.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"obsolete\",\r\n", + " \"bad-practice\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-01T13:04:38+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"72e4f660-6c2c-48bc-aa07-2f13dc53bd05\",\r\n", + " \"rule\": \"java:S1133\",\r\n", + " \"severity\": \"INFO\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 317,\r\n", + " \"hash\": \"109d288af0b4e6464d6a8b00fc69604e\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 317,\r\n", + " \"endLine\": 317,\r\n", + " \"startOffset\": 31,\r\n", + " \"endOffset\": 66\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Do not forget to remove this deprecated code someday.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"obsolete\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-01T13:04:38+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"b620b584-977f-41d7-bed4-c5fa017b51b1\",\r\n", + " \"rule\": \"java:S1133\",\r\n", + " \"severity\": \"INFO\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 354,\r\n", + " \"hash\": \"94fa70e4cae05c5b02f8f65363e9ceed\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 354,\r\n", + " \"endLine\": 354,\r\n", + " \"startOffset\": 31,\r\n", + " \"endOffset\": 65\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Do not forget to remove this deprecated code someday.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"obsolete\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-01T13:04:38+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"ee74648f-346b-4fc0-8b1d-55f2fe6d2b77\",\r\n", + " \"rule\": \"java:S1123\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 354,\r\n", + " \"hash\": \"94fa70e4cae05c5b02f8f65363e9ceed\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 354,\r\n", + " \"endLine\": 354,\r\n", + " \"startOffset\": 31,\r\n", + " \"endOffset\": 65\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Add the missing @Deprecated annotation.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"lukaszlenart@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"obsolete\",\r\n", + " \"bad-practice\"\r\n", + " ],\r\n", + " \"creationDate\": \"2022-01-01T13:04:38+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"54c70d99-66cc-4a46-b338-1a49acff93f5\",\r\n", + " \"rule\": \"java:S1948\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 105,\r\n", + " \"hash\": \"77a7d3bd9f6b0bc1e71e7abf03482d53\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 105,\r\n", + " \"endLine\": 105,\r\n", + " \"startOffset\": 36,\r\n", + " \"endOffset\": 52\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Make \\\"excludedPatterns\\\" transient or serializable.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"serialization\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"eaee74e5-a1ee-4ce8-936e-cd6f8458bdc9\",\r\n", + " \"rule\": \"java:S1948\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 106,\r\n", + " \"hash\": \"ba2e9483e28f5efff5b9d0d058a4b08a\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 106,\r\n", + " \"endLine\": 106,\r\n", + " \"startOffset\": 36,\r\n", + " \"endOffset\": 52\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Make \\\"acceptedPatterns\\\" transient or serializable.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"serialization\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"ed90bca7-b6c2-4c36-9e3d-af63480e2ad3\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 148,\r\n", + " \"hash\": \"0c9986d925149928f78e79ee82d6296c\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 148,\r\n", + " \"endLine\": 148,\r\n", + " \"startOffset\": 28,\r\n", + " \"endOffset\": 37\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 157,\r\n", + " \"endLine\": 157,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 163,\r\n", + " \"endLine\": 163,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 167,\r\n", + " \"endLine\": 167,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 182,\r\n", + " \"endLine\": 182,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 185,\r\n", + " \"endLine\": 185,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 189,\r\n", + " \"endLine\": 189,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 193,\r\n", + " \"endLine\": 193,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 197,\r\n", + " \"endLine\": 197,\r\n", + " \"startOffset\": 24,\r\n", + " \"endOffset\": 26\r\n", + " },\r\n", + " \"msg\": \"+5 (incl 4 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 199,\r\n", + " \"endLine\": 199,\r\n", + " \"startOffset\": 28,\r\n", + " \"endOffset\": 30\r\n", + " },\r\n", + " \"msg\": \"+6 (incl 5 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 204,\r\n", + " \"endLine\": 204,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 207,\r\n", + " \"endLine\": 207,\r\n", + " \"startOffset\": 26,\r\n", + " \"endOffset\": 31\r\n", + " },\r\n", + " \"msg\": \"+5 (incl 4 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 208,\r\n", + " \"endLine\": 208,\r\n", + " \"startOffset\": 28,\r\n", + " \"endOffset\": 30\r\n", + " },\r\n", + " \"msg\": \"+6 (incl 5 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 213,\r\n", + " \"endLine\": 213,\r\n", + " \"startOffset\": 32,\r\n", + " \"endOffset\": 34\r\n", + " },\r\n", + " \"msg\": \"+7 (incl 6 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 221,\r\n", + " \"endLine\": 221,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 224,\r\n", + " \"endLine\": 224,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 58 to the 15 allowed.\",\r\n", + " \"effort\": \"48min\",\r\n", + " \"debt\": \"48min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"a3348846-e2cc-42c6-83a7-7526869742b0\",\r\n", + " \"rule\": \"java:S135\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 182,\r\n", + " \"hash\": \"5be9678de2db3c1b47b866b2cd57d4d7\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 182,\r\n", + " \"endLine\": 182,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 186,\r\n", + " \"endLine\": 186,\r\n", + " \"startOffset\": 24,\r\n", + " \"endOffset\": 33\r\n", + " },\r\n", + " \"msg\": \"\\\"continue\\\" statement.\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 190,\r\n", + " \"endLine\": 190,\r\n", + " \"startOffset\": 24,\r\n", + " \"endOffset\": 33\r\n", + " },\r\n", + " \"msg\": \"\\\"continue\\\" statement.\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Reduce the total number of break and continue statements in this loop to use at most one.\",\r\n", + " \"effort\": \"20min\",\r\n", + " \"debt\": \"20min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"a75d5ceb-93f9-4d24-b900-8dfc63d6d036\",\r\n", + " \"rule\": \"java:S1948\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 34,\r\n", + " \"hash\": \"a5b9fb731777714f7a385f987db98d55\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 34,\r\n", + " \"endLine\": 34,\r\n", + " \"startOffset\": 29,\r\n", + " \"endOffset\": 39\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Make \\\"invocation\\\" transient or serializable.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"serialization\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"b7e8a6ab-4ce5-48a8-b199-3af31227a51f\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 122,\r\n", + " \"hash\": \"c0e73c336b59ce2d5b9524d01901f131\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 122,\r\n", + " \"endLine\": 122,\r\n", + " \"startOffset\": 19,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 124,\r\n", + " \"endLine\": 124,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 125,\r\n", + " \"endLine\": 125,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 127,\r\n", + " \"endLine\": 127,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 130,\r\n", + " \"endLine\": 130,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 135,\r\n", + " \"endLine\": 135,\r\n", + " \"startOffset\": 48,\r\n", + " \"endOffset\": 50\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 136,\r\n", + " \"endLine\": 136,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 141,\r\n", + " \"endLine\": 141,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 142,\r\n", + " \"endLine\": 142,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 142,\r\n", + " \"endLine\": 142,\r\n", + " \"startOffset\": 43,\r\n", + " \"endOffset\": 45\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 144,\r\n", + " \"endLine\": 144,\r\n", + " \"startOffset\": 22,\r\n", + " \"endOffset\": 26\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 147,\r\n", + " \"endLine\": 147,\r\n", + " \"startOffset\": 23,\r\n", + " \"endOffset\": 25\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 147,\r\n", + " \"endLine\": 147,\r\n", + " \"startOffset\": 46,\r\n", + " \"endOffset\": 48\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 149,\r\n", + " \"endLine\": 149,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 153,\r\n", + " \"endLine\": 153,\r\n", + " \"startOffset\": 10,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 154,\r\n", + " \"endLine\": 154,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 156,\r\n", + " \"endLine\": 156,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 157,\r\n", + " \"endLine\": 157,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 157,\r\n", + " \"endLine\": 157,\r\n", + " \"startOffset\": 46,\r\n", + " \"endOffset\": 48\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 159,\r\n", + " \"endLine\": 159,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 32 to the 15 allowed.\",\r\n", + " \"effort\": \"22min\",\r\n", + " \"debt\": \"22min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"1e9f1c91-24f0-45ae-9552-d8ba178dc06e\",\r\n", + " \"rule\": \"java:S1192\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 884,\r\n", + " \"hash\": \"086ba3aa6f6c7cec0b125eb2ecf9c866\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 884,\r\n", + " \"endLine\": 884,\r\n", + " \"startOffset\": 68,\r\n", + " \"endOffset\": 82\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 884,\r\n", + " \"endLine\": 884,\r\n", + " \"startOffset\": 68,\r\n", + " \"endOffset\": 82\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 886,\r\n", + " \"endLine\": 886,\r\n", + " \"startOffset\": 34,\r\n", + " \"endOffset\": 48\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 888,\r\n", + " \"endLine\": 888,\r\n", + " \"startOffset\": 34,\r\n", + " \"endOffset\": 48\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 998,\r\n", + " \"endLine\": 998,\r\n", + " \"startOffset\": 23,\r\n", + " \"endOffset\": 37\r\n", + " },\r\n", + " \"msg\": \"Duplication\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Define a constant instead of duplicating this literal \\\"tooltipDelay\\\" 4 times.\",\r\n", + " \"effort\": \"10min\",\r\n", + " \"debt\": \"10min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"design\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"DISTINCT\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"2c45d277-e7e7-478d-a743-f2b21e501b08\",\r\n", + " \"rule\": \"java:S6353\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 915,\r\n", + " \"hash\": \"78505efea3098211379593a61e59c954\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 915,\r\n", + " \"endLine\": 915,\r\n", + " \"startOffset\": 36,\r\n", + " \"endOffset\": 49\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Use concise character class syntax '\\\\\\\\W' instead of '[^a-zA-Z0-9_]'.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"regex\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"de6d3559-332b-445c-880f-38a1d968c647\",\r\n", + " \"rule\": \"java:S1948\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 90,\r\n", + " \"hash\": \"66332cf44806ccee360f4be320aa4be4\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 90,\r\n", + " \"endLine\": 90,\r\n", + " \"startOffset\": 47,\r\n", + " \"endOffset\": 74\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Make \\\"notExcludedAcceptedPatterns\\\" transient or serializable.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"serialization\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"039c1e96-a3d6-4917-86e9-d458077b88f9\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 210,\r\n", + " \"hash\": \"548d5feccaa9d8246311eb296de3ecd1\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 210,\r\n", + " \"endLine\": 210,\r\n", + " \"startOffset\": 19,\r\n", + " \"endOffset\": 28\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 217,\r\n", + " \"endLine\": 217,\r\n", + " \"startOffset\": 56,\r\n", + " \"endOffset\": 58\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 218,\r\n", + " \"endLine\": 218,\r\n", + " \"startOffset\": 44,\r\n", + " \"endOffset\": 46\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 219,\r\n", + " \"endLine\": 219,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 219,\r\n", + " \"endLine\": 219,\r\n", + " \"startOffset\": 36,\r\n", + " \"endOffset\": 38\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 224,\r\n", + " \"endLine\": 224,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 235,\r\n", + " \"endLine\": 235,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 235,\r\n", + " \"endLine\": 235,\r\n", + " \"startOffset\": 39,\r\n", + " \"endOffset\": 41\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 237,\r\n", + " \"endLine\": 237,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 242,\r\n", + " \"endLine\": 242,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 247,\r\n", + " \"endLine\": 247,\r\n", + " \"startOffset\": 20,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 250,\r\n", + " \"endLine\": 250,\r\n", + " \"startOffset\": 18,\r\n", + " \"endOffset\": 23\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 257,\r\n", + " \"endLine\": 257,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 262,\r\n", + " \"endLine\": 262,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 275,\r\n", + " \"endLine\": 275,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 17\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 284,\r\n", + " \"endLine\": 284,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 287,\r\n", + " \"endLine\": 287,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 18 to the 15 allowed.\",\r\n", + " \"effort\": \"8min\",\r\n", + " \"debt\": \"8min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"d33915ee-dcb0-4f4b-bbe4-e73cb22d1c55\",\r\n", + " \"rule\": \"java:S1948\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 174,\r\n", + " \"hash\": \"66332cf44806ccee360f4be320aa4be4\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 174,\r\n", + " \"endLine\": 174,\r\n", + " \"startOffset\": 47,\r\n", + " \"endOffset\": 74\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Make \\\"notExcludedAcceptedPatterns\\\" transient or serializable.\",\r\n", + " \"effort\": \"30min\",\r\n", + " \"debt\": \"30min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"cwe\",\r\n", + " \"serialization\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"e808f6e3-89c4-40cd-8b7a-f874e97ddadd\",\r\n", + " \"rule\": \"java:S3776\",\r\n", + " \"severity\": \"CRITICAL\",\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 260,\r\n", + " \"hash\": \"548d5feccaa9d8246311eb296de3ecd1\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 260,\r\n", + " \"endLine\": 260,\r\n", + " \"startOffset\": 19,\r\n", + " \"endOffset\": 28\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 271,\r\n", + " \"endLine\": 271,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 275,\r\n", + " \"endLine\": 275,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 287,\r\n", + " \"endLine\": 287,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 288,\r\n", + " \"endLine\": 288,\r\n", + " \"startOffset\": 57,\r\n", + " \"endOffset\": 59\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 289,\r\n", + " \"endLine\": 289,\r\n", + " \"startOffset\": 44,\r\n", + " \"endOffset\": 46\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 290,\r\n", + " \"endLine\": 290,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 292,\r\n", + " \"endLine\": 292,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 298,\r\n", + " \"endLine\": 298,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 317,\r\n", + " \"endLine\": 317,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 320,\r\n", + " \"endLine\": 320,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 327,\r\n", + " \"endLine\": 327,\r\n", + " \"startOffset\": 59,\r\n", + " \"endOffset\": 61\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 328,\r\n", + " \"endLine\": 328,\r\n", + " \"startOffset\": 40,\r\n", + " \"endOffset\": 42\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 329,\r\n", + " \"endLine\": 329,\r\n", + " \"startOffset\": 38,\r\n", + " \"endOffset\": 39\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 330,\r\n", + " \"endLine\": 330,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 10\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 341,\r\n", + " \"endLine\": 341,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 343,\r\n", + " \"endLine\": 343,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 346,\r\n", + " \"endLine\": 346,\r\n", + " \"startOffset\": 10,\r\n", + " \"endOffset\": 15\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 353,\r\n", + " \"endLine\": 353,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 353,\r\n", + " \"endLine\": 353,\r\n", + " \"startOffset\": 43,\r\n", + " \"endOffset\": 45\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 355,\r\n", + " \"endLine\": 355,\r\n", + " \"startOffset\": 56,\r\n", + " \"endOffset\": 57\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 357,\r\n", + " \"endLine\": 357,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 370,\r\n", + " \"endLine\": 370,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 411,\r\n", + " \"endLine\": 411,\r\n", + " \"startOffset\": 55,\r\n", + " \"endOffset\": 57\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 412,\r\n", + " \"endLine\": 412,\r\n", + " \"startOffset\": 36,\r\n", + " \"endOffset\": 38\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 413,\r\n", + " \"endLine\": 413,\r\n", + " \"startOffset\": 42,\r\n", + " \"endOffset\": 43\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 414,\r\n", + " \"endLine\": 414,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 14\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 420,\r\n", + " \"endLine\": 420,\r\n", + " \"startOffset\": 10,\r\n", + " \"endOffset\": 15\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 425,\r\n", + " \"endLine\": 425,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 18\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " },\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 429,\r\n", + " \"endLine\": 429,\r\n", + " \"startOffset\": 14,\r\n", + " \"endOffset\": 19\r\n", + " },\r\n", + " \"msg\": \"+1\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 34 to the 15 allowed.\",\r\n", + " \"effort\": \"24min\",\r\n", + " \"debt\": \"24min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"brain-overload\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", + " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"HIGH\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"fd12aa13-b7bb-4b3f-987f-c25f2ea630d4\",\r\n", + " \"rule\": \"java:S3740\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 329,\r\n", + " \"hash\": \"ca0c42a3c87bd4415add5fb0034dbc23\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 329,\r\n", + " \"endLine\": 329,\r\n", + " \"startOffset\": 8,\r\n", + " \"endOffset\": 11\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Provide the parametrized type for this generic.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"pitfall\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"30e76b9c-cb5c-484c-be23-f781dbb07efe\",\r\n", + " \"rule\": \"java:S3740\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 413,\r\n", + " \"hash\": \"b7f6ebed63942e9e9d2058ab10f28818\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 413,\r\n", + " \"endLine\": 413,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 15\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Provide the parametrized type for this generic.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"yasserzamani@apache.org\",\r\n", + " \"tags\": [\r\n", + " \"pitfall\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"5a5b8ef8-f0b8-4371-abf3-4a2db062d022\",\r\n", + " \"rule\": \"java:S5785\",\r\n", + " \"severity\": \"MAJOR\",\r\n", + " \"component\": \"struts:core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 239,\r\n", + " \"hash\": \"7ec908b2b3c3961ada39dac77738fa3a\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 239,\r\n", + " \"endLine\": 239,\r\n", + " \"startOffset\": 12,\r\n", + " \"endOffset\": 22\r\n", + " },\r\n", + " \"flows\": [\r\n", + " {\r\n", + " \"locations\": [\r\n", + " {\r\n", + " \"component\": \"struts:core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 239,\r\n", + " \"endLine\": 239,\r\n", + " \"startOffset\": 88,\r\n", + " \"endOffset\": 123\r\n", + " },\r\n", + " \"msg\": \"An equals check is performed here, which is better expressed with assertEquals.\",\r\n", + " \"msgFormattings\": []\r\n", + " }\r\n", + " ]\r\n", + " }\r\n", + " ],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Use assertEquals instead.\",\r\n", + " \"effort\": \"2min\",\r\n", + " \"debt\": \"2min\",\r\n", + " \"author\": \"pascal.davoust@eptica.com\",\r\n", + " \"tags\": [\r\n", + " \"junit\",\r\n", + " \"tests\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-10T14:23:31+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"TEST\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"MEDIUM\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"cfb47539-3913-40a7-99cd-b134b5ce2d06\",\r\n", + " \"rule\": \"java:S1125\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 100,\r\n", + " \"hash\": \"6b09b6538b18f2b62e8191e68ddc7820\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 100,\r\n", + " \"endLine\": 100,\r\n", + " \"startOffset\": 44,\r\n", + " \"endOffset\": 48\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove the unnecessary boolean literal.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-11-06T03:32:11+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"5c58bc88-ad31-4878-9b91-36b29bd98d46\",\r\n", + " \"rule\": \"java:S1185\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 97,\r\n", + " \"hash\": \"8e770c24f13fecaac7cfb9d20b0f81bf\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 97,\r\n", + " \"endLine\": 97,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 59\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove this method to simply inherit it.\",\r\n", + " \"effort\": \"2min\",\r\n", + " \"debt\": \"2min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"redundant\",\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"abb4613f-ed51-4565-89e5-ecd59ba5e1a7\",\r\n", + " \"rule\": \"java:S1125\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 103,\r\n", + " \"hash\": \"04d3c539a6a442f0d037c31ee6145c86\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 103,\r\n", + " \"endLine\": 103,\r\n", + " \"startOffset\": 60,\r\n", + " \"endOffset\": 65\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove the unnecessary boolean literal.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"c55ffb92-860a-4c70-9d09-1aa792b7a802\",\r\n", + " \"rule\": \"java:S1185\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 62,\r\n", + " \"hash\": \"8e770c24f13fecaac7cfb9d20b0f81bf\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 62,\r\n", + " \"endLine\": 62,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 59\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove this method to simply inherit it.\",\r\n", + " \"effort\": \"2min\",\r\n", + " \"debt\": \"2min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"redundant\",\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"c6aff05a-e247-4456-acf7-14a0519a5884\",\r\n", + " \"rule\": \"java:S1125\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 68,\r\n", + " \"hash\": \"04d3c539a6a442f0d037c31ee6145c86\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 68,\r\n", + " \"endLine\": 68,\r\n", + " \"startOffset\": 60,\r\n", + " \"endOffset\": 65\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove the unnecessary boolean literal.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"c6488c77-b287-4a5a-8e18-91a4f396e8a3\",\r\n", + " \"rule\": \"java:S1125\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 91,\r\n", + " \"hash\": \"04d3c539a6a442f0d037c31ee6145c86\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 91,\r\n", + " \"endLine\": 91,\r\n", + " \"startOffset\": 60,\r\n", + " \"endOffset\": 65\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove the unnecessary boolean literal.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"5e9e2f0e-b0d8-42c3-bfc8-2768a5cdc0bf\",\r\n", + " \"rule\": \"java:S1185\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 43,\r\n", + " \"hash\": \"8e770c24f13fecaac7cfb9d20b0f81bf\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 43,\r\n", + " \"endLine\": 43,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 59\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove this method to simply inherit it.\",\r\n", + " \"effort\": \"2min\",\r\n", + " \"debt\": \"2min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"redundant\",\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"25aa0c11-d20e-409e-92a3-f68c37fbce93\",\r\n", + " \"rule\": \"java:S1125\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 49,\r\n", + " \"hash\": \"04d3c539a6a442f0d037c31ee6145c86\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 49,\r\n", + " \"endLine\": 49,\r\n", + " \"startOffset\": 60,\r\n", + " \"endOffset\": 65\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove the unnecessary boolean literal.\",\r\n", + " \"effort\": \"5min\",\r\n", + " \"debt\": \"5min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": true,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", + " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"8306f9c8-c62b-4308-9a93-12982e15c420\",\r\n", + " \"rule\": \"java:S1185\",\r\n", + " \"severity\": \"MINOR\",\r\n", + " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/DateTag.java\",\r\n", + " \"project\": \"struts\",\r\n", + " \"line\": 75,\r\n", + " \"hash\": \"8e770c24f13fecaac7cfb9d20b0f81bf\",\r\n", + " \"textRange\": {\r\n", + " \"startLine\": 75,\r\n", + " \"endLine\": 75,\r\n", + " \"startOffset\": 16,\r\n", + " \"endOffset\": 59\r\n", + " },\r\n", + " \"flows\": [],\r\n", + " \"status\": \"OPEN\",\r\n", + " \"message\": \"Remove this method to simply inherit it.\",\r\n", + " \"effort\": \"2min\",\r\n", + " \"debt\": \"2min\",\r\n", + " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", + " \"tags\": [\r\n", + " \"redundant\",\r\n", + " \"clumsy\"\r\n", + " ],\r\n", + " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", + " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", + " \"type\": \"CODE_SMELL\",\r\n", + " \"scope\": \"MAIN\",\r\n", + " \"quickFixAvailable\": false,\r\n", + " \"messageFormattings\": [],\r\n", + " \"codeVariants\": [],\r\n", + " \"cleanCodeAttribute\": \"CLEAR\",\r\n", + " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", + " \"impacts\": [\r\n", + " {\r\n", + " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", + " \"severity\": \"LOW\"\r\n", + " }\r\n", + " ],\r\n", + " \"issueStatus\": \"OPEN\"\r\n", + " }\r\n", + " ],\r\n", + " \"components\": [\r\n", + " {\r\n", + " \"key\": \"struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"FIL\",\r\n", + " \"name\": \"JspDocumentParser.java\",\r\n", + " \"longName\": \"plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", + " \"path\": \"plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"FIL\",\r\n", + " \"name\": \"DispatcherServlet.java\",\r\n", + " \"longName\": \"plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", + " \"path\": \"plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"FIL\",\r\n", + " \"name\": \"XSLTResult.java\",\r\n", + " \"longName\": \"core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", + " \"path\": \"core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"FIL\",\r\n", + " \"name\": \"DomHelper.java\",\r\n", + " \"longName\": \"core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", + " \"path\": \"core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"struts\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"TRK\",\r\n", + " \"name\": \"struts\",\r\n", + " \"longName\": \"struts\"\r\n", + " },\r\n", + " {\r\n", + " \"key\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", + " \"enabled\": true,\r\n", + " \"qualifier\": \"FIL\",\r\n", + " \"name\": \"FreemarkerDecoratorServlet.java\",\r\n", + " \"longName\": \"plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", + " \"path\": \"plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\"\r\n", + " }\r\n", + " ],\r\n", + " \"facets\": []\r\n", + "}" + ] + } + ], + "source": [ + "!cat combined_file.json" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{\"total\":7138,\"p\":1,\"ps\":100,\"paging\":{\"pageIndex\":1,\"pageSize\":100,\"total\":7138},\"effortTotal\":76812,\"issues\":[{\"key\":\"538fe7e4-d29b-4763-a177-a64bdf6b439c\",\"rule\":\"java:S2699\",\"severity\":\"BLOCKER\",\"component\":\"struts:core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\"project\":\"struts\",\"line\":124,\"hash\":\"27f9a3c576875d7630531caca4bb4043\",\"textRange\":{\"startLine\":124,\"endLine\":124,\"startOffset\":16,\"endOffset\":34},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add at least one assertion to this test case.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"junit\",\"tests\"],\"creationDate\":\"2022-09-01T06:15:48+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"TEST\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"TESTED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"8edd5bf7-3e8c-4875-918d-3dc30f508349\",\"rule\":\"java:S2699\",\"severity\":\"BLOCKER\",\"component\":\"struts:core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\"project\":\"struts\",\"line\":136,\"hash\":\"9a025606860b91fe372eb851e5f4bb5f\",\"textRange\":{\"startLine\":136,\"endLine\":136,\"startOffset\":16,\"endOffset\":42},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add at least one assertion to this test case.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"junit\",\"tests\"],\"creationDate\":\"2022-09-01T06:15:48+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"TEST\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"TESTED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"ed6398b0-80c2-4bbf-83d0-234e09442880\",\"rule\":\"java:S1124\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/interceptor/csp/DefaultCspSettings.java\",\"project\":\"struts\",\"line\":41,\"hash\":\"f695f4ce553b07b13cb3a258db26648b\",\"textRange\":{\"startLine\":41,\"endLine\":41,\"startOffset\":18,\"endOffset\":24},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Reorder the modifiers to comply with the Java Language Specification.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-08-23T18:31:39+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"05f3830e-271d-4d6e-9480-8f20b3ffa738\",\"rule\":\"java:S1452\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java\",\"project\":\"struts\",\"line\":74,\"hash\":\"d7c1cc9a927b8cd9ac3c6d5c6645296e\",\"textRange\":{\"startLine\":74,\"endLine\":74,\"startOffset\":21,\"endOffset\":22},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove usage of generic wildcard type.\",\"effort\":\"20min\",\"debt\":\"20min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"pitfall\"],\"creationDate\":\"2022-08-08T15:00:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"815658bf-beca-44df-afcc-8b2d13c458d2\",\"rule\":\"java:S1128\",\"severity\":\"MINOR\",\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"project\":\"struts\",\"line\":50,\"hash\":\"0fc07beaacd336506327651129171800\",\"textRange\":{\"startLine\":50,\"endLine\":50,\"startOffset\":7,\"endOffset\":23},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this unused import \\u0027java.util.Arrays\\u0027.\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"unused\"],\"creationDate\":\"2022-08-08T15:00:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"55aefedd-8345-40f8-b118-3241c4846fa7\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"project\":\"struts\",\"line\":195,\"hash\":\"9563e729621dcbbe1df735e787e83bd0\",\"textRange\":{\"startLine\":195,\"endLine\":195,\"startOffset\":32,\"endOffset\":57},\"flows\":[{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":200,\"endLine\":200,\"startOffset\":8,\"endOffset\":11},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":201,\"endLine\":201,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":201,\"endLine\":201,\"startOffset\":43,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":205,\"endLine\":205,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":211,\"endLine\":211,\"startOffset\":20,\"endOffset\":23},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":212,\"endLine\":212,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":216,\"endLine\":216,\"startOffset\":18,\"endOffset\":23},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 17 to the 15 allowed.\",\"effort\":\"7min\",\"debt\":\"7min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-08-08T15:00:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"627fcd6c-4ff4-40f9-9a24-c1f12c6bc1db\",\"rule\":\"java:S2293\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\"project\":\"struts\",\"line\":86,\"hash\":\"f35f2f2366316bdcc343a8d0c3ed5ccc\",\"textRange\":{\"startLine\":86,\"endLine\":86,\"startOffset\":50,\"endOffset\":66},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Replace the type specification in this constructor call with the diamond operator (\\\"\\u003c\\u003e\\\").\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-07-31T22:26:48+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"592fdd53-37eb-40ab-8ed8-8388d6759b85\",\"rule\":\"java:S2293\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\"project\":\"struts\",\"line\":87,\"hash\":\"124b1662f513f6a74a455141ccc7b7d4\",\"textRange\":{\"startLine\":87,\"endLine\":87,\"startOffset\":48,\"endOffset\":68},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Replace the type specification in this constructor call with the diamond operator (\\\"\\u003c\\u003e\\\").\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-07-31T22:26:48+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"528fa6e5-6bee-4475-80a3-4169e36a7d8b\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java\",\"project\":\"struts\",\"line\":37,\"hash\":\"7fce864e13eea94528cfb869dbb6f572\",\"textRange\":{\"startLine\":37,\"endLine\":37,\"startOffset\":38,\"endOffset\":46},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"selector\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"48475312+rproserpio@users.noreply.github.com\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2022-07-24T23:11:46+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"28b4a8cc-5d3f-44d8-8f0c-ffaccada2cc8\",\"rule\":\"java:S1161\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Radio.java\",\"project\":\"struts\",\"line\":83,\"hash\":\"48b465d4c33988aae1812fa8020c1830\",\"textRange\":{\"startLine\":83,\"endLine\":83,\"startOffset\":23,\"endOffset\":40},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add the \\\"@Override\\\" annotation above this method signature\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"bad-practice\"],\"creationDate\":\"2022-07-07T19:34:43+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"fd88e0f8-5788-4ba1-9291-9a39564dbbc1\",\"rule\":\"java:S2699\",\"severity\":\"BLOCKER\",\"component\":\"struts:core/src/test/java/org/apache/struts2/config/StrutsJavaConfigurationProviderTest.java\",\"project\":\"struts\",\"line\":114,\"hash\":\"52f478f09dd3fec7802f8d41972ccb90\",\"textRange\":{\"startLine\":114,\"endLine\":114,\"startOffset\":16,\"endOffset\":48},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add at least one assertion to this test case.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"junit\",\"tests\"],\"creationDate\":\"2022-07-03T21:37:58+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"TEST\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"TESTED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"eaf8f3d4-9712-444b-b777-9a7273da0243\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"project\":\"struts\",\"line\":289,\"hash\":\"c0e73c336b59ce2d5b9524d01901f131\",\"textRange\":{\"startLine\":289,\"endLine\":289,\"startOffset\":19,\"endOffset\":22},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":296,\"endLine\":296,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":298,\"endLine\":298,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":300,\"endLine\":300,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":302,\"endLine\":302,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":304,\"endLine\":304,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":306,\"endLine\":306,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":308,\"endLine\":308,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":310,\"endLine\":310,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":311,\"endLine\":311,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":313,\"endLine\":313,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":319,\"endLine\":319,\"startOffset\":54,\"endOffset\":55},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":324,\"endLine\":324,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":326,\"endLine\":326,\"startOffset\":58,\"endOffset\":59},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":331,\"endLine\":331,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":335,\"endLine\":335,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":336,\"endLine\":336,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":337,\"endLine\":337,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":339,\"endLine\":339,\"startOffset\":18,\"endOffset\":22},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":342,\"endLine\":342,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":344,\"endLine\":344,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":346,\"endLine\":346,\"startOffset\":26,\"endOffset\":30},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":349,\"endLine\":349,\"startOffset\":22,\"endOffset\":27},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 41 to the 15 allowed.\",\"effort\":\"31min\",\"debt\":\"31min\",\"author\":\"ts.stadler@gmx.de\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-06-21T08:09:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"40633b8f-d265-4f5f-9ec1-69d35c710695\",\"rule\":\"java:S3599\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":140,\"hash\":\"d715620bfc2f4a9f3b028b680b3182bd\",\"textRange\":{\"startLine\":140,\"endLine\":175,\"startOffset\":38,\"endOffset\":9},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Use another way to initialize this instance.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"leak\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"BUG\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"RELIABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"389129bd-9848-4d7a-8a11-06cf51122a23\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":351,\"hash\":\"040a76a42823e0c3c7026dc5d2493241\",\"textRange\":{\"startLine\":351,\"endLine\":351,\"startOffset\":19,\"endOffset\":40},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":354,\"endLine\":354,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":357,\"endLine\":357,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":363,\"endLine\":363,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":367,\"endLine\":367,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":374,\"endLine\":374,\"startOffset\":12,\"endOffset\":15},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":376,\"endLine\":376,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":376,\"endLine\":376,\"startOffset\":31,\"endOffset\":33},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":376,\"endLine\":376,\"startOffset\":91,\"endOffset\":93},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":377,\"endLine\":377,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":381,\"endLine\":381,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":389,\"endLine\":389,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":389,\"endLine\":389,\"startOffset\":30,\"endOffset\":32},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":394,\"endLine\":394,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":396,\"endLine\":396,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":396,\"endLine\":396,\"startOffset\":25,\"endOffset\":27},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 25 to the 15 allowed.\",\"effort\":\"15min\",\"debt\":\"15min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1cf2b531-07d8-4283-9f7f-c7f750e2a49b\",\"rule\":\"java:S1659\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":352,\"hash\":\"71cad5838b4f516387b058cc80ed7b71\",\"textRange\":{\"startLine\":352,\"endLine\":352,\"startOffset\":32,\"endOffset\":42},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Declare \\\"actionName\\\" on a separate line.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\",\"cert\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FORMATTED\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c4332627-a265-4e08-95a9-65fd0da99f16\",\"rule\":\"java:S1066\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":377,\"hash\":\"a40b4b6d9c83b05bca6a5b76fd6ab68b\",\"textRange\":{\"startLine\":377,\"endLine\":377,\"startOffset\":20,\"endOffset\":22},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":376,\"endLine\":376,\"startOffset\":16,\"endOffset\":18},\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Merge this if statement with the enclosing one.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"b2485096-9756-4df6-ab0a-f2b999e911d2\",\"rule\":\"java:S1066\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":574,\"hash\":\"dd1225be27a61d7cc83c1b136e7127d4\",\"textRange\":{\"startLine\":574,\"endLine\":574,\"startOffset\":12,\"endOffset\":14},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":573,\"endLine\":573,\"startOffset\":8,\"endOffset\":10},\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Merge this if statement with the enclosing one.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"b12b2e54-2311-49cd-b4cf-745a138719fe\",\"rule\":\"java:S1066\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":575,\"hash\":\"a7c355b43a0cfa7ba5cd3ed6c6a0e335\",\"textRange\":{\"startLine\":575,\"endLine\":575,\"startOffset\":16,\"endOffset\":18},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":574,\"endLine\":574,\"startOffset\":12,\"endOffset\":14},\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Merge this if statement with the enclosing one.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a8474740-8d31-4855-9450-70f9edbaf573\",\"rule\":\"java:S2160\",\"severity\":\"MINOR\",\"component\":\"struts:plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsApplicationResource.java\",\"project\":\"struts\",\"line\":30,\"hash\":\"98948d462188d4cc27d52041cd0b03a6\",\"textRange\":{\"startLine\":30,\"endLine\":30,\"startOffset\":13,\"endOffset\":38},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Override the \\\"equals\\\" method in this class.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-06-10T14:06:10+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"e6c02306-ea66-47fa-8dde-06c2deb7bffd\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"project\":\"struts\",\"line\":49,\"hash\":\"4000bb9d34c44cc34eba9c54d1b0c86a\",\"textRange\":{\"startLine\":49,\"endLine\":49,\"startOffset\":18,\"endOffset\":30},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":53,\"endLine\":53,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":53,\"endLine\":53,\"startOffset\":36,\"endOffset\":38},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":58,\"endLine\":58,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":60,\"endLine\":60,\"startOffset\":19,\"endOffset\":21},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":69,\"endLine\":69,\"startOffset\":16,\"endOffset\":19},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":73,\"endLine\":73,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":76,\"endLine\":76,\"startOffset\":22,\"endOffset\":27},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":19,\"endOffset\":21},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":83,\"endLine\":83,\"startOffset\":16,\"endOffset\":19},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":87,\"endLine\":87,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":90,\"endLine\":90,\"startOffset\":22,\"endOffset\":27},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":93,\"endLine\":93,\"startOffset\":19,\"endOffset\":21},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":93,\"endLine\":93,\"startOffset\":63,\"endOffset\":65},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":99,\"endLine\":99,\"startOffset\":16,\"endOffset\":19},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":103,\"endLine\":103,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":106,\"endLine\":106,\"startOffset\":22,\"endOffset\":27},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":110,\"endLine\":110,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":110,\"endLine\":110,\"startOffset\":36,\"endOffset\":38},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":112,\"endLine\":112,\"startOffset\":27,\"endOffset\":29},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":112,\"endLine\":112,\"startOffset\":43,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":114,\"endLine\":114,\"startOffset\":27,\"endOffset\":29},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":114,\"endLine\":114,\"startOffset\":43,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":116,\"endLine\":116,\"startOffset\":22,\"endOffset\":26},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":119,\"endLine\":119,\"startOffset\":18,\"endOffset\":23},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":126,\"endLine\":126,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":132,\"endLine\":132,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":136,\"endLine\":136,\"startOffset\":22,\"endOffset\":27},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":141,\"endLine\":141,\"startOffset\":14,\"endOffset\":19},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":145,\"endLine\":145,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 63 to the 15 allowed.\",\"effort\":\"53min\",\"debt\":\"53min\",\"author\":\"ghuber@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-05-19T09:30:36+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"86c5fbdc-1b3d-4170-abe4-0fa392fd7c01\",\"rule\":\"java:S1192\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"project\":\"struts\",\"line\":117,\"hash\":\"200b1d98b0a714fcbd4143991f56c0bd\",\"textRange\":{\"startLine\":117,\"endLine\":117,\"startOffset\":58,\"endOffset\":80},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":117,\"endLine\":117,\"startOffset\":58,\"endOffset\":80},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":120,\"endLine\":120,\"startOffset\":54,\"endOffset\":76},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":142,\"endLine\":142,\"startOffset\":50,\"endOffset\":72},\"msg\":\"Duplication\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Define a constant instead of duplicating this literal \\\"Could not parse date\\\" 3 times.\",\"effort\":\"8min\",\"debt\":\"8min\",\"author\":\"ghuber@apache.org\",\"tags\":[\"design\"],\"creationDate\":\"2022-05-19T09:30:36+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"DISTINCT\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"43023b26-c4b4-4f49-88b9-b7a93119e9b5\",\"rule\":\"java:S6541\",\"severity\":\"INFO\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"project\":\"struts\",\"line\":49,\"hash\":\"4000bb9d34c44cc34eba9c54d1b0c86a\",\"textRange\":{\"startLine\":49,\"endLine\":49,\"startOffset\":18,\"endOffset\":30},\"flows\":[],\"status\":\"OPEN\",\"message\":\"A \\\"Brain Method\\\" was detected. Refactor it to reduce at least one of the following metrics: LOC from 90 to 64, Complexity from 24 to 14, Nesting Level from 5 to 2, Number of Variables from 30 to 6.\",\"effort\":\"0min\",\"debt\":\"0min\",\"author\":\"gregh3269@gmail.com\",\"tags\":[\"design\",\"architecture\"],\"creationDate\":\"2022-05-17T05:31:30+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a4183f4f-410c-479b-8059-08d8bae4a3a8\",\"rule\":\"java:S108\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"project\":\"struts\",\"line\":106,\"hash\":\"7ce7fd74fa3ef1f4a253c1501e30c4c6\",\"textRange\":{\"startLine\":106,\"endLine\":106,\"startOffset\":60,\"endOffset\":61},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Either remove or fill this block of code.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"gregh3269@gmail.com\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-17T05:31:30+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"bc4ace49-a65c-4a71-ae99-3f272ccf12c8\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"project\":\"struts\",\"line\":75,\"hash\":\"7386f3159001dd1331f7fa720fa4b11f\",\"textRange\":{\"startLine\":75,\"endLine\":75,\"startOffset\":18,\"endOffset\":30},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":78,\"endLine\":78,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":78,\"endLine\":78,\"startOffset\":26,\"endOffset\":28},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":83,\"endLine\":83,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":95,\"endLine\":95,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":97,\"endLine\":97,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":99,\"endLine\":99,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":101,\"endLine\":101,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":103,\"endLine\":103,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":105,\"endLine\":105,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":107,\"endLine\":107,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":109,\"endLine\":109,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":111,\"endLine\":111,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":113,\"endLine\":113,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":113,\"endLine\":113,\"startOffset\":57,\"endOffset\":59},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":115,\"endLine\":115,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":119,\"endLine\":119,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":120,\"endLine\":120,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":123,\"endLine\":123,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":125,\"endLine\":125,\"startOffset\":18,\"endOffset\":22},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":131,\"endLine\":131,\"startOffset\":19,\"endOffset\":21},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":135,\"endLine\":135,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":135,\"endLine\":135,\"startOffset\":31,\"endOffset\":33},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 26 to the 15 allowed.\",\"effort\":\"16min\",\"debt\":\"16min\",\"author\":\"gregh3269@gmail.com\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-05-17T05:31:30+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"959697d3-b721-445b-b973-8c6c5fba8609\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":232,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":232,\"endLine\":232,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty map instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"d15353bc-8d2b-4776-8d54-53cff0bbcc15\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":262,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":262,\"endLine\":262,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty map instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"89776846-5d08-4759-96db-50c41816b513\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":271,\"hash\":\"5371973806ebc1cf99a41e52239f1ef6\",\"textRange\":{\"startLine\":271,\"endLine\":271,\"startOffset\":16,\"endOffset\":39},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"e136f3f4-8e5f-475f-982a-4d03aa71d406\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":277,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":277,\"endLine\":277,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty collection instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"8f7d664d-b37c-4018-ad87-f47ee6c8d09a\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":282,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":282,\"endLine\":282,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty collection instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"3c99d09d-337a-47c8-be3f-aa1d6a499fd1\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":286,\"hash\":\"5a87d2653876a0c4bb741506c6f7c085\",\"textRange\":{\"startLine\":286,\"endLine\":286,\"startOffset\":16,\"endOffset\":27},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"73ca4b60-c648-469b-bb39-c043fe698906\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":291,\"hash\":\"05b05bcc4bf3fb6c5862920a9cd23948\",\"textRange\":{\"startLine\":291,\"endLine\":291,\"startOffset\":42,\"endOffset\":53},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"18e51d03-adf0-4b50-8d53-0d677e6f6152\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":296,\"hash\":\"08965c5ac15d9fe56eeedea509468878\",\"textRange\":{\"startLine\":296,\"endLine\":296,\"startOffset\":16,\"endOffset\":27},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"529ed68e-3c82-42da-9757-48b9690f40f2\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":316,\"hash\":\"d58a32e4959bbb6304111f161db733fe\",\"textRange\":{\"startLine\":316,\"endLine\":316,\"startOffset\":16,\"endOffset\":28},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1ef8080e-4279-49db-9084-c7a4c44257d5\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\"project\":\"struts\",\"line\":328,\"hash\":\"e75c4731562803ee6ff19da01b454395\",\"textRange\":{\"startLine\":328,\"endLine\":328,\"startOffset\":13,\"endOffset\":18},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"719fdad6-8cf5-44b3-982b-4ec4e11c22e1\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\"project\":\"struts\",\"line\":333,\"hash\":\"98485397bf25e554dd48e5e45b0e496b\",\"textRange\":{\"startLine\":333,\"endLine\":333,\"startOffset\":13,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1bc73a9d-bb87-4f78-939e-8c8add442f1e\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\"project\":\"struts\",\"line\":339,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":339,\"endLine\":339,\"startOffset\":9,\"endOffset\":13},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty collection instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"cbc0a283-b563-4e9e-8bf6-622f7c115204\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\"project\":\"struts\",\"line\":120,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":120,\"endLine\":120,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty collection instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"2eb46435-8378-4ce6-9293-978b93924063\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\"project\":\"struts\",\"line\":125,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":125,\"endLine\":125,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty collection instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"e3725341-cdc7-4cbd-9501-398b2fba35b7\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\"project\":\"struts\",\"line\":236,\"hash\":\"4ad3614a428a3832d136e953b0e76fbd\",\"textRange\":{\"startLine\":236,\"endLine\":236,\"startOffset\":16,\"endOffset\":36},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"3c8e37d2-5e50-4923-81d7-73c2040c4170\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"project\":\"struts\",\"line\":43,\"hash\":\"ad09a36483e7010a1df5966a08a189a8\",\"textRange\":{\"startLine\":43,\"endLine\":43,\"startOffset\":18,\"endOffset\":28},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":50,\"endLine\":50,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":50,\"endLine\":50,\"startOffset\":32,\"endOffset\":34},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":53,\"endLine\":53,\"startOffset\":14,\"endOffset\":16},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":56,\"endLine\":56,\"startOffset\":19,\"endOffset\":21},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":70,\"endLine\":70,\"startOffset\":14,\"endOffset\":19},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":33,\"endOffset\":35},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":62,\"endOffset\":64},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":86,\"endOffset\":88},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":81,\"endLine\":81,\"startOffset\":40,\"endOffset\":41},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":82,\"endLine\":82,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":87,\"endLine\":87,\"startOffset\":34,\"endOffset\":36},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":89,\"endLine\":89,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":91,\"endLine\":91,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 20 to the 15 allowed.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-05-05T10:28:09+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"b752c368-3b98-4dba-b1ef-252f7e90b542\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\"project\":\"struts\",\"line\":21,\"hash\":\"378ce92770f7870670a517669d41426b\",\"textRange\":{\"startLine\":21,\"endLine\":21,\"startOffset\":43,\"endOffset\":48},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"eb06868c-fb33-456b-9928-ae5104f890a5\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\"project\":\"struts\",\"line\":21,\"hash\":\"378ce92770f7870670a517669d41426b\",\"textRange\":{\"startLine\":21,\"endLine\":21,\"startOffset\":38,\"endOffset\":41},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"53b9fcd6-11b2-4ba5-a058-a03ed62a30d2\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\"project\":\"struts\",\"line\":29,\"hash\":\"4625d9c6d7f029b6ff779c6d705d948b\",\"textRange\":{\"startLine\":29,\"endLine\":29,\"startOffset\":45,\"endOffset\":48},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"f5c42f3a-d1ae-4f85-81b3-5fcf93139e45\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\"project\":\"struts\",\"line\":29,\"hash\":\"4625d9c6d7f029b6ff779c6d705d948b\",\"textRange\":{\"startLine\":29,\"endLine\":29,\"startOffset\":50,\"endOffset\":55},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1d898f55-8f06-4cc2-91a9-7b11bc3755e1\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\"project\":\"struts\",\"line\":30,\"hash\":\"bb4c2ca19aeb02967dbd0aa204dbf5e1\",\"textRange\":{\"startLine\":30,\"endLine\":30,\"startOffset\":42,\"endOffset\":47},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"4f62cdfe-e243-4201-89a6-eba6df0478c1\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\"project\":\"struts\",\"line\":30,\"hash\":\"bb4c2ca19aeb02967dbd0aa204dbf5e1\",\"textRange\":{\"startLine\":30,\"endLine\":30,\"startOffset\":37,\"endOffset\":40},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"2912f862-650d-4174-93be-7a9bda911295\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\"project\":\"struts\",\"line\":29,\"hash\":\"4659f49408d5a4c1832b09fdf6dd8344\",\"textRange\":{\"startLine\":29,\"endLine\":29,\"startOffset\":52,\"endOffset\":57},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a0434760-c4df-4c3f-b118-eb5bba6fe959\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\"project\":\"struts\",\"line\":29,\"hash\":\"4659f49408d5a4c1832b09fdf6dd8344\",\"textRange\":{\"startLine\":29,\"endLine\":29,\"startOffset\":47,\"endOffset\":50},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"93f5bc7e-467c-4fbb-8d0b-d21627b6480c\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\"project\":\"struts\",\"line\":21,\"hash\":\"e8c5de653f72a21e22f3ca8578086ca4\",\"textRange\":{\"startLine\":21,\"endLine\":21,\"startOffset\":40,\"endOffset\":43},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a13643d9-c00c-4f51-81f9-ce49e6f402f1\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\"project\":\"struts\",\"line\":21,\"hash\":\"e8c5de653f72a21e22f3ca8578086ca4\",\"textRange\":{\"startLine\":21,\"endLine\":21,\"startOffset\":45,\"endOffset\":50},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"640a5b8a-0381-4f0c-bb42-e8d23506a226\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\"project\":\"struts\",\"line\":25,\"hash\":\"27722f18cae945818625c57d7f0630ab\",\"textRange\":{\"startLine\":25,\"endLine\":25,\"startOffset\":27,\"endOffset\":30},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"9192f238-1461-4e7f-8bdd-97c62492af81\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\"project\":\"struts\",\"line\":25,\"hash\":\"27722f18cae945818625c57d7f0630ab\",\"textRange\":{\"startLine\":25,\"endLine\":25,\"startOffset\":32,\"endOffset\":37},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"38e77ac5-db29-4854-b4ae-bd81de860375\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\"project\":\"struts\",\"line\":26,\"hash\":\"6881df66d49c8ef0fffb6a0e82e414fa\",\"textRange\":{\"startLine\":26,\"endLine\":26,\"startOffset\":32,\"endOffset\":37},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"f4ff5914-bdda-451e-abad-aaf920e4ce14\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\"project\":\"struts\",\"line\":26,\"hash\":\"6881df66d49c8ef0fffb6a0e82e414fa\",\"textRange\":{\"startLine\":26,\"endLine\":26,\"startOffset\":27,\"endOffset\":30},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"00062bc2-3e52-4694-b39b-0cec85a359be\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\"project\":\"struts\",\"line\":30,\"hash\":\"c69d0dd447a5197413c69f6fd4307cb9\",\"textRange\":{\"startLine\":30,\"endLine\":30,\"startOffset\":30,\"endOffset\":33},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"d4e7d830-4d09-4026-9d29-9db5247955e0\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\"project\":\"struts\",\"line\":30,\"hash\":\"c69d0dd447a5197413c69f6fd4307cb9\",\"textRange\":{\"startLine\":30,\"endLine\":30,\"startOffset\":35,\"endOffset\":40},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1a4abf21-472f-4b48-adff-3e1028065352\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\"project\":\"struts\",\"line\":36,\"hash\":\"112b907b170719a3a1bdb989d4bd4b4f\",\"textRange\":{\"startLine\":36,\"endLine\":36,\"startOffset\":26,\"endOffset\":29},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"df8ad544-d338-4f49-be4a-fc24b0aeb9b9\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\"project\":\"struts\",\"line\":36,\"hash\":\"112b907b170719a3a1bdb989d4bd4b4f\",\"textRange\":{\"startLine\":36,\"endLine\":36,\"startOffset\":31,\"endOffset\":36},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c7a5ca5d-4d28-4979-835e-37334be102aa\",\"rule\":\"java:S1700\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\"project\":\"struts\",\"line\":38,\"hash\":\"16deda567c3d51307896f931fa4666f2\",\"textRange\":{\"startLine\":38,\"endLine\":38,\"startOffset\":34,\"endOffset\":46},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename field \\\"ognlLRUCache\\\"\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"5ac5f057-efff-4e18-9c28-1f613f0eacc7\",\"rule\":\"java:S112\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/impl/FieldMatchValidator.java\",\"project\":\"struts\",\"line\":56,\"hash\":\"b9591633d35b5381ce42a1567a182f69\",\"textRange\":{\"startLine\":56,\"endLine\":56,\"startOffset\":78,\"endOffset\":87},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Define and throw a dedicated exception instead of using a generic one.\",\"effort\":\"20min\",\"debt\":\"20min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cwe\",\"error-handling\",\"cert\"],\"creationDate\":\"2022-03-04T11:52:33+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"3df72514-a5f4-49c6-9a9f-b214a96908a7\",\"rule\":\"java:S1066\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"project\":\"struts\",\"line\":336,\"hash\":\"0d0de1cc860cda55c95e421c9b2851cc\",\"textRange\":{\"startLine\":336,\"endLine\":336,\"startOffset\":12,\"endOffset\":14},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":335,\"endLine\":335,\"startOffset\":8,\"endOffset\":10},\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Merge this if statement with the enclosing one.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-02-20T12:29:46+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"73d403ab-a6cd-4bf9-86db-d5f0b43431c8\",\"rule\":\"java:S3252\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/date/SimpleDateFormatAdapter.java\",\"project\":\"struts\",\"line\":37,\"hash\":\"6136567c880008ac9e5bd4aa2bd330ac\",\"textRange\":{\"startLine\":37,\"endLine\":37,\"startOffset\":34,\"endOffset\":49},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Use static access with \\\"java.text.DateFormat\\\" for \\\"getDateInstance\\\".\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"confusing\"],\"creationDate\":\"2022-02-20T12:29:46+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"7e029542-01bb-4b3a-9b2a-d8573a341ce0\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"project\":\"struts\",\"line\":645,\"hash\":\"4b4b383d71402833a54ea926e453ff26\",\"textRange\":{\"startLine\":645,\"endLine\":645,\"startOffset\":16,\"endOffset\":30},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":650,\"endLine\":650,\"startOffset\":50,\"endOffset\":51},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":660,\"endLine\":660,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":662,\"endLine\":662,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":666,\"endLine\":666,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":672,\"endLine\":672,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":677,\"endLine\":677,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":679,\"endLine\":679,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":680,\"endLine\":680,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":686,\"endLine\":686,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":690,\"endLine\":690,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":696,\"endLine\":696,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":700,\"endLine\":700,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":704,\"endLine\":704,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":706,\"endLine\":706,\"startOffset\":57,\"endOffset\":58},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":709,\"endLine\":709,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":711,\"endLine\":711,\"startOffset\":57,\"endOffset\":58},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":714,\"endLine\":714,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":718,\"endLine\":718,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":722,\"endLine\":722,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":726,\"endLine\":726,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":730,\"endLine\":730,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":734,\"endLine\":734,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":738,\"endLine\":738,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":742,\"endLine\":742,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":746,\"endLine\":746,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":750,\"endLine\":750,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":754,\"endLine\":754,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":758,\"endLine\":758,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":762,\"endLine\":762,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":766,\"endLine\":766,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":770,\"endLine\":770,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":774,\"endLine\":774,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":778,\"endLine\":778,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":782,\"endLine\":782,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":786,\"endLine\":786,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":790,\"endLine\":790,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":794,\"endLine\":794,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":801,\"endLine\":801,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":803,\"endLine\":803,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":804,\"endLine\":804,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":807,\"endLine\":807,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":808,\"endLine\":808,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":810,\"endLine\":810,\"startOffset\":27,\"endOffset\":29},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":812,\"endLine\":812,\"startOffset\":56,\"endOffset\":58},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":813,\"endLine\":813,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+5 (incl 4 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":815,\"endLine\":815,\"startOffset\":26,\"endOffset\":30},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":820,\"endLine\":820,\"startOffset\":18,\"endOffset\":22},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":821,\"endLine\":821,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":823,\"endLine\":823,\"startOffset\":27,\"endOffset\":29},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":835,\"endLine\":835,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":838,\"endLine\":838,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":847,\"endLine\":847,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":850,\"endLine\":850,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":855,\"endLine\":855,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":863,\"endLine\":863,\"startOffset\":16,\"endOffset\":19},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":867,\"endLine\":867,\"startOffset\":12,\"endOffset\":16},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":873,\"endLine\":873,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":878,\"endLine\":878,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":880,\"endLine\":880,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":885,\"endLine\":885,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":887,\"endLine\":887,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":890,\"endLine\":890,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":893,\"endLine\":893,\"startOffset\":73,\"endOffset\":74},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":895,\"endLine\":895,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":897,\"endLine\":897,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":904,\"endLine\":904,\"startOffset\":44,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":905,\"endLine\":905,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 101 to the 15 allowed.\",\"effort\":\"1h31min\",\"debt\":\"1h31min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-02-10T17:42:10+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"ac7634b7-e674-4d04-beec-7db1a234cfd4\",\"rule\":\"java:S1192\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"project\":\"struts\",\"line\":872,\"hash\":\"621c51602ce755cab2af82dbc25cd187\",\"textRange\":{\"startLine\":872,\"endLine\":872,\"startOffset\":68,\"endOffset\":86},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":872,\"endLine\":872,\"startOffset\":68,\"endOffset\":86},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":893,\"endLine\":893,\"startOffset\":34,\"endOffset\":52},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":994,\"endLine\":994,\"startOffset\":23,\"endOffset\":41},\"msg\":\"Duplication\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Define a constant instead of duplicating this literal \\\"jsTooltipEnabled\\\" 3 times.\",\"effort\":\"8min\",\"debt\":\"8min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"design\"],\"creationDate\":\"2022-02-10T17:42:10+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"DISTINCT\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"436ab900-4279-44e7-ac2d-69c3559f4d3b\",\"rule\":\"java:S2293\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"project\":\"struts\",\"line\":973,\"hash\":\"727663d500898c74c92d7d5662ae514e\",\"textRange\":{\"startLine\":973,\"endLine\":973,\"startOffset\":38,\"endOffset\":54},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Replace the type specification in this constructor call with the diamond operator (\\\"\\u003c\\u003e\\\").\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-02-10T17:42:10+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"6a504ad0-d2da-4996-8660-1c73e98854eb\",\"rule\":\"java:S1128\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Anchor.java\",\"project\":\"struts\",\"line\":23,\"hash\":\"d820e074f2f71232ad758869ecffbc2a\",\"textRange\":{\"startLine\":23,\"endLine\":23,\"startOffset\":7,\"endOffset\":44},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this unused import \\u0027org.apache.commons.lang3.BooleanUtils\\u0027.\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"unused\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"3f773abc-fc6f-423d-a1c6-4ecfbf228777\",\"rule\":\"java:S1149\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Component.java\",\"project\":\"struts\",\"line\":222,\"hash\":\"3ad8e9d0d339c34a6d9e232b1bf58778\",\"textRange\":{\"startLine\":222,\"endLine\":222,\"startOffset\":8,\"endOffset\":24},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Replace the synchronized class \\\"Stack\\\" by an unsynchronized one such as \\\"Deque\\\".\",\"effort\":\"20min\",\"debt\":\"20min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"performance\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"2d3c8f0a-ac1b-4433-9c25-91f234fa7f0f\",\"rule\":\"java:S1128\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\"project\":\"struts\",\"line\":26,\"hash\":\"806cb7cca5c5f74fcce1dbd8936cce8e\",\"textRange\":{\"startLine\":26,\"endLine\":26,\"startOffset\":7,\"endOffset\":44},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this unused import \\u0027com.opensymphony.xwork2.inject.Inject\\u0027.\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"unused\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c5b7143b-3554-4f54-9563-c627c7875abc\",\"rule\":\"java:S1128\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\"project\":\"struts\",\"line\":27,\"hash\":\"d820e074f2f71232ad758869ecffbc2a\",\"textRange\":{\"startLine\":27,\"endLine\":27,\"startOffset\":7,\"endOffset\":44},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this unused import \\u0027org.apache.commons.lang3.BooleanUtils\\u0027.\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"unused\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"eff007fb-a303-4ff2-89b0-ba23309b21b7\",\"rule\":\"java:S1128\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\"project\":\"struts\",\"line\":28,\"hash\":\"46ffce9a943a7192751f2ac5e391fd00\",\"textRange\":{\"startLine\":28,\"endLine\":28,\"startOffset\":7,\"endOffset\":41},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this unused import \\u0027org.apache.struts2.StrutsConstants\\u0027.\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"unused\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"3ba1db0c-e81b-4207-9605-fe3b87d54c55\",\"rule\":\"java:S5961\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"project\":\"struts\",\"line\":54,\"hash\":\"c68a190432fff4a8e505fea58e598c5d\",\"textRange\":{\"startLine\":54,\"endLine\":54,\"startOffset\":16,\"endOffset\":36},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":69,\"endLine\":69,\"startOffset\":12,\"endOffset\":64},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":70,\"endLine\":70,\"startOffset\":12,\"endOffset\":44},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":71,\"endLine\":71,\"startOffset\":12,\"endOffset\":40},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":72,\"endLine\":72,\"startOffset\":12,\"endOffset\":51},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":73,\"endLine\":73,\"startOffset\":12,\"endOffset\":42},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":74,\"endLine\":74,\"startOffset\":12,\"endOffset\":41},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":75,\"endLine\":75,\"startOffset\":12,\"endOffset\":45},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":12,\"endOffset\":62},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":82,\"endLine\":82,\"startOffset\":12,\"endOffset\":70},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":83,\"endLine\":83,\"startOffset\":12,\"endOffset\":69},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":86,\"endLine\":86,\"startOffset\":12,\"endOffset\":77},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":87,\"endLine\":87,\"startOffset\":12,\"endOffset\":80},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":88,\"endLine\":88,\"startOffset\":12,\"endOffset\":72},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":91,\"endLine\":91,\"startOffset\":12,\"endOffset\":79},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":92,\"endLine\":92,\"startOffset\":12,\"endOffset\":85},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":93,\"endLine\":93,\"startOffset\":12,\"endOffset\":63},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":94,\"endLine\":94,\"startOffset\":12,\"endOffset\":71},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":97,\"endLine\":97,\"startOffset\":12,\"endOffset\":69},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":98,\"endLine\":98,\"startOffset\":12,\"endOffset\":66},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":99,\"endLine\":99,\"startOffset\":12,\"endOffset\":84},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":100,\"endLine\":100,\"startOffset\":12,\"endOffset\":62},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":101,\"endLine\":101,\"startOffset\":12,\"endOffset\":70},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":104,\"endLine\":104,\"startOffset\":12,\"endOffset\":72},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":105,\"endLine\":105,\"startOffset\":12,\"endOffset\":67},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":106,\"endLine\":106,\"startOffset\":12,\"endOffset\":70},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":107,\"endLine\":107,\"startOffset\":12,\"endOffset\":88},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":108,\"endLine\":108,\"startOffset\":12,\"endOffset\":74},\"msg\":\"Assertion\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce the number of assertions from 27 to less than 25.\",\"effort\":\"20min\",\"debt\":\"20min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"tests\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"TEST\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"814d34f9-d9a6-476d-a856-5e4831121c19\",\"rule\":\"java:S1192\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"project\":\"struts\",\"line\":307,\"hash\":\"2b81d34caa1a27b992b3f00702c32438\",\"textRange\":{\"startLine\":307,\"endLine\":307,\"startOffset\":57,\"endOffset\":64},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"textRange\":{\"startLine\":307,\"endLine\":307,\"startOffset\":57,\"endOffset\":64},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"textRange\":{\"startLine\":308,\"endLine\":308,\"startOffset\":77,\"endOffset\":84},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"textRange\":{\"startLine\":309,\"endLine\":309,\"startOffset\":77,\"endOffset\":84},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"textRange\":{\"startLine\":311,\"endLine\":311,\"startOffset\":74,\"endOffset\":81},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"textRange\":{\"startLine\":312,\"endLine\":312,\"startOffset\":61,\"endOffset\":68},\"msg\":\"Duplication\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Define a constant instead of duplicating this literal \\\"false\\\" 5 times.\",\"effort\":\"12min\",\"debt\":\"12min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"design\"],\"creationDate\":\"2022-01-01T13:04:38+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"DISTINCT\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"4999e0e1-c5a8-4fea-982a-2143f8b4fa1e\",\"rule\":\"java:S1123\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"project\":\"struts\",\"line\":317,\"hash\":\"109d288af0b4e6464d6a8b00fc69604e\",\"textRange\":{\"startLine\":317,\"endLine\":317,\"startOffset\":31,\"endOffset\":66},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add the missing @Deprecated annotation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"obsolete\",\"bad-practice\"],\"creationDate\":\"2022-01-01T13:04:38+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"72e4f660-6c2c-48bc-aa07-2f13dc53bd05\",\"rule\":\"java:S1133\",\"severity\":\"INFO\",\"component\":\"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"project\":\"struts\",\"line\":317,\"hash\":\"109d288af0b4e6464d6a8b00fc69604e\",\"textRange\":{\"startLine\":317,\"endLine\":317,\"startOffset\":31,\"endOffset\":66},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Do not forget to remove this deprecated code someday.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"obsolete\"],\"creationDate\":\"2022-01-01T13:04:38+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"b620b584-977f-41d7-bed4-c5fa017b51b1\",\"rule\":\"java:S1133\",\"severity\":\"INFO\",\"component\":\"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"project\":\"struts\",\"line\":354,\"hash\":\"94fa70e4cae05c5b02f8f65363e9ceed\",\"textRange\":{\"startLine\":354,\"endLine\":354,\"startOffset\":31,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Do not forget to remove this deprecated code someday.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"obsolete\"],\"creationDate\":\"2022-01-01T13:04:38+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"ee74648f-346b-4fc0-8b1d-55f2fe6d2b77\",\"rule\":\"java:S1123\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"project\":\"struts\",\"line\":354,\"hash\":\"94fa70e4cae05c5b02f8f65363e9ceed\",\"textRange\":{\"startLine\":354,\"endLine\":354,\"startOffset\":31,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add the missing @Deprecated annotation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"obsolete\",\"bad-practice\"],\"creationDate\":\"2022-01-01T13:04:38+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"54c70d99-66cc-4a46-b338-1a49acff93f5\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"project\":\"struts\",\"line\":105,\"hash\":\"77a7d3bd9f6b0bc1e71e7abf03482d53\",\"textRange\":{\"startLine\":105,\"endLine\":105,\"startOffset\":36,\"endOffset\":52},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"excludedPatterns\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"eaee74e5-a1ee-4ce8-936e-cd6f8458bdc9\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"project\":\"struts\",\"line\":106,\"hash\":\"ba2e9483e28f5efff5b9d0d058a4b08a\",\"textRange\":{\"startLine\":106,\"endLine\":106,\"startOffset\":36,\"endOffset\":52},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"acceptedPatterns\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"ed90bca7-b6c2-4c36-9e3d-af63480e2ad3\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"project\":\"struts\",\"line\":148,\"hash\":\"0c9986d925149928f78e79ee82d6296c\",\"textRange\":{\"startLine\":148,\"endLine\":148,\"startOffset\":28,\"endOffset\":37},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":157,\"endLine\":157,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":163,\"endLine\":163,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":167,\"endLine\":167,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":182,\"endLine\":182,\"startOffset\":16,\"endOffset\":19},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":185,\"endLine\":185,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":189,\"endLine\":189,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":193,\"endLine\":193,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":197,\"endLine\":197,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+5 (incl 4 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":199,\"endLine\":199,\"startOffset\":28,\"endOffset\":30},\"msg\":\"+6 (incl 5 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":204,\"endLine\":204,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":207,\"endLine\":207,\"startOffset\":26,\"endOffset\":31},\"msg\":\"+5 (incl 4 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":208,\"endLine\":208,\"startOffset\":28,\"endOffset\":30},\"msg\":\"+6 (incl 5 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":213,\"endLine\":213,\"startOffset\":32,\"endOffset\":34},\"msg\":\"+7 (incl 6 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":221,\"endLine\":221,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":224,\"endLine\":224,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 58 to the 15 allowed.\",\"effort\":\"48min\",\"debt\":\"48min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a3348846-e2cc-42c6-83a7-7526869742b0\",\"rule\":\"java:S135\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"project\":\"struts\",\"line\":182,\"hash\":\"5be9678de2db3c1b47b866b2cd57d4d7\",\"textRange\":{\"startLine\":182,\"endLine\":182,\"startOffset\":16,\"endOffset\":19},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":186,\"endLine\":186,\"startOffset\":24,\"endOffset\":33},\"msg\":\"\\\"continue\\\" statement.\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":190,\"endLine\":190,\"startOffset\":24,\"endOffset\":33},\"msg\":\"\\\"continue\\\" statement.\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Reduce the total number of break and continue statements in this loop to use at most one.\",\"effort\":\"20min\",\"debt\":\"20min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a75d5ceb-93f9-4d24-b900-8dfc63d6d036\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java\",\"project\":\"struts\",\"line\":34,\"hash\":\"a5b9fb731777714f7a385f987db98d55\",\"textRange\":{\"startLine\":34,\"endLine\":34,\"startOffset\":29,\"endOffset\":39},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"invocation\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"b7e8a6ab-4ce5-48a8-b199-3af31227a51f\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"project\":\"struts\",\"line\":122,\"hash\":\"c0e73c336b59ce2d5b9524d01901f131\",\"textRange\":{\"startLine\":122,\"endLine\":122,\"startOffset\":19,\"endOffset\":22},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":124,\"endLine\":124,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":125,\"endLine\":125,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":127,\"endLine\":127,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":130,\"endLine\":130,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":135,\"endLine\":135,\"startOffset\":48,\"endOffset\":50},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":136,\"endLine\":136,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":141,\"endLine\":141,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":142,\"endLine\":142,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":142,\"endLine\":142,\"startOffset\":43,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":144,\"endLine\":144,\"startOffset\":22,\"endOffset\":26},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":147,\"endLine\":147,\"startOffset\":23,\"endOffset\":25},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":147,\"endLine\":147,\"startOffset\":46,\"endOffset\":48},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":149,\"endLine\":149,\"startOffset\":18,\"endOffset\":22},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":153,\"endLine\":153,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":154,\"endLine\":154,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":156,\"endLine\":156,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":157,\"endLine\":157,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":157,\"endLine\":157,\"startOffset\":46,\"endOffset\":48},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":159,\"endLine\":159,\"startOffset\":18,\"endOffset\":22},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 32 to the 15 allowed.\",\"effort\":\"22min\",\"debt\":\"22min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1e9f1c91-24f0-45ae-9552-d8ba178dc06e\",\"rule\":\"java:S1192\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"project\":\"struts\",\"line\":884,\"hash\":\"086ba3aa6f6c7cec0b125eb2ecf9c866\",\"textRange\":{\"startLine\":884,\"endLine\":884,\"startOffset\":68,\"endOffset\":82},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":884,\"endLine\":884,\"startOffset\":68,\"endOffset\":82},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":886,\"endLine\":886,\"startOffset\":34,\"endOffset\":48},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":888,\"endLine\":888,\"startOffset\":34,\"endOffset\":48},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":998,\"endLine\":998,\"startOffset\":23,\"endOffset\":37},\"msg\":\"Duplication\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Define a constant instead of duplicating this literal \\\"tooltipDelay\\\" 4 times.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"design\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"DISTINCT\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"2c45d277-e7e7-478d-a743-f2b21e501b08\",\"rule\":\"java:S6353\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"project\":\"struts\",\"line\":915,\"hash\":\"78505efea3098211379593a61e59c954\",\"textRange\":{\"startLine\":915,\"endLine\":915,\"startOffset\":36,\"endOffset\":49},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Use concise character class syntax \\u0027\\\\\\\\W\\u0027 instead of \\u0027[^a-zA-Z0-9_]\\u0027.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"regex\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"de6d3559-332b-445c-880f-38a1d968c647\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"project\":\"struts\",\"line\":90,\"hash\":\"66332cf44806ccee360f4be320aa4be4\",\"textRange\":{\"startLine\":90,\"endLine\":90,\"startOffset\":47,\"endOffset\":74},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"notExcludedAcceptedPatterns\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"039c1e96-a3d6-4917-86e9-d458077b88f9\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"project\":\"struts\",\"line\":210,\"hash\":\"548d5feccaa9d8246311eb296de3ecd1\",\"textRange\":{\"startLine\":210,\"endLine\":210,\"startOffset\":19,\"endOffset\":28},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":217,\"endLine\":217,\"startOffset\":56,\"endOffset\":58},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":218,\"endLine\":218,\"startOffset\":44,\"endOffset\":46},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":219,\"endLine\":219,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":219,\"endLine\":219,\"startOffset\":36,\"endOffset\":38},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":224,\"endLine\":224,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":235,\"endLine\":235,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":235,\"endLine\":235,\"startOffset\":39,\"endOffset\":41},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":237,\"endLine\":237,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":242,\"endLine\":242,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":247,\"endLine\":247,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":250,\"endLine\":250,\"startOffset\":18,\"endOffset\":23},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":257,\"endLine\":257,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":262,\"endLine\":262,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":275,\"endLine\":275,\"startOffset\":12,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":284,\"endLine\":284,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":287,\"endLine\":287,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 18 to the 15 allowed.\",\"effort\":\"8min\",\"debt\":\"8min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"d33915ee-dcb0-4f4b-bbe4-e73cb22d1c55\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"project\":\"struts\",\"line\":174,\"hash\":\"66332cf44806ccee360f4be320aa4be4\",\"textRange\":{\"startLine\":174,\"endLine\":174,\"startOffset\":47,\"endOffset\":74},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"notExcludedAcceptedPatterns\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"e808f6e3-89c4-40cd-8b7a-f874e97ddadd\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"project\":\"struts\",\"line\":260,\"hash\":\"548d5feccaa9d8246311eb296de3ecd1\",\"textRange\":{\"startLine\":260,\"endLine\":260,\"startOffset\":19,\"endOffset\":28},\"flows\":[{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":271,\"endLine\":271,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":275,\"endLine\":275,\"startOffset\":14,\"endOffset\":19},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":287,\"endLine\":287,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":288,\"endLine\":288,\"startOffset\":57,\"endOffset\":59},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":289,\"endLine\":289,\"startOffset\":44,\"endOffset\":46},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":290,\"endLine\":290,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":292,\"endLine\":292,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":298,\"endLine\":298,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":317,\"endLine\":317,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":320,\"endLine\":320,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":327,\"endLine\":327,\"startOffset\":59,\"endOffset\":61},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":328,\"endLine\":328,\"startOffset\":40,\"endOffset\":42},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":329,\"endLine\":329,\"startOffset\":38,\"endOffset\":39},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":330,\"endLine\":330,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":341,\"endLine\":341,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":343,\"endLine\":343,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":346,\"endLine\":346,\"startOffset\":10,\"endOffset\":15},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":353,\"endLine\":353,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":353,\"endLine\":353,\"startOffset\":43,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":355,\"endLine\":355,\"startOffset\":56,\"endOffset\":57},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":357,\"endLine\":357,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":370,\"endLine\":370,\"startOffset\":12,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":411,\"endLine\":411,\"startOffset\":55,\"endOffset\":57},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":412,\"endLine\":412,\"startOffset\":36,\"endOffset\":38},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":413,\"endLine\":413,\"startOffset\":42,\"endOffset\":43},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":414,\"endLine\":414,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":420,\"endLine\":420,\"startOffset\":10,\"endOffset\":15},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":425,\"endLine\":425,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":429,\"endLine\":429,\"startOffset\":14,\"endOffset\":19},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 34 to the 15 allowed.\",\"effort\":\"24min\",\"debt\":\"24min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"fd12aa13-b7bb-4b3f-987f-c25f2ea630d4\",\"rule\":\"java:S3740\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"project\":\"struts\",\"line\":329,\"hash\":\"ca0c42a3c87bd4415add5fb0034dbc23\",\"textRange\":{\"startLine\":329,\"endLine\":329,\"startOffset\":8,\"endOffset\":11},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Provide the parametrized type for this generic.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"pitfall\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"30e76b9c-cb5c-484c-be23-f781dbb07efe\",\"rule\":\"java:S3740\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"project\":\"struts\",\"line\":413,\"hash\":\"b7f6ebed63942e9e9d2058ab10f28818\",\"textRange\":{\"startLine\":413,\"endLine\":413,\"startOffset\":12,\"endOffset\":15},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Provide the parametrized type for this generic.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"pitfall\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"5a5b8ef8-f0b8-4371-abf3-4a2db062d022\",\"rule\":\"java:S5785\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\"project\":\"struts\",\"line\":239,\"hash\":\"7ec908b2b3c3961ada39dac77738fa3a\",\"textRange\":{\"startLine\":239,\"endLine\":239,\"startOffset\":12,\"endOffset\":22},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\"textRange\":{\"startLine\":239,\"endLine\":239,\"startOffset\":88,\"endOffset\":123},\"msg\":\"An equals check is performed here, which is better expressed with assertEquals.\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Use assertEquals instead.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"pascal.davoust@eptica.com\",\"tags\":[\"junit\",\"tests\"],\"creationDate\":\"2021-11-10T14:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"TEST\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"cfb47539-3913-40a7-99cd-b134b5ce2d06\",\"rule\":\"java:S1125\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java\",\"project\":\"struts\",\"line\":100,\"hash\":\"6b09b6538b18f2b62e8191e68ddc7820\",\"textRange\":{\"startLine\":100,\"endLine\":100,\"startOffset\":44,\"endOffset\":48},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove the unnecessary boolean literal.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2021-11-06T03:32:11+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"5c58bc88-ad31-4878-9b91-36b29bd98d46\",\"rule\":\"java:S1185\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\"project\":\"struts\",\"line\":97,\"hash\":\"8e770c24f13fecaac7cfb9d20b0f81bf\",\"textRange\":{\"startLine\":97,\"endLine\":97,\"startOffset\":16,\"endOffset\":59},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this method to simply inherit it.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"redundant\",\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"abb4613f-ed51-4565-89e5-ecd59ba5e1a7\",\"rule\":\"java:S1125\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\"project\":\"struts\",\"line\":103,\"hash\":\"04d3c539a6a442f0d037c31ee6145c86\",\"textRange\":{\"startLine\":103,\"endLine\":103,\"startOffset\":60,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove the unnecessary boolean literal.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c55ffb92-860a-4c70-9d09-1aa792b7a802\",\"rule\":\"java:S1185\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\"project\":\"struts\",\"line\":62,\"hash\":\"8e770c24f13fecaac7cfb9d20b0f81bf\",\"textRange\":{\"startLine\":62,\"endLine\":62,\"startOffset\":16,\"endOffset\":59},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this method to simply inherit it.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"redundant\",\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c6aff05a-e247-4456-acf7-14a0519a5884\",\"rule\":\"java:S1125\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\"project\":\"struts\",\"line\":68,\"hash\":\"04d3c539a6a442f0d037c31ee6145c86\",\"textRange\":{\"startLine\":68,\"endLine\":68,\"startOffset\":60,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove the unnecessary boolean literal.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c6488c77-b287-4a5a-8e18-91a4f396e8a3\",\"rule\":\"java:S1125\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java\",\"project\":\"struts\",\"line\":91,\"hash\":\"04d3c539a6a442f0d037c31ee6145c86\",\"textRange\":{\"startLine\":91,\"endLine\":91,\"startOffset\":60,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove the unnecessary boolean literal.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"5e9e2f0e-b0d8-42c3-bfc8-2768a5cdc0bf\",\"rule\":\"java:S1185\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\"project\":\"struts\",\"line\":43,\"hash\":\"8e770c24f13fecaac7cfb9d20b0f81bf\",\"textRange\":{\"startLine\":43,\"endLine\":43,\"startOffset\":16,\"endOffset\":59},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this method to simply inherit it.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"redundant\",\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"25aa0c11-d20e-409e-92a3-f68c37fbce93\",\"rule\":\"java:S1125\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\"project\":\"struts\",\"line\":49,\"hash\":\"04d3c539a6a442f0d037c31ee6145c86\",\"textRange\":{\"startLine\":49,\"endLine\":49,\"startOffset\":60,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove the unnecessary boolean literal.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"8306f9c8-c62b-4308-9a93-12982e15c420\",\"rule\":\"java:S1185\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/DateTag.java\",\"project\":\"struts\",\"line\":75,\"hash\":\"8e770c24f13fecaac7cfb9d20b0f81bf\",\"textRange\":{\"startLine\":75,\"endLine\":75,\"startOffset\":16,\"endOffset\":59},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this method to simply inherit it.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"redundant\",\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"}],\"components\":[{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Submit.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Submit.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Submit.java\"},{\"key\":\"struts:core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\"enabled\":true,\"qualifier\":\"UTS\",\"name\":\"CspInterceptorTest.java\",\"longName\":\"core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\"path\":\"core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\"},{\"key\":\"struts:core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\"enabled\":true,\"qualifier\":\"UTS\",\"name\":\"OgnlUtilTest.java\",\"longName\":\"core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\"path\":\"core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"OgnlCache.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"OgnlCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ClassFinder.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultActionMapper.java\",\"longName\":\"core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"path\":\"core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\"},{\"key\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultClassFinder.java\",\"longName\":\"plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"path\":\"plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultOgnlCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"StrutsConstants.java\",\"longName\":\"core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"path\":\"core/src/main/java/org/apache/struts2/StrutsConstants.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"StreamResult.java\",\"longName\":\"core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"path\":\"core/src/main/java/org/apache/struts2/result/StreamResult.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"AliasInterceptor.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"MockResult.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/DateTag.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DateTag.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/DateTag.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/DateTag.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Component.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Component.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Component.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Component.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultOgnlExpressionCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"StrutsBodyTagSupport.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java\"},{\"key\":\"struts:plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/impl/FieldMatchValidator.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"FieldMatchValidator.java\",\"longName\":\"plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/impl/FieldMatchValidator.java\",\"path\":\"plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/impl/FieldMatchValidator.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/interceptor/csp/DefaultCspSettings.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultCspSettings.java\",\"longName\":\"core/src/main/java/org/apache/struts2/interceptor/csp/DefaultCspSettings.java\",\"path\":\"core/src/main/java/org/apache/struts2/interceptor/csp/DefaultCspSettings.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"BeanInfoCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\"},{\"key\":\"struts\",\"enabled\":true,\"qualifier\":\"TRK\",\"name\":\"struts\",\"longName\":\"struts\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"OgnlUtil.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ContextBeanTag.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"XWorkBasicConverter.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\"},{\"key\":\"struts:core/src/test/java/org/apache/struts2/config/StrutsJavaConfigurationProviderTest.java\",\"enabled\":true,\"qualifier\":\"UTS\",\"name\":\"StrutsJavaConfigurationProviderTest.java\",\"longName\":\"core/src/test/java/org/apache/struts2/config/StrutsJavaConfigurationProviderTest.java\",\"path\":\"core/src/test/java/org/apache/struts2/config/StrutsJavaConfigurationProviderTest.java\"},{\"key\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"PortletServletContext.java\",\"longName\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"path\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Date.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Date.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Date.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"XWorkMethodAccessor.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ActionTag.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DateConverter.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Anchor.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Anchor.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Anchor.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Anchor.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Param.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Param.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Param.java\"},{\"key\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"PortletServletResponse.java\",\"longName\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\"path\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ExpressionCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultOgnlBeanInfoCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultConfiguration.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\"},{\"key\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"JasperReportsResult.java\",\"longName\":\"plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"path\":\"plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/date/SimpleDateFormatAdapter.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"SimpleDateFormatAdapter.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/date/SimpleDateFormatAdapter.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/date/SimpleDateFormatAdapter.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ComponentTagSupport.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java\"},{\"key\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"enabled\":true,\"qualifier\":\"UTS\",\"name\":\"ComponentTest.java\",\"longName\":\"core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"path\":\"core/src/test/java/org/apache/struts2/components/ComponentTest.java\"},{\"key\":\"struts:plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ContentTypeInterceptor.java\",\"longName\":\"plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java\",\"path\":\"plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java\"},{\"key\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"PortletServletRequest.java\",\"longName\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\"path\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\"},{\"key\":\"struts:plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsApplicationResource.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"StrutsApplicationResource.java\",\"longName\":\"plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsApplicationResource.java\",\"path\":\"plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsApplicationResource.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Radio.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Radio.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Radio.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Radio.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"UIBean.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/UIBean.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/UIBean.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"OgnlLRUCache.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"BeanTag.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"OgnlDefaultCache.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\"}],\"facets\":[]}" + ] + } + ], + "source": [ + "!cat /tmp/report.json" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "!cat /tmp/report2.json" + ] } ], "metadata": { From d9c83bb5d8222de4bf3fcc1e320d148d6bd506c8 Mon Sep 17 00:00:00 2001 From: asa1997 Date: Wed, 15 May 2024 14:56:09 +0530 Subject: [PATCH 08/17] Added step to download report --- playbooks/besman-sonarqube-0.0.1-steps.ipynb | 9555 +----------------- 1 file changed, 148 insertions(+), 9407 deletions(-) diff --git a/playbooks/besman-sonarqube-0.0.1-steps.ipynb b/playbooks/besman-sonarqube-0.0.1-steps.ipynb index 97733eb..0f4039b 100644 --- a/playbooks/besman-sonarqube-0.0.1-steps.ipynb +++ b/playbooks/besman-sonarqube-0.0.1-steps.ipynb @@ -48,53 +48,51 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 86, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"SONARQUBE_URL\"] = #### Enter sonarqube server url\n", + "os.environ[\"USERNAME\"] = #### Enter your sonarqube username\n", + "os.environ[\"PASSWORD\"] = #### Enter your sonarqube password\n", + "os.environ[\"YOUR_PROJECT_KEY\"] = #### Enter your project key(can be the same as project name)\n", + "os.environ[\"YOUR_PROJECT_NAME\"] = #### Enter your project name\n", + "os.environ[\"ARTIFACT_DIR\"] = #### Enter the complete path to your artifact under assessment\n", + "os.environ[\"DETAILED_REPORT_PATH\"] = ### Enter the complete path to assessment report" + ] + }, + { + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "env: SONARQUBE_URL=http://localhost:9000\n", - "env: USERNAME=admin\n", - "env: PASSWORD=sonar\n", - "env: YOUR_PROJECT_KEY=struts\n", - "env: YOUR_PROJECT_NAME=struts\n" - ] - } - ], "source": [ - "%env SONARQUBE_URL=http://localhost:9000\n", - "%env USERNAME=admin\n", - "%env PASSWORD=sonar\n", - "%env YOUR_PROJECT_KEY=struts\n", - "%env YOUR_PROJECT_NAME=struts" + "## Creating user token\n", + "\n", + "This token wil be used across multiple projects" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "http://localhost:9000\r\n" - ] - } - ], + "outputs": [], "source": [ - "!echo $SONARQUBE_URL" + "import os\n", + "!curl -u $USERNAME:$PASSWORD -X POST $SONARQUBE_URL/api/user_tokens/generate -d name=automation_token > /tmp/sonar.json\n", + "!jq -r '.token' /tmp/sonar.json > /tmp/token.txt\n", + "token = open('/tmp/token.txt', 'r').read()\n", + "os.environ[\"TOKEN\"] = TOKEN\n", + "!rm /tmp/token.txt /tmp/sonar.json" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Creating user token\n", + "### Get user token\n", "\n", - "This token wil be used across multiple projects" + "Run the below cell to get the generated token. Copy it and keep it in hand" ] }, { @@ -103,12 +101,8 @@ "metadata": {}, "outputs": [], "source": [ - "# API_ENDPOINT=\"$SONARQUBE_URL/api/user_tokens/generate\"\n", - "!curl -u $USERNAME:$PASSWORD -X POST $SONARQUBE_URL/api/user_tokens/generate -d name=automation_token > /tmp/sonar.json\n", - "!jq -r '.token' /tmp/sonar.json > /tmp/token.txt\n", - "TOKEN = open('/tmp/token.txt', 'r').read()\n", - "%env TOKEN=$TOKEN\n", - "!rm /tmp/token.txt /tmp/sonar.json" + "import os\n", + "print(os.environ.get(\"TOKEN\"))" ] }, { @@ -117,7 +111,9 @@ "source": [ "## Create project\n", "\n", - "The command below will create a new project using the main branch. If you require a different branch, please visit the sonarqube server page and create the project manually." + "The command below will create a new project using the main branch. \n", + "\n", + "Note- `If you require a different branch, please visit the sonarqube server page and create the project manually.`" ] }, { @@ -126,7 +122,7 @@ "metadata": {}, "outputs": [], "source": [ - "!curl -u \"$USERNAME\":\"$PASSWORD\" -X POST \"$SONARQUBE_URL/api/projects/create?name=$YOUR_PROJECT_NAME&project=$YOUR_PROJECT_KEY" + "!curl -u \"$USERNAME\":\"$PASSWORD\" -X POST \"$SONARQUBE_URL/api/projects/create?name=$YOUR_PROJECT_NAME&project=$YOUR_PROJECT_KEY\"" ] }, { @@ -152,9 +148,11 @@ }, "outputs": [], "source": [ - "%cd \"$BESMAN_ARTIFACT_DIR\"\n", - "!mvn clean verify sonar:sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName=\"$YOUR_PROJECT_NAME\" -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.login=\"$TOKEN\"\n", - "%cd -" + "import os\n", + "\n", + "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", + "os.chdir(artifact_dir)\n", + "!mvn clean verify sonar:sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName=\"$YOUR_PROJECT_NAME\" -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.login=\"$TOKEN\"\n" ] }, { @@ -187,8 +185,10 @@ "metadata": {}, "outputs": [], "source": [ - "%cd \"$BESMAN_ARTIFACT_DIR\"\n", - "!ls\n", + "import os\n", + "\n", + "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", + "os.chdir(artifact_dir)\n", "!./gradlew sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName='$YOUR_PROJECT_NAME' -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" ] }, @@ -205,6 +205,10 @@ "metadata": {}, "outputs": [], "source": [ + "import os\n", + "\n", + "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", + "os.chdir(artifact_dir)\n", "!sonar-scanner -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.sources=. -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" ] }, @@ -226,9383 +230,120 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " % Total % Received % Xferd Average Speed Time Time Time Current\n", - " Dload Upload Total Spent Left Speed\n", - "100 168k 0 168k 0 0 149k 0 --:--:-- 0:00:01 --:--:-- 149k\n" - ] - } - ], - "source": [ - "!curl -u \"$USERNAME\":\"$PASSWORD\" -X GET $SONARQUBE_URL/api/issues/search?componentKeys=$YOUR_PROJECT_NAME >> /tmp/report.json" - ] - }, - { - "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "!curl -L $SONARQUBE_URL/api/issues/search?componentKeys=$YOUR_PROJECT_NAME&types=VULNERABILITY >> /tmp/report2.json" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'total': 6, 'p': 1, 'ps': 100, 'paging': {'pageIndex': 1, 'pageSize': 100, 'total': 6}, 'effortTotal': 105, 'issues': [{'key': '86a3d239-eb81-48e1-88b5-3c8bcfaa7f23', 'rule': 'java:S1989', 'severity': 'MINOR', 'component': 'struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java', 'project': 'struts', 'line': 40, 'hash': '18d9123759b0b461c73306331d2f1c14', 'textRange': {'startLine': 40, 'endLine': 40, 'startOffset': 44, 'endOffset': 51}, 'flows': [], 'status': 'OPEN', 'message': 'Handle the following exceptions that could be thrown by \"include\": ServletException, IOException.', 'effort': '20min', 'debt': '20min', 'author': 'jogep@apache.org', 'tags': ['cwe', 'error-handling', 'cert'], 'creationDate': '2011-06-26T08:38:59+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'CONVENTIONAL', 'cleanCodeAttributeCategory': 'CONSISTENT', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'LOW'}], 'issueStatus': 'OPEN'}, {'key': '3443ec7d-b5eb-44ee-b9ce-8039e34a0500', 'rule': 'java:S2755', 'severity': 'BLOCKER', 'component': 'struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java', 'project': 'struts', 'line': 98, 'hash': '8a3f07c40384d7743edadd6f7f1e3dc9', 'textRange': {'startLine': 98, 'endLine': 98, 'startOffset': 39, 'endOffset': 50}, 'flows': [], 'status': 'OPEN', 'message': 'Disable access to external entities in XML parsing.', 'effort': '15min', 'debt': '15min', 'author': 'lukaszlenart@apache.org', 'tags': ['cwe', 'symbolic-execution'], 'creationDate': '2010-02-18T08:22:46+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'COMPLETE', 'cleanCodeAttributeCategory': 'INTENTIONAL', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'HIGH'}], 'issueStatus': 'OPEN'}, {'key': 'f01b468b-5586-4a38-a7f7-1a038cba6fda', 'rule': 'java:S1989', 'severity': 'MINOR', 'component': 'struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java', 'project': 'struts', 'line': 111, 'hash': '4613a4a880dc84a4e538aca29e034b08', 'textRange': {'startLine': 111, 'endLine': 111, 'startOffset': 8, 'endOffset': 15}, 'flows': [], 'status': 'OPEN', 'message': 'Handle the following exceptions that could be thrown by \"process\": ServletException, IOException.', 'effort': '20min', 'debt': '20min', 'author': 'musachy@apache.org', 'tags': ['cwe', 'error-handling', 'cert'], 'creationDate': '2009-11-12T06:06:40+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'CONVENTIONAL', 'cleanCodeAttributeCategory': 'CONSISTENT', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'LOW'}], 'issueStatus': 'OPEN'}, {'key': 'c1586ab0-1306-4907-a0e9-33a9878ab3a0', 'rule': 'java:S1989', 'severity': 'MINOR', 'component': 'struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java', 'project': 'struts', 'line': 115, 'hash': '4613a4a880dc84a4e538aca29e034b08', 'textRange': {'startLine': 115, 'endLine': 115, 'startOffset': 8, 'endOffset': 15}, 'flows': [], 'status': 'OPEN', 'message': 'Handle the following exceptions that could be thrown by \"process\": ServletException, IOException.', 'effort': '20min', 'debt': '20min', 'author': 'musachy@apache.org', 'tags': ['cwe', 'error-handling', 'cert'], 'creationDate': '2009-11-12T06:06:40+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'CONVENTIONAL', 'cleanCodeAttributeCategory': 'CONSISTENT', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'LOW'}], 'issueStatus': 'OPEN'}, {'key': '5a5c2de1-8a1e-4f19-908a-7ff9eb585837', 'rule': 'java:S2755', 'severity': 'BLOCKER', 'component': 'struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java', 'project': 'struts', 'line': 1404, 'hash': '5b58411847835c40d3885f178bfa8003', 'textRange': {'startLine': 1404, 'endLine': 1404, 'startOffset': 52, 'endOffset': 63}, 'flows': [], 'status': 'OPEN', 'message': 'Disable access to external entities in XML parsing.', 'effort': '15min', 'debt': '15min', 'author': 'musachy@apache.org', 'tags': ['cwe', 'symbolic-execution'], 'creationDate': '2009-09-28T01:55:26+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'COMPLETE', 'cleanCodeAttributeCategory': 'INTENTIONAL', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'HIGH'}], 'issueStatus': 'OPEN'}, {'key': 'd99e2216-6af9-4755-acbb-e1630079e1ee', 'rule': 'java:S2755', 'severity': 'BLOCKER', 'component': 'struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java', 'project': 'struts', 'line': 178, 'hash': 'b7fa5265fe1391cdddca8173f65b4bb1', 'textRange': {'startLine': 178, 'endLine': 178, 'startOffset': 49, 'endOffset': 60}, 'flows': [], 'status': 'OPEN', 'message': 'Disable access to external entities in XML parsing.', 'effort': '15min', 'debt': '15min', 'author': 'hermanns@apache.org', 'tags': ['cwe', 'symbolic-execution'], 'creationDate': '2006-07-20T17:23:12+0000', 'updateDate': '2024-05-13T12:03:53+0000', 'type': 'VULNERABILITY', 'scope': 'MAIN', 'quickFixAvailable': False, 'messageFormattings': [], 'codeVariants': [], 'cleanCodeAttribute': 'COMPLETE', 'cleanCodeAttributeCategory': 'INTENTIONAL', 'impacts': [{'softwareQuality': 'SECURITY', 'severity': 'HIGH'}], 'issueStatus': 'OPEN'}], 'components': [{'key': 'struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java', 'enabled': True, 'qualifier': 'FIL', 'name': 'JspDocumentParser.java', 'longName': 'plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java', 'path': 'plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java'}, {'key': 'struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java', 'enabled': True, 'qualifier': 'FIL', 'name': 'DispatcherServlet.java', 'longName': 'plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java', 'path': 'plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java'}, {'key': 'struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java', 'enabled': True, 'qualifier': 'FIL', 'name': 'XSLTResult.java', 'longName': 'core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java', 'path': 'core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java'}, {'key': 'struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java', 'enabled': True, 'qualifier': 'FIL', 'name': 'DomHelper.java', 'longName': 'core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java', 'path': 'core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java'}, {'key': 'struts', 'enabled': True, 'qualifier': 'TRK', 'name': 'struts', 'longName': 'struts'}, {'key': 'struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java', 'enabled': True, 'qualifier': 'FIL', 'name': 'FreemarkerDecoratorServlet.java', 'longName': 'plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java', 'path': 'plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java'}], 'facets': []}\n" - ] - } - ], - "source": [ - "import requests\n", "import os\n", + "import requests\n", "import json\n", - "# Specify the URL from which you want to fetch JSON data\n", - "url = \"http://localhost:9000/api/issues/search?componentKeys=struts&types=VULNERABILITY\"\n", "\n", - "name = os.environ.get('USERNAME')\n", - "pwd = os.environ.get('PASSWORD')\n", + "# Get the SonarQube URL from the environment variable\n", + "sonarqube_url_env = os.environ.get('SONARQUBE_URL')\n", "\n", - "# Specify your username and password\n", - "username = name\n", - "password = pwd\n", + "username = os.environ.get(\"USERNAME\")\n", + "password = os.environ.get(\"PASSWORD\")\n", + "detailed_report = os.environ.get(\"DETAILED_REPORT_PATH\")\n", + "project_name = os.environ.get(\"YOUR_PROJECT_NAME\")\n", + "# Specify the initial page size\n", + "page_size = 500 # For example, set the initial page size to 500\n", "\n", - "# Send a GET request to the URL with username and password\n", - "response = requests.get(url, auth=(username, password))\n", + "url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&ps={page_size}&p=1\"\n", + "vuln_url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&types=VULNERABILITY&ps={page_size}&p=1\"\n", "\n", - "# Check if the request was successful (status code 200)\n", - "if response.status_code == 200:\n", - " # Parse the JSON response\n", - " json_data = response.json()\n", - " # Now you can work with the JSON data as a Python dictionary\n", - " print(json_data)\n", - "else:\n", - " print(\"Failed to fetch data:\", response.status_code)\n", - "with open(\"/tmp/vuln.json\", \"w\") as vuln_report:\n", - " json.dump(json_data,vuln_report, indent=4)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\r\n", - " \"total\": 6,\r\n", - " \"p\": 1,\r\n", - " \"ps\": 100,\r\n", - " \"paging\": {\r\n", - " \"pageIndex\": 1,\r\n", - " \"pageSize\": 100,\r\n", - " \"total\": 6\r\n", - " },\r\n", - " \"effortTotal\": 105,\r\n", - " \"issues\": [\r\n", - " {\r\n", - " \"key\": \"86a3d239-eb81-48e1-88b5-3c8bcfaa7f23\",\r\n", - " \"rule\": \"java:S1989\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 40,\r\n", - " \"hash\": \"18d9123759b0b461c73306331d2f1c14\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 40,\r\n", - " \"endLine\": 40,\r\n", - " \"startOffset\": 44,\r\n", - " \"endOffset\": 51\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Handle the following exceptions that could be thrown by \\\"include\\\": ServletException, IOException.\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"jogep@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"error-handling\",\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2011-06-26T08:38:59+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"3443ec7d-b5eb-44ee-b9ce-8039e34a0500\",\r\n", - " \"rule\": \"java:S2755\",\r\n", - " \"severity\": \"BLOCKER\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 98,\r\n", - " \"hash\": \"8a3f07c40384d7743edadd6f7f1e3dc9\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 98,\r\n", - " \"endLine\": 98,\r\n", - " \"startOffset\": 39,\r\n", - " \"endOffset\": 50\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", - " \"effort\": \"15min\",\r\n", - " \"debt\": \"15min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"symbolic-execution\"\r\n", - " ],\r\n", - " \"creationDate\": \"2010-02-18T08:22:46+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"f01b468b-5586-4a38-a7f7-1a038cba6fda\",\r\n", - " \"rule\": \"java:S1989\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 111,\r\n", - " \"hash\": \"4613a4a880dc84a4e538aca29e034b08\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 111,\r\n", - " \"endLine\": 111,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 15\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Handle the following exceptions that could be thrown by \\\"process\\\": ServletException, IOException.\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"musachy@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"error-handling\",\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2009-11-12T06:06:40+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"c1586ab0-1306-4907-a0e9-33a9878ab3a0\",\r\n", - " \"rule\": \"java:S1989\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 115,\r\n", - " \"hash\": \"4613a4a880dc84a4e538aca29e034b08\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 115,\r\n", - " \"endLine\": 115,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 15\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Handle the following exceptions that could be thrown by \\\"process\\\": ServletException, IOException.\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"musachy@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"error-handling\",\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2009-11-12T06:06:40+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"5a5c2de1-8a1e-4f19-908a-7ff9eb585837\",\r\n", - " \"rule\": \"java:S2755\",\r\n", - " \"severity\": \"BLOCKER\",\r\n", - " \"component\": \"struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 1404,\r\n", - " \"hash\": \"5b58411847835c40d3885f178bfa8003\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 1404,\r\n", - " \"endLine\": 1404,\r\n", - " \"startOffset\": 52,\r\n", - " \"endOffset\": 63\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", - " \"effort\": \"15min\",\r\n", - " \"debt\": \"15min\",\r\n", - " \"author\": \"musachy@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"symbolic-execution\"\r\n", - " ],\r\n", - " \"creationDate\": \"2009-09-28T01:55:26+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"d99e2216-6af9-4755-acbb-e1630079e1ee\",\r\n", - " \"rule\": \"java:S2755\",\r\n", - " \"severity\": \"BLOCKER\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 178,\r\n", - " \"hash\": \"b7fa5265fe1391cdddca8173f65b4bb1\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 178,\r\n", - " \"endLine\": 178,\r\n", - " \"startOffset\": 49,\r\n", - " \"endOffset\": 60\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", - " \"effort\": \"15min\",\r\n", - " \"debt\": \"15min\",\r\n", - " \"author\": \"hermanns@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"symbolic-execution\"\r\n", - " ],\r\n", - " \"creationDate\": \"2006-07-20T17:23:12+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " }\r\n", - " ],\r\n", - " \"components\": [\r\n", - " {\r\n", - " \"key\": \"struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"FIL\",\r\n", - " \"name\": \"JspDocumentParser.java\",\r\n", - " \"longName\": \"plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", - " \"path\": \"plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"FIL\",\r\n", - " \"name\": \"DispatcherServlet.java\",\r\n", - " \"longName\": \"plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", - " \"path\": \"plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"FIL\",\r\n", - " \"name\": \"XSLTResult.java\",\r\n", - " \"longName\": \"core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", - " \"path\": \"core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"FIL\",\r\n", - " \"name\": \"DomHelper.java\",\r\n", - " \"longName\": \"core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", - " \"path\": \"core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"struts\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"TRK\",\r\n", - " \"name\": \"struts\",\r\n", - " \"longName\": \"struts\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"FIL\",\r\n", - " \"name\": \"FreemarkerDecoratorServlet.java\",\r\n", - " \"longName\": \"plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", - " \"path\": \"plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\"\r\n", - " }\r\n", - " ],\r\n", - " \"facets\": []\r\n", - "}" - ] - } - ], - "source": [ - "!cat /tmp/vuln.json" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "import json\n", "\n", - "# Load the first JSON file\n", - "with open(\"/tmp/vuln.json\", \"r\") as f1:\n", - " data1 = json.load(f1)\n", + "# Get first page data\n", + "try:\n", + " response_first = requests.get(url, auth=(username, password))\n", + " response_first.raise_for_status() # Raise an exception for non-200 responses\n", + " data_first = response_first.json()\n", + "except requests.RequestException as e:\n", + " print(\"Error making the request:\", e)\n", + "except json.JSONDecodeError as e:\n", + " print(\"Error decoding JSON:\", e)\n", + " print(\"Raw response content:\", response_first.content)\n", "\n", - "# Load the second JSON file\n", - "with open(\"/tmp/report.json\", \"r\") as f2:\n", - " data2 = json.load(f2)\n", + "# Get first page data for type VULNERABILITY \n", + "try:\n", + " response_vuln_first = requests.get(vuln_url, auth=(username, password))\n", + " response_vuln_first.raise_for_status() # Raise an exception for non-200 responses\n", + " data_vuln_first = response_vuln_first.json()\n", + "except requests.RequestException as e:\n", + " print(\"Error making the request:\", e)\n", + "except json.JSONDecodeError as e:\n", + " print(\"Error decoding JSON:\", e)\n", + " print(\"Raw response content:\", response_vuln_first.content)\n", "\n", - "# Extract the contents of the \"issues\" list from each file\n", - "issues1 = data1.get(\"issues\", [])\n", - "issues2 = data2.get(\"issues\", [])\n", + "# Initialize variables for tracking the current page and the aggregated issues\n", + "all_issues = []\n", "\n", - "# Append the contents of the \"issues\" list from the second file to the first file\n", - "issues1.extend(issues2)\n", + "# Fetch data from all pages\n", + "current_page = 2\n", + "while True:\n", + " # Construct the API URL with the current page size and page number\n", + " url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&ps={page_size}&p={current_page}\"\n", "\n", - "# Update the \"issues\" list in the first file with the combined contents\n", - "data1[\"issues\"] = issues1\n", + " # Make the API request\n", + " try:\n", + " response = requests.get(url, auth=(username, password))\n", + " response.raise_for_status() # Raise an exception for non-200 responses\n", + " data = response.json()\n", "\n", - "# Write the combined data to a new JSON file\n", - "with open(\"combined_file.json\", \"w\") as f_combined:\n", - " json.dump(data1, f_combined, indent=4)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\r\n", - " \"total\": 6,\r\n", - " \"p\": 1,\r\n", - " \"ps\": 100,\r\n", - " \"paging\": {\r\n", - " \"pageIndex\": 1,\r\n", - " \"pageSize\": 100,\r\n", - " \"total\": 6\r\n", - " },\r\n", - " \"effortTotal\": 105,\r\n", - " \"issues\": [\r\n", - " {\r\n", - " \"key\": \"86a3d239-eb81-48e1-88b5-3c8bcfaa7f23\",\r\n", - " \"rule\": \"java:S1989\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 40,\r\n", - " \"hash\": \"18d9123759b0b461c73306331d2f1c14\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 40,\r\n", - " \"endLine\": 40,\r\n", - " \"startOffset\": 44,\r\n", - " \"endOffset\": 51\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Handle the following exceptions that could be thrown by \\\"include\\\": ServletException, IOException.\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"jogep@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"error-handling\",\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2011-06-26T08:38:59+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"3443ec7d-b5eb-44ee-b9ce-8039e34a0500\",\r\n", - " \"rule\": \"java:S2755\",\r\n", - " \"severity\": \"BLOCKER\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 98,\r\n", - " \"hash\": \"8a3f07c40384d7743edadd6f7f1e3dc9\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 98,\r\n", - " \"endLine\": 98,\r\n", - " \"startOffset\": 39,\r\n", - " \"endOffset\": 50\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", - " \"effort\": \"15min\",\r\n", - " \"debt\": \"15min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"symbolic-execution\"\r\n", - " ],\r\n", - " \"creationDate\": \"2010-02-18T08:22:46+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"f01b468b-5586-4a38-a7f7-1a038cba6fda\",\r\n", - " \"rule\": \"java:S1989\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 111,\r\n", - " \"hash\": \"4613a4a880dc84a4e538aca29e034b08\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 111,\r\n", - " \"endLine\": 111,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 15\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Handle the following exceptions that could be thrown by \\\"process\\\": ServletException, IOException.\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"musachy@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"error-handling\",\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2009-11-12T06:06:40+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"c1586ab0-1306-4907-a0e9-33a9878ab3a0\",\r\n", - " \"rule\": \"java:S1989\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 115,\r\n", - " \"hash\": \"4613a4a880dc84a4e538aca29e034b08\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 115,\r\n", - " \"endLine\": 115,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 15\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Handle the following exceptions that could be thrown by \\\"process\\\": ServletException, IOException.\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"musachy@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"error-handling\",\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2009-11-12T06:06:40+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"5a5c2de1-8a1e-4f19-908a-7ff9eb585837\",\r\n", - " \"rule\": \"java:S2755\",\r\n", - " \"severity\": \"BLOCKER\",\r\n", - " \"component\": \"struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 1404,\r\n", - " \"hash\": \"5b58411847835c40d3885f178bfa8003\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 1404,\r\n", - " \"endLine\": 1404,\r\n", - " \"startOffset\": 52,\r\n", - " \"endOffset\": 63\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", - " \"effort\": \"15min\",\r\n", - " \"debt\": \"15min\",\r\n", - " \"author\": \"musachy@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"symbolic-execution\"\r\n", - " ],\r\n", - " \"creationDate\": \"2009-09-28T01:55:26+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"d99e2216-6af9-4755-acbb-e1630079e1ee\",\r\n", - " \"rule\": \"java:S2755\",\r\n", - " \"severity\": \"BLOCKER\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 178,\r\n", - " \"hash\": \"b7fa5265fe1391cdddca8173f65b4bb1\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 178,\r\n", - " \"endLine\": 178,\r\n", - " \"startOffset\": 49,\r\n", - " \"endOffset\": 60\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Disable access to external entities in XML parsing.\",\r\n", - " \"effort\": \"15min\",\r\n", - " \"debt\": \"15min\",\r\n", - " \"author\": \"hermanns@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"symbolic-execution\"\r\n", - " ],\r\n", - " \"creationDate\": \"2006-07-20T17:23:12+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"VULNERABILITY\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"SECURITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"538fe7e4-d29b-4763-a177-a64bdf6b439c\",\r\n", - " \"rule\": \"java:S2699\",\r\n", - " \"severity\": \"BLOCKER\",\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 124,\r\n", - " \"hash\": \"27f9a3c576875d7630531caca4bb4043\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 124,\r\n", - " \"endLine\": 124,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 34\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add at least one assertion to this test case.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"junit\",\r\n", - " \"tests\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-09-01T06:15:48+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"TEST\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"TESTED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"8edd5bf7-3e8c-4875-918d-3dc30f508349\",\r\n", - " \"rule\": \"java:S2699\",\r\n", - " \"severity\": \"BLOCKER\",\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 136,\r\n", - " \"hash\": \"9a025606860b91fe372eb851e5f4bb5f\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 136,\r\n", - " \"endLine\": 136,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 42\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add at least one assertion to this test case.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"junit\",\r\n", - " \"tests\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-09-01T06:15:48+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"TEST\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"TESTED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"ed6398b0-80c2-4bbf-83d0-234e09442880\",\r\n", - " \"rule\": \"java:S1124\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/interceptor/csp/DefaultCspSettings.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 41,\r\n", - " \"hash\": \"f695f4ce553b07b13cb3a258db26648b\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 41,\r\n", - " \"endLine\": 41,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 24\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Reorder the modifiers to comply with the Java Language Specification.\",\r\n", - " \"effort\": \"2min\",\r\n", - " \"debt\": \"2min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-08-23T18:31:39+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"05f3830e-271d-4d6e-9480-8f20b3ffa738\",\r\n", - " \"rule\": \"java:S1452\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 74,\r\n", - " \"hash\": \"d7c1cc9a927b8cd9ac3c6d5c6645296e\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 74,\r\n", - " \"endLine\": 74,\r\n", - " \"startOffset\": 21,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove usage of generic wildcard type.\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"pitfall\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-08-08T15:00:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"815658bf-beca-44df-afcc-8b2d13c458d2\",\r\n", - " \"rule\": \"java:S1128\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 50,\r\n", - " \"hash\": \"0fc07beaacd336506327651129171800\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 50,\r\n", - " \"endLine\": 50,\r\n", - " \"startOffset\": 7,\r\n", - " \"endOffset\": 23\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove this unused import 'java.util.Arrays'.\",\r\n", - " \"effort\": \"1min\",\r\n", - " \"debt\": \"1min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"unused\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-08-08T15:00:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"55aefedd-8345-40f8-b118-3241c4846fa7\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 195,\r\n", - " \"hash\": \"9563e729621dcbbe1df735e787e83bd0\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 195,\r\n", - " \"endLine\": 195,\r\n", - " \"startOffset\": 32,\r\n", - " \"endOffset\": 57\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 200,\r\n", - " \"endLine\": 200,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 11\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 201,\r\n", - " \"endLine\": 201,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 201,\r\n", - " \"endLine\": 201,\r\n", - " \"startOffset\": 43,\r\n", - " \"endOffset\": 45\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 205,\r\n", - " \"endLine\": 205,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 211,\r\n", - " \"endLine\": 211,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 23\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 212,\r\n", - " \"endLine\": 212,\r\n", - " \"startOffset\": 24,\r\n", - " \"endOffset\": 26\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 216,\r\n", - " \"endLine\": 216,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 23\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 17 to the 15 allowed.\",\r\n", - " \"effort\": \"7min\",\r\n", - " \"debt\": \"7min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-08-08T15:00:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"627fcd6c-4ff4-40f9-9a24-c1f12c6bc1db\",\r\n", - " \"rule\": \"java:S2293\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 86,\r\n", - " \"hash\": \"f35f2f2366316bdcc343a8d0c3ed5ccc\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 86,\r\n", - " \"endLine\": 86,\r\n", - " \"startOffset\": 50,\r\n", - " \"endOffset\": 66\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Replace the type specification in this constructor call with the diamond operator (\\\"<>\\\").\",\r\n", - " \"effort\": \"1min\",\r\n", - " \"debt\": \"1min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-07-31T22:26:48+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"592fdd53-37eb-40ab-8ed8-8388d6759b85\",\r\n", - " \"rule\": \"java:S2293\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 87,\r\n", - " \"hash\": \"124b1662f513f6a74a455141ccc7b7d4\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 87,\r\n", - " \"endLine\": 87,\r\n", - " \"startOffset\": 48,\r\n", - " \"endOffset\": 68\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Replace the type specification in this constructor call with the diamond operator (\\\"<>\\\").\",\r\n", - " \"effort\": \"1min\",\r\n", - " \"debt\": \"1min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-07-31T22:26:48+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"528fa6e5-6bee-4475-80a3-4169e36a7d8b\",\r\n", - " \"rule\": \"java:S1948\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 37,\r\n", - " \"hash\": \"7fce864e13eea94528cfb869dbb6f572\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 37,\r\n", - " \"endLine\": 37,\r\n", - " \"startOffset\": 38,\r\n", - " \"endOffset\": 46\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Make \\\"selector\\\" transient or serializable.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"48475312+rproserpio@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"serialization\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-07-24T23:11:46+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"28b4a8cc-5d3f-44d8-8f0c-ffaccada2cc8\",\r\n", - " \"rule\": \"java:S1161\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Radio.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 83,\r\n", - " \"hash\": \"48b465d4c33988aae1812fa8020c1830\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 83,\r\n", - " \"endLine\": 83,\r\n", - " \"startOffset\": 23,\r\n", - " \"endOffset\": 40\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add the \\\"@Override\\\" annotation above this method signature\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"bad-practice\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-07-07T19:34:43+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"fd88e0f8-5788-4ba1-9291-9a39564dbbc1\",\r\n", - " \"rule\": \"java:S2699\",\r\n", - " \"severity\": \"BLOCKER\",\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/config/StrutsJavaConfigurationProviderTest.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 114,\r\n", - " \"hash\": \"52f478f09dd3fec7802f8d41972ccb90\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 114,\r\n", - " \"endLine\": 114,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 48\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add at least one assertion to this test case.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"junit\",\r\n", - " \"tests\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-07-03T21:37:58+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"TEST\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"TESTED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"eaf8f3d4-9712-444b-b777-9a7273da0243\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 289,\r\n", - " \"hash\": \"c0e73c336b59ce2d5b9524d01901f131\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 289,\r\n", - " \"endLine\": 289,\r\n", - " \"startOffset\": 19,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 296,\r\n", - " \"endLine\": 296,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 298,\r\n", - " \"endLine\": 298,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 300,\r\n", - " \"endLine\": 300,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 302,\r\n", - " \"endLine\": 302,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 304,\r\n", - " \"endLine\": 304,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 306,\r\n", - " \"endLine\": 306,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 308,\r\n", - " \"endLine\": 308,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 310,\r\n", - " \"endLine\": 310,\r\n", - " \"startOffset\": 10,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 311,\r\n", - " \"endLine\": 311,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 313,\r\n", - " \"endLine\": 313,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 319,\r\n", - " \"endLine\": 319,\r\n", - " \"startOffset\": 54,\r\n", - " \"endOffset\": 55\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 324,\r\n", - " \"endLine\": 324,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 326,\r\n", - " \"endLine\": 326,\r\n", - " \"startOffset\": 58,\r\n", - " \"endOffset\": 59\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 331,\r\n", - " \"endLine\": 331,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 335,\r\n", - " \"endLine\": 335,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 336,\r\n", - " \"endLine\": 336,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 337,\r\n", - " \"endLine\": 337,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 339,\r\n", - " \"endLine\": 339,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 342,\r\n", - " \"endLine\": 342,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 344,\r\n", - " \"endLine\": 344,\r\n", - " \"startOffset\": 24,\r\n", - " \"endOffset\": 26\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 346,\r\n", - " \"endLine\": 346,\r\n", - " \"startOffset\": 26,\r\n", - " \"endOffset\": 30\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 349,\r\n", - " \"endLine\": 349,\r\n", - " \"startOffset\": 22,\r\n", - " \"endOffset\": 27\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 41 to the 15 allowed.\",\r\n", - " \"effort\": \"31min\",\r\n", - " \"debt\": \"31min\",\r\n", - " \"author\": \"ts.stadler@gmx.de\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-06-21T08:09:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"40633b8f-d265-4f5f-9ec1-69d35c710695\",\r\n", - " \"rule\": \"java:S3599\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 140,\r\n", - " \"hash\": \"d715620bfc2f4a9f3b028b680b3182bd\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 140,\r\n", - " \"endLine\": 175,\r\n", - " \"startOffset\": 38,\r\n", - " \"endOffset\": 9\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Use another way to initialize this instance.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"leak\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"BUG\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"RELIABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"389129bd-9848-4d7a-8a11-06cf51122a23\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 351,\r\n", - " \"hash\": \"040a76a42823e0c3c7026dc5d2493241\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 351,\r\n", - " \"endLine\": 351,\r\n", - " \"startOffset\": 19,\r\n", - " \"endOffset\": 40\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 354,\r\n", - " \"endLine\": 354,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 357,\r\n", - " \"endLine\": 357,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 363,\r\n", - " \"endLine\": 363,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 367,\r\n", - " \"endLine\": 367,\r\n", - " \"startOffset\": 10,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 374,\r\n", - " \"endLine\": 374,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 15\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 376,\r\n", - " \"endLine\": 376,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 376,\r\n", - " \"endLine\": 376,\r\n", - " \"startOffset\": 31,\r\n", - " \"endOffset\": 33\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 376,\r\n", - " \"endLine\": 376,\r\n", - " \"startOffset\": 91,\r\n", - " \"endOffset\": 93\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 377,\r\n", - " \"endLine\": 377,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 381,\r\n", - " \"endLine\": 381,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 389,\r\n", - " \"endLine\": 389,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 389,\r\n", - " \"endLine\": 389,\r\n", - " \"startOffset\": 30,\r\n", - " \"endOffset\": 32\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 394,\r\n", - " \"endLine\": 394,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 396,\r\n", - " \"endLine\": 396,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 396,\r\n", - " \"endLine\": 396,\r\n", - " \"startOffset\": 25,\r\n", - " \"endOffset\": 27\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 25 to the 15 allowed.\",\r\n", - " \"effort\": \"15min\",\r\n", - " \"debt\": \"15min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"1cf2b531-07d8-4283-9f7f-c7f750e2a49b\",\r\n", - " \"rule\": \"java:S1659\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 352,\r\n", - " \"hash\": \"71cad5838b4f516387b058cc80ed7b71\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 352,\r\n", - " \"endLine\": 352,\r\n", - " \"startOffset\": 32,\r\n", - " \"endOffset\": 42\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Declare \\\"actionName\\\" on a separate line.\",\r\n", - " \"effort\": \"2min\",\r\n", - " \"debt\": \"2min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\",\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FORMATTED\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"c4332627-a265-4e08-95a9-65fd0da99f16\",\r\n", - " \"rule\": \"java:S1066\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 377,\r\n", - " \"hash\": \"a40b4b6d9c83b05bca6a5b76fd6ab68b\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 377,\r\n", - " \"endLine\": 377,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 376,\r\n", - " \"endLine\": 376,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Merge this if statement with the enclosing one.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"b2485096-9756-4df6-ab0a-f2b999e911d2\",\r\n", - " \"rule\": \"java:S1066\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 574,\r\n", - " \"hash\": \"dd1225be27a61d7cc83c1b136e7127d4\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 574,\r\n", - " \"endLine\": 574,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 573,\r\n", - " \"endLine\": 573,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Merge this if statement with the enclosing one.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"b12b2e54-2311-49cd-b4cf-745a138719fe\",\r\n", - " \"rule\": \"java:S1066\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 575,\r\n", - " \"hash\": \"a7c355b43a0cfa7ba5cd3ed6c6a0e335\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 575,\r\n", - " \"endLine\": 575,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 574,\r\n", - " \"endLine\": 574,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Merge this if statement with the enclosing one.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-06-15T09:06:45+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"a8474740-8d31-4855-9450-70f9edbaf573\",\r\n", - " \"rule\": \"java:S2160\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsApplicationResource.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 30,\r\n", - " \"hash\": \"98948d462188d4cc27d52041cd0b03a6\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 30,\r\n", - " \"endLine\": 30,\r\n", - " \"startOffset\": 13,\r\n", - " \"endOffset\": 38\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Override the \\\"equals\\\" method in this class.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"suspicious\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-06-10T14:06:10+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"e6c02306-ea66-47fa-8dde-06c2deb7bffd\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 49,\r\n", - " \"hash\": \"4000bb9d34c44cc34eba9c54d1b0c86a\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 49,\r\n", - " \"endLine\": 49,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 30\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 53,\r\n", - " \"endLine\": 53,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 53,\r\n", - " \"endLine\": 53,\r\n", - " \"startOffset\": 36,\r\n", - " \"endOffset\": 38\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 58,\r\n", - " \"endLine\": 58,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 60,\r\n", - " \"endLine\": 60,\r\n", - " \"startOffset\": 19,\r\n", - " \"endOffset\": 21\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 69,\r\n", - " \"endLine\": 69,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 73,\r\n", - " \"endLine\": 73,\r\n", - " \"startOffset\": 24,\r\n", - " \"endOffset\": 26\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 76,\r\n", - " \"endLine\": 76,\r\n", - " \"startOffset\": 22,\r\n", - " \"endOffset\": 27\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 79,\r\n", - " \"endLine\": 79,\r\n", - " \"startOffset\": 19,\r\n", - " \"endOffset\": 21\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 83,\r\n", - " \"endLine\": 83,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 87,\r\n", - " \"endLine\": 87,\r\n", - " \"startOffset\": 24,\r\n", - " \"endOffset\": 26\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 90,\r\n", - " \"endLine\": 90,\r\n", - " \"startOffset\": 22,\r\n", - " \"endOffset\": 27\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 93,\r\n", - " \"endLine\": 93,\r\n", - " \"startOffset\": 19,\r\n", - " \"endOffset\": 21\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 93,\r\n", - " \"endLine\": 93,\r\n", - " \"startOffset\": 63,\r\n", - " \"endOffset\": 65\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 99,\r\n", - " \"endLine\": 99,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 103,\r\n", - " \"endLine\": 103,\r\n", - " \"startOffset\": 24,\r\n", - " \"endOffset\": 26\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 106,\r\n", - " \"endLine\": 106,\r\n", - " \"startOffset\": 22,\r\n", - " \"endOffset\": 27\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 110,\r\n", - " \"endLine\": 110,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 110,\r\n", - " \"endLine\": 110,\r\n", - " \"startOffset\": 36,\r\n", - " \"endOffset\": 38\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 112,\r\n", - " \"endLine\": 112,\r\n", - " \"startOffset\": 27,\r\n", - " \"endOffset\": 29\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 112,\r\n", - " \"endLine\": 112,\r\n", - " \"startOffset\": 43,\r\n", - " \"endOffset\": 45\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 114,\r\n", - " \"endLine\": 114,\r\n", - " \"startOffset\": 27,\r\n", - " \"endOffset\": 29\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 114,\r\n", - " \"endLine\": 114,\r\n", - " \"startOffset\": 43,\r\n", - " \"endOffset\": 45\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 116,\r\n", - " \"endLine\": 116,\r\n", - " \"startOffset\": 22,\r\n", - " \"endOffset\": 26\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 119,\r\n", - " \"endLine\": 119,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 23\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 126,\r\n", - " \"endLine\": 126,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 132,\r\n", - " \"endLine\": 132,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 136,\r\n", - " \"endLine\": 136,\r\n", - " \"startOffset\": 22,\r\n", - " \"endOffset\": 27\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 141,\r\n", - " \"endLine\": 141,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 145,\r\n", - " \"endLine\": 145,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 63 to the 15 allowed.\",\r\n", - " \"effort\": \"53min\",\r\n", - " \"debt\": \"53min\",\r\n", - " \"author\": \"ghuber@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-19T09:30:36+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"86c5fbdc-1b3d-4170-abe4-0fa392fd7c01\",\r\n", - " \"rule\": \"java:S1192\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 117,\r\n", - " \"hash\": \"200b1d98b0a714fcbd4143991f56c0bd\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 117,\r\n", - " \"endLine\": 117,\r\n", - " \"startOffset\": 58,\r\n", - " \"endOffset\": 80\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 117,\r\n", - " \"endLine\": 117,\r\n", - " \"startOffset\": 58,\r\n", - " \"endOffset\": 80\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 120,\r\n", - " \"endLine\": 120,\r\n", - " \"startOffset\": 54,\r\n", - " \"endOffset\": 76\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 142,\r\n", - " \"endLine\": 142,\r\n", - " \"startOffset\": 50,\r\n", - " \"endOffset\": 72\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Define a constant instead of duplicating this literal \\\"Could not parse date\\\" 3 times.\",\r\n", - " \"effort\": \"8min\",\r\n", - " \"debt\": \"8min\",\r\n", - " \"author\": \"ghuber@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"design\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-19T09:30:36+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"DISTINCT\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"43023b26-c4b4-4f49-88b9-b7a93119e9b5\",\r\n", - " \"rule\": \"java:S6541\",\r\n", - " \"severity\": \"INFO\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 49,\r\n", - " \"hash\": \"4000bb9d34c44cc34eba9c54d1b0c86a\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 49,\r\n", - " \"endLine\": 49,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 30\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"A \\\"Brain Method\\\" was detected. Refactor it to reduce at least one of the following metrics: LOC from 90 to 64, Complexity from 24 to 14, Nesting Level from 5 to 2, Number of Variables from 30 to 6.\",\r\n", - " \"effort\": \"0min\",\r\n", - " \"debt\": \"0min\",\r\n", - " \"author\": \"gregh3269@gmail.com\",\r\n", - " \"tags\": [\r\n", - " \"design\",\r\n", - " \"architecture\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-17T05:31:30+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"a4183f4f-410c-479b-8059-08d8bae4a3a8\",\r\n", - " \"rule\": \"java:S108\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 106,\r\n", - " \"hash\": \"7ce7fd74fa3ef1f4a253c1501e30c4c6\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 106,\r\n", - " \"endLine\": 106,\r\n", - " \"startOffset\": 60,\r\n", - " \"endOffset\": 61\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Either remove or fill this block of code.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"gregh3269@gmail.com\",\r\n", - " \"tags\": [\r\n", - " \"suspicious\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-17T05:31:30+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"bc4ace49-a65c-4a71-ae99-3f272ccf12c8\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 75,\r\n", - " \"hash\": \"7386f3159001dd1331f7fa720fa4b11f\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 75,\r\n", - " \"endLine\": 75,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 30\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 78,\r\n", - " \"endLine\": 78,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 78,\r\n", - " \"endLine\": 78,\r\n", - " \"startOffset\": 26,\r\n", - " \"endOffset\": 28\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 83,\r\n", - " \"endLine\": 83,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 95,\r\n", - " \"endLine\": 95,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 97,\r\n", - " \"endLine\": 97,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 99,\r\n", - " \"endLine\": 99,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 101,\r\n", - " \"endLine\": 101,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 103,\r\n", - " \"endLine\": 103,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 105,\r\n", - " \"endLine\": 105,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 107,\r\n", - " \"endLine\": 107,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 109,\r\n", - " \"endLine\": 109,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 111,\r\n", - " \"endLine\": 111,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 113,\r\n", - " \"endLine\": 113,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 113,\r\n", - " \"endLine\": 113,\r\n", - " \"startOffset\": 57,\r\n", - " \"endOffset\": 59\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 115,\r\n", - " \"endLine\": 115,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 119,\r\n", - " \"endLine\": 119,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 120,\r\n", - " \"endLine\": 120,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 123,\r\n", - " \"endLine\": 123,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 125,\r\n", - " \"endLine\": 125,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 131,\r\n", - " \"endLine\": 131,\r\n", - " \"startOffset\": 19,\r\n", - " \"endOffset\": 21\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 135,\r\n", - " \"endLine\": 135,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 135,\r\n", - " \"endLine\": 135,\r\n", - " \"startOffset\": 31,\r\n", - " \"endOffset\": 33\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 26 to the 15 allowed.\",\r\n", - " \"effort\": \"16min\",\r\n", - " \"debt\": \"16min\",\r\n", - " \"author\": \"gregh3269@gmail.com\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-17T05:31:30+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"959697d3-b721-445b-b973-8c6c5fba8609\",\r\n", - " \"rule\": \"java:S1168\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 232,\r\n", - " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 232,\r\n", - " \"endLine\": 232,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Return an empty map instead of null.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"d15353bc-8d2b-4776-8d54-53cff0bbcc15\",\r\n", - " \"rule\": \"java:S1168\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 262,\r\n", - " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 262,\r\n", - " \"endLine\": 262,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Return an empty map instead of null.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"89776846-5d08-4759-96db-50c41816b513\",\r\n", - " \"rule\": \"java:S1186\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 271,\r\n", - " \"hash\": \"5371973806ebc1cf99a41e52239f1ef6\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 271,\r\n", - " \"endLine\": 271,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 39\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"suspicious\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"e136f3f4-8e5f-475f-982a-4d03aa71d406\",\r\n", - " \"rule\": \"java:S1168\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 277,\r\n", - " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 277,\r\n", - " \"endLine\": 277,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Return an empty collection instead of null.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"8f7d664d-b37c-4018-ad87-f47ee6c8d09a\",\r\n", - " \"rule\": \"java:S1168\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 282,\r\n", - " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 282,\r\n", - " \"endLine\": 282,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Return an empty collection instead of null.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"3c99d09d-337a-47c8-be3f-aa1d6a499fd1\",\r\n", - " \"rule\": \"java:S1186\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 286,\r\n", - " \"hash\": \"5a87d2653876a0c4bb741506c6f7c085\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 286,\r\n", - " \"endLine\": 286,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 27\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"suspicious\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"73ca4b60-c648-469b-bb39-c043fe698906\",\r\n", - " \"rule\": \"java:S1186\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 291,\r\n", - " \"hash\": \"05b05bcc4bf3fb6c5862920a9cd23948\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 291,\r\n", - " \"endLine\": 291,\r\n", - " \"startOffset\": 42,\r\n", - " \"endOffset\": 53\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"suspicious\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"18e51d03-adf0-4b50-8d53-0d677e6f6152\",\r\n", - " \"rule\": \"java:S1186\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 296,\r\n", - " \"hash\": \"08965c5ac15d9fe56eeedea509468878\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 296,\r\n", - " \"endLine\": 296,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 27\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"suspicious\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"529ed68e-3c82-42da-9757-48b9690f40f2\",\r\n", - " \"rule\": \"java:S1186\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 316,\r\n", - " \"hash\": \"d58a32e4959bbb6304111f161db733fe\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 316,\r\n", - " \"endLine\": 316,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 28\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"suspicious\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"1ef8080e-4279-49db-9084-c7a4c44257d5\",\r\n", - " \"rule\": \"java:S1186\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 328,\r\n", - " \"hash\": \"e75c4731562803ee6ff19da01b454395\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 328,\r\n", - " \"endLine\": 328,\r\n", - " \"startOffset\": 13,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"suspicious\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"719fdad6-8cf5-44b3-982b-4ec4e11c22e1\",\r\n", - " \"rule\": \"java:S1186\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 333,\r\n", - " \"hash\": \"98485397bf25e554dd48e5e45b0e496b\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 333,\r\n", - " \"endLine\": 333,\r\n", - " \"startOffset\": 13,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"suspicious\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"1bc73a9d-bb87-4f78-939e-8c8add442f1e\",\r\n", - " \"rule\": \"java:S1168\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 339,\r\n", - " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 339,\r\n", - " \"endLine\": 339,\r\n", - " \"startOffset\": 9,\r\n", - " \"endOffset\": 13\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Return an empty collection instead of null.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"cbc0a283-b563-4e9e-8bf6-622f7c115204\",\r\n", - " \"rule\": \"java:S1168\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 120,\r\n", - " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 120,\r\n", - " \"endLine\": 120,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Return an empty collection instead of null.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"2eb46435-8378-4ce6-9293-978b93924063\",\r\n", - " \"rule\": \"java:S1168\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 125,\r\n", - " \"hash\": \"540c13e9e156b687226421b24f2df178\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 125,\r\n", - " \"endLine\": 125,\r\n", - " \"startOffset\": 15,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Return an empty collection instead of null.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"e3725341-cdc7-4cbd-9501-398b2fba35b7\",\r\n", - " \"rule\": \"java:S1186\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 236,\r\n", - " \"hash\": \"4ad3614a428a3832d136e953b0e76fbd\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 236,\r\n", - " \"endLine\": 236,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 36\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"suspicious\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-14T07:12:42+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"3c8e37d2-5e50-4923-81d7-73c2040c4170\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 43,\r\n", - " \"hash\": \"ad09a36483e7010a1df5966a08a189a8\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 43,\r\n", - " \"endLine\": 43,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 28\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 50,\r\n", - " \"endLine\": 50,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 50,\r\n", - " \"endLine\": 50,\r\n", - " \"startOffset\": 32,\r\n", - " \"endOffset\": 34\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 53,\r\n", - " \"endLine\": 53,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 16\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 56,\r\n", - " \"endLine\": 56,\r\n", - " \"startOffset\": 19,\r\n", - " \"endOffset\": 21\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 70,\r\n", - " \"endLine\": 70,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 79,\r\n", - " \"endLine\": 79,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 79,\r\n", - " \"endLine\": 79,\r\n", - " \"startOffset\": 33,\r\n", - " \"endOffset\": 35\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 79,\r\n", - " \"endLine\": 79,\r\n", - " \"startOffset\": 62,\r\n", - " \"endOffset\": 64\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 79,\r\n", - " \"endLine\": 79,\r\n", - " \"startOffset\": 86,\r\n", - " \"endOffset\": 88\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 81,\r\n", - " \"endLine\": 81,\r\n", - " \"startOffset\": 40,\r\n", - " \"endOffset\": 41\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 82,\r\n", - " \"endLine\": 82,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 87,\r\n", - " \"endLine\": 87,\r\n", - " \"startOffset\": 34,\r\n", - " \"endOffset\": 36\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 89,\r\n", - " \"endLine\": 89,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 91,\r\n", - " \"endLine\": 91,\r\n", - " \"startOffset\": 10,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 20 to the 15 allowed.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-05T10:28:09+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"b752c368-3b98-4dba-b1ef-252f7e90b542\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 21,\r\n", - " \"hash\": \"378ce92770f7870670a517669d41426b\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 21,\r\n", - " \"endLine\": 21,\r\n", - " \"startOffset\": 43,\r\n", - " \"endOffset\": 48\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"eb06868c-fb33-456b-9928-ae5104f890a5\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 21,\r\n", - " \"hash\": \"378ce92770f7870670a517669d41426b\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 21,\r\n", - " \"endLine\": 21,\r\n", - " \"startOffset\": 38,\r\n", - " \"endOffset\": 41\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"53b9fcd6-11b2-4ba5-a058-a03ed62a30d2\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 29,\r\n", - " \"hash\": \"4625d9c6d7f029b6ff779c6d705d948b\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 29,\r\n", - " \"endLine\": 29,\r\n", - " \"startOffset\": 45,\r\n", - " \"endOffset\": 48\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"f5c42f3a-d1ae-4f85-81b3-5fcf93139e45\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 29,\r\n", - " \"hash\": \"4625d9c6d7f029b6ff779c6d705d948b\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 29,\r\n", - " \"endLine\": 29,\r\n", - " \"startOffset\": 50,\r\n", - " \"endOffset\": 55\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"1d898f55-8f06-4cc2-91a9-7b11bc3755e1\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 30,\r\n", - " \"hash\": \"bb4c2ca19aeb02967dbd0aa204dbf5e1\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 30,\r\n", - " \"endLine\": 30,\r\n", - " \"startOffset\": 42,\r\n", - " \"endOffset\": 47\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"4f62cdfe-e243-4201-89a6-eba6df0478c1\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 30,\r\n", - " \"hash\": \"bb4c2ca19aeb02967dbd0aa204dbf5e1\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 30,\r\n", - " \"endLine\": 30,\r\n", - " \"startOffset\": 37,\r\n", - " \"endOffset\": 40\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"2912f862-650d-4174-93be-7a9bda911295\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 29,\r\n", - " \"hash\": \"4659f49408d5a4c1832b09fdf6dd8344\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 29,\r\n", - " \"endLine\": 29,\r\n", - " \"startOffset\": 52,\r\n", - " \"endOffset\": 57\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"a0434760-c4df-4c3f-b118-eb5bba6fe959\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 29,\r\n", - " \"hash\": \"4659f49408d5a4c1832b09fdf6dd8344\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 29,\r\n", - " \"endLine\": 29,\r\n", - " \"startOffset\": 47,\r\n", - " \"endOffset\": 50\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"93f5bc7e-467c-4fbb-8d0b-d21627b6480c\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 21,\r\n", - " \"hash\": \"e8c5de653f72a21e22f3ca8578086ca4\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 21,\r\n", - " \"endLine\": 21,\r\n", - " \"startOffset\": 40,\r\n", - " \"endOffset\": 43\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"a13643d9-c00c-4f51-81f9-ce49e6f402f1\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 21,\r\n", - " \"hash\": \"e8c5de653f72a21e22f3ca8578086ca4\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 21,\r\n", - " \"endLine\": 21,\r\n", - " \"startOffset\": 45,\r\n", - " \"endOffset\": 50\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"640a5b8a-0381-4f0c-bb42-e8d23506a226\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 25,\r\n", - " \"hash\": \"27722f18cae945818625c57d7f0630ab\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 25,\r\n", - " \"endLine\": 25,\r\n", - " \"startOffset\": 27,\r\n", - " \"endOffset\": 30\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"9192f238-1461-4e7f-8bdd-97c62492af81\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 25,\r\n", - " \"hash\": \"27722f18cae945818625c57d7f0630ab\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 25,\r\n", - " \"endLine\": 25,\r\n", - " \"startOffset\": 32,\r\n", - " \"endOffset\": 37\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-05-02T07:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"38e77ac5-db29-4854-b4ae-bd81de860375\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 26,\r\n", - " \"hash\": \"6881df66d49c8ef0fffb6a0e82e414fa\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 26,\r\n", - " \"endLine\": 26,\r\n", - " \"startOffset\": 32,\r\n", - " \"endOffset\": 37\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"f4ff5914-bdda-451e-abad-aaf920e4ce14\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 26,\r\n", - " \"hash\": \"6881df66d49c8ef0fffb6a0e82e414fa\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 26,\r\n", - " \"endLine\": 26,\r\n", - " \"startOffset\": 27,\r\n", - " \"endOffset\": 30\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"00062bc2-3e52-4694-b39b-0cec85a359be\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 30,\r\n", - " \"hash\": \"c69d0dd447a5197413c69f6fd4307cb9\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 30,\r\n", - " \"endLine\": 30,\r\n", - " \"startOffset\": 30,\r\n", - " \"endOffset\": 33\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"d4e7d830-4d09-4026-9d29-9db5247955e0\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 30,\r\n", - " \"hash\": \"c69d0dd447a5197413c69f6fd4307cb9\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 30,\r\n", - " \"endLine\": 30,\r\n", - " \"startOffset\": 35,\r\n", - " \"endOffset\": 40\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"1a4abf21-472f-4b48-adff-3e1028065352\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 36,\r\n", - " \"hash\": \"112b907b170719a3a1bdb989d4bd4b4f\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 36,\r\n", - " \"endLine\": 36,\r\n", - " \"startOffset\": 26,\r\n", - " \"endOffset\": 29\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"df8ad544-d338-4f49-be4a-fc24b0aeb9b9\",\r\n", - " \"rule\": \"java:S119\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 36,\r\n", - " \"hash\": \"112b907b170719a3a1bdb989d4bd4b4f\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 36,\r\n", - " \"endLine\": 36,\r\n", - " \"startOffset\": 31,\r\n", - " \"endOffset\": 36\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"convention\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"c7a5ca5d-4d28-4979-835e-37334be102aa\",\r\n", - " \"rule\": \"java:S1700\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 38,\r\n", - " \"hash\": \"16deda567c3d51307896f931fa4666f2\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 38,\r\n", - " \"endLine\": 38,\r\n", - " \"startOffset\": 34,\r\n", - " \"endOffset\": 46\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Rename field \\\"ognlLRUCache\\\"\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-03-07T02:18:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"IDENTIFIABLE\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"5ac5f057-efff-4e18-9c28-1f613f0eacc7\",\r\n", - " \"rule\": \"java:S112\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/impl/FieldMatchValidator.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 56,\r\n", - " \"hash\": \"b9591633d35b5381ce42a1567a182f69\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 56,\r\n", - " \"endLine\": 56,\r\n", - " \"startOffset\": 78,\r\n", - " \"endOffset\": 87\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Define and throw a dedicated exception instead of using a generic one.\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"error-handling\",\r\n", - " \"cert\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-03-04T11:52:33+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"3df72514-a5f4-49c6-9a9f-b214a96908a7\",\r\n", - " \"rule\": \"java:S1066\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 336,\r\n", - " \"hash\": \"0d0de1cc860cda55c95e421c9b2851cc\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 336,\r\n", - " \"endLine\": 336,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 335,\r\n", - " \"endLine\": 335,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Merge this if statement with the enclosing one.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-02-20T12:29:46+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"73d403ab-a6cd-4bf9-86db-d5f0b43431c8\",\r\n", - " \"rule\": \"java:S3252\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/date/SimpleDateFormatAdapter.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 37,\r\n", - " \"hash\": \"6136567c880008ac9e5bd4aa2bd330ac\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 37,\r\n", - " \"endLine\": 37,\r\n", - " \"startOffset\": 34,\r\n", - " \"endOffset\": 49\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Use static access with \\\"java.text.DateFormat\\\" for \\\"getDateInstance\\\".\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"confusing\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-02-20T12:29:46+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"7e029542-01bb-4b3a-9b2a-d8573a341ce0\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 645,\r\n", - " \"hash\": \"4b4b383d71402833a54ea926e453ff26\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 645,\r\n", - " \"endLine\": 645,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 30\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 650,\r\n", - " \"endLine\": 650,\r\n", - " \"startOffset\": 50,\r\n", - " \"endOffset\": 51\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 660,\r\n", - " \"endLine\": 660,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 662,\r\n", - " \"endLine\": 662,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 666,\r\n", - " \"endLine\": 666,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 672,\r\n", - " \"endLine\": 672,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 677,\r\n", - " \"endLine\": 677,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 679,\r\n", - " \"endLine\": 679,\r\n", - " \"startOffset\": 10,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 680,\r\n", - " \"endLine\": 680,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 686,\r\n", - " \"endLine\": 686,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 690,\r\n", - " \"endLine\": 690,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 696,\r\n", - " \"endLine\": 696,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 700,\r\n", - " \"endLine\": 700,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 704,\r\n", - " \"endLine\": 704,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 706,\r\n", - " \"endLine\": 706,\r\n", - " \"startOffset\": 57,\r\n", - " \"endOffset\": 58\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 709,\r\n", - " \"endLine\": 709,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 711,\r\n", - " \"endLine\": 711,\r\n", - " \"startOffset\": 57,\r\n", - " \"endOffset\": 58\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 714,\r\n", - " \"endLine\": 714,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 718,\r\n", - " \"endLine\": 718,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 722,\r\n", - " \"endLine\": 722,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 726,\r\n", - " \"endLine\": 726,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 730,\r\n", - " \"endLine\": 730,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 734,\r\n", - " \"endLine\": 734,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 738,\r\n", - " \"endLine\": 738,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 742,\r\n", - " \"endLine\": 742,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 746,\r\n", - " \"endLine\": 746,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 750,\r\n", - " \"endLine\": 750,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 754,\r\n", - " \"endLine\": 754,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 758,\r\n", - " \"endLine\": 758,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 762,\r\n", - " \"endLine\": 762,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 766,\r\n", - " \"endLine\": 766,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 770,\r\n", - " \"endLine\": 770,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 774,\r\n", - " \"endLine\": 774,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 778,\r\n", - " \"endLine\": 778,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 782,\r\n", - " \"endLine\": 782,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 786,\r\n", - " \"endLine\": 786,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 790,\r\n", - " \"endLine\": 790,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 794,\r\n", - " \"endLine\": 794,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 801,\r\n", - " \"endLine\": 801,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 803,\r\n", - " \"endLine\": 803,\r\n", - " \"startOffset\": 10,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 804,\r\n", - " \"endLine\": 804,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 807,\r\n", - " \"endLine\": 807,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 808,\r\n", - " \"endLine\": 808,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 810,\r\n", - " \"endLine\": 810,\r\n", - " \"startOffset\": 27,\r\n", - " \"endOffset\": 29\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 812,\r\n", - " \"endLine\": 812,\r\n", - " \"startOffset\": 56,\r\n", - " \"endOffset\": 58\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 813,\r\n", - " \"endLine\": 813,\r\n", - " \"startOffset\": 24,\r\n", - " \"endOffset\": 26\r\n", - " },\r\n", - " \"msg\": \"+5 (incl 4 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 815,\r\n", - " \"endLine\": 815,\r\n", - " \"startOffset\": 26,\r\n", - " \"endOffset\": 30\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 820,\r\n", - " \"endLine\": 820,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 821,\r\n", - " \"endLine\": 821,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 823,\r\n", - " \"endLine\": 823,\r\n", - " \"startOffset\": 27,\r\n", - " \"endOffset\": 29\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 835,\r\n", - " \"endLine\": 835,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 838,\r\n", - " \"endLine\": 838,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 847,\r\n", - " \"endLine\": 847,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 850,\r\n", - " \"endLine\": 850,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 855,\r\n", - " \"endLine\": 855,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 863,\r\n", - " \"endLine\": 863,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 867,\r\n", - " \"endLine\": 867,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 16\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 873,\r\n", - " \"endLine\": 873,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 878,\r\n", - " \"endLine\": 878,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 880,\r\n", - " \"endLine\": 880,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 885,\r\n", - " \"endLine\": 885,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 887,\r\n", - " \"endLine\": 887,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 890,\r\n", - " \"endLine\": 890,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 893,\r\n", - " \"endLine\": 893,\r\n", - " \"startOffset\": 73,\r\n", - " \"endOffset\": 74\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 895,\r\n", - " \"endLine\": 895,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 897,\r\n", - " \"endLine\": 897,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 904,\r\n", - " \"endLine\": 904,\r\n", - " \"startOffset\": 44,\r\n", - " \"endOffset\": 45\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 905,\r\n", - " \"endLine\": 905,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 101 to the 15 allowed.\",\r\n", - " \"effort\": \"1h31min\",\r\n", - " \"debt\": \"1h31min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-02-10T17:42:10+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"ac7634b7-e674-4d04-beec-7db1a234cfd4\",\r\n", - " \"rule\": \"java:S1192\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 872,\r\n", - " \"hash\": \"621c51602ce755cab2af82dbc25cd187\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 872,\r\n", - " \"endLine\": 872,\r\n", - " \"startOffset\": 68,\r\n", - " \"endOffset\": 86\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 872,\r\n", - " \"endLine\": 872,\r\n", - " \"startOffset\": 68,\r\n", - " \"endOffset\": 86\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 893,\r\n", - " \"endLine\": 893,\r\n", - " \"startOffset\": 34,\r\n", - " \"endOffset\": 52\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 994,\r\n", - " \"endLine\": 994,\r\n", - " \"startOffset\": 23,\r\n", - " \"endOffset\": 41\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Define a constant instead of duplicating this literal \\\"jsTooltipEnabled\\\" 3 times.\",\r\n", - " \"effort\": \"8min\",\r\n", - " \"debt\": \"8min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"design\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-02-10T17:42:10+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"DISTINCT\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"436ab900-4279-44e7-ac2d-69c3559f4d3b\",\r\n", - " \"rule\": \"java:S2293\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 973,\r\n", - " \"hash\": \"727663d500898c74c92d7d5662ae514e\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 973,\r\n", - " \"endLine\": 973,\r\n", - " \"startOffset\": 38,\r\n", - " \"endOffset\": 54\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Replace the type specification in this constructor call with the diamond operator (\\\"<>\\\").\",\r\n", - " \"effort\": \"1min\",\r\n", - " \"debt\": \"1min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-02-10T17:42:10+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"6a504ad0-d2da-4996-8660-1c73e98854eb\",\r\n", - " \"rule\": \"java:S1128\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Anchor.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 23,\r\n", - " \"hash\": \"d820e074f2f71232ad758869ecffbc2a\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 23,\r\n", - " \"endLine\": 23,\r\n", - " \"startOffset\": 7,\r\n", - " \"endOffset\": 44\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove this unused import 'org.apache.commons.lang3.BooleanUtils'.\",\r\n", - " \"effort\": \"1min\",\r\n", - " \"debt\": \"1min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"unused\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"3f773abc-fc6f-423d-a1c6-4ecfbf228777\",\r\n", - " \"rule\": \"java:S1149\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Component.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 222,\r\n", - " \"hash\": \"3ad8e9d0d339c34a6d9e232b1bf58778\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 222,\r\n", - " \"endLine\": 222,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 24\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Replace the synchronized class \\\"Stack\\\" by an unsynchronized one such as \\\"Deque\\\".\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"performance\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"2d3c8f0a-ac1b-4433-9c25-91f234fa7f0f\",\r\n", - " \"rule\": \"java:S1128\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 26,\r\n", - " \"hash\": \"806cb7cca5c5f74fcce1dbd8936cce8e\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 26,\r\n", - " \"endLine\": 26,\r\n", - " \"startOffset\": 7,\r\n", - " \"endOffset\": 44\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove this unused import 'com.opensymphony.xwork2.inject.Inject'.\",\r\n", - " \"effort\": \"1min\",\r\n", - " \"debt\": \"1min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"unused\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"c5b7143b-3554-4f54-9563-c627c7875abc\",\r\n", - " \"rule\": \"java:S1128\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 27,\r\n", - " \"hash\": \"d820e074f2f71232ad758869ecffbc2a\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 27,\r\n", - " \"endLine\": 27,\r\n", - " \"startOffset\": 7,\r\n", - " \"endOffset\": 44\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove this unused import 'org.apache.commons.lang3.BooleanUtils'.\",\r\n", - " \"effort\": \"1min\",\r\n", - " \"debt\": \"1min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"unused\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"eff007fb-a303-4ff2-89b0-ba23309b21b7\",\r\n", - " \"rule\": \"java:S1128\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 28,\r\n", - " \"hash\": \"46ffce9a943a7192751f2ac5e391fd00\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 28,\r\n", - " \"endLine\": 28,\r\n", - " \"startOffset\": 7,\r\n", - " \"endOffset\": 41\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove this unused import 'org.apache.struts2.StrutsConstants'.\",\r\n", - " \"effort\": \"1min\",\r\n", - " \"debt\": \"1min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"unused\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"3ba1db0c-e81b-4207-9605-fe3b87d54c55\",\r\n", - " \"rule\": \"java:S5961\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 54,\r\n", - " \"hash\": \"c68a190432fff4a8e505fea58e598c5d\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 54,\r\n", - " \"endLine\": 54,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 36\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 69,\r\n", - " \"endLine\": 69,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 64\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 70,\r\n", - " \"endLine\": 70,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 44\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 71,\r\n", - " \"endLine\": 71,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 40\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 72,\r\n", - " \"endLine\": 72,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 51\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 73,\r\n", - " \"endLine\": 73,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 42\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 74,\r\n", - " \"endLine\": 74,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 41\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 75,\r\n", - " \"endLine\": 75,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 45\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 79,\r\n", - " \"endLine\": 79,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 62\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 82,\r\n", - " \"endLine\": 82,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 70\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 83,\r\n", - " \"endLine\": 83,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 69\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 86,\r\n", - " \"endLine\": 86,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 77\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 87,\r\n", - " \"endLine\": 87,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 80\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 88,\r\n", - " \"endLine\": 88,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 72\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 91,\r\n", - " \"endLine\": 91,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 79\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 92,\r\n", - " \"endLine\": 92,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 85\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 93,\r\n", - " \"endLine\": 93,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 63\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 94,\r\n", - " \"endLine\": 94,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 71\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 97,\r\n", - " \"endLine\": 97,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 69\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 98,\r\n", - " \"endLine\": 98,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 66\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 99,\r\n", - " \"endLine\": 99,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 84\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 100,\r\n", - " \"endLine\": 100,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 62\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 101,\r\n", - " \"endLine\": 101,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 70\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 104,\r\n", - " \"endLine\": 104,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 72\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 105,\r\n", - " \"endLine\": 105,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 67\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 106,\r\n", - " \"endLine\": 106,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 70\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 107,\r\n", - " \"endLine\": 107,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 88\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 108,\r\n", - " \"endLine\": 108,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 74\r\n", - " },\r\n", - " \"msg\": \"Assertion\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce the number of assertions from 27 to less than 25.\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"tests\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-04T08:01:21+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"TEST\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"814d34f9-d9a6-476d-a856-5e4831121c19\",\r\n", - " \"rule\": \"java:S1192\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 307,\r\n", - " \"hash\": \"2b81d34caa1a27b992b3f00702c32438\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 307,\r\n", - " \"endLine\": 307,\r\n", - " \"startOffset\": 57,\r\n", - " \"endOffset\": 64\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 307,\r\n", - " \"endLine\": 307,\r\n", - " \"startOffset\": 57,\r\n", - " \"endOffset\": 64\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 308,\r\n", - " \"endLine\": 308,\r\n", - " \"startOffset\": 77,\r\n", - " \"endOffset\": 84\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 309,\r\n", - " \"endLine\": 309,\r\n", - " \"startOffset\": 77,\r\n", - " \"endOffset\": 84\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 311,\r\n", - " \"endLine\": 311,\r\n", - " \"startOffset\": 74,\r\n", - " \"endOffset\": 81\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 312,\r\n", - " \"endLine\": 312,\r\n", - " \"startOffset\": 61,\r\n", - " \"endOffset\": 68\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Define a constant instead of duplicating this literal \\\"false\\\" 5 times.\",\r\n", - " \"effort\": \"12min\",\r\n", - " \"debt\": \"12min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"design\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-01T13:04:38+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"DISTINCT\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"4999e0e1-c5a8-4fea-982a-2143f8b4fa1e\",\r\n", - " \"rule\": \"java:S1123\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 317,\r\n", - " \"hash\": \"109d288af0b4e6464d6a8b00fc69604e\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 317,\r\n", - " \"endLine\": 317,\r\n", - " \"startOffset\": 31,\r\n", - " \"endOffset\": 66\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add the missing @Deprecated annotation.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"obsolete\",\r\n", - " \"bad-practice\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-01T13:04:38+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"72e4f660-6c2c-48bc-aa07-2f13dc53bd05\",\r\n", - " \"rule\": \"java:S1133\",\r\n", - " \"severity\": \"INFO\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 317,\r\n", - " \"hash\": \"109d288af0b4e6464d6a8b00fc69604e\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 317,\r\n", - " \"endLine\": 317,\r\n", - " \"startOffset\": 31,\r\n", - " \"endOffset\": 66\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Do not forget to remove this deprecated code someday.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"obsolete\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-01T13:04:38+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"b620b584-977f-41d7-bed4-c5fa017b51b1\",\r\n", - " \"rule\": \"java:S1133\",\r\n", - " \"severity\": \"INFO\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 354,\r\n", - " \"hash\": \"94fa70e4cae05c5b02f8f65363e9ceed\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 354,\r\n", - " \"endLine\": 354,\r\n", - " \"startOffset\": 31,\r\n", - " \"endOffset\": 65\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Do not forget to remove this deprecated code someday.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"obsolete\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-01T13:04:38+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"ee74648f-346b-4fc0-8b1d-55f2fe6d2b77\",\r\n", - " \"rule\": \"java:S1123\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 354,\r\n", - " \"hash\": \"94fa70e4cae05c5b02f8f65363e9ceed\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 354,\r\n", - " \"endLine\": 354,\r\n", - " \"startOffset\": 31,\r\n", - " \"endOffset\": 65\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Add the missing @Deprecated annotation.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"lukaszlenart@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"obsolete\",\r\n", - " \"bad-practice\"\r\n", - " ],\r\n", - " \"creationDate\": \"2022-01-01T13:04:38+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"54c70d99-66cc-4a46-b338-1a49acff93f5\",\r\n", - " \"rule\": \"java:S1948\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 105,\r\n", - " \"hash\": \"77a7d3bd9f6b0bc1e71e7abf03482d53\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 105,\r\n", - " \"endLine\": 105,\r\n", - " \"startOffset\": 36,\r\n", - " \"endOffset\": 52\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Make \\\"excludedPatterns\\\" transient or serializable.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"serialization\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"eaee74e5-a1ee-4ce8-936e-cd6f8458bdc9\",\r\n", - " \"rule\": \"java:S1948\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 106,\r\n", - " \"hash\": \"ba2e9483e28f5efff5b9d0d058a4b08a\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 106,\r\n", - " \"endLine\": 106,\r\n", - " \"startOffset\": 36,\r\n", - " \"endOffset\": 52\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Make \\\"acceptedPatterns\\\" transient or serializable.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"serialization\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"ed90bca7-b6c2-4c36-9e3d-af63480e2ad3\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 148,\r\n", - " \"hash\": \"0c9986d925149928f78e79ee82d6296c\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 148,\r\n", - " \"endLine\": 148,\r\n", - " \"startOffset\": 28,\r\n", - " \"endOffset\": 37\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 157,\r\n", - " \"endLine\": 157,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 163,\r\n", - " \"endLine\": 163,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 167,\r\n", - " \"endLine\": 167,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 182,\r\n", - " \"endLine\": 182,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 185,\r\n", - " \"endLine\": 185,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 189,\r\n", - " \"endLine\": 189,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 193,\r\n", - " \"endLine\": 193,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 197,\r\n", - " \"endLine\": 197,\r\n", - " \"startOffset\": 24,\r\n", - " \"endOffset\": 26\r\n", - " },\r\n", - " \"msg\": \"+5 (incl 4 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 199,\r\n", - " \"endLine\": 199,\r\n", - " \"startOffset\": 28,\r\n", - " \"endOffset\": 30\r\n", - " },\r\n", - " \"msg\": \"+6 (incl 5 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 204,\r\n", - " \"endLine\": 204,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 207,\r\n", - " \"endLine\": 207,\r\n", - " \"startOffset\": 26,\r\n", - " \"endOffset\": 31\r\n", - " },\r\n", - " \"msg\": \"+5 (incl 4 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 208,\r\n", - " \"endLine\": 208,\r\n", - " \"startOffset\": 28,\r\n", - " \"endOffset\": 30\r\n", - " },\r\n", - " \"msg\": \"+6 (incl 5 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 213,\r\n", - " \"endLine\": 213,\r\n", - " \"startOffset\": 32,\r\n", - " \"endOffset\": 34\r\n", - " },\r\n", - " \"msg\": \"+7 (incl 6 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 221,\r\n", - " \"endLine\": 221,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 224,\r\n", - " \"endLine\": 224,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 58 to the 15 allowed.\",\r\n", - " \"effort\": \"48min\",\r\n", - " \"debt\": \"48min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"a3348846-e2cc-42c6-83a7-7526869742b0\",\r\n", - " \"rule\": \"java:S135\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 182,\r\n", - " \"hash\": \"5be9678de2db3c1b47b866b2cd57d4d7\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 182,\r\n", - " \"endLine\": 182,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 186,\r\n", - " \"endLine\": 186,\r\n", - " \"startOffset\": 24,\r\n", - " \"endOffset\": 33\r\n", - " },\r\n", - " \"msg\": \"\\\"continue\\\" statement.\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 190,\r\n", - " \"endLine\": 190,\r\n", - " \"startOffset\": 24,\r\n", - " \"endOffset\": 33\r\n", - " },\r\n", - " \"msg\": \"\\\"continue\\\" statement.\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Reduce the total number of break and continue statements in this loop to use at most one.\",\r\n", - " \"effort\": \"20min\",\r\n", - " \"debt\": \"20min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"a75d5ceb-93f9-4d24-b900-8dfc63d6d036\",\r\n", - " \"rule\": \"java:S1948\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 34,\r\n", - " \"hash\": \"a5b9fb731777714f7a385f987db98d55\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 34,\r\n", - " \"endLine\": 34,\r\n", - " \"startOffset\": 29,\r\n", - " \"endOffset\": 39\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Make \\\"invocation\\\" transient or serializable.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"serialization\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"b7e8a6ab-4ce5-48a8-b199-3af31227a51f\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 122,\r\n", - " \"hash\": \"c0e73c336b59ce2d5b9524d01901f131\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 122,\r\n", - " \"endLine\": 122,\r\n", - " \"startOffset\": 19,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 124,\r\n", - " \"endLine\": 124,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 125,\r\n", - " \"endLine\": 125,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 127,\r\n", - " \"endLine\": 127,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 130,\r\n", - " \"endLine\": 130,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 135,\r\n", - " \"endLine\": 135,\r\n", - " \"startOffset\": 48,\r\n", - " \"endOffset\": 50\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 136,\r\n", - " \"endLine\": 136,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 141,\r\n", - " \"endLine\": 141,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 142,\r\n", - " \"endLine\": 142,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+4 (incl 3 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 142,\r\n", - " \"endLine\": 142,\r\n", - " \"startOffset\": 43,\r\n", - " \"endOffset\": 45\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 144,\r\n", - " \"endLine\": 144,\r\n", - " \"startOffset\": 22,\r\n", - " \"endOffset\": 26\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 147,\r\n", - " \"endLine\": 147,\r\n", - " \"startOffset\": 23,\r\n", - " \"endOffset\": 25\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 147,\r\n", - " \"endLine\": 147,\r\n", - " \"startOffset\": 46,\r\n", - " \"endOffset\": 48\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 149,\r\n", - " \"endLine\": 149,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 153,\r\n", - " \"endLine\": 153,\r\n", - " \"startOffset\": 10,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 154,\r\n", - " \"endLine\": 154,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 156,\r\n", - " \"endLine\": 156,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 157,\r\n", - " \"endLine\": 157,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+3 (incl 2 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 157,\r\n", - " \"endLine\": 157,\r\n", - " \"startOffset\": 46,\r\n", - " \"endOffset\": 48\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 159,\r\n", - " \"endLine\": 159,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 32 to the 15 allowed.\",\r\n", - " \"effort\": \"22min\",\r\n", - " \"debt\": \"22min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"1e9f1c91-24f0-45ae-9552-d8ba178dc06e\",\r\n", - " \"rule\": \"java:S1192\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 884,\r\n", - " \"hash\": \"086ba3aa6f6c7cec0b125eb2ecf9c866\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 884,\r\n", - " \"endLine\": 884,\r\n", - " \"startOffset\": 68,\r\n", - " \"endOffset\": 82\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 884,\r\n", - " \"endLine\": 884,\r\n", - " \"startOffset\": 68,\r\n", - " \"endOffset\": 82\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 886,\r\n", - " \"endLine\": 886,\r\n", - " \"startOffset\": 34,\r\n", - " \"endOffset\": 48\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 888,\r\n", - " \"endLine\": 888,\r\n", - " \"startOffset\": 34,\r\n", - " \"endOffset\": 48\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 998,\r\n", - " \"endLine\": 998,\r\n", - " \"startOffset\": 23,\r\n", - " \"endOffset\": 37\r\n", - " },\r\n", - " \"msg\": \"Duplication\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Define a constant instead of duplicating this literal \\\"tooltipDelay\\\" 4 times.\",\r\n", - " \"effort\": \"10min\",\r\n", - " \"debt\": \"10min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"design\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"DISTINCT\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"2c45d277-e7e7-478d-a743-f2b21e501b08\",\r\n", - " \"rule\": \"java:S6353\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 915,\r\n", - " \"hash\": \"78505efea3098211379593a61e59c954\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 915,\r\n", - " \"endLine\": 915,\r\n", - " \"startOffset\": 36,\r\n", - " \"endOffset\": 49\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Use concise character class syntax '\\\\\\\\W' instead of '[^a-zA-Z0-9_]'.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"regex\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"de6d3559-332b-445c-880f-38a1d968c647\",\r\n", - " \"rule\": \"java:S1948\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 90,\r\n", - " \"hash\": \"66332cf44806ccee360f4be320aa4be4\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 90,\r\n", - " \"endLine\": 90,\r\n", - " \"startOffset\": 47,\r\n", - " \"endOffset\": 74\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Make \\\"notExcludedAcceptedPatterns\\\" transient or serializable.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"serialization\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"039c1e96-a3d6-4917-86e9-d458077b88f9\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 210,\r\n", - " \"hash\": \"548d5feccaa9d8246311eb296de3ecd1\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 210,\r\n", - " \"endLine\": 210,\r\n", - " \"startOffset\": 19,\r\n", - " \"endOffset\": 28\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 217,\r\n", - " \"endLine\": 217,\r\n", - " \"startOffset\": 56,\r\n", - " \"endOffset\": 58\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 218,\r\n", - " \"endLine\": 218,\r\n", - " \"startOffset\": 44,\r\n", - " \"endOffset\": 46\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 219,\r\n", - " \"endLine\": 219,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 219,\r\n", - " \"endLine\": 219,\r\n", - " \"startOffset\": 36,\r\n", - " \"endOffset\": 38\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 224,\r\n", - " \"endLine\": 224,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 235,\r\n", - " \"endLine\": 235,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 235,\r\n", - " \"endLine\": 235,\r\n", - " \"startOffset\": 39,\r\n", - " \"endOffset\": 41\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 237,\r\n", - " \"endLine\": 237,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 242,\r\n", - " \"endLine\": 242,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 247,\r\n", - " \"endLine\": 247,\r\n", - " \"startOffset\": 20,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 250,\r\n", - " \"endLine\": 250,\r\n", - " \"startOffset\": 18,\r\n", - " \"endOffset\": 23\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 257,\r\n", - " \"endLine\": 257,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 262,\r\n", - " \"endLine\": 262,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 275,\r\n", - " \"endLine\": 275,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 17\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 284,\r\n", - " \"endLine\": 284,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 287,\r\n", - " \"endLine\": 287,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 18 to the 15 allowed.\",\r\n", - " \"effort\": \"8min\",\r\n", - " \"debt\": \"8min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"d33915ee-dcb0-4f4b-bbe4-e73cb22d1c55\",\r\n", - " \"rule\": \"java:S1948\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 174,\r\n", - " \"hash\": \"66332cf44806ccee360f4be320aa4be4\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 174,\r\n", - " \"endLine\": 174,\r\n", - " \"startOffset\": 47,\r\n", - " \"endOffset\": 74\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Make \\\"notExcludedAcceptedPatterns\\\" transient or serializable.\",\r\n", - " \"effort\": \"30min\",\r\n", - " \"debt\": \"30min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"cwe\",\r\n", - " \"serialization\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"LOGICAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"e808f6e3-89c4-40cd-8b7a-f874e97ddadd\",\r\n", - " \"rule\": \"java:S3776\",\r\n", - " \"severity\": \"CRITICAL\",\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 260,\r\n", - " \"hash\": \"548d5feccaa9d8246311eb296de3ecd1\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 260,\r\n", - " \"endLine\": 260,\r\n", - " \"startOffset\": 19,\r\n", - " \"endOffset\": 28\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 271,\r\n", - " \"endLine\": 271,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 275,\r\n", - " \"endLine\": 275,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 287,\r\n", - " \"endLine\": 287,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 288,\r\n", - " \"endLine\": 288,\r\n", - " \"startOffset\": 57,\r\n", - " \"endOffset\": 59\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 289,\r\n", - " \"endLine\": 289,\r\n", - " \"startOffset\": 44,\r\n", - " \"endOffset\": 46\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 290,\r\n", - " \"endLine\": 290,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 292,\r\n", - " \"endLine\": 292,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 298,\r\n", - " \"endLine\": 298,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 317,\r\n", - " \"endLine\": 317,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 320,\r\n", - " \"endLine\": 320,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 327,\r\n", - " \"endLine\": 327,\r\n", - " \"startOffset\": 59,\r\n", - " \"endOffset\": 61\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 328,\r\n", - " \"endLine\": 328,\r\n", - " \"startOffset\": 40,\r\n", - " \"endOffset\": 42\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 329,\r\n", - " \"endLine\": 329,\r\n", - " \"startOffset\": 38,\r\n", - " \"endOffset\": 39\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 330,\r\n", - " \"endLine\": 330,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 10\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 341,\r\n", - " \"endLine\": 341,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 343,\r\n", - " \"endLine\": 343,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 346,\r\n", - " \"endLine\": 346,\r\n", - " \"startOffset\": 10,\r\n", - " \"endOffset\": 15\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 353,\r\n", - " \"endLine\": 353,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 353,\r\n", - " \"endLine\": 353,\r\n", - " \"startOffset\": 43,\r\n", - " \"endOffset\": 45\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 355,\r\n", - " \"endLine\": 355,\r\n", - " \"startOffset\": 56,\r\n", - " \"endOffset\": 57\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 357,\r\n", - " \"endLine\": 357,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+2 (incl 1 for nesting)\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 370,\r\n", - " \"endLine\": 370,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 411,\r\n", - " \"endLine\": 411,\r\n", - " \"startOffset\": 55,\r\n", - " \"endOffset\": 57\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 412,\r\n", - " \"endLine\": 412,\r\n", - " \"startOffset\": 36,\r\n", - " \"endOffset\": 38\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 413,\r\n", - " \"endLine\": 413,\r\n", - " \"startOffset\": 42,\r\n", - " \"endOffset\": 43\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 414,\r\n", - " \"endLine\": 414,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 14\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 420,\r\n", - " \"endLine\": 420,\r\n", - " \"startOffset\": 10,\r\n", - " \"endOffset\": 15\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 425,\r\n", - " \"endLine\": 425,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 18\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " },\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 429,\r\n", - " \"endLine\": 429,\r\n", - " \"startOffset\": 14,\r\n", - " \"endOffset\": 19\r\n", - " },\r\n", - " \"msg\": \"+1\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Refactor this method to reduce its Cognitive Complexity from 34 to the 15 allowed.\",\r\n", - " \"effort\": \"24min\",\r\n", - " \"debt\": \"24min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"brain-overload\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"FOCUSED\",\r\n", - " \"cleanCodeAttributeCategory\": \"ADAPTABLE\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"HIGH\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"fd12aa13-b7bb-4b3f-987f-c25f2ea630d4\",\r\n", - " \"rule\": \"java:S3740\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 329,\r\n", - " \"hash\": \"ca0c42a3c87bd4415add5fb0034dbc23\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 329,\r\n", - " \"endLine\": 329,\r\n", - " \"startOffset\": 8,\r\n", - " \"endOffset\": 11\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Provide the parametrized type for this generic.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"pitfall\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"30e76b9c-cb5c-484c-be23-f781dbb07efe\",\r\n", - " \"rule\": \"java:S3740\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 413,\r\n", - " \"hash\": \"b7f6ebed63942e9e9d2058ab10f28818\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 413,\r\n", - " \"endLine\": 413,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 15\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Provide the parametrized type for this generic.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"yasserzamani@apache.org\",\r\n", - " \"tags\": [\r\n", - " \"pitfall\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-24T19:09:01+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"COMPLETE\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"5a5b8ef8-f0b8-4371-abf3-4a2db062d022\",\r\n", - " \"rule\": \"java:S5785\",\r\n", - " \"severity\": \"MAJOR\",\r\n", - " \"component\": \"struts:core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 239,\r\n", - " \"hash\": \"7ec908b2b3c3961ada39dac77738fa3a\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 239,\r\n", - " \"endLine\": 239,\r\n", - " \"startOffset\": 12,\r\n", - " \"endOffset\": 22\r\n", - " },\r\n", - " \"flows\": [\r\n", - " {\r\n", - " \"locations\": [\r\n", - " {\r\n", - " \"component\": \"struts:core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 239,\r\n", - " \"endLine\": 239,\r\n", - " \"startOffset\": 88,\r\n", - " \"endOffset\": 123\r\n", - " },\r\n", - " \"msg\": \"An equals check is performed here, which is better expressed with assertEquals.\",\r\n", - " \"msgFormattings\": []\r\n", - " }\r\n", - " ]\r\n", - " }\r\n", - " ],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Use assertEquals instead.\",\r\n", - " \"effort\": \"2min\",\r\n", - " \"debt\": \"2min\",\r\n", - " \"author\": \"pascal.davoust@eptica.com\",\r\n", - " \"tags\": [\r\n", - " \"junit\",\r\n", - " \"tests\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-10T14:23:31+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"TEST\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"MEDIUM\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"cfb47539-3913-40a7-99cd-b134b5ce2d06\",\r\n", - " \"rule\": \"java:S1125\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 100,\r\n", - " \"hash\": \"6b09b6538b18f2b62e8191e68ddc7820\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 100,\r\n", - " \"endLine\": 100,\r\n", - " \"startOffset\": 44,\r\n", - " \"endOffset\": 48\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove the unnecessary boolean literal.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-11-06T03:32:11+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"5c58bc88-ad31-4878-9b91-36b29bd98d46\",\r\n", - " \"rule\": \"java:S1185\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 97,\r\n", - " \"hash\": \"8e770c24f13fecaac7cfb9d20b0f81bf\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 97,\r\n", - " \"endLine\": 97,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 59\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove this method to simply inherit it.\",\r\n", - " \"effort\": \"2min\",\r\n", - " \"debt\": \"2min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"redundant\",\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"abb4613f-ed51-4565-89e5-ecd59ba5e1a7\",\r\n", - " \"rule\": \"java:S1125\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 103,\r\n", - " \"hash\": \"04d3c539a6a442f0d037c31ee6145c86\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 103,\r\n", - " \"endLine\": 103,\r\n", - " \"startOffset\": 60,\r\n", - " \"endOffset\": 65\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove the unnecessary boolean literal.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"c55ffb92-860a-4c70-9d09-1aa792b7a802\",\r\n", - " \"rule\": \"java:S1185\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 62,\r\n", - " \"hash\": \"8e770c24f13fecaac7cfb9d20b0f81bf\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 62,\r\n", - " \"endLine\": 62,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 59\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove this method to simply inherit it.\",\r\n", - " \"effort\": \"2min\",\r\n", - " \"debt\": \"2min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"redundant\",\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"c6aff05a-e247-4456-acf7-14a0519a5884\",\r\n", - " \"rule\": \"java:S1125\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 68,\r\n", - " \"hash\": \"04d3c539a6a442f0d037c31ee6145c86\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 68,\r\n", - " \"endLine\": 68,\r\n", - " \"startOffset\": 60,\r\n", - " \"endOffset\": 65\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove the unnecessary boolean literal.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"c6488c77-b287-4a5a-8e18-91a4f396e8a3\",\r\n", - " \"rule\": \"java:S1125\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 91,\r\n", - " \"hash\": \"04d3c539a6a442f0d037c31ee6145c86\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 91,\r\n", - " \"endLine\": 91,\r\n", - " \"startOffset\": 60,\r\n", - " \"endOffset\": 65\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove the unnecessary boolean literal.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"5e9e2f0e-b0d8-42c3-bfc8-2768a5cdc0bf\",\r\n", - " \"rule\": \"java:S1185\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 43,\r\n", - " \"hash\": \"8e770c24f13fecaac7cfb9d20b0f81bf\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 43,\r\n", - " \"endLine\": 43,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 59\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove this method to simply inherit it.\",\r\n", - " \"effort\": \"2min\",\r\n", - " \"debt\": \"2min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"redundant\",\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"25aa0c11-d20e-409e-92a3-f68c37fbce93\",\r\n", - " \"rule\": \"java:S1125\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 49,\r\n", - " \"hash\": \"04d3c539a6a442f0d037c31ee6145c86\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 49,\r\n", - " \"endLine\": 49,\r\n", - " \"startOffset\": 60,\r\n", - " \"endOffset\": 65\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove the unnecessary boolean literal.\",\r\n", - " \"effort\": \"5min\",\r\n", - " \"debt\": \"5min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": true,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CONVENTIONAL\",\r\n", - " \"cleanCodeAttributeCategory\": \"CONSISTENT\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"8306f9c8-c62b-4308-9a93-12982e15c420\",\r\n", - " \"rule\": \"java:S1185\",\r\n", - " \"severity\": \"MINOR\",\r\n", - " \"component\": \"struts:core/src/main/java/org/apache/struts2/views/jsp/DateTag.java\",\r\n", - " \"project\": \"struts\",\r\n", - " \"line\": 75,\r\n", - " \"hash\": \"8e770c24f13fecaac7cfb9d20b0f81bf\",\r\n", - " \"textRange\": {\r\n", - " \"startLine\": 75,\r\n", - " \"endLine\": 75,\r\n", - " \"startOffset\": 16,\r\n", - " \"endOffset\": 59\r\n", - " },\r\n", - " \"flows\": [],\r\n", - " \"status\": \"OPEN\",\r\n", - " \"message\": \"Remove this method to simply inherit it.\",\r\n", - " \"effort\": \"2min\",\r\n", - " \"debt\": \"2min\",\r\n", - " \"author\": \"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\r\n", - " \"tags\": [\r\n", - " \"redundant\",\r\n", - " \"clumsy\"\r\n", - " ],\r\n", - " \"creationDate\": \"2021-10-30T20:08:51+0000\",\r\n", - " \"updateDate\": \"2024-05-13T12:03:53+0000\",\r\n", - " \"type\": \"CODE_SMELL\",\r\n", - " \"scope\": \"MAIN\",\r\n", - " \"quickFixAvailable\": false,\r\n", - " \"messageFormattings\": [],\r\n", - " \"codeVariants\": [],\r\n", - " \"cleanCodeAttribute\": \"CLEAR\",\r\n", - " \"cleanCodeAttributeCategory\": \"INTENTIONAL\",\r\n", - " \"impacts\": [\r\n", - " {\r\n", - " \"softwareQuality\": \"MAINTAINABILITY\",\r\n", - " \"severity\": \"LOW\"\r\n", - " }\r\n", - " ],\r\n", - " \"issueStatus\": \"OPEN\"\r\n", - " }\r\n", - " ],\r\n", - " \"components\": [\r\n", - " {\r\n", - " \"key\": \"struts:plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"FIL\",\r\n", - " \"name\": \"JspDocumentParser.java\",\r\n", - " \"longName\": \"plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\",\r\n", - " \"path\": \"plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspDocumentParser.java\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"FIL\",\r\n", - " \"name\": \"DispatcherServlet.java\",\r\n", - " \"longName\": \"plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\",\r\n", - " \"path\": \"plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/DispatcherServlet.java\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"struts:core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"FIL\",\r\n", - " \"name\": \"XSLTResult.java\",\r\n", - " \"longName\": \"core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\",\r\n", - " \"path\": \"core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"struts:core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"FIL\",\r\n", - " \"name\": \"DomHelper.java\",\r\n", - " \"longName\": \"core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\",\r\n", - " \"path\": \"core/src/main/java/com/opensymphony/xwork2/util/DomHelper.java\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"struts\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"TRK\",\r\n", - " \"name\": \"struts\",\r\n", - " \"longName\": \"struts\"\r\n", - " },\r\n", - " {\r\n", - " \"key\": \"struts:plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", - " \"enabled\": true,\r\n", - " \"qualifier\": \"FIL\",\r\n", - " \"name\": \"FreemarkerDecoratorServlet.java\",\r\n", - " \"longName\": \"plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\",\r\n", - " \"path\": \"plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java\"\r\n", - " }\r\n", - " ],\r\n", - " \"facets\": []\r\n", - "}" - ] - } - ], - "source": [ - "!cat combined_file.json" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\"total\":7138,\"p\":1,\"ps\":100,\"paging\":{\"pageIndex\":1,\"pageSize\":100,\"total\":7138},\"effortTotal\":76812,\"issues\":[{\"key\":\"538fe7e4-d29b-4763-a177-a64bdf6b439c\",\"rule\":\"java:S2699\",\"severity\":\"BLOCKER\",\"component\":\"struts:core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\"project\":\"struts\",\"line\":124,\"hash\":\"27f9a3c576875d7630531caca4bb4043\",\"textRange\":{\"startLine\":124,\"endLine\":124,\"startOffset\":16,\"endOffset\":34},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add at least one assertion to this test case.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"junit\",\"tests\"],\"creationDate\":\"2022-09-01T06:15:48+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"TEST\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"TESTED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"8edd5bf7-3e8c-4875-918d-3dc30f508349\",\"rule\":\"java:S2699\",\"severity\":\"BLOCKER\",\"component\":\"struts:core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\"project\":\"struts\",\"line\":136,\"hash\":\"9a025606860b91fe372eb851e5f4bb5f\",\"textRange\":{\"startLine\":136,\"endLine\":136,\"startOffset\":16,\"endOffset\":42},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add at least one assertion to this test case.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"junit\",\"tests\"],\"creationDate\":\"2022-09-01T06:15:48+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"TEST\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"TESTED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"ed6398b0-80c2-4bbf-83d0-234e09442880\",\"rule\":\"java:S1124\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/interceptor/csp/DefaultCspSettings.java\",\"project\":\"struts\",\"line\":41,\"hash\":\"f695f4ce553b07b13cb3a258db26648b\",\"textRange\":{\"startLine\":41,\"endLine\":41,\"startOffset\":18,\"endOffset\":24},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Reorder the modifiers to comply with the Java Language Specification.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-08-23T18:31:39+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"05f3830e-271d-4d6e-9480-8f20b3ffa738\",\"rule\":\"java:S1452\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java\",\"project\":\"struts\",\"line\":74,\"hash\":\"d7c1cc9a927b8cd9ac3c6d5c6645296e\",\"textRange\":{\"startLine\":74,\"endLine\":74,\"startOffset\":21,\"endOffset\":22},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove usage of generic wildcard type.\",\"effort\":\"20min\",\"debt\":\"20min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"pitfall\"],\"creationDate\":\"2022-08-08T15:00:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"815658bf-beca-44df-afcc-8b2d13c458d2\",\"rule\":\"java:S1128\",\"severity\":\"MINOR\",\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"project\":\"struts\",\"line\":50,\"hash\":\"0fc07beaacd336506327651129171800\",\"textRange\":{\"startLine\":50,\"endLine\":50,\"startOffset\":7,\"endOffset\":23},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this unused import \\u0027java.util.Arrays\\u0027.\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"unused\"],\"creationDate\":\"2022-08-08T15:00:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"55aefedd-8345-40f8-b118-3241c4846fa7\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"project\":\"struts\",\"line\":195,\"hash\":\"9563e729621dcbbe1df735e787e83bd0\",\"textRange\":{\"startLine\":195,\"endLine\":195,\"startOffset\":32,\"endOffset\":57},\"flows\":[{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":200,\"endLine\":200,\"startOffset\":8,\"endOffset\":11},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":201,\"endLine\":201,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":201,\"endLine\":201,\"startOffset\":43,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":205,\"endLine\":205,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":211,\"endLine\":211,\"startOffset\":20,\"endOffset\":23},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":212,\"endLine\":212,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"textRange\":{\"startLine\":216,\"endLine\":216,\"startOffset\":18,\"endOffset\":23},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 17 to the 15 allowed.\",\"effort\":\"7min\",\"debt\":\"7min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-08-08T15:00:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"627fcd6c-4ff4-40f9-9a24-c1f12c6bc1db\",\"rule\":\"java:S2293\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\"project\":\"struts\",\"line\":86,\"hash\":\"f35f2f2366316bdcc343a8d0c3ed5ccc\",\"textRange\":{\"startLine\":86,\"endLine\":86,\"startOffset\":50,\"endOffset\":66},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Replace the type specification in this constructor call with the diamond operator (\\\"\\u003c\\u003e\\\").\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-07-31T22:26:48+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"592fdd53-37eb-40ab-8ed8-8388d6759b85\",\"rule\":\"java:S2293\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\"project\":\"struts\",\"line\":87,\"hash\":\"124b1662f513f6a74a455141ccc7b7d4\",\"textRange\":{\"startLine\":87,\"endLine\":87,\"startOffset\":48,\"endOffset\":68},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Replace the type specification in this constructor call with the diamond operator (\\\"\\u003c\\u003e\\\").\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-07-31T22:26:48+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"528fa6e5-6bee-4475-80a3-4169e36a7d8b\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java\",\"project\":\"struts\",\"line\":37,\"hash\":\"7fce864e13eea94528cfb869dbb6f572\",\"textRange\":{\"startLine\":37,\"endLine\":37,\"startOffset\":38,\"endOffset\":46},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"selector\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"48475312+rproserpio@users.noreply.github.com\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2022-07-24T23:11:46+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"28b4a8cc-5d3f-44d8-8f0c-ffaccada2cc8\",\"rule\":\"java:S1161\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Radio.java\",\"project\":\"struts\",\"line\":83,\"hash\":\"48b465d4c33988aae1812fa8020c1830\",\"textRange\":{\"startLine\":83,\"endLine\":83,\"startOffset\":23,\"endOffset\":40},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add the \\\"@Override\\\" annotation above this method signature\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"bad-practice\"],\"creationDate\":\"2022-07-07T19:34:43+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"fd88e0f8-5788-4ba1-9291-9a39564dbbc1\",\"rule\":\"java:S2699\",\"severity\":\"BLOCKER\",\"component\":\"struts:core/src/test/java/org/apache/struts2/config/StrutsJavaConfigurationProviderTest.java\",\"project\":\"struts\",\"line\":114,\"hash\":\"52f478f09dd3fec7802f8d41972ccb90\",\"textRange\":{\"startLine\":114,\"endLine\":114,\"startOffset\":16,\"endOffset\":48},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add at least one assertion to this test case.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"junit\",\"tests\"],\"creationDate\":\"2022-07-03T21:37:58+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"TEST\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"TESTED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"eaf8f3d4-9712-444b-b777-9a7273da0243\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"project\":\"struts\",\"line\":289,\"hash\":\"c0e73c336b59ce2d5b9524d01901f131\",\"textRange\":{\"startLine\":289,\"endLine\":289,\"startOffset\":19,\"endOffset\":22},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":296,\"endLine\":296,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":298,\"endLine\":298,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":300,\"endLine\":300,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":302,\"endLine\":302,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":304,\"endLine\":304,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":306,\"endLine\":306,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":308,\"endLine\":308,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":310,\"endLine\":310,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":311,\"endLine\":311,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":313,\"endLine\":313,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":319,\"endLine\":319,\"startOffset\":54,\"endOffset\":55},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":324,\"endLine\":324,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":326,\"endLine\":326,\"startOffset\":58,\"endOffset\":59},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":331,\"endLine\":331,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":335,\"endLine\":335,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":336,\"endLine\":336,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":337,\"endLine\":337,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":339,\"endLine\":339,\"startOffset\":18,\"endOffset\":22},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":342,\"endLine\":342,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":344,\"endLine\":344,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":346,\"endLine\":346,\"startOffset\":26,\"endOffset\":30},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":349,\"endLine\":349,\"startOffset\":22,\"endOffset\":27},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 41 to the 15 allowed.\",\"effort\":\"31min\",\"debt\":\"31min\",\"author\":\"ts.stadler@gmx.de\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-06-21T08:09:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"40633b8f-d265-4f5f-9ec1-69d35c710695\",\"rule\":\"java:S3599\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":140,\"hash\":\"d715620bfc2f4a9f3b028b680b3182bd\",\"textRange\":{\"startLine\":140,\"endLine\":175,\"startOffset\":38,\"endOffset\":9},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Use another way to initialize this instance.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"leak\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"BUG\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"RELIABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"389129bd-9848-4d7a-8a11-06cf51122a23\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":351,\"hash\":\"040a76a42823e0c3c7026dc5d2493241\",\"textRange\":{\"startLine\":351,\"endLine\":351,\"startOffset\":19,\"endOffset\":40},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":354,\"endLine\":354,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":357,\"endLine\":357,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":363,\"endLine\":363,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":367,\"endLine\":367,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":374,\"endLine\":374,\"startOffset\":12,\"endOffset\":15},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":376,\"endLine\":376,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":376,\"endLine\":376,\"startOffset\":31,\"endOffset\":33},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":376,\"endLine\":376,\"startOffset\":91,\"endOffset\":93},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":377,\"endLine\":377,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":381,\"endLine\":381,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":389,\"endLine\":389,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":389,\"endLine\":389,\"startOffset\":30,\"endOffset\":32},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":394,\"endLine\":394,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":396,\"endLine\":396,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":396,\"endLine\":396,\"startOffset\":25,\"endOffset\":27},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 25 to the 15 allowed.\",\"effort\":\"15min\",\"debt\":\"15min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1cf2b531-07d8-4283-9f7f-c7f750e2a49b\",\"rule\":\"java:S1659\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":352,\"hash\":\"71cad5838b4f516387b058cc80ed7b71\",\"textRange\":{\"startLine\":352,\"endLine\":352,\"startOffset\":32,\"endOffset\":42},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Declare \\\"actionName\\\" on a separate line.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\",\"cert\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FORMATTED\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c4332627-a265-4e08-95a9-65fd0da99f16\",\"rule\":\"java:S1066\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":377,\"hash\":\"a40b4b6d9c83b05bca6a5b76fd6ab68b\",\"textRange\":{\"startLine\":377,\"endLine\":377,\"startOffset\":20,\"endOffset\":22},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":376,\"endLine\":376,\"startOffset\":16,\"endOffset\":18},\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Merge this if statement with the enclosing one.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"b2485096-9756-4df6-ab0a-f2b999e911d2\",\"rule\":\"java:S1066\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":574,\"hash\":\"dd1225be27a61d7cc83c1b136e7127d4\",\"textRange\":{\"startLine\":574,\"endLine\":574,\"startOffset\":12,\"endOffset\":14},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":573,\"endLine\":573,\"startOffset\":8,\"endOffset\":10},\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Merge this if statement with the enclosing one.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"b12b2e54-2311-49cd-b4cf-745a138719fe\",\"rule\":\"java:S1066\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"project\":\"struts\",\"line\":575,\"hash\":\"a7c355b43a0cfa7ba5cd3ed6c6a0e335\",\"textRange\":{\"startLine\":575,\"endLine\":575,\"startOffset\":16,\"endOffset\":18},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"textRange\":{\"startLine\":574,\"endLine\":574,\"startOffset\":12,\"endOffset\":14},\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Merge this if statement with the enclosing one.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-06-15T09:06:45+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a8474740-8d31-4855-9450-70f9edbaf573\",\"rule\":\"java:S2160\",\"severity\":\"MINOR\",\"component\":\"struts:plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsApplicationResource.java\",\"project\":\"struts\",\"line\":30,\"hash\":\"98948d462188d4cc27d52041cd0b03a6\",\"textRange\":{\"startLine\":30,\"endLine\":30,\"startOffset\":13,\"endOffset\":38},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Override the \\\"equals\\\" method in this class.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-06-10T14:06:10+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"e6c02306-ea66-47fa-8dde-06c2deb7bffd\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"project\":\"struts\",\"line\":49,\"hash\":\"4000bb9d34c44cc34eba9c54d1b0c86a\",\"textRange\":{\"startLine\":49,\"endLine\":49,\"startOffset\":18,\"endOffset\":30},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":53,\"endLine\":53,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":53,\"endLine\":53,\"startOffset\":36,\"endOffset\":38},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":58,\"endLine\":58,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":60,\"endLine\":60,\"startOffset\":19,\"endOffset\":21},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":69,\"endLine\":69,\"startOffset\":16,\"endOffset\":19},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":73,\"endLine\":73,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":76,\"endLine\":76,\"startOffset\":22,\"endOffset\":27},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":19,\"endOffset\":21},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":83,\"endLine\":83,\"startOffset\":16,\"endOffset\":19},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":87,\"endLine\":87,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":90,\"endLine\":90,\"startOffset\":22,\"endOffset\":27},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":93,\"endLine\":93,\"startOffset\":19,\"endOffset\":21},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":93,\"endLine\":93,\"startOffset\":63,\"endOffset\":65},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":99,\"endLine\":99,\"startOffset\":16,\"endOffset\":19},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":103,\"endLine\":103,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":106,\"endLine\":106,\"startOffset\":22,\"endOffset\":27},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":110,\"endLine\":110,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":110,\"endLine\":110,\"startOffset\":36,\"endOffset\":38},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":112,\"endLine\":112,\"startOffset\":27,\"endOffset\":29},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":112,\"endLine\":112,\"startOffset\":43,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":114,\"endLine\":114,\"startOffset\":27,\"endOffset\":29},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":114,\"endLine\":114,\"startOffset\":43,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":116,\"endLine\":116,\"startOffset\":22,\"endOffset\":26},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":119,\"endLine\":119,\"startOffset\":18,\"endOffset\":23},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":126,\"endLine\":126,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":132,\"endLine\":132,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":136,\"endLine\":136,\"startOffset\":22,\"endOffset\":27},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":141,\"endLine\":141,\"startOffset\":14,\"endOffset\":19},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":145,\"endLine\":145,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 63 to the 15 allowed.\",\"effort\":\"53min\",\"debt\":\"53min\",\"author\":\"ghuber@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-05-19T09:30:36+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"86c5fbdc-1b3d-4170-abe4-0fa392fd7c01\",\"rule\":\"java:S1192\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"project\":\"struts\",\"line\":117,\"hash\":\"200b1d98b0a714fcbd4143991f56c0bd\",\"textRange\":{\"startLine\":117,\"endLine\":117,\"startOffset\":58,\"endOffset\":80},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":117,\"endLine\":117,\"startOffset\":58,\"endOffset\":80},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":120,\"endLine\":120,\"startOffset\":54,\"endOffset\":76},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"textRange\":{\"startLine\":142,\"endLine\":142,\"startOffset\":50,\"endOffset\":72},\"msg\":\"Duplication\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Define a constant instead of duplicating this literal \\\"Could not parse date\\\" 3 times.\",\"effort\":\"8min\",\"debt\":\"8min\",\"author\":\"ghuber@apache.org\",\"tags\":[\"design\"],\"creationDate\":\"2022-05-19T09:30:36+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"DISTINCT\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"43023b26-c4b4-4f49-88b9-b7a93119e9b5\",\"rule\":\"java:S6541\",\"severity\":\"INFO\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"project\":\"struts\",\"line\":49,\"hash\":\"4000bb9d34c44cc34eba9c54d1b0c86a\",\"textRange\":{\"startLine\":49,\"endLine\":49,\"startOffset\":18,\"endOffset\":30},\"flows\":[],\"status\":\"OPEN\",\"message\":\"A \\\"Brain Method\\\" was detected. Refactor it to reduce at least one of the following metrics: LOC from 90 to 64, Complexity from 24 to 14, Nesting Level from 5 to 2, Number of Variables from 30 to 6.\",\"effort\":\"0min\",\"debt\":\"0min\",\"author\":\"gregh3269@gmail.com\",\"tags\":[\"design\",\"architecture\"],\"creationDate\":\"2022-05-17T05:31:30+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a4183f4f-410c-479b-8059-08d8bae4a3a8\",\"rule\":\"java:S108\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"project\":\"struts\",\"line\":106,\"hash\":\"7ce7fd74fa3ef1f4a253c1501e30c4c6\",\"textRange\":{\"startLine\":106,\"endLine\":106,\"startOffset\":60,\"endOffset\":61},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Either remove or fill this block of code.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"gregh3269@gmail.com\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-17T05:31:30+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"bc4ace49-a65c-4a71-ae99-3f272ccf12c8\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"project\":\"struts\",\"line\":75,\"hash\":\"7386f3159001dd1331f7fa720fa4b11f\",\"textRange\":{\"startLine\":75,\"endLine\":75,\"startOffset\":18,\"endOffset\":30},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":78,\"endLine\":78,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":78,\"endLine\":78,\"startOffset\":26,\"endOffset\":28},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":83,\"endLine\":83,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":95,\"endLine\":95,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":97,\"endLine\":97,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":99,\"endLine\":99,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":101,\"endLine\":101,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":103,\"endLine\":103,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":105,\"endLine\":105,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":107,\"endLine\":107,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":109,\"endLine\":109,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":111,\"endLine\":111,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":113,\"endLine\":113,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":113,\"endLine\":113,\"startOffset\":57,\"endOffset\":59},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":115,\"endLine\":115,\"startOffset\":15,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":119,\"endLine\":119,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":120,\"endLine\":120,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":123,\"endLine\":123,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":125,\"endLine\":125,\"startOffset\":18,\"endOffset\":22},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":131,\"endLine\":131,\"startOffset\":19,\"endOffset\":21},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":135,\"endLine\":135,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"textRange\":{\"startLine\":135,\"endLine\":135,\"startOffset\":31,\"endOffset\":33},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 26 to the 15 allowed.\",\"effort\":\"16min\",\"debt\":\"16min\",\"author\":\"gregh3269@gmail.com\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-05-17T05:31:30+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"959697d3-b721-445b-b973-8c6c5fba8609\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":232,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":232,\"endLine\":232,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty map instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"d15353bc-8d2b-4776-8d54-53cff0bbcc15\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":262,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":262,\"endLine\":262,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty map instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"89776846-5d08-4759-96db-50c41816b513\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":271,\"hash\":\"5371973806ebc1cf99a41e52239f1ef6\",\"textRange\":{\"startLine\":271,\"endLine\":271,\"startOffset\":16,\"endOffset\":39},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"e136f3f4-8e5f-475f-982a-4d03aa71d406\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":277,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":277,\"endLine\":277,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty collection instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"8f7d664d-b37c-4018-ad87-f47ee6c8d09a\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":282,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":282,\"endLine\":282,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty collection instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"3c99d09d-337a-47c8-be3f-aa1d6a499fd1\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":286,\"hash\":\"5a87d2653876a0c4bb741506c6f7c085\",\"textRange\":{\"startLine\":286,\"endLine\":286,\"startOffset\":16,\"endOffset\":27},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"73ca4b60-c648-469b-bb39-c043fe698906\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":291,\"hash\":\"05b05bcc4bf3fb6c5862920a9cd23948\",\"textRange\":{\"startLine\":291,\"endLine\":291,\"startOffset\":42,\"endOffset\":53},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"18e51d03-adf0-4b50-8d53-0d677e6f6152\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":296,\"hash\":\"08965c5ac15d9fe56eeedea509468878\",\"textRange\":{\"startLine\":296,\"endLine\":296,\"startOffset\":16,\"endOffset\":27},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"529ed68e-3c82-42da-9757-48b9690f40f2\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"project\":\"struts\",\"line\":316,\"hash\":\"d58a32e4959bbb6304111f161db733fe\",\"textRange\":{\"startLine\":316,\"endLine\":316,\"startOffset\":16,\"endOffset\":28},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1ef8080e-4279-49db-9084-c7a4c44257d5\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\"project\":\"struts\",\"line\":328,\"hash\":\"e75c4731562803ee6ff19da01b454395\",\"textRange\":{\"startLine\":328,\"endLine\":328,\"startOffset\":13,\"endOffset\":18},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"719fdad6-8cf5-44b3-982b-4ec4e11c22e1\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\"project\":\"struts\",\"line\":333,\"hash\":\"98485397bf25e554dd48e5e45b0e496b\",\"textRange\":{\"startLine\":333,\"endLine\":333,\"startOffset\":13,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1bc73a9d-bb87-4f78-939e-8c8add442f1e\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\"project\":\"struts\",\"line\":339,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":339,\"endLine\":339,\"startOffset\":9,\"endOffset\":13},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty collection instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"cbc0a283-b563-4e9e-8bf6-622f7c115204\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\"project\":\"struts\",\"line\":120,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":120,\"endLine\":120,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty collection instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"2eb46435-8378-4ce6-9293-978b93924063\",\"rule\":\"java:S1168\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\"project\":\"struts\",\"line\":125,\"hash\":\"540c13e9e156b687226421b24f2df178\",\"textRange\":{\"startLine\":125,\"endLine\":125,\"startOffset\":15,\"endOffset\":19},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Return an empty collection instead of null.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cert\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"e3725341-cdc7-4cbd-9501-398b2fba35b7\",\"rule\":\"java:S1186\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\"project\":\"struts\",\"line\":236,\"hash\":\"4ad3614a428a3832d136e953b0e76fbd\",\"textRange\":{\"startLine\":236,\"endLine\":236,\"startOffset\":16,\"endOffset\":36},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"suspicious\"],\"creationDate\":\"2022-05-14T07:12:42+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"3c8e37d2-5e50-4923-81d7-73c2040c4170\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"project\":\"struts\",\"line\":43,\"hash\":\"ad09a36483e7010a1df5966a08a189a8\",\"textRange\":{\"startLine\":43,\"endLine\":43,\"startOffset\":18,\"endOffset\":28},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":50,\"endLine\":50,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":50,\"endLine\":50,\"startOffset\":32,\"endOffset\":34},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":53,\"endLine\":53,\"startOffset\":14,\"endOffset\":16},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":56,\"endLine\":56,\"startOffset\":19,\"endOffset\":21},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":70,\"endLine\":70,\"startOffset\":14,\"endOffset\":19},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":33,\"endOffset\":35},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":62,\"endOffset\":64},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":86,\"endOffset\":88},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":81,\"endLine\":81,\"startOffset\":40,\"endOffset\":41},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":82,\"endLine\":82,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":87,\"endLine\":87,\"startOffset\":34,\"endOffset\":36},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":89,\"endLine\":89,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"textRange\":{\"startLine\":91,\"endLine\":91,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 20 to the 15 allowed.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-05-05T10:28:09+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"b752c368-3b98-4dba-b1ef-252f7e90b542\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\"project\":\"struts\",\"line\":21,\"hash\":\"378ce92770f7870670a517669d41426b\",\"textRange\":{\"startLine\":21,\"endLine\":21,\"startOffset\":43,\"endOffset\":48},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"eb06868c-fb33-456b-9928-ae5104f890a5\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\"project\":\"struts\",\"line\":21,\"hash\":\"378ce92770f7870670a517669d41426b\",\"textRange\":{\"startLine\":21,\"endLine\":21,\"startOffset\":38,\"endOffset\":41},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"53b9fcd6-11b2-4ba5-a058-a03ed62a30d2\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\"project\":\"struts\",\"line\":29,\"hash\":\"4625d9c6d7f029b6ff779c6d705d948b\",\"textRange\":{\"startLine\":29,\"endLine\":29,\"startOffset\":45,\"endOffset\":48},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"f5c42f3a-d1ae-4f85-81b3-5fcf93139e45\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\"project\":\"struts\",\"line\":29,\"hash\":\"4625d9c6d7f029b6ff779c6d705d948b\",\"textRange\":{\"startLine\":29,\"endLine\":29,\"startOffset\":50,\"endOffset\":55},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1d898f55-8f06-4cc2-91a9-7b11bc3755e1\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\"project\":\"struts\",\"line\":30,\"hash\":\"bb4c2ca19aeb02967dbd0aa204dbf5e1\",\"textRange\":{\"startLine\":30,\"endLine\":30,\"startOffset\":42,\"endOffset\":47},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"4f62cdfe-e243-4201-89a6-eba6df0478c1\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\"project\":\"struts\",\"line\":30,\"hash\":\"bb4c2ca19aeb02967dbd0aa204dbf5e1\",\"textRange\":{\"startLine\":30,\"endLine\":30,\"startOffset\":37,\"endOffset\":40},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"2912f862-650d-4174-93be-7a9bda911295\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\"project\":\"struts\",\"line\":29,\"hash\":\"4659f49408d5a4c1832b09fdf6dd8344\",\"textRange\":{\"startLine\":29,\"endLine\":29,\"startOffset\":52,\"endOffset\":57},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a0434760-c4df-4c3f-b118-eb5bba6fe959\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\"project\":\"struts\",\"line\":29,\"hash\":\"4659f49408d5a4c1832b09fdf6dd8344\",\"textRange\":{\"startLine\":29,\"endLine\":29,\"startOffset\":47,\"endOffset\":50},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"93f5bc7e-467c-4fbb-8d0b-d21627b6480c\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\"project\":\"struts\",\"line\":21,\"hash\":\"e8c5de653f72a21e22f3ca8578086ca4\",\"textRange\":{\"startLine\":21,\"endLine\":21,\"startOffset\":40,\"endOffset\":43},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a13643d9-c00c-4f51-81f9-ce49e6f402f1\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\"project\":\"struts\",\"line\":21,\"hash\":\"e8c5de653f72a21e22f3ca8578086ca4\",\"textRange\":{\"startLine\":21,\"endLine\":21,\"startOffset\":45,\"endOffset\":50},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"640a5b8a-0381-4f0c-bb42-e8d23506a226\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\"project\":\"struts\",\"line\":25,\"hash\":\"27722f18cae945818625c57d7f0630ab\",\"textRange\":{\"startLine\":25,\"endLine\":25,\"startOffset\":27,\"endOffset\":30},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"9192f238-1461-4e7f-8bdd-97c62492af81\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\"project\":\"struts\",\"line\":25,\"hash\":\"27722f18cae945818625c57d7f0630ab\",\"textRange\":{\"startLine\":25,\"endLine\":25,\"startOffset\":32,\"endOffset\":37},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"convention\"],\"creationDate\":\"2022-05-02T07:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"38e77ac5-db29-4854-b4ae-bd81de860375\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\"project\":\"struts\",\"line\":26,\"hash\":\"6881df66d49c8ef0fffb6a0e82e414fa\",\"textRange\":{\"startLine\":26,\"endLine\":26,\"startOffset\":32,\"endOffset\":37},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"f4ff5914-bdda-451e-abad-aaf920e4ce14\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\"project\":\"struts\",\"line\":26,\"hash\":\"6881df66d49c8ef0fffb6a0e82e414fa\",\"textRange\":{\"startLine\":26,\"endLine\":26,\"startOffset\":27,\"endOffset\":30},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"00062bc2-3e52-4694-b39b-0cec85a359be\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\"project\":\"struts\",\"line\":30,\"hash\":\"c69d0dd447a5197413c69f6fd4307cb9\",\"textRange\":{\"startLine\":30,\"endLine\":30,\"startOffset\":30,\"endOffset\":33},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"d4e7d830-4d09-4026-9d29-9db5247955e0\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\"project\":\"struts\",\"line\":30,\"hash\":\"c69d0dd447a5197413c69f6fd4307cb9\",\"textRange\":{\"startLine\":30,\"endLine\":30,\"startOffset\":35,\"endOffset\":40},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1a4abf21-472f-4b48-adff-3e1028065352\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\"project\":\"struts\",\"line\":36,\"hash\":\"112b907b170719a3a1bdb989d4bd4b4f\",\"textRange\":{\"startLine\":36,\"endLine\":36,\"startOffset\":26,\"endOffset\":29},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"df8ad544-d338-4f49-be4a-fc24b0aeb9b9\",\"rule\":\"java:S119\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\"project\":\"struts\",\"line\":36,\"hash\":\"112b907b170719a3a1bdb989d4bd4b4f\",\"textRange\":{\"startLine\":36,\"endLine\":36,\"startOffset\":31,\"endOffset\":36},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename this generic name to match the regular expression \\u0027^[A-Z][0-9]?$\\u0027.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"convention\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c7a5ca5d-4d28-4979-835e-37334be102aa\",\"rule\":\"java:S1700\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\"project\":\"struts\",\"line\":38,\"hash\":\"16deda567c3d51307896f931fa4666f2\",\"textRange\":{\"startLine\":38,\"endLine\":38,\"startOffset\":34,\"endOffset\":46},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Rename field \\\"ognlLRUCache\\\"\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-03-07T02:18:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"IDENTIFIABLE\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"5ac5f057-efff-4e18-9c28-1f613f0eacc7\",\"rule\":\"java:S112\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/impl/FieldMatchValidator.java\",\"project\":\"struts\",\"line\":56,\"hash\":\"b9591633d35b5381ce42a1567a182f69\",\"textRange\":{\"startLine\":56,\"endLine\":56,\"startOffset\":78,\"endOffset\":87},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Define and throw a dedicated exception instead of using a generic one.\",\"effort\":\"20min\",\"debt\":\"20min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"cwe\",\"error-handling\",\"cert\"],\"creationDate\":\"2022-03-04T11:52:33+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"3df72514-a5f4-49c6-9a9f-b214a96908a7\",\"rule\":\"java:S1066\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"project\":\"struts\",\"line\":336,\"hash\":\"0d0de1cc860cda55c95e421c9b2851cc\",\"textRange\":{\"startLine\":336,\"endLine\":336,\"startOffset\":12,\"endOffset\":14},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"textRange\":{\"startLine\":335,\"endLine\":335,\"startOffset\":8,\"endOffset\":10},\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Merge this if statement with the enclosing one.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-02-20T12:29:46+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"73d403ab-a6cd-4bf9-86db-d5f0b43431c8\",\"rule\":\"java:S3252\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/date/SimpleDateFormatAdapter.java\",\"project\":\"struts\",\"line\":37,\"hash\":\"6136567c880008ac9e5bd4aa2bd330ac\",\"textRange\":{\"startLine\":37,\"endLine\":37,\"startOffset\":34,\"endOffset\":49},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Use static access with \\\"java.text.DateFormat\\\" for \\\"getDateInstance\\\".\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"confusing\"],\"creationDate\":\"2022-02-20T12:29:46+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"7e029542-01bb-4b3a-9b2a-d8573a341ce0\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"project\":\"struts\",\"line\":645,\"hash\":\"4b4b383d71402833a54ea926e453ff26\",\"textRange\":{\"startLine\":645,\"endLine\":645,\"startOffset\":16,\"endOffset\":30},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":650,\"endLine\":650,\"startOffset\":50,\"endOffset\":51},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":660,\"endLine\":660,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":662,\"endLine\":662,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":666,\"endLine\":666,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":672,\"endLine\":672,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":677,\"endLine\":677,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":679,\"endLine\":679,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":680,\"endLine\":680,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":686,\"endLine\":686,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":690,\"endLine\":690,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":696,\"endLine\":696,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":700,\"endLine\":700,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":704,\"endLine\":704,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":706,\"endLine\":706,\"startOffset\":57,\"endOffset\":58},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":709,\"endLine\":709,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":711,\"endLine\":711,\"startOffset\":57,\"endOffset\":58},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":714,\"endLine\":714,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":718,\"endLine\":718,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":722,\"endLine\":722,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":726,\"endLine\":726,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":730,\"endLine\":730,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":734,\"endLine\":734,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":738,\"endLine\":738,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":742,\"endLine\":742,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":746,\"endLine\":746,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":750,\"endLine\":750,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":754,\"endLine\":754,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":758,\"endLine\":758,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":762,\"endLine\":762,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":766,\"endLine\":766,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":770,\"endLine\":770,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":774,\"endLine\":774,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":778,\"endLine\":778,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":782,\"endLine\":782,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":786,\"endLine\":786,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":790,\"endLine\":790,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":794,\"endLine\":794,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":801,\"endLine\":801,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":803,\"endLine\":803,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":804,\"endLine\":804,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":807,\"endLine\":807,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":808,\"endLine\":808,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":810,\"endLine\":810,\"startOffset\":27,\"endOffset\":29},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":812,\"endLine\":812,\"startOffset\":56,\"endOffset\":58},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":813,\"endLine\":813,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+5 (incl 4 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":815,\"endLine\":815,\"startOffset\":26,\"endOffset\":30},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":820,\"endLine\":820,\"startOffset\":18,\"endOffset\":22},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":821,\"endLine\":821,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":823,\"endLine\":823,\"startOffset\":27,\"endOffset\":29},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":835,\"endLine\":835,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":838,\"endLine\":838,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":847,\"endLine\":847,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":850,\"endLine\":850,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":855,\"endLine\":855,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":863,\"endLine\":863,\"startOffset\":16,\"endOffset\":19},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":867,\"endLine\":867,\"startOffset\":12,\"endOffset\":16},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":873,\"endLine\":873,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":878,\"endLine\":878,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":880,\"endLine\":880,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":885,\"endLine\":885,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":887,\"endLine\":887,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":890,\"endLine\":890,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":893,\"endLine\":893,\"startOffset\":73,\"endOffset\":74},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":895,\"endLine\":895,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":897,\"endLine\":897,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":904,\"endLine\":904,\"startOffset\":44,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":905,\"endLine\":905,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 101 to the 15 allowed.\",\"effort\":\"1h31min\",\"debt\":\"1h31min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2022-02-10T17:42:10+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"ac7634b7-e674-4d04-beec-7db1a234cfd4\",\"rule\":\"java:S1192\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"project\":\"struts\",\"line\":872,\"hash\":\"621c51602ce755cab2af82dbc25cd187\",\"textRange\":{\"startLine\":872,\"endLine\":872,\"startOffset\":68,\"endOffset\":86},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":872,\"endLine\":872,\"startOffset\":68,\"endOffset\":86},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":893,\"endLine\":893,\"startOffset\":34,\"endOffset\":52},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":994,\"endLine\":994,\"startOffset\":23,\"endOffset\":41},\"msg\":\"Duplication\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Define a constant instead of duplicating this literal \\\"jsTooltipEnabled\\\" 3 times.\",\"effort\":\"8min\",\"debt\":\"8min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"design\"],\"creationDate\":\"2022-02-10T17:42:10+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"DISTINCT\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"436ab900-4279-44e7-ac2d-69c3559f4d3b\",\"rule\":\"java:S2293\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"project\":\"struts\",\"line\":973,\"hash\":\"727663d500898c74c92d7d5662ae514e\",\"textRange\":{\"startLine\":973,\"endLine\":973,\"startOffset\":38,\"endOffset\":54},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Replace the type specification in this constructor call with the diamond operator (\\\"\\u003c\\u003e\\\").\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"clumsy\"],\"creationDate\":\"2022-02-10T17:42:10+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"6a504ad0-d2da-4996-8660-1c73e98854eb\",\"rule\":\"java:S1128\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Anchor.java\",\"project\":\"struts\",\"line\":23,\"hash\":\"d820e074f2f71232ad758869ecffbc2a\",\"textRange\":{\"startLine\":23,\"endLine\":23,\"startOffset\":7,\"endOffset\":44},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this unused import \\u0027org.apache.commons.lang3.BooleanUtils\\u0027.\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"unused\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"3f773abc-fc6f-423d-a1c6-4ecfbf228777\",\"rule\":\"java:S1149\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Component.java\",\"project\":\"struts\",\"line\":222,\"hash\":\"3ad8e9d0d339c34a6d9e232b1bf58778\",\"textRange\":{\"startLine\":222,\"endLine\":222,\"startOffset\":8,\"endOffset\":24},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Replace the synchronized class \\\"Stack\\\" by an unsynchronized one such as \\\"Deque\\\".\",\"effort\":\"20min\",\"debt\":\"20min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"performance\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"2d3c8f0a-ac1b-4433-9c25-91f234fa7f0f\",\"rule\":\"java:S1128\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\"project\":\"struts\",\"line\":26,\"hash\":\"806cb7cca5c5f74fcce1dbd8936cce8e\",\"textRange\":{\"startLine\":26,\"endLine\":26,\"startOffset\":7,\"endOffset\":44},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this unused import \\u0027com.opensymphony.xwork2.inject.Inject\\u0027.\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"unused\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c5b7143b-3554-4f54-9563-c627c7875abc\",\"rule\":\"java:S1128\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\"project\":\"struts\",\"line\":27,\"hash\":\"d820e074f2f71232ad758869ecffbc2a\",\"textRange\":{\"startLine\":27,\"endLine\":27,\"startOffset\":7,\"endOffset\":44},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this unused import \\u0027org.apache.commons.lang3.BooleanUtils\\u0027.\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"unused\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"eff007fb-a303-4ff2-89b0-ba23309b21b7\",\"rule\":\"java:S1128\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\"project\":\"struts\",\"line\":28,\"hash\":\"46ffce9a943a7192751f2ac5e391fd00\",\"textRange\":{\"startLine\":28,\"endLine\":28,\"startOffset\":7,\"endOffset\":41},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this unused import \\u0027org.apache.struts2.StrutsConstants\\u0027.\",\"effort\":\"1min\",\"debt\":\"1min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"unused\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"3ba1db0c-e81b-4207-9605-fe3b87d54c55\",\"rule\":\"java:S5961\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"project\":\"struts\",\"line\":54,\"hash\":\"c68a190432fff4a8e505fea58e598c5d\",\"textRange\":{\"startLine\":54,\"endLine\":54,\"startOffset\":16,\"endOffset\":36},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":69,\"endLine\":69,\"startOffset\":12,\"endOffset\":64},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":70,\"endLine\":70,\"startOffset\":12,\"endOffset\":44},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":71,\"endLine\":71,\"startOffset\":12,\"endOffset\":40},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":72,\"endLine\":72,\"startOffset\":12,\"endOffset\":51},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":73,\"endLine\":73,\"startOffset\":12,\"endOffset\":42},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":74,\"endLine\":74,\"startOffset\":12,\"endOffset\":41},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":75,\"endLine\":75,\"startOffset\":12,\"endOffset\":45},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":79,\"endLine\":79,\"startOffset\":12,\"endOffset\":62},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":82,\"endLine\":82,\"startOffset\":12,\"endOffset\":70},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":83,\"endLine\":83,\"startOffset\":12,\"endOffset\":69},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":86,\"endLine\":86,\"startOffset\":12,\"endOffset\":77},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":87,\"endLine\":87,\"startOffset\":12,\"endOffset\":80},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":88,\"endLine\":88,\"startOffset\":12,\"endOffset\":72},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":91,\"endLine\":91,\"startOffset\":12,\"endOffset\":79},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":92,\"endLine\":92,\"startOffset\":12,\"endOffset\":85},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":93,\"endLine\":93,\"startOffset\":12,\"endOffset\":63},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":94,\"endLine\":94,\"startOffset\":12,\"endOffset\":71},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":97,\"endLine\":97,\"startOffset\":12,\"endOffset\":69},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":98,\"endLine\":98,\"startOffset\":12,\"endOffset\":66},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":99,\"endLine\":99,\"startOffset\":12,\"endOffset\":84},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":100,\"endLine\":100,\"startOffset\":12,\"endOffset\":62},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":101,\"endLine\":101,\"startOffset\":12,\"endOffset\":70},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":104,\"endLine\":104,\"startOffset\":12,\"endOffset\":72},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":105,\"endLine\":105,\"startOffset\":12,\"endOffset\":67},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":106,\"endLine\":106,\"startOffset\":12,\"endOffset\":70},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":107,\"endLine\":107,\"startOffset\":12,\"endOffset\":88},\"msg\":\"Assertion\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"textRange\":{\"startLine\":108,\"endLine\":108,\"startOffset\":12,\"endOffset\":74},\"msg\":\"Assertion\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce the number of assertions from 27 to less than 25.\",\"effort\":\"20min\",\"debt\":\"20min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"tests\"],\"creationDate\":\"2022-01-04T08:01:21+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"TEST\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"814d34f9-d9a6-476d-a856-5e4831121c19\",\"rule\":\"java:S1192\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"project\":\"struts\",\"line\":307,\"hash\":\"2b81d34caa1a27b992b3f00702c32438\",\"textRange\":{\"startLine\":307,\"endLine\":307,\"startOffset\":57,\"endOffset\":64},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"textRange\":{\"startLine\":307,\"endLine\":307,\"startOffset\":57,\"endOffset\":64},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"textRange\":{\"startLine\":308,\"endLine\":308,\"startOffset\":77,\"endOffset\":84},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"textRange\":{\"startLine\":309,\"endLine\":309,\"startOffset\":77,\"endOffset\":84},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"textRange\":{\"startLine\":311,\"endLine\":311,\"startOffset\":74,\"endOffset\":81},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"textRange\":{\"startLine\":312,\"endLine\":312,\"startOffset\":61,\"endOffset\":68},\"msg\":\"Duplication\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Define a constant instead of duplicating this literal \\\"false\\\" 5 times.\",\"effort\":\"12min\",\"debt\":\"12min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"design\"],\"creationDate\":\"2022-01-01T13:04:38+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"DISTINCT\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"4999e0e1-c5a8-4fea-982a-2143f8b4fa1e\",\"rule\":\"java:S1123\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"project\":\"struts\",\"line\":317,\"hash\":\"109d288af0b4e6464d6a8b00fc69604e\",\"textRange\":{\"startLine\":317,\"endLine\":317,\"startOffset\":31,\"endOffset\":66},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add the missing @Deprecated annotation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"obsolete\",\"bad-practice\"],\"creationDate\":\"2022-01-01T13:04:38+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"72e4f660-6c2c-48bc-aa07-2f13dc53bd05\",\"rule\":\"java:S1133\",\"severity\":\"INFO\",\"component\":\"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"project\":\"struts\",\"line\":317,\"hash\":\"109d288af0b4e6464d6a8b00fc69604e\",\"textRange\":{\"startLine\":317,\"endLine\":317,\"startOffset\":31,\"endOffset\":66},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Do not forget to remove this deprecated code someday.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"obsolete\"],\"creationDate\":\"2022-01-01T13:04:38+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"b620b584-977f-41d7-bed4-c5fa017b51b1\",\"rule\":\"java:S1133\",\"severity\":\"INFO\",\"component\":\"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"project\":\"struts\",\"line\":354,\"hash\":\"94fa70e4cae05c5b02f8f65363e9ceed\",\"textRange\":{\"startLine\":354,\"endLine\":354,\"startOffset\":31,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Do not forget to remove this deprecated code someday.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"obsolete\"],\"creationDate\":\"2022-01-01T13:04:38+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"ee74648f-346b-4fc0-8b1d-55f2fe6d2b77\",\"rule\":\"java:S1123\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"project\":\"struts\",\"line\":354,\"hash\":\"94fa70e4cae05c5b02f8f65363e9ceed\",\"textRange\":{\"startLine\":354,\"endLine\":354,\"startOffset\":31,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Add the missing @Deprecated annotation.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"lukaszlenart@apache.org\",\"tags\":[\"obsolete\",\"bad-practice\"],\"creationDate\":\"2022-01-01T13:04:38+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"54c70d99-66cc-4a46-b338-1a49acff93f5\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"project\":\"struts\",\"line\":105,\"hash\":\"77a7d3bd9f6b0bc1e71e7abf03482d53\",\"textRange\":{\"startLine\":105,\"endLine\":105,\"startOffset\":36,\"endOffset\":52},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"excludedPatterns\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"eaee74e5-a1ee-4ce8-936e-cd6f8458bdc9\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"project\":\"struts\",\"line\":106,\"hash\":\"ba2e9483e28f5efff5b9d0d058a4b08a\",\"textRange\":{\"startLine\":106,\"endLine\":106,\"startOffset\":36,\"endOffset\":52},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"acceptedPatterns\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"ed90bca7-b6c2-4c36-9e3d-af63480e2ad3\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"project\":\"struts\",\"line\":148,\"hash\":\"0c9986d925149928f78e79ee82d6296c\",\"textRange\":{\"startLine\":148,\"endLine\":148,\"startOffset\":28,\"endOffset\":37},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":157,\"endLine\":157,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":163,\"endLine\":163,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":167,\"endLine\":167,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":182,\"endLine\":182,\"startOffset\":16,\"endOffset\":19},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":185,\"endLine\":185,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":189,\"endLine\":189,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":193,\"endLine\":193,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":197,\"endLine\":197,\"startOffset\":24,\"endOffset\":26},\"msg\":\"+5 (incl 4 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":199,\"endLine\":199,\"startOffset\":28,\"endOffset\":30},\"msg\":\"+6 (incl 5 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":204,\"endLine\":204,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":207,\"endLine\":207,\"startOffset\":26,\"endOffset\":31},\"msg\":\"+5 (incl 4 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":208,\"endLine\":208,\"startOffset\":28,\"endOffset\":30},\"msg\":\"+6 (incl 5 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":213,\"endLine\":213,\"startOffset\":32,\"endOffset\":34},\"msg\":\"+7 (incl 6 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":221,\"endLine\":221,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":224,\"endLine\":224,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 58 to the 15 allowed.\",\"effort\":\"48min\",\"debt\":\"48min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a3348846-e2cc-42c6-83a7-7526869742b0\",\"rule\":\"java:S135\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"project\":\"struts\",\"line\":182,\"hash\":\"5be9678de2db3c1b47b866b2cd57d4d7\",\"textRange\":{\"startLine\":182,\"endLine\":182,\"startOffset\":16,\"endOffset\":19},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":186,\"endLine\":186,\"startOffset\":24,\"endOffset\":33},\"msg\":\"\\\"continue\\\" statement.\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"textRange\":{\"startLine\":190,\"endLine\":190,\"startOffset\":24,\"endOffset\":33},\"msg\":\"\\\"continue\\\" statement.\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Reduce the total number of break and continue statements in this loop to use at most one.\",\"effort\":\"20min\",\"debt\":\"20min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"a75d5ceb-93f9-4d24-b900-8dfc63d6d036\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java\",\"project\":\"struts\",\"line\":34,\"hash\":\"a5b9fb731777714f7a385f987db98d55\",\"textRange\":{\"startLine\":34,\"endLine\":34,\"startOffset\":29,\"endOffset\":39},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"invocation\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"b7e8a6ab-4ce5-48a8-b199-3af31227a51f\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"project\":\"struts\",\"line\":122,\"hash\":\"c0e73c336b59ce2d5b9524d01901f131\",\"textRange\":{\"startLine\":122,\"endLine\":122,\"startOffset\":19,\"endOffset\":22},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":124,\"endLine\":124,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":125,\"endLine\":125,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":127,\"endLine\":127,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":130,\"endLine\":130,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":135,\"endLine\":135,\"startOffset\":48,\"endOffset\":50},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":136,\"endLine\":136,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":141,\"endLine\":141,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":142,\"endLine\":142,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+4 (incl 3 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":142,\"endLine\":142,\"startOffset\":43,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":144,\"endLine\":144,\"startOffset\":22,\"endOffset\":26},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":147,\"endLine\":147,\"startOffset\":23,\"endOffset\":25},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":147,\"endLine\":147,\"startOffset\":46,\"endOffset\":48},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":149,\"endLine\":149,\"startOffset\":18,\"endOffset\":22},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":153,\"endLine\":153,\"startOffset\":10,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":154,\"endLine\":154,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":156,\"endLine\":156,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":157,\"endLine\":157,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+3 (incl 2 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":157,\"endLine\":157,\"startOffset\":46,\"endOffset\":48},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"textRange\":{\"startLine\":159,\"endLine\":159,\"startOffset\":18,\"endOffset\":22},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 32 to the 15 allowed.\",\"effort\":\"22min\",\"debt\":\"22min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"1e9f1c91-24f0-45ae-9552-d8ba178dc06e\",\"rule\":\"java:S1192\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"project\":\"struts\",\"line\":884,\"hash\":\"086ba3aa6f6c7cec0b125eb2ecf9c866\",\"textRange\":{\"startLine\":884,\"endLine\":884,\"startOffset\":68,\"endOffset\":82},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":884,\"endLine\":884,\"startOffset\":68,\"endOffset\":82},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":886,\"endLine\":886,\"startOffset\":34,\"endOffset\":48},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":888,\"endLine\":888,\"startOffset\":34,\"endOffset\":48},\"msg\":\"Duplication\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"textRange\":{\"startLine\":998,\"endLine\":998,\"startOffset\":23,\"endOffset\":37},\"msg\":\"Duplication\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Define a constant instead of duplicating this literal \\\"tooltipDelay\\\" 4 times.\",\"effort\":\"10min\",\"debt\":\"10min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"design\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"DISTINCT\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"2c45d277-e7e7-478d-a743-f2b21e501b08\",\"rule\":\"java:S6353\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"project\":\"struts\",\"line\":915,\"hash\":\"78505efea3098211379593a61e59c954\",\"textRange\":{\"startLine\":915,\"endLine\":915,\"startOffset\":36,\"endOffset\":49},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Use concise character class syntax \\u0027\\\\\\\\W\\u0027 instead of \\u0027[^a-zA-Z0-9_]\\u0027.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"regex\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"de6d3559-332b-445c-880f-38a1d968c647\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"project\":\"struts\",\"line\":90,\"hash\":\"66332cf44806ccee360f4be320aa4be4\",\"textRange\":{\"startLine\":90,\"endLine\":90,\"startOffset\":47,\"endOffset\":74},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"notExcludedAcceptedPatterns\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"039c1e96-a3d6-4917-86e9-d458077b88f9\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"project\":\"struts\",\"line\":210,\"hash\":\"548d5feccaa9d8246311eb296de3ecd1\",\"textRange\":{\"startLine\":210,\"endLine\":210,\"startOffset\":19,\"endOffset\":28},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":217,\"endLine\":217,\"startOffset\":56,\"endOffset\":58},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":218,\"endLine\":218,\"startOffset\":44,\"endOffset\":46},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":219,\"endLine\":219,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":219,\"endLine\":219,\"startOffset\":36,\"endOffset\":38},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":224,\"endLine\":224,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":235,\"endLine\":235,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":235,\"endLine\":235,\"startOffset\":39,\"endOffset\":41},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":237,\"endLine\":237,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":242,\"endLine\":242,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":247,\"endLine\":247,\"startOffset\":20,\"endOffset\":22},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":250,\"endLine\":250,\"startOffset\":18,\"endOffset\":23},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":257,\"endLine\":257,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":262,\"endLine\":262,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":275,\"endLine\":275,\"startOffset\":12,\"endOffset\":17},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":284,\"endLine\":284,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"textRange\":{\"startLine\":287,\"endLine\":287,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 18 to the 15 allowed.\",\"effort\":\"8min\",\"debt\":\"8min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"d33915ee-dcb0-4f4b-bbe4-e73cb22d1c55\",\"rule\":\"java:S1948\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"project\":\"struts\",\"line\":174,\"hash\":\"66332cf44806ccee360f4be320aa4be4\",\"textRange\":{\"startLine\":174,\"endLine\":174,\"startOffset\":47,\"endOffset\":74},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Make \\\"notExcludedAcceptedPatterns\\\" transient or serializable.\",\"effort\":\"30min\",\"debt\":\"30min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"cwe\",\"serialization\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"LOGICAL\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"e808f6e3-89c4-40cd-8b7a-f874e97ddadd\",\"rule\":\"java:S3776\",\"severity\":\"CRITICAL\",\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"project\":\"struts\",\"line\":260,\"hash\":\"548d5feccaa9d8246311eb296de3ecd1\",\"textRange\":{\"startLine\":260,\"endLine\":260,\"startOffset\":19,\"endOffset\":28},\"flows\":[{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":271,\"endLine\":271,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":275,\"endLine\":275,\"startOffset\":14,\"endOffset\":19},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":287,\"endLine\":287,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":288,\"endLine\":288,\"startOffset\":57,\"endOffset\":59},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":289,\"endLine\":289,\"startOffset\":44,\"endOffset\":46},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":290,\"endLine\":290,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":292,\"endLine\":292,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":298,\"endLine\":298,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":317,\"endLine\":317,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":320,\"endLine\":320,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":327,\"endLine\":327,\"startOffset\":59,\"endOffset\":61},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":328,\"endLine\":328,\"startOffset\":40,\"endOffset\":42},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":329,\"endLine\":329,\"startOffset\":38,\"endOffset\":39},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":330,\"endLine\":330,\"startOffset\":8,\"endOffset\":10},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":341,\"endLine\":341,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":343,\"endLine\":343,\"startOffset\":14,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":346,\"endLine\":346,\"startOffset\":10,\"endOffset\":15},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":353,\"endLine\":353,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":353,\"endLine\":353,\"startOffset\":43,\"endOffset\":45},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":355,\"endLine\":355,\"startOffset\":56,\"endOffset\":57},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":357,\"endLine\":357,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+2 (incl 1 for nesting)\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":370,\"endLine\":370,\"startOffset\":12,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":411,\"endLine\":411,\"startOffset\":55,\"endOffset\":57},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":412,\"endLine\":412,\"startOffset\":36,\"endOffset\":38},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":413,\"endLine\":413,\"startOffset\":42,\"endOffset\":43},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":414,\"endLine\":414,\"startOffset\":12,\"endOffset\":14},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":420,\"endLine\":420,\"startOffset\":10,\"endOffset\":15},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":425,\"endLine\":425,\"startOffset\":16,\"endOffset\":18},\"msg\":\"+1\",\"msgFormattings\":[]}]},{\"locations\":[{\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"textRange\":{\"startLine\":429,\"endLine\":429,\"startOffset\":14,\"endOffset\":19},\"msg\":\"+1\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Refactor this method to reduce its Cognitive Complexity from 34 to the 15 allowed.\",\"effort\":\"24min\",\"debt\":\"24min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"brain-overload\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"FOCUSED\",\"cleanCodeAttributeCategory\":\"ADAPTABLE\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"HIGH\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"fd12aa13-b7bb-4b3f-987f-c25f2ea630d4\",\"rule\":\"java:S3740\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"project\":\"struts\",\"line\":329,\"hash\":\"ca0c42a3c87bd4415add5fb0034dbc23\",\"textRange\":{\"startLine\":329,\"endLine\":329,\"startOffset\":8,\"endOffset\":11},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Provide the parametrized type for this generic.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"pitfall\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"30e76b9c-cb5c-484c-be23-f781dbb07efe\",\"rule\":\"java:S3740\",\"severity\":\"MAJOR\",\"component\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"project\":\"struts\",\"line\":413,\"hash\":\"b7f6ebed63942e9e9d2058ab10f28818\",\"textRange\":{\"startLine\":413,\"endLine\":413,\"startOffset\":12,\"endOffset\":15},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Provide the parametrized type for this generic.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"yasserzamani@apache.org\",\"tags\":[\"pitfall\"],\"creationDate\":\"2021-11-24T19:09:01+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"COMPLETE\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"5a5b8ef8-f0b8-4371-abf3-4a2db062d022\",\"rule\":\"java:S5785\",\"severity\":\"MAJOR\",\"component\":\"struts:core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\"project\":\"struts\",\"line\":239,\"hash\":\"7ec908b2b3c3961ada39dac77738fa3a\",\"textRange\":{\"startLine\":239,\"endLine\":239,\"startOffset\":12,\"endOffset\":22},\"flows\":[{\"locations\":[{\"component\":\"struts:core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\"textRange\":{\"startLine\":239,\"endLine\":239,\"startOffset\":88,\"endOffset\":123},\"msg\":\"An equals check is performed here, which is better expressed with assertEquals.\",\"msgFormattings\":[]}]}],\"status\":\"OPEN\",\"message\":\"Use assertEquals instead.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"pascal.davoust@eptica.com\",\"tags\":[\"junit\",\"tests\"],\"creationDate\":\"2021-11-10T14:23:31+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"TEST\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"MEDIUM\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"cfb47539-3913-40a7-99cd-b134b5ce2d06\",\"rule\":\"java:S1125\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java\",\"project\":\"struts\",\"line\":100,\"hash\":\"6b09b6538b18f2b62e8191e68ddc7820\",\"textRange\":{\"startLine\":100,\"endLine\":100,\"startOffset\":44,\"endOffset\":48},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove the unnecessary boolean literal.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2021-11-06T03:32:11+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"5c58bc88-ad31-4878-9b91-36b29bd98d46\",\"rule\":\"java:S1185\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\"project\":\"struts\",\"line\":97,\"hash\":\"8e770c24f13fecaac7cfb9d20b0f81bf\",\"textRange\":{\"startLine\":97,\"endLine\":97,\"startOffset\":16,\"endOffset\":59},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this method to simply inherit it.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"redundant\",\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"abb4613f-ed51-4565-89e5-ecd59ba5e1a7\",\"rule\":\"java:S1125\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\"project\":\"struts\",\"line\":103,\"hash\":\"04d3c539a6a442f0d037c31ee6145c86\",\"textRange\":{\"startLine\":103,\"endLine\":103,\"startOffset\":60,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove the unnecessary boolean literal.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c55ffb92-860a-4c70-9d09-1aa792b7a802\",\"rule\":\"java:S1185\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\"project\":\"struts\",\"line\":62,\"hash\":\"8e770c24f13fecaac7cfb9d20b0f81bf\",\"textRange\":{\"startLine\":62,\"endLine\":62,\"startOffset\":16,\"endOffset\":59},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this method to simply inherit it.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"redundant\",\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c6aff05a-e247-4456-acf7-14a0519a5884\",\"rule\":\"java:S1125\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\"project\":\"struts\",\"line\":68,\"hash\":\"04d3c539a6a442f0d037c31ee6145c86\",\"textRange\":{\"startLine\":68,\"endLine\":68,\"startOffset\":60,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove the unnecessary boolean literal.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"c6488c77-b287-4a5a-8e18-91a4f396e8a3\",\"rule\":\"java:S1125\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java\",\"project\":\"struts\",\"line\":91,\"hash\":\"04d3c539a6a442f0d037c31ee6145c86\",\"textRange\":{\"startLine\":91,\"endLine\":91,\"startOffset\":60,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove the unnecessary boolean literal.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"5e9e2f0e-b0d8-42c3-bfc8-2768a5cdc0bf\",\"rule\":\"java:S1185\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\"project\":\"struts\",\"line\":43,\"hash\":\"8e770c24f13fecaac7cfb9d20b0f81bf\",\"textRange\":{\"startLine\":43,\"endLine\":43,\"startOffset\":16,\"endOffset\":59},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this method to simply inherit it.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"redundant\",\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"25aa0c11-d20e-409e-92a3-f68c37fbce93\",\"rule\":\"java:S1125\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\"project\":\"struts\",\"line\":49,\"hash\":\"04d3c539a6a442f0d037c31ee6145c86\",\"textRange\":{\"startLine\":49,\"endLine\":49,\"startOffset\":60,\"endOffset\":65},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove the unnecessary boolean literal.\",\"effort\":\"5min\",\"debt\":\"5min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":true,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CONVENTIONAL\",\"cleanCodeAttributeCategory\":\"CONSISTENT\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"},{\"key\":\"8306f9c8-c62b-4308-9a93-12982e15c420\",\"rule\":\"java:S1185\",\"severity\":\"MINOR\",\"component\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/DateTag.java\",\"project\":\"struts\",\"line\":75,\"hash\":\"8e770c24f13fecaac7cfb9d20b0f81bf\",\"textRange\":{\"startLine\":75,\"endLine\":75,\"startOffset\":16,\"endOffset\":59},\"flows\":[],\"status\":\"OPEN\",\"message\":\"Remove this method to simply inherit it.\",\"effort\":\"2min\",\"debt\":\"2min\",\"author\":\"43964333+jcgh4164838gh792c124b5@users.noreply.github.com\",\"tags\":[\"redundant\",\"clumsy\"],\"creationDate\":\"2021-10-30T20:08:51+0000\",\"updateDate\":\"2024-05-13T12:03:53+0000\",\"type\":\"CODE_SMELL\",\"scope\":\"MAIN\",\"quickFixAvailable\":false,\"messageFormattings\":[],\"codeVariants\":[],\"cleanCodeAttribute\":\"CLEAR\",\"cleanCodeAttributeCategory\":\"INTENTIONAL\",\"impacts\":[{\"softwareQuality\":\"MAINTAINABILITY\",\"severity\":\"LOW\"}],\"issueStatus\":\"OPEN\"}],\"components\":[{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Submit.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Submit.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Submit.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Submit.java\"},{\"key\":\"struts:core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\"enabled\":true,\"qualifier\":\"UTS\",\"name\":\"CspInterceptorTest.java\",\"longName\":\"core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\",\"path\":\"core/src/test/java/org/apache/struts2/interceptor/CspInterceptorTest.java\"},{\"key\":\"struts:core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\"enabled\":true,\"qualifier\":\"UTS\",\"name\":\"OgnlUtilTest.java\",\"longName\":\"core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\",\"path\":\"core/src/test/java/com/opensymphony/xwork2/ognl/OgnlUtilTest.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"OgnlCache.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCache.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"OgnlCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlCacheFactory.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ClassFinder.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/util/finder/ClassFinder.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultActionMapper.java\",\"longName\":\"core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\",\"path\":\"core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java\"},{\"key\":\"struts:plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultClassFinder.java\",\"longName\":\"plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\",\"path\":\"plugins/convention/src/main/java/org/apache/struts2/convention/DefaultClassFinder.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultOgnlCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlCacheFactory.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"StrutsConstants.java\",\"longName\":\"core/src/main/java/org/apache/struts2/StrutsConstants.java\",\"path\":\"core/src/main/java/org/apache/struts2/StrutsConstants.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"StreamResult.java\",\"longName\":\"core/src/main/java/org/apache/struts2/result/StreamResult.java\",\"path\":\"core/src/main/java/org/apache/struts2/result/StreamResult.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"AliasInterceptor.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"MockResult.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/mock/MockResult.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/DateTag.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DateTag.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/DateTag.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/DateTag.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Component.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Component.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Component.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Component.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultOgnlExpressionCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlExpressionCacheFactory.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"StrutsBodyTagSupport.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/StrutsBodyTagSupport.java\"},{\"key\":\"struts:plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/impl/FieldMatchValidator.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"FieldMatchValidator.java\",\"longName\":\"plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/impl/FieldMatchValidator.java\",\"path\":\"plugins/bean-validation/src/main/java/org/apache/struts/beanvalidation/constraints/impl/FieldMatchValidator.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/interceptor/csp/DefaultCspSettings.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultCspSettings.java\",\"longName\":\"core/src/main/java/org/apache/struts2/interceptor/csp/DefaultCspSettings.java\",\"path\":\"core/src/main/java/org/apache/struts2/interceptor/csp/DefaultCspSettings.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"BeanInfoCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java\"},{\"key\":\"struts\",\"enabled\":true,\"qualifier\":\"TRK\",\"name\":\"struts\",\"longName\":\"struts\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"OgnlUtil.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ContextBeanTag.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/ContextBeanTag.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"XWorkBasicConverter.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java\"},{\"key\":\"struts:core/src/test/java/org/apache/struts2/config/StrutsJavaConfigurationProviderTest.java\",\"enabled\":true,\"qualifier\":\"UTS\",\"name\":\"StrutsJavaConfigurationProviderTest.java\",\"longName\":\"core/src/test/java/org/apache/struts2/config/StrutsJavaConfigurationProviderTest.java\",\"path\":\"core/src/test/java/org/apache/struts2/config/StrutsJavaConfigurationProviderTest.java\"},{\"key\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"PortletServletContext.java\",\"longName\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\",\"path\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletContext.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Date.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Date.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Date.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Date.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"XWorkMethodAccessor.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMethodAccessor.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ActionTag.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/ActionTag.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DateConverter.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Anchor.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Anchor.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Anchor.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Anchor.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Param.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Param.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Param.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Param.java\"},{\"key\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"PortletServletResponse.java\",\"longName\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\",\"path\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponse.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ExpressionCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/ExpressionCacheFactory.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultOgnlBeanInfoCacheFactory.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/DefaultOgnlBeanInfoCacheFactory.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"DefaultConfiguration.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java\"},{\"key\":\"struts:plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"JasperReportsResult.java\",\"longName\":\"plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\",\"path\":\"plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/date/SimpleDateFormatAdapter.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"SimpleDateFormatAdapter.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/date/SimpleDateFormatAdapter.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/date/SimpleDateFormatAdapter.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ComponentTagSupport.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/ComponentTagSupport.java\"},{\"key\":\"struts:core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"enabled\":true,\"qualifier\":\"UTS\",\"name\":\"ComponentTest.java\",\"longName\":\"core/src/test/java/org/apache/struts2/components/ComponentTest.java\",\"path\":\"core/src/test/java/org/apache/struts2/components/ComponentTest.java\"},{\"key\":\"struts:plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"ContentTypeInterceptor.java\",\"longName\":\"plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java\",\"path\":\"plugins/rest/src/main/java/org/apache/struts2/rest/ContentTypeInterceptor.java\"},{\"key\":\"struts:plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"PortletServletRequest.java\",\"longName\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\",\"path\":\"plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletRequest.java\"},{\"key\":\"struts:plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsApplicationResource.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"StrutsApplicationResource.java\",\"longName\":\"plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsApplicationResource.java\",\"path\":\"plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsApplicationResource.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/Radio.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"Radio.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/Radio.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/Radio.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/components/UIBean.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"UIBean.java\",\"longName\":\"core/src/main/java/org/apache/struts2/components/UIBean.java\",\"path\":\"core/src/main/java/org/apache/struts2/components/UIBean.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"OgnlLRUCache.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlLRUCache.java\"},{\"key\":\"struts:core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"BeanTag.java\",\"longName\":\"core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\",\"path\":\"core/src/main/java/org/apache/struts2/views/jsp/BeanTag.java\"},{\"key\":\"struts:core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\"enabled\":true,\"qualifier\":\"FIL\",\"name\":\"OgnlDefaultCache.java\",\"longName\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\",\"path\":\"core/src/main/java/com/opensymphony/xwork2/ognl/OgnlDefaultCache.java\"}],\"facets\":[]}" - ] - } - ], - "source": [ - "!cat /tmp/report.json" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "!cat /tmp/report2.json" + " # Extract the \"issues\" field and add it to the aggregated issues\n", + " if \"issues\" in data:\n", + " data_first[\"issues\"].extend(data[\"issues\"])\n", + "\n", + " # Increment the page number for the next iteration\n", + " current_page += 1\n", + "\n", + " # Check if there are more pages to fetch\n", + " if len(data[\"issues\"]) < page_size:\n", + " break # Exit the loop if the last page has been reached\n", + " except requests.RequestException as e:\n", + " print(\"Error making the request:\", e)\n", + " break # Exit the loop on request exception\n", + " except json.JSONDecodeError as e:\n", + " print(\"Error decoding JSON:\", e)\n", + " print(\"Raw response content:\", response.content)\n", + " break # Exit the loop on JSON decoding error\n", + "\n", + "# Get the vulnerability data from page 2 onwards \n", + "current_page = 2\n", + "while True:\n", + " # Construct the API URL with the current page size and page number\n", + " vuln_url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&types=VULNERABILITY&ps={page_size}&p={current_page}\"\n", + "\n", + " # Make the API request\n", + " try:\n", + " vuln_response = requests.get(vuln_url, auth=(username, password))\n", + " vuln_response.raise_for_status() # Raise an exception for non-200 responses\n", + " vuln_data = vuln_response.json()\n", + "\n", + "\n", + " # Extract the \"issues\" field and add it to the aggregated issues\n", + " if vuln_data[\"total\"] == 0:\n", + " break\n", + " if len(vuln_data[\"issues\"]) > 0:\n", + " data_vuln_first[\"issues\"].extend(vuln_data[\"issues\"])\n", + "\n", + " # Increment the page number for the next iteration\n", + " current_page += 1\n", + "\n", + " # Check if there are more pages to fetch\n", + " if len(vuln_data[\"issues\"]) < page_size:\n", + " break # Exit the loop if the last page has been reached\n", + " except requests.RequestException as e:\n", + " print(\"Error making the request:\", e)\n", + " break # Exit the loop on request exception\n", + " except json.JSONDecodeError as e:\n", + " print(\"Error decoding JSON:\", e)\n", + " print(\"Raw response content:\", vuln_response.content)\n", + " break # Exit the loop on JSON decoding error\n", + "\n", + "\n", + "data_first[\"issues\"].extend(data_vuln_first[\"issues\"])\n", + "with open(detailed_report, \"w\") as file:\n", + " json.dump(data_first, file, indent=4)\n" ] } ], From 8c5f396b104cc916029222d2d19db0a1a026ea93 Mon Sep 17 00:00:00 2001 From: asa1997 Date: Wed, 15 May 2024 15:15:39 +0530 Subject: [PATCH 09/17] Updated --- ...man-sonarqube-0.0.1-steps-checkpoint.ipynb | 371 ++++++++++++++++++ 1 file changed, 371 insertions(+) create mode 100644 playbooks/.ipynb_checkpoints/besman-sonarqube-0.0.1-steps-checkpoint.ipynb diff --git a/playbooks/.ipynb_checkpoints/besman-sonarqube-0.0.1-steps-checkpoint.ipynb b/playbooks/.ipynb_checkpoints/besman-sonarqube-0.0.1-steps-checkpoint.ipynb new file mode 100644 index 0000000..0f4039b --- /dev/null +++ b/playbooks/.ipynb_checkpoints/besman-sonarqube-0.0.1-steps-checkpoint.ipynb @@ -0,0 +1,371 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Steps to perform SAST using Sonarqube" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Check if Sonarqube is up" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!docker ps | grep sonarqube" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Start the container if not available" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!docker run -d --name sonarqube -p 9000:9000 sonarqube" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setting variables" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"SONARQUBE_URL\"] = #### Enter sonarqube server url\n", + "os.environ[\"USERNAME\"] = #### Enter your sonarqube username\n", + "os.environ[\"PASSWORD\"] = #### Enter your sonarqube password\n", + "os.environ[\"YOUR_PROJECT_KEY\"] = #### Enter your project key(can be the same as project name)\n", + "os.environ[\"YOUR_PROJECT_NAME\"] = #### Enter your project name\n", + "os.environ[\"ARTIFACT_DIR\"] = #### Enter the complete path to your artifact under assessment\n", + "os.environ[\"DETAILED_REPORT_PATH\"] = ### Enter the complete path to assessment report" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating user token\n", + "\n", + "This token wil be used across multiple projects" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "!curl -u $USERNAME:$PASSWORD -X POST $SONARQUBE_URL/api/user_tokens/generate -d name=automation_token > /tmp/sonar.json\n", + "!jq -r '.token' /tmp/sonar.json > /tmp/token.txt\n", + "token = open('/tmp/token.txt', 'r').read()\n", + "os.environ[\"TOKEN\"] = TOKEN\n", + "!rm /tmp/token.txt /tmp/sonar.json" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Get user token\n", + "\n", + "Run the below cell to get the generated token. Copy it and keep it in hand" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "print(os.environ.get(\"TOKEN\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Create project\n", + "\n", + "The command below will create a new project using the main branch. \n", + "\n", + "Note- `If you require a different branch, please visit the sonarqube server page and create the project manually.`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!curl -u \"$USERNAME\":\"$PASSWORD\" -X POST \"$SONARQUBE_URL/api/projects/create?name=$YOUR_PROJECT_NAME&project=$YOUR_PROJECT_KEY\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Run Scan\n", + "Move to your project directory to perform the scan" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### For maven builds" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "import os\n", + "\n", + "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", + "os.chdir(artifact_dir)\n", + "!mvn clean verify sonar:sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName=\"$YOUR_PROJECT_NAME\" -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.login=\"$TOKEN\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### For gradle builds\n", + "\n", + "Running an analysis with Gradle is straighforward. You just need to declare the `org.sonarqube` plugin in your `build.gradle` or `build.gradle.kts` file:\n", + "\n", + "**build.gradle**\n", + "```json\n", + "plugins {\n", + " id \"org.sonarqube\" version \"5.0.0.4638\"\n", + "}\n", + "```\n", + "\n", + "**build.gradle.kts**\n", + "\n", + "```json\n", + "plugins {\n", + " id(\"org.sonarqube\") version \"5.0.0.4638\"\n", + "}\n", + "```\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", + "os.chdir(artifact_dir)\n", + "!./gradlew sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName='$YOUR_PROJECT_NAME' -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### For others(JS, TS, Go, Python, PHP)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", + "os.chdir(artifact_dir)\n", + "!sonar-scanner -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.sources=. -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## View Report\n", + "\n", + "Once the assessment is done, you can visit the Sonarqube server and see your project scan report" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Download Report" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import requests\n", + "import json\n", + "\n", + "# Get the SonarQube URL from the environment variable\n", + "sonarqube_url_env = os.environ.get('SONARQUBE_URL')\n", + "\n", + "username = os.environ.get(\"USERNAME\")\n", + "password = os.environ.get(\"PASSWORD\")\n", + "detailed_report = os.environ.get(\"DETAILED_REPORT_PATH\")\n", + "project_name = os.environ.get(\"YOUR_PROJECT_NAME\")\n", + "# Specify the initial page size\n", + "page_size = 500 # For example, set the initial page size to 500\n", + "\n", + "url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&ps={page_size}&p=1\"\n", + "vuln_url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&types=VULNERABILITY&ps={page_size}&p=1\"\n", + "\n", + "\n", + "# Get first page data\n", + "try:\n", + " response_first = requests.get(url, auth=(username, password))\n", + " response_first.raise_for_status() # Raise an exception for non-200 responses\n", + " data_first = response_first.json()\n", + "except requests.RequestException as e:\n", + " print(\"Error making the request:\", e)\n", + "except json.JSONDecodeError as e:\n", + " print(\"Error decoding JSON:\", e)\n", + " print(\"Raw response content:\", response_first.content)\n", + "\n", + "# Get first page data for type VULNERABILITY \n", + "try:\n", + " response_vuln_first = requests.get(vuln_url, auth=(username, password))\n", + " response_vuln_first.raise_for_status() # Raise an exception for non-200 responses\n", + " data_vuln_first = response_vuln_first.json()\n", + "except requests.RequestException as e:\n", + " print(\"Error making the request:\", e)\n", + "except json.JSONDecodeError as e:\n", + " print(\"Error decoding JSON:\", e)\n", + " print(\"Raw response content:\", response_vuln_first.content)\n", + "\n", + "# Initialize variables for tracking the current page and the aggregated issues\n", + "all_issues = []\n", + "\n", + "# Fetch data from all pages\n", + "current_page = 2\n", + "while True:\n", + " # Construct the API URL with the current page size and page number\n", + " url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&ps={page_size}&p={current_page}\"\n", + "\n", + " # Make the API request\n", + " try:\n", + " response = requests.get(url, auth=(username, password))\n", + " response.raise_for_status() # Raise an exception for non-200 responses\n", + " data = response.json()\n", + "\n", + " # Extract the \"issues\" field and add it to the aggregated issues\n", + " if \"issues\" in data:\n", + " data_first[\"issues\"].extend(data[\"issues\"])\n", + "\n", + " # Increment the page number for the next iteration\n", + " current_page += 1\n", + "\n", + " # Check if there are more pages to fetch\n", + " if len(data[\"issues\"]) < page_size:\n", + " break # Exit the loop if the last page has been reached\n", + " except requests.RequestException as e:\n", + " print(\"Error making the request:\", e)\n", + " break # Exit the loop on request exception\n", + " except json.JSONDecodeError as e:\n", + " print(\"Error decoding JSON:\", e)\n", + " print(\"Raw response content:\", response.content)\n", + " break # Exit the loop on JSON decoding error\n", + "\n", + "# Get the vulnerability data from page 2 onwards \n", + "current_page = 2\n", + "while True:\n", + " # Construct the API URL with the current page size and page number\n", + " vuln_url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&types=VULNERABILITY&ps={page_size}&p={current_page}\"\n", + "\n", + " # Make the API request\n", + " try:\n", + " vuln_response = requests.get(vuln_url, auth=(username, password))\n", + " vuln_response.raise_for_status() # Raise an exception for non-200 responses\n", + " vuln_data = vuln_response.json()\n", + "\n", + "\n", + " # Extract the \"issues\" field and add it to the aggregated issues\n", + " if vuln_data[\"total\"] == 0:\n", + " break\n", + " if len(vuln_data[\"issues\"]) > 0:\n", + " data_vuln_first[\"issues\"].extend(vuln_data[\"issues\"])\n", + "\n", + " # Increment the page number for the next iteration\n", + " current_page += 1\n", + "\n", + " # Check if there are more pages to fetch\n", + " if len(vuln_data[\"issues\"]) < page_size:\n", + " break # Exit the loop if the last page has been reached\n", + " except requests.RequestException as e:\n", + " print(\"Error making the request:\", e)\n", + " break # Exit the loop on request exception\n", + " except json.JSONDecodeError as e:\n", + " print(\"Error decoding JSON:\", e)\n", + " print(\"Raw response content:\", vuln_response.content)\n", + " break # Exit the loop on JSON decoding error\n", + "\n", + "\n", + "data_first[\"issues\"].extend(data_vuln_first[\"issues\"])\n", + "with open(detailed_report, \"w\") as file:\n", + " json.dump(data_first, file, indent=4)\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From ae15a63e4ffa45fb37e6ae516ef465e0703c609c Mon Sep 17 00:00:00 2001 From: asa1997 Date: Wed, 15 May 2024 15:15:51 +0530 Subject: [PATCH 10/17] updated --- playbooks/besman-sonarqube-0.0.1-playbook.sh | 41 +++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/playbooks/besman-sonarqube-0.0.1-playbook.sh b/playbooks/besman-sonarqube-0.0.1-playbook.sh index 513e72e..0a6e0eb 100644 --- a/playbooks/besman-sonarqube-0.0.1-playbook.sh +++ b/playbooks/besman-sonarqube-0.0.1-playbook.sh @@ -7,7 +7,7 @@ function __besman_init() { export ASSESSMENT_TOOL_VERSION="9.9.4" export ASSESSMENT_TOOL_PLAYBOOK="besman-$ASSESSMENT_TOOL_NAME-0.0.1-playbook.sh" - local steps_file_name="besman-$ASSESSMENT_TOOL_NAME-0.0.1-steps.md" + local steps_file_name="besman-$ASSESSMENT_TOOL_NAME-0.0.1-steps.ipynb" export BESMAN_STEPS_FILE_PATH="$BESMAN_PLAYBOOK_DIR/$steps_file_name" local var_array=("BESMAN_ARTIFACT_TYPE" "BESMAN_ARTIFACT_NAME" "BESMAN_ARTIFACT_VERSION" "BESMAN_ARTIFACT_URL" "BESMAN_ENV_NAME" "BESMAN_ARTIFACT_DIR" "ASSESSMENT_TOOL_NAME" "ASSESSMENT_TOOL_TYPE" "ASSESSMENT_TOOL_VERSION" "ASSESSMENT_TOOL_PLAYBOOK" "BESMAN_ASSESSMENT_DATASTORE_DIR" "BESMAN_TOOL_PATH" "BESMAN_ASSESSMENT_DATASTORE_URL" "BESMAN_LAB_TYPE" "BESMAN_LAB_NAME") @@ -54,11 +54,20 @@ function __besman_init() { return 1 else - export SBOM_PATH="$BESMAN_ASSESSMENT_DATASTORE_DIR/$BESMAN_ARTIFACT_NAME/$BESMAN_ARTIFACT_VERSION/sbom" - export DETAILED_REPORT_PATH="$SBOM_PATH/$BESMAN_ARTIFACT_NAME-$BESMAN_ARTIFACT_VERSION-sbom-report.json" - mkdir -p "$SBOM_PATH" + export SONARQUBE_PATH="$BESMAN_ASSESSMENT_DATASTORE_DIR/$BESMAN_ARTIFACT_NAME/$BESMAN_ARTIFACT_VERSION/$ASSESSMENT_TOOL_TYPE" + export DETAILED_REPORT_PATH="$SONARQUBE_PATH/$BESMAN_ARTIFACT_NAME-$BESMAN_ARTIFACT_VERSION-$ASSESSMENT_TOOL_TYPE-report.json" + mkdir -p "$SONARQUBE_PATH" export OSAR_PATH="$BESMAN_ASSESSMENT_DATASTORE_DIR/osar/$BESMAN_ARTIFACT_NAME-$BESMAN_ARTIFACT_VERSION-OSAR.json" __besman_fetch_steps_file "$steps_file_name" || return 1 + if ! grep -q "export DETAILED_REPORT_PATH=" ~/.bashrc; then + echo "export DETAILED_REPORT_PATH=$DETAILED_REPORT_PATH" + source ~/.bashrc + fi + + if ! grep -q "export BESMAN_ARTIFACT_DIR=" ~/.bashrc; then + echo "export BESMAN_ARTIFACT_DIR=$BESMAN_ARTIFACT_DIR" + source ~/.bashrc + fi return 0 fi @@ -67,23 +76,25 @@ function __besman_init() { function __besman_execute() { local duration + mkdir -p "$BESMAN_DIR/tmp/steps" __besman_echo_yellow "Launching steps file" - + cp "$BESMAN_STEPS_FILE_PATH" "$BESMAN_DIR/tmp/steps" SECONDS=0 - gedit "$BESMAN_STEPS_FILE_PATH" + jupter notebook "$BESMAN_DIR/tmp/steps" duration=$SECONDS export EXECUTION_DURATION=$duration - if [[ ! -f $DETAILED_REPORT_PATH ]]; then + # if [[ ! -f $DETAILED_REPORT_PATH ]]; then - __besman_echo_red "Could not find detailed report @ $DETAILED_REPORT_PATH" - export PLAYBOOK_EXECUTION_STATUS=failure - return 1 + # __besman_echo_red "Could not find detailed report @ $DETAILED_REPORT_PATH" + # export PLAYBOOK_EXECUTION_STATUS=failure + # return 1 - else - export PLAYBOOK_EXECUTION_STATUS=success - return 0 - fi + # else + # export PLAYBOOK_EXECUTION_STATUS=success + # return 0 + # fi + rm -rf "$BESMAN_DIR/tmp/steps" } @@ -111,7 +122,7 @@ function __besman_publish() { } function __besman_cleanup() { - local var_array=("ASSESSMENT_TOOL_NAME" "ASSESSMENT_TOOL_TYPE" "ASSESSMENT_TOOL_PLAYBOOK" "ASSESSMENT_TOOL_VERSION" "OSAR_PATH" "SBOM_PATH" "DETAILED_REPORT_PATH") + local var_array=("ASSESSMENT_TOOL_NAME" "ASSESSMENT_TOOL_TYPE" "ASSESSMENT_TOOL_PLAYBOOK" "ASSESSMENT_TOOL_VERSION" "OSAR_PATH" "SONARQUBE_PATH" "DETAILED_REPORT_PATH") for var in "${var_array[@]}"; do if [[ -v $var ]]; then From 9e3c0304859fb8a13039ead8f6a8b628247b73e0 Mon Sep 17 00:00:00 2001 From: asa1997 Date: Wed, 15 May 2024 15:19:06 +0530 Subject: [PATCH 11/17] updated --- playbook-metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbook-metadata.json b/playbook-metadata.json index 7e1d914..539c62d 100644 --- a/playbook-metadata.json +++ b/playbook-metadata.json @@ -59,4 +59,4 @@ "detailed_report_path": "STRING" } ] -} \ No newline at end of file +} From b0e5e7632caf1538ea5bad7134ad59035b9dff5e Mon Sep 17 00:00:00 2001 From: asa1997 Date: Wed, 15 May 2024 19:00:46 +0530 Subject: [PATCH 12/17] Corrected typo --- playbooks/besman-sonarqube-0.0.1-playbook.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/besman-sonarqube-0.0.1-playbook.sh b/playbooks/besman-sonarqube-0.0.1-playbook.sh index 0a6e0eb..fef6203 100644 --- a/playbooks/besman-sonarqube-0.0.1-playbook.sh +++ b/playbooks/besman-sonarqube-0.0.1-playbook.sh @@ -80,7 +80,7 @@ function __besman_execute() { __besman_echo_yellow "Launching steps file" cp "$BESMAN_STEPS_FILE_PATH" "$BESMAN_DIR/tmp/steps" SECONDS=0 - jupter notebook "$BESMAN_DIR/tmp/steps" + jupyter notebook "$BESMAN_DIR/tmp/steps" duration=$SECONDS export EXECUTION_DURATION=$duration From ff6763abb8fcde992e94f1ca2d36cf9b267900b6 Mon Sep 17 00:00:00 2001 From: asa1997 Date: Thu, 16 May 2024 09:24:57 +0530 Subject: [PATCH 13/17] Updated --- playbooks/besman-sonarqube-0.0.1-playbook.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/playbooks/besman-sonarqube-0.0.1-playbook.sh b/playbooks/besman-sonarqube-0.0.1-playbook.sh index fef6203..a7aaebc 100644 --- a/playbooks/besman-sonarqube-0.0.1-playbook.sh +++ b/playbooks/besman-sonarqube-0.0.1-playbook.sh @@ -84,16 +84,16 @@ function __besman_execute() { duration=$SECONDS export EXECUTION_DURATION=$duration - # if [[ ! -f $DETAILED_REPORT_PATH ]]; then + if [[ ! -f $DETAILED_REPORT_PATH ]]; then - # __besman_echo_red "Could not find detailed report @ $DETAILED_REPORT_PATH" - # export PLAYBOOK_EXECUTION_STATUS=failure - # return 1 + __besman_echo_red "Could not find detailed report @ $DETAILED_REPORT_PATH" + export PLAYBOOK_EXECUTION_STATUS=failure + return 1 - # else - # export PLAYBOOK_EXECUTION_STATUS=success - # return 0 - # fi + else + export PLAYBOOK_EXECUTION_STATUS=success + return 0 + fi rm -rf "$BESMAN_DIR/tmp/steps" } From e99f73ac123adc2e570029b5f2ec185a1e42568f Mon Sep 17 00:00:00 2001 From: asa1997 Date: Thu, 16 May 2024 09:30:28 +0530 Subject: [PATCH 14/17] Updated --- playbooks/besman-sonarqube-0.0.1-steps.ipynb | 48 ++++++++++++++++---- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/playbooks/besman-sonarqube-0.0.1-steps.ipynb b/playbooks/besman-sonarqube-0.0.1-steps.ipynb index 0f4039b..a5dbc1f 100644 --- a/playbooks/besman-sonarqube-0.0.1-steps.ipynb +++ b/playbooks/besman-sonarqube-0.0.1-steps.ipynb @@ -39,6 +39,22 @@ "!docker run -d --name sonarqube -p 9000:9000 sonarqube" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run the below cell if you already have a container" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!docker start sonarqube" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -58,9 +74,7 @@ "os.environ[\"USERNAME\"] = #### Enter your sonarqube username\n", "os.environ[\"PASSWORD\"] = #### Enter your sonarqube password\n", "os.environ[\"YOUR_PROJECT_KEY\"] = #### Enter your project key(can be the same as project name)\n", - "os.environ[\"YOUR_PROJECT_NAME\"] = #### Enter your project name\n", - "os.environ[\"ARTIFACT_DIR\"] = #### Enter the complete path to your artifact under assessment\n", - "os.environ[\"DETAILED_REPORT_PATH\"] = ### Enter the complete path to assessment report" + "os.environ[\"YOUR_PROJECT_NAME\"] = #### Enter your project name" ] }, { @@ -82,7 +96,7 @@ "!curl -u $USERNAME:$PASSWORD -X POST $SONARQUBE_URL/api/user_tokens/generate -d name=automation_token > /tmp/sonar.json\n", "!jq -r '.token' /tmp/sonar.json > /tmp/token.txt\n", "token = open('/tmp/token.txt', 'r').read()\n", - "os.environ[\"TOKEN\"] = TOKEN\n", + "os.environ[\"TOKEN\"] = token\n", "!rm /tmp/token.txt /tmp/sonar.json" ] }, @@ -105,6 +119,24 @@ "print(os.environ.get(\"TOKEN\"))" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Run the below cell, if you already have a token" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "os.environ[\"TOKEN\"] = ### Enter token" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -150,7 +182,7 @@ "source": [ "import os\n", "\n", - "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", + "artifact_dir = os.environ.get(\"BESMAN_ARTIFACT_DIR\")\n", "os.chdir(artifact_dir)\n", "!mvn clean verify sonar:sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName=\"$YOUR_PROJECT_NAME\" -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.login=\"$TOKEN\"\n" ] @@ -187,9 +219,9 @@ "source": [ "import os\n", "\n", - "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", + "artifact_dir = os.environ.get(\"BESMAN_ARTIFACT_DIR\")\n", "os.chdir(artifact_dir)\n", - "!./gradlew sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName='$YOUR_PROJECT_NAME' -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" + "!./gradlew sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName='$YOUR_PROJECT_NAME' -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=$TOKEN" ] }, { @@ -207,7 +239,7 @@ "source": [ "import os\n", "\n", - "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", + "artifact_dir = os.environ.get(\"BESMAN_ARTIFACT_DIR\")\n", "os.chdir(artifact_dir)\n", "!sonar-scanner -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.sources=. -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" ] From 7598d459a3fdfedeb804b593ed124c877c72878c Mon Sep 17 00:00:00 2001 From: asa1997 Date: Thu, 16 May 2024 09:48:49 +0530 Subject: [PATCH 15/17] removed unwanted files --- ...man-sonarqube-0.0.1-steps-checkpoint.ipynb | 371 ------------------ 1 file changed, 371 deletions(-) delete mode 100644 playbooks/.ipynb_checkpoints/besman-sonarqube-0.0.1-steps-checkpoint.ipynb diff --git a/playbooks/.ipynb_checkpoints/besman-sonarqube-0.0.1-steps-checkpoint.ipynb b/playbooks/.ipynb_checkpoints/besman-sonarqube-0.0.1-steps-checkpoint.ipynb deleted file mode 100644 index 0f4039b..0000000 --- a/playbooks/.ipynb_checkpoints/besman-sonarqube-0.0.1-steps-checkpoint.ipynb +++ /dev/null @@ -1,371 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Steps to perform SAST using Sonarqube" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Check if Sonarqube is up" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "!docker ps | grep sonarqube" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Start the container if not available" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "!docker run -d --name sonarqube -p 9000:9000 sonarqube" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Setting variables" - ] - }, - { - "cell_type": "code", - "execution_count": 86, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "\n", - "os.environ[\"SONARQUBE_URL\"] = #### Enter sonarqube server url\n", - "os.environ[\"USERNAME\"] = #### Enter your sonarqube username\n", - "os.environ[\"PASSWORD\"] = #### Enter your sonarqube password\n", - "os.environ[\"YOUR_PROJECT_KEY\"] = #### Enter your project key(can be the same as project name)\n", - "os.environ[\"YOUR_PROJECT_NAME\"] = #### Enter your project name\n", - "os.environ[\"ARTIFACT_DIR\"] = #### Enter the complete path to your artifact under assessment\n", - "os.environ[\"DETAILED_REPORT_PATH\"] = ### Enter the complete path to assessment report" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating user token\n", - "\n", - "This token wil be used across multiple projects" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "!curl -u $USERNAME:$PASSWORD -X POST $SONARQUBE_URL/api/user_tokens/generate -d name=automation_token > /tmp/sonar.json\n", - "!jq -r '.token' /tmp/sonar.json > /tmp/token.txt\n", - "token = open('/tmp/token.txt', 'r').read()\n", - "os.environ[\"TOKEN\"] = TOKEN\n", - "!rm /tmp/token.txt /tmp/sonar.json" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Get user token\n", - "\n", - "Run the below cell to get the generated token. Copy it and keep it in hand" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "print(os.environ.get(\"TOKEN\"))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Create project\n", - "\n", - "The command below will create a new project using the main branch. \n", - "\n", - "Note- `If you require a different branch, please visit the sonarqube server page and create the project manually.`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "!curl -u \"$USERNAME\":\"$PASSWORD\" -X POST \"$SONARQUBE_URL/api/projects/create?name=$YOUR_PROJECT_NAME&project=$YOUR_PROJECT_KEY\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Run Scan\n", - "Move to your project directory to perform the scan" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### For maven builds" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "import os\n", - "\n", - "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", - "os.chdir(artifact_dir)\n", - "!mvn clean verify sonar:sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName=\"$YOUR_PROJECT_NAME\" -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.login=\"$TOKEN\"\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### For gradle builds\n", - "\n", - "Running an analysis with Gradle is straighforward. You just need to declare the `org.sonarqube` plugin in your `build.gradle` or `build.gradle.kts` file:\n", - "\n", - "**build.gradle**\n", - "```json\n", - "plugins {\n", - " id \"org.sonarqube\" version \"5.0.0.4638\"\n", - "}\n", - "```\n", - "\n", - "**build.gradle.kts**\n", - "\n", - "```json\n", - "plugins {\n", - " id(\"org.sonarqube\") version \"5.0.0.4638\"\n", - "}\n", - "```\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "\n", - "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", - "os.chdir(artifact_dir)\n", - "!./gradlew sonar -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.projectName='$YOUR_PROJECT_NAME' -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### For others(JS, TS, Go, Python, PHP)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "\n", - "artifact_dir = os.environ.get(\"ARTIFACT_DIR\")\n", - "os.chdir(artifact_dir)\n", - "!sonar-scanner -Dsonar.projectKey=\"$YOUR_PROJECT_KEY\" -Dsonar.sources=. -Dsonar.host.url=\"$SONARQUBE_URL\" -Dsonar.token=\"$TOKEN\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## View Report\n", - "\n", - "Once the assessment is done, you can visit the Sonarqube server and see your project scan report" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Download Report" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "import requests\n", - "import json\n", - "\n", - "# Get the SonarQube URL from the environment variable\n", - "sonarqube_url_env = os.environ.get('SONARQUBE_URL')\n", - "\n", - "username = os.environ.get(\"USERNAME\")\n", - "password = os.environ.get(\"PASSWORD\")\n", - "detailed_report = os.environ.get(\"DETAILED_REPORT_PATH\")\n", - "project_name = os.environ.get(\"YOUR_PROJECT_NAME\")\n", - "# Specify the initial page size\n", - "page_size = 500 # For example, set the initial page size to 500\n", - "\n", - "url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&ps={page_size}&p=1\"\n", - "vuln_url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&types=VULNERABILITY&ps={page_size}&p=1\"\n", - "\n", - "\n", - "# Get first page data\n", - "try:\n", - " response_first = requests.get(url, auth=(username, password))\n", - " response_first.raise_for_status() # Raise an exception for non-200 responses\n", - " data_first = response_first.json()\n", - "except requests.RequestException as e:\n", - " print(\"Error making the request:\", e)\n", - "except json.JSONDecodeError as e:\n", - " print(\"Error decoding JSON:\", e)\n", - " print(\"Raw response content:\", response_first.content)\n", - "\n", - "# Get first page data for type VULNERABILITY \n", - "try:\n", - " response_vuln_first = requests.get(vuln_url, auth=(username, password))\n", - " response_vuln_first.raise_for_status() # Raise an exception for non-200 responses\n", - " data_vuln_first = response_vuln_first.json()\n", - "except requests.RequestException as e:\n", - " print(\"Error making the request:\", e)\n", - "except json.JSONDecodeError as e:\n", - " print(\"Error decoding JSON:\", e)\n", - " print(\"Raw response content:\", response_vuln_first.content)\n", - "\n", - "# Initialize variables for tracking the current page and the aggregated issues\n", - "all_issues = []\n", - "\n", - "# Fetch data from all pages\n", - "current_page = 2\n", - "while True:\n", - " # Construct the API URL with the current page size and page number\n", - " url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&ps={page_size}&p={current_page}\"\n", - "\n", - " # Make the API request\n", - " try:\n", - " response = requests.get(url, auth=(username, password))\n", - " response.raise_for_status() # Raise an exception for non-200 responses\n", - " data = response.json()\n", - "\n", - " # Extract the \"issues\" field and add it to the aggregated issues\n", - " if \"issues\" in data:\n", - " data_first[\"issues\"].extend(data[\"issues\"])\n", - "\n", - " # Increment the page number for the next iteration\n", - " current_page += 1\n", - "\n", - " # Check if there are more pages to fetch\n", - " if len(data[\"issues\"]) < page_size:\n", - " break # Exit the loop if the last page has been reached\n", - " except requests.RequestException as e:\n", - " print(\"Error making the request:\", e)\n", - " break # Exit the loop on request exception\n", - " except json.JSONDecodeError as e:\n", - " print(\"Error decoding JSON:\", e)\n", - " print(\"Raw response content:\", response.content)\n", - " break # Exit the loop on JSON decoding error\n", - "\n", - "# Get the vulnerability data from page 2 onwards \n", - "current_page = 2\n", - "while True:\n", - " # Construct the API URL with the current page size and page number\n", - " vuln_url = f\"{sonarqube_url_env}/api/issues/search?componentKeys={project_name}&types=VULNERABILITY&ps={page_size}&p={current_page}\"\n", - "\n", - " # Make the API request\n", - " try:\n", - " vuln_response = requests.get(vuln_url, auth=(username, password))\n", - " vuln_response.raise_for_status() # Raise an exception for non-200 responses\n", - " vuln_data = vuln_response.json()\n", - "\n", - "\n", - " # Extract the \"issues\" field and add it to the aggregated issues\n", - " if vuln_data[\"total\"] == 0:\n", - " break\n", - " if len(vuln_data[\"issues\"]) > 0:\n", - " data_vuln_first[\"issues\"].extend(vuln_data[\"issues\"])\n", - "\n", - " # Increment the page number for the next iteration\n", - " current_page += 1\n", - "\n", - " # Check if there are more pages to fetch\n", - " if len(vuln_data[\"issues\"]) < page_size:\n", - " break # Exit the loop if the last page has been reached\n", - " except requests.RequestException as e:\n", - " print(\"Error making the request:\", e)\n", - " break # Exit the loop on request exception\n", - " except json.JSONDecodeError as e:\n", - " print(\"Error decoding JSON:\", e)\n", - " print(\"Raw response content:\", vuln_response.content)\n", - " break # Exit the loop on JSON decoding error\n", - "\n", - "\n", - "data_first[\"issues\"].extend(data_vuln_first[\"issues\"])\n", - "with open(detailed_report, \"w\") as file:\n", - " json.dump(data_first, file, indent=4)\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} From fd3079b27a209f3710766fd4a671782e34622328 Mon Sep 17 00:00:00 2001 From: asa1997 Date: Thu, 16 May 2024 09:48:58 +0530 Subject: [PATCH 16/17] Corrected file name --- playbooks/besman-sonarqube-0.0.1-playbook.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/besman-sonarqube-0.0.1-playbook.sh b/playbooks/besman-sonarqube-0.0.1-playbook.sh index a7aaebc..87d67f8 100644 --- a/playbooks/besman-sonarqube-0.0.1-playbook.sh +++ b/playbooks/besman-sonarqube-0.0.1-playbook.sh @@ -55,7 +55,7 @@ function __besman_init() { else export SONARQUBE_PATH="$BESMAN_ASSESSMENT_DATASTORE_DIR/$BESMAN_ARTIFACT_NAME/$BESMAN_ARTIFACT_VERSION/$ASSESSMENT_TOOL_TYPE" - export DETAILED_REPORT_PATH="$SONARQUBE_PATH/$BESMAN_ARTIFACT_NAME-$BESMAN_ARTIFACT_VERSION-$ASSESSMENT_TOOL_TYPE-report.json" + export DETAILED_REPORT_PATH="$SONARQUBE_PATH/$BESMAN_ARTIFACT_NAME-$BESMAN_ARTIFACT_VERSION-sonarqube-report.json" mkdir -p "$SONARQUBE_PATH" export OSAR_PATH="$BESMAN_ASSESSMENT_DATASTORE_DIR/osar/$BESMAN_ARTIFACT_NAME-$BESMAN_ARTIFACT_VERSION-OSAR.json" __besman_fetch_steps_file "$steps_file_name" || return 1 From a72efb843d7ecdcad8f15939307490c5c8bf400c Mon Sep 17 00:00:00 2001 From: asa1997 Date: Thu, 16 May 2024 09:51:29 +0530 Subject: [PATCH 17/17] updated timestamp --- playbook-metadata.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/playbook-metadata.json b/playbook-metadata.json index 539c62d..58b300d 100644 --- a/playbook-metadata.json +++ b/playbook-metadata.json @@ -47,13 +47,13 @@ "name": "Be-Secure", "type": "Organization" }, - "date_of_creation": "2024-05-06T14:52:02", - "last_update_date": "2024-05-06T14:52:02", + "date_of_creation": "2024-05-16T09:50:45", + "last_update_date": "2024-05-16T09:50:45", "last_execution": { "name": "Be-Secure", "type": "Organization", "status": "Success", - "timestamp": "2024-05-06T14:52:02", + "timestamp": "2024-05-16T09:50:45", "environment": "fastjson-RT-env" }, "detailed_report_path": "STRING"