Full Code of mercedes-benz/sechub for AI

develop 894d77bc2502 cached
5719 files
48.8 MB
13.2M tokens
23960 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (52,870K chars total). Download the full file to get everything.
Repository: mercedes-benz/sechub
Branch: develop
Commit: 894d77bc2502
Files: 5719
Total size: 48.8 MB

Directory structure:
gitextract_kutx_dqx/

├── .gitattributes
├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       ├── _build+publish-pds-solution.yml
│       ├── build+publish-all-pds-solutions.yml
│       ├── documentation-build.yml
│       ├── github-action-scan.yml
│       ├── gradle.yml
│       ├── release-client-server-pds.yml
│       ├── release-github-action.yml
│       ├── release-pds-tools.yml
│       ├── release-web-ui.yml
│       ├── release-wrapper-checkmarx.yml
│       ├── release-wrapper-owaspzap.yml
│       ├── release-wrapper-prepare.yml
│       ├── release-wrapper-validation.yml
│       ├── release-wrapper-xray.yml
│       ├── sechub-plugin-eclipse-gradle.yml
│       ├── sechub-plugin-jetbrains-gradle.yml
│       ├── sechub-plugin-vscode-ci.yml
│       └── sechub-plugin-vscode-release.yml
├── .gitignore
├── 3RD_PARTY_LICENSES.txt
├── CONTRIBUTING.md
├── LICENSE
├── LICENSES/
│   └── CC-BY-NC-ND-4.0.txt
├── MAINTAINERS.md
├── README.adoc
├── SECURITY.md
├── apply-headers.sh
├── build.gradle
├── buildDoc
├── buildExecutables
├── buildSrc/
│   └── src/
│       └── main/
│           └── groovy/
│               ├── CmdExecutor.groovy
│               ├── IOUtil.java
│               ├── JunitFilesToOneFileConverter.groovy
│               ├── MinGWConverter.groovy
│               ├── OSUtil.groovy
│               └── VersionData.groovy
├── continous-integration-multibranch-pipeline.jenkins
├── deprecated-sechub-adapter-nessus/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               └── adapter/
│       │   │                   └── nessus/
│       │   │                       ├── MockedNessusAdapter.java
│       │   │                       ├── NessusAdapter.java
│       │   │                       ├── NessusAdapterConfig.java
│       │   │                       ├── NessusAdapterContext.java
│       │   │                       ├── NessusAdapterV1.java
│       │   │                       ├── NessusAdapterV1NewScanJSONBuilder.java
│       │   │                       ├── NessusClientHttpRequestInterceptor.java
│       │   │                       ├── NessusConfig.java
│       │   │                       ├── NessusContext.java
│       │   │                       ├── NessusRESTFailureException.java
│       │   │                       └── NessusState.java
│       │   └── resources/
│       │       └── adapter/
│       │           └── mockdata/
│       │               └── MockedNessusAdapter/
│       │                   └── v1/
│       │                       ├── green.xml
│       │                       ├── red.xml
│       │                       └── yellow.xml
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── adapter/
│           │                   └── nessus/
│           │                       ├── NessusAdapterV1NewScanJSONBuilderTest.java
│           │                       ├── NessusAdapterV1Test.java
│           │                       ├── NessusAdapterV1WireMockTest.java
│           │                       ├── NessusConfigBuilderTest.java
│           │                       ├── NessusConfigTest.java
│           │                       ├── NessusStateTest.java
│           │                       └── TestNessusAdapterFileSupport.java
│           └── resources/
│               ├── README.md
│               ├── nessus_7.0.2.get_policies_result.json
│               └── nessus_7.0.2.result.xml
├── deprecated-sechub-adapter-netsparker/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               └── adapter/
│       │   │                   └── netsparker/
│       │   │                       ├── MockedNetsparkerAdapter.java
│       │   │                       ├── NetsparkerAdapter.java
│       │   │                       ├── NetsparkerAdapterConfig.java
│       │   │                       ├── NetsparkerAdapterContext.java
│       │   │                       ├── NetsparkerAdapterV1.java
│       │   │                       ├── NetsparkerAdapterWebLoginSupportV1.java
│       │   │                       ├── NetsparkerClientHttpRequestInterceptor.java
│       │   │                       ├── NetsparkerConfig.java
│       │   │                       ├── NetsparkerContext.java
│       │   │                       ├── NetsparkerLoginScriptGenerator.java
│       │   │                       ├── NetsparkerMetaDataID.java
│       │   │                       ├── NetsparkerRESTFailureException.java
│       │   │                       └── NetsparkerState.java
│       │   └── resources/
│       │       └── adapter/
│       │           └── mockdata/
│       │               └── MockedNetsparkerAdapter/
│       │                   └── v1/
│       │                       ├── green.xml
│       │                       ├── red.xml
│       │                       └── yellow.xml
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── adapter/
│           │                   └── netsparker/
│           │                       ├── NetsparkerAdapterV1Test.java
│           │                       ├── NetsparkerAdapterV1WireMockTest.java
│           │                       ├── NetsparkerConfigBuilderTest.java
│           │                       ├── NetsparkerContextTest.java
│           │                       ├── NetsparkerLoginScriptGeneratorTest.java
│           │                       ├── NetsparkerStateTest.java
│           │                       ├── TestNetsparkerAdapterApplication.java
│           │                       └── TestNetsparkerAdapterFileSupport.java
│           └── resources/
│               ├── README.md
│               ├── json/
│               │   ├── basic_weblogin_expected1.json
│               │   ├── form_auto_detect_weblogin.json
│               │   ├── form_scripts_weblogin.json
│               │   ├── max_duration_one_hour_expected.json
│               │   ├── max_duration_three_hours_expected.json
│               │   └── max_duration_two_hours_expected.json
│               ├── netsparker_v1.0.40.109_new_scan_output.json
│               ├── netsparker_v1.0.40.109_scan_result_output_vulnerabilities.json
│               ├── netsparker_v1.0.40.109_scan_result_output_vulnerabilities.xml
│               ├── netsparker_v1.0.40.109_scan_state_complete.json
│               └── netsparker_v1.0.40.109_scan_state_scanning.json
├── deprecated-sechub-scan-product-nessus/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── domain/
│                               └── scan/
│                                   └── product/
│                                       └── nessus/
│                                           ├── NessusConstants.java
│                                           ├── NessusInstallSetup.java
│                                           ├── NessusInstallSetupImpl.java
│                                           └── NessusProductExecutor.java
├── deprecated-sechub-scan-product-netsparker/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── domain/
│                               └── scan/
│                                   └── product/
│                                       └── netsparker/
│                                           ├── NetsparkerConstants.java
│                                           ├── NetsparkerInstallSetup.java
│                                           ├── NetsparkerInstallSetupImpl.java
│                                           └── NetsparkerProductExecutor.java
├── docs/
│   ├── .gitignore
│   ├── .nojekyll
│   ├── 200.html
│   ├── 404.html
│   ├── README.md
│   ├── _nuxt/
│   │   ├── 5c4pSGXq.js
│   │   ├── BWjaZIcp.js
│   │   ├── CCW46xiD.js
│   │   ├── builds/
│   │   │   ├── latest.json
│   │   │   └── meta/
│   │   │       └── be7dde3d-fd6e-4470-b969-cc011a87f1b7.json
│   │   ├── entry.CVHbRtC8.css
│   │   ├── error-404.1I9kcRJA.css
│   │   └── error-500.D2gsH5Ap.css
│   ├── _payload.json
│   ├── favicon.ico.license
│   ├── index-old.html
│   ├── index.html
│   └── main.css
├── github-actions/
│   └── scan/
│       ├── .eslintrc.json
│       ├── .gitignore
│       ├── .prettierrc.json
│       ├── README.adoc
│       ├── __test__/
│       │   ├── client-version-helper.test.ts
│       │   ├── configuration-builder.test.ts
│       │   ├── configuration-model-customizer.test.ts
│       │   ├── content-type.test.ts
│       │   ├── data/
│       │   │   └── delete-resources-1/
│       │   │       └── folder-to-cleanup/
│       │   │           ├── file-to-delete.txt
│       │   │           ├── file-to-keep.txt
│       │   │           └── folder-to-delete/
│       │   │               └── file-to-delete.txt
│       │   ├── fs-helper.test.ts
│       │   ├── init-scan.test.ts
│       │   ├── input-helper.test.ts
│       │   ├── integrationtest/
│       │   │   ├── 01-start.sh
│       │   │   ├── 03-init_sechub_data.sh
│       │   │   ├── 05-stop.sh
│       │   │   ├── start_pds.sh
│       │   │   ├── start_sechub_server.sh
│       │   │   ├── stop_pds.sh
│       │   │   ├── stop_sechub_server.sh
│       │   │   ├── test-config/
│       │   │   │   ├── executor-codescan-green.json
│       │   │   │   ├── executor-codescan-red-def-fp.json
│       │   │   │   ├── executor-codescan-red.json
│       │   │   │   ├── executor-codescan-yellow.json
│       │   │   │   ├── executor-iacscan-red.json
│       │   │   │   ├── executor-licensescan-green.json
│       │   │   │   ├── executor-secretscan-yellow.json
│       │   │   │   ├── executor-webscan-red.json
│       │   │   │   ├── gha_integrationtest_pds-config.json
│       │   │   │   ├── sechub-config-iacscan-test-project-8.json
│       │   │   │   ├── sechub-config-webscan-project-4-with-correct-project-name-inside.json
│       │   │   │   └── sechub-config-webscan-project-4.json
│       │   │   ├── test-product-output/
│       │   │   │   ├── example-codescan-sarif-output-red.json
│       │   │   │   ├── example-gitleaks-sarif-output-yellow.json
│       │   │   │   ├── example-iacscan-sarif-output-red.json
│       │   │   │   ├── example-owasp-zap-sarif-output-red.json
│       │   │   │   └── example-scancode-spdx-output.json
│       │   │   ├── test-scripts/
│       │   │   │   ├── pds-codescan-demo-green.sh
│       │   │   │   ├── pds-codescan-demo-red-define-false-positives.sh
│       │   │   │   ├── pds-codescan-demo-red.sh
│       │   │   │   ├── pds-codescan-demo-yellow.sh
│       │   │   │   ├── pds-iacscan-demo-red.sh
│       │   │   │   ├── pds-licensescan-demo-green.sh
│       │   │   │   ├── pds-secretscan-demo-yellow.sh
│       │   │   │   └── pds-webscan-demo-red.sh
│       │   │   ├── test-sources/
│       │   │   │   └── testdata.txt
│       │   │   ├── testframework.ts
│       │   │   └── wait_server_alive.sh
│       │   ├── integrationtest.test.ts
│       │   ├── log-helper.test.ts
│       │   ├── output-helper.test.ts
│       │   ├── post-scan.test.ts
│       │   ├── projectname-resolver.test.ts
│       │   ├── report-format.test.ts
│       │   ├── sechub-cli.test.ts
│       │   ├── shell-arg-sanitizer.test.ts
│       │   └── test-resources/
│       │       ├── test-config-with-project-name-inside.json
│       │       └── test-config.json
│       ├── action.yml
│       ├── jest.config.js
│       ├── package.json
│       ├── src/
│       │   ├── action-helper.ts
│       │   ├── client-download.ts
│       │   ├── client-version-helper.ts
│       │   ├── configuration-builder.ts
│       │   ├── configuration-model-customizer.ts
│       │   ├── content-type.ts
│       │   ├── environment.ts
│       │   ├── exitcode.ts
│       │   ├── fs-helper.ts
│       │   ├── fs-wrapper.ts
│       │   ├── github-input.ts
│       │   ├── init-scan.ts
│       │   ├── input-helper.ts
│       │   ├── json-helper.ts
│       │   ├── launcher.ts
│       │   ├── main.ts
│       │   ├── output-helper.ts
│       │   ├── platform-helper.ts
│       │   ├── post-scan.ts
│       │   ├── projectname-resolver.ts
│       │   ├── report-formats.ts
│       │   ├── sechub-cli.ts
│       │   └── shell-arg-sanitizer.ts
│       └── tsconfig.json
├── gradle/
│   ├── build-eclipse.gradle
│   ├── build-integrationtest.gradle
│   ├── build-java.gradle
│   ├── build-maven.gradle
│   ├── build-report.gradle
│   ├── build-spring.gradle
│   ├── build-versioning.gradle
│   ├── gradle_version_plugin.gradle
│   ├── libraries.gradle
│   ├── projects.gradle
│   ├── spotless.eclipseformat.xml
│   ├── spotless.gradle
│   ├── spotless.importorder
│   ├── spring_boot_dependagen.gradle
│   └── wrapper/
│       ├── .gitignore
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── ide-plugins/
│   ├── PLUGIN_3RD_PARTY_LICENSES.txt
│   ├── README.adoc
│   ├── eclipse/
│   │   ├── .gitignore
│   │   ├── README.adoc
│   │   ├── build-dependencies.sh
│   │   ├── build.gradle
│   │   ├── gradle/
│   │   │   └── wrapper/
│   │   │       ├── .gitignore
│   │   │       ├── gradle-wrapper.jar
│   │   │       └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   ├── libraries.gradle
│   │   ├── sechub-eclipse-feature/
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   └── org.eclipse.core.resources.prefs
│   │   │   ├── build.properties
│   │   │   └── feature.xml
│   │   ├── sechub-eclipse-other/
│   │   │   ├── .gitignore
│   │   │   ├── images/
│   │   │   │   └── trafficlight.xcf
│   │   │   └── spdx/
│   │   │       └── template/
│   │   │           ├── spdx_template_doubleslash.txt
│   │   │           ├── spdx_template_hash.txt
│   │   │           └── spdx_template_md.txt
│   │   ├── sechub-eclipse-plugin/
│   │   │   ├── .classpath
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   └── org.eclipse.jdt.core.prefs
│   │   │   ├── META-INF/
│   │   │   │   └── MANIFEST.MF
│   │   │   ├── build.gradle
│   │   │   ├── build.properties
│   │   │   ├── contexts.xml
│   │   │   ├── html/
│   │   │   │   ├── maintopic.html
│   │   │   │   ├── subtopic.html
│   │   │   │   └── toc.html
│   │   │   ├── icons/
│   │   │   │   └── README.md
│   │   │   ├── lib/
│   │   │   │   └── README.md
│   │   │   ├── plugin.xml
│   │   │   ├── src/
│   │   │   │   ├── main/
│   │   │   │   │   ├── java/
│   │   │   │   │   │   └── com/
│   │   │   │   │   │       └── mercedesbenz/
│   │   │   │   │   │           └── sechub/
│   │   │   │   │   │               ├── access/
│   │   │   │   │   │               │   └── SecHubAccess.java
│   │   │   │   │   │               ├── model/
│   │   │   │   │   │               │   ├── FalsePositiveEntriesToJobFindingMapTransformer.java
│   │   │   │   │   │               │   ├── FileLocationExplorer.java
│   │   │   │   │   │               │   ├── FindingModel.java
│   │   │   │   │   │               │   ├── FindingNode.java
│   │   │   │   │   │               │   ├── FindingNodeFalsePositiveInfo.java
│   │   │   │   │   │               │   └── SecHubReportToFindingModelTransformer.java
│   │   │   │   │   │               ├── server/
│   │   │   │   │   │               │   ├── SecHubServerContext.java
│   │   │   │   │   │               │   └── data/
│   │   │   │   │   │               │       └── SecHubServerDataModel.java
│   │   │   │   │   │               └── util/
│   │   │   │   │   │                   ├── FallbackIDELogger.java
│   │   │   │   │   │                   ├── IDELogAdapter.java
│   │   │   │   │   │                   ├── IDELogger.java
│   │   │   │   │   │                   └── SimpleStringUtil.java
│   │   │   │   │   └── java-eclipse/
│   │   │   │   │       └── com/
│   │   │   │   │           └── mercedesbenz/
│   │   │   │   │               └── sechub/
│   │   │   │   │                   ├── SecHubActivator.java
│   │   │   │   │                   ├── SecHubPerspective.java
│   │   │   │   │                   ├── SecHubWorkbenchListener.java
│   │   │   │   │                   ├── access/
│   │   │   │   │                   │   └── SecHubAccessFactory.java
│   │   │   │   │                   ├── callhierarchy/
│   │   │   │   │                   │   └── SecHubCallHierarchyView.java
│   │   │   │   │                   ├── component/
│   │   │   │   │                   │   ├── DragAndDropCallback.java
│   │   │   │   │                   │   ├── DragAndDropData.java
│   │   │   │   │                   │   ├── DragAndDropSupport.java
│   │   │   │   │                   │   ├── FileChooser.java
│   │   │   │   │                   │   └── ServerChooser.java
│   │   │   │   │                   ├── decorators/
│   │   │   │   │                   │   └── SecHubReportJSONFileDecorator.java
│   │   │   │   │                   ├── handlers/
│   │   │   │   │                   │   ├── SecHubJobImportByContextMenuHandler.java
│   │   │   │   │                   │   └── SecHubJobImportHandler.java
│   │   │   │   │                   ├── model/
│   │   │   │   │                   │   └── WorkspaceFindingNodeLocator.java
│   │   │   │   │                   ├── preferences/
│   │   │   │   │                   │   ├── PreferenceIdConstants.java
│   │   │   │   │                   │   ├── SecHubPreferences.java
│   │   │   │   │                   │   ├── SechubPreferenceInitializer.java
│   │   │   │   │                   │   ├── SechubPreferencePage.java
│   │   │   │   │                   │   └── SecureStorageAccess.java
│   │   │   │   │                   ├── provider/
│   │   │   │   │                   │   ├── CallHierarchyLabelProvider.java
│   │   │   │   │                   │   ├── FindingModelTreeContentProvider.java
│   │   │   │   │                   │   ├── FirstFindingNodesOnlyFindingModelTreeContentProvider.java
│   │   │   │   │                   │   ├── OnlyInputElementItselfTreeContentProvider.java
│   │   │   │   │                   │   ├── findings/
│   │   │   │   │                   │   │   ├── AbstractSecHubFindingNodeColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── ColumnColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── DescriptionColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── FalsePositiveFindingNodeColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── FileNameColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── FindingNodeColumLabelProviderBundle.java
│   │   │   │   │                   │   │   ├── IdColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── LineColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── LocationColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── RelevantPartColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── ScanTypeColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── SeverityColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── SourceColumnLabelProvider.java
│   │   │   │   │                   │   │   └── StepColumnLabelProvider.java
│   │   │   │   │                   │   └── joblist/
│   │   │   │   │                   │       ├── DateTimeColumnLabelProvider.java
│   │   │   │   │                   │       ├── ExecutedByColumnLabelProvider.java
│   │   │   │   │                   │       ├── JobUUIDColumnLabelProvider.java
│   │   │   │   │                   │       ├── ResultColumnLabelProvider.java
│   │   │   │   │                   │       ├── StatusColumnLabelProvider.java
│   │   │   │   │                   │       └── TrafficLightLabelProvider.java
│   │   │   │   │                   ├── report/
│   │   │   │   │                   │   ├── DeleteFalsePositivesByReportViewAction.java
│   │   │   │   │                   │   ├── MarkFalsePositivesAction.java
│   │   │   │   │                   │   ├── MarkJobFalsePositivesDialog.java
│   │   │   │   │                   │   ├── ReportInfoAction.java
│   │   │   │   │                   │   ├── ReportInfoDialog.java
│   │   │   │   │                   │   ├── SecHubReportImportDialog.java
│   │   │   │   │                   │   ├── SecHubReportImportWizard.java
│   │   │   │   │                   │   ├── SecHubReportImportWizardPage.java
│   │   │   │   │                   │   ├── SecHubReportImporter.java
│   │   │   │   │                   │   ├── SecHubReportView.java
│   │   │   │   │                   │   └── SecHubStandardReportNamePatternPropertyTester.java
│   │   │   │   │                   ├── server/
│   │   │   │   │                   │   ├── JobUUIDDialog.java
│   │   │   │   │                   │   ├── NextJobPageSecHubServerViewAction.java
│   │   │   │   │                   │   ├── OpenProjectFalsePositivesDialogAction.java
│   │   │   │   │                   │   ├── OpenSecHubServerPreferencesAction.java
│   │   │   │   │                   │   ├── OpenWebUIServerViewAction.java
│   │   │   │   │                   │   ├── PreviousJobPageSecHubServerViewAction.java
│   │   │   │   │                   │   ├── ProjectFalsePositivesDialog.java
│   │   │   │   │                   │   ├── RefreshSecHubServerViewAction.java
│   │   │   │   │                   │   ├── SearchJobDirectlyServerViewAction.java
│   │   │   │   │                   │   ├── SecHubJobTreeViewContentProvider.java
│   │   │   │   │                   │   ├── SecHubProjectSelectionStorage.java
│   │   │   │   │                   │   ├── SecHubServerTreeViewContentProvider.java
│   │   │   │   │                   │   ├── SecHubServerView.java
│   │   │   │   │                   │   ├── SechubServerTreeDecorator.java
│   │   │   │   │                   │   └── SechubServerTreeLabelProvider.java
│   │   │   │   │                   ├── util/
│   │   │   │   │                   │   ├── BrowserUtil.java
│   │   │   │   │                   │   ├── CweLinkTextCreator.java
│   │   │   │   │                   │   ├── EclipseIDELogger.java
│   │   │   │   │                   │   ├── EclipseUtil.java
│   │   │   │   │                   │   ├── Logging.java
│   │   │   │   │                   │   ├── ScanTypeImageResolver.java
│   │   │   │   │                   │   └── TrafficLightImageResolver.java
│   │   │   │   │                   └── webfinding/
│   │   │   │   │                       └── SecHubWebFindingView.java
│   │   │   │   └── test/
│   │   │   │       ├── java/
│   │   │   │       │   └── com/
│   │   │   │       │       └── mercedesbenz/
│   │   │   │       │           └── sechub/
│   │   │   │       │               ├── model/
│   │   │   │       │               │   ├── FalsePositiveEntriesToJobFindingMapTransformerTest.java
│   │   │   │       │               │   ├── FileLocationExplorerTest.java
│   │   │   │       │               │   ├── FindingNodeBuilderTest.java
│   │   │   │       │               │   ├── SecHubReportToSecHubNodeTransformerTest.java
│   │   │   │       │               │   └── TestResourceHelper.java
│   │   │   │       │               └── util/
│   │   │   │       │                   └── SimpleStringUtilTest.java
│   │   │   │       └── resources/
│   │   │   │           ├── SameName.java
│   │   │   │           └── explorer/
│   │   │   │               ├── scenario1/
│   │   │   │               │   ├── project1/
│   │   │   │               │   │   └── src/
│   │   │   │               │   │       ├── main/
│   │   │   │               │   │       │   └── java/
│   │   │   │               │   │       │       └── com/
│   │   │   │               │   │       │           └── example/
│   │   │   │               │   │       │               ├── SameName.java
│   │   │   │               │   │       │               └── TestMe.java
│   │   │   │               │   │       └── test/
│   │   │   │               │   │           └── java/
│   │   │   │               │   │               └── com/
│   │   │   │               │   │                   └── example/
│   │   │   │               │   │                       └── subpackage/
│   │   │   │               │   │                           └── SameName.java
│   │   │   │               │   └── project2/
│   │   │   │               │       └── source/
│   │   │   │               │           └── TestMe.c
│   │   │   │               └── scenario2/
│   │   │   │                   └── project1/
│   │   │   │                       └── Code/
│   │   │   │                           └── c++/
│   │   │   │                               └── os_injection.cpp
│   │   │   ├── testToc.xml
│   │   │   └── toc.xml
│   │   ├── sechub-eclipse-target-platform/
│   │   │   ├── .classpath
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   └── org.eclipse.jdt.core.prefs
│   │   │   ├── README.adoc
│   │   │   └── sechub.target
│   │   ├── sechub-eclipse-update-site/
│   │   │   ├── .gitignore
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   └── org.eclipse.core.resources.prefs
│   │   │   └── site.xml
│   │   ├── settings.gradle
│   │   └── signJars
│   ├── jetbrains/
│   │   ├── CHANGELOG.md
│   │   ├── README.md
│   │   ├── build.gradle
│   │   ├── gradle/
│   │   │   └── wrapper/
│   │   │       ├── .gitignore
│   │   │       ├── gradle-wrapper.jar
│   │   │       └── gradle-wrapper.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   ├── settings.gradle
│   │   └── src/
│   │       ├── docs/
│   │       │   └── asciidoc/
│   │       │       ├── plugin-development.adoc
│   │       │       └── user-guide.adoc
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── com/
│   │       │   │       └── mercedesbenz/
│   │       │   │           └── sechub/
│   │       │   │               ├── plugin/
│   │       │   │               │   ├── model/
│   │       │   │               │   │   ├── FileLocationExplorer.java
│   │       │   │               │   │   ├── FindingModel.java
│   │       │   │               │   │   ├── FindingNode.java
│   │       │   │               │   │   ├── SecHubFindingToFindingModelTransformer.java
│   │       │   │               │   │   ├── SecHubFindingoWebScanDataProvider.java
│   │       │   │               │   │   └── SecHubReportFindingModelService.java
│   │       │   │               │   ├── ui/
│   │       │   │               │   │   ├── ComponentBuilder.java
│   │       │   │               │   │   ├── FalsePositiveTableModel.java
│   │       │   │               │   │   ├── FindingRenderDataProvider.java
│   │       │   │               │   │   ├── SecHubRootTeeNode.java
│   │       │   │               │   │   ├── SecHubTableModel.java
│   │       │   │               │   │   ├── SecHubToolWindowUIContext.java
│   │       │   │               │   │   ├── SecHubToolWindowUISupport.java
│   │       │   │               │   │   ├── SecHubToolWindowUISupportTestMain.java
│   │       │   │               │   │   ├── SecHubTreeNode.java
│   │       │   │               │   │   ├── SechubTreeModel.java
│   │       │   │               │   │   └── TableExampleUI.java
│   │       │   │               │   └── util/
│   │       │   │               │       ├── ErrorLog.java
│   │       │   │               │       └── SimpleStringUtil.java
│   │       │   │               └── settings/
│   │       │   │                   ├── SecHubSettingsComponent.java
│   │       │   │                   ├── SechubSettings.java
│   │       │   │                   ├── SechubSettingsConfigurable.java
│   │       │   │                   └── SechubSettingsCredentialsSupport.java
│   │       │   ├── java-intellij/
│   │       │   │   └── com/
│   │       │   │       └── mercedesbenz/
│   │       │   │           └── sechub/
│   │       │   │               └── plugin/
│   │       │   │                   └── idea/
│   │       │   │                       ├── IntellijComponentFactory.java
│   │       │   │                       ├── IntellijRenderDataProvider.java
│   │       │   │                       ├── IntellijShowInEditorSupport.java
│   │       │   │                       ├── SecHubReportImporter.java
│   │       │   │                       ├── SecHubReportRequestListener.java
│   │       │   │                       ├── SecHubReportViewUpdater.java
│   │       │   │                       ├── SecHubSettingsDialogListener.java
│   │       │   │                       ├── action/
│   │       │   │                       │   └── SechubResetReportAction.java
│   │       │   │                       ├── compatiblity/
│   │       │   │                       │   └── VirtualFileCompatibilityLayer.java
│   │       │   │                       ├── falsepositive/
│   │       │   │                       │   ├── FalsePositive.java
│   │       │   │                       │   ├── FalsePositiveSyncStatus.java
│   │       │   │                       │   ├── FalsePositivesCacheManager.java
│   │       │   │                       │   └── FalsePositivesList.java
│   │       │   │                       ├── sechubaccess/
│   │       │   │                       │   ├── NoOpSecHubAccessClient.java
│   │       │   │                       │   ├── SecHubAccess.java
│   │       │   │                       │   ├── SecHubAccessClient.java
│   │       │   │                       │   └── SecHubAccessFactory.java
│   │       │   │                       ├── util/
│   │       │   │                       │   └── ErrorLogger.java
│   │       │   │                       └── window/
│   │       │   │                           ├── SecHubPanel.java
│   │       │   │                           ├── SecHubReportPanel.java
│   │       │   │                           ├── SecHubReportTabSwitcher.java
│   │       │   │                           ├── SecHubServerPanel.java
│   │       │   │                           ├── SecHubToolWindowFactory.java
│   │       │   │                           └── SecHubToolWindowTransferSupport.java
│   │       │   └── resources/
│   │       │       ├── META-INF/
│   │       │       │   └── plugin.xml
│   │       │       └── icons/
│   │       │           └── README.md
│   │       └── test/
│   │           ├── java/
│   │           │   └── com/
│   │           │       └── mercedesbenz/
│   │           │           └── sechub/
│   │           │               ├── plugin/
│   │           │               │   ├── TestFileReader.java
│   │           │               │   ├── idea/
│   │           │               │   │   └── sechubaccess/
│   │           │               │   │       └── SecHubAccessClientTest.java
│   │           │               │   ├── model/
│   │           │               │   │   ├── FileLocationExplorerTest.java
│   │           │               │   │   ├── FindingNodeBuilderTest.java
│   │           │               │   │   ├── SecHubFindingToSecHubNodeTransformerTest.java
│   │           │               │   │   ├── SecHubFindingoWebScanDataProviderTest.java
│   │           │               │   │   └── TestResourceHelper.java
│   │           │               │   └── util/
│   │           │               │       └── SimpleStringUtilTest.java
│   │           │               └── settings/
│   │           │                   ├── SecHubSettingsComponentTest.java
│   │           │                   └── SecHubSettingsConfigurableTest.java
│   │           └── resources/
│   │               ├── SameName.java
│   │               ├── explorer/
│   │               │   ├── scenario1/
│   │               │   │   ├── project1/
│   │               │   │   │   └── src/
│   │               │   │   │       ├── main/
│   │               │   │   │       │   └── java/
│   │               │   │   │       │       └── com/
│   │               │   │   │       │           └── example/
│   │               │   │   │       │               ├── SameName.java
│   │               │   │   │       │               └── TestMe.java
│   │               │   │   │       └── test/
│   │               │   │   │           └── java/
│   │               │   │   │               └── com/
│   │               │   │   │                   └── example/
│   │               │   │   │                       └── subpackage/
│   │               │   │   │                           └── SameName.java
│   │               │   │   └── project2/
│   │               │   │       └── source/
│   │               │   │           └── TestMe.c
│   │               │   └── scenario2/
│   │               │       └── project1/
│   │               │           └── Code/
│   │               │               └── c++/
│   │               │                   └── os_injection.cpp
│   │               └── report/
│   │                   ├── report_pds-solution_zap_mocked.json
│   │                   └── sechub-report-web-example1.json
│   └── vscode/
│       ├── .eslintrc.json
│       ├── .gitignore
│       ├── .nvmrc
│       ├── .prettierrc
│       ├── .vscode/
│       │   ├── extensions.json
│       │   ├── launch.json
│       │   ├── settings.json
│       │   └── tasks.json
│       ├── .vscodeignore
│       ├── 3RD_PARTY_LICENSES.txt
│       ├── CHANGELOG.md
│       ├── LICENSE
│       ├── LICENSES/
│       │   └── cc-by-sa-4.0_legalcode.txt
│       ├── README/
│       │   └── start_debugging.png.license
│       ├── README.md
│       ├── build-plugin.sh
│       ├── devProxy.js
│       ├── media/
│       │   ├── README.md
│       │   ├── css/
│       │   │   └── main.css
│       │   ├── js/
│       │   │   ├── report.js
│       │   │   └── server.js
│       │   └── prism/
│       │       ├── prism.css
│       │       └── prism.js
│       ├── other/
│       │   └── spdx/
│       │       └── template/
│       │           ├── spdx_template_doubleslash.txt
│       │           ├── spdx_template_hash.txt
│       │           └── spdx_template_md.txt
│       ├── package.json
│       ├── src/
│       │   ├── api/
│       │   │   └── defaultClient.ts
│       │   ├── cache/
│       │   │   └── falsePositiveCache.ts
│       │   ├── commands/
│       │   │   ├── changeCredentials.ts
│       │   │   ├── changeServerUrl.ts
│       │   │   ├── changeWebUiUrl.ts
│       │   │   ├── clearSecHubData.ts
│       │   │   ├── commands.ts
│       │   │   ├── explainVulnerabilityByAi.ts
│       │   │   ├── fetchFalsePositivesForProject.ts
│       │   │   ├── fetchReportByUUID.ts
│       │   │   ├── importReportFromFile.ts
│       │   │   ├── markFalsePositivesForProject.ts
│       │   │   ├── openFinding.ts
│       │   │   ├── openFindingCallStack.ts
│       │   │   ├── openWebScanInInfoview.ts
│       │   │   ├── refreshServerView.ts
│       │   │   └── selectProject.ts
│       │   ├── extension.ts
│       │   ├── provider/
│       │   │   ├── SecHubServerWebviewProvider.ts
│       │   │   ├── items/
│       │   │   │   ├── hierarchyItems.ts
│       │   │   │   ├── infoItems.ts
│       │   │   │   └── infoViewItemMitreCWELinkBuilder.ts
│       │   │   ├── secHubCallHierarchyTreeDataProvider.ts
│       │   │   ├── secHubInfoTreeDataProvider.ts
│       │   │   └── secHubReportWebViewProvider.ts
│       │   ├── test/
│       │   │   ├── resources/
│       │   │   │   ├── explorer/
│       │   │   │   │   └── scenario1/
│       │   │   │   │       ├── project1/
│       │   │   │   │       │   └── src/
│       │   │   │   │       │       ├── main/
│       │   │   │   │       │       │   └── java/
│       │   │   │   │       │       │       └── com/
│       │   │   │   │       │       │           └── example/
│       │   │   │   │       │       │               ├── SameName.java
│       │   │   │   │       │       │               └── TestMe.java
│       │   │   │   │       │       └── test/
│       │   │   │   │       │           └── java/
│       │   │   │   │       │               └── com/
│       │   │   │   │       │                   └── example/
│       │   │   │   │       │                       └── subpackage/
│       │   │   │   │       │                           └── SameName.java
│       │   │   │   │       └── project2/
│       │   │   │   │           └── source/
│       │   │   │   │               └── TestMe.c
│       │   │   │   ├── test_sechub_fp_configuration.json
│       │   │   │   ├── test_sechub_report-1.json
│       │   │   │   ├── test_sechub_report-2.json
│       │   │   │   ├── test_sechub_report-3.json
│       │   │   │   ├── test_sechub_report_error.json
│       │   │   │   ├── test_sechub_report_gitleaks.json
│       │   │   │   └── test_sechub_report_gosec.json
│       │   │   ├── runTest.ts
│       │   │   └── suite/
│       │   │       ├── filelocationexplorer.test.ts
│       │   │       ├── index.ts
│       │   │       ├── infoViewItemMitreCWELinkBuilder.test.ts
│       │   │       └── sechubUtils.test.ts
│       │   ├── utils/
│       │   │   ├── fileLocationExplorer.ts
│       │   │   ├── prismLanguageHelper.ts
│       │   │   ├── sechubConstants.ts
│       │   │   ├── sechubCredentialsMultistepInput.ts
│       │   │   └── sechubUtils.ts
│       │   └── webview/
│       │       ├── jobTable.ts
│       │       ├── pagination.ts
│       │       ├── reportTable.ts
│       │       ├── serverStateContainer.ts
│       │       └── vulnerabilityExplanation.ts
│       └── tsconfig.json
├── release-pipeline.jenkins
├── sechub-adapter/
│   ├── .gitignore
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── adapter/
│       │                       ├── AbstractAdapter.java
│       │                       ├── AbstractAdapterConfig.java
│       │                       ├── AbstractAdapterConfigBuilder.java
│       │                       ├── AbstractAdapterContext.java
│       │                       ├── AbstractAnalyticsAdapterConfig.java
│       │                       ├── AbstractAnalyticsAdapterConfigBuilder.java
│       │                       ├── AbstractCodeScanAdapterConfig.java
│       │                       ├── AbstractCodeScanAdapterConfigBuilder.java
│       │                       ├── AbstractInfraScanAdapterConfig.java
│       │                       ├── AbstractInfraScanAdapterConfigBuilder.java
│       │                       ├── AbstractLoginConfig.java
│       │                       ├── AbstractPrepareAdapterConfig.java
│       │                       ├── AbstractPrepareAdapterConfigBuilder.java
│       │                       ├── AbstractSpringRestAdapterContext.java
│       │                       ├── AbstractWebScanAdapterConfig.java
│       │                       ├── AbstractWebScanAdapterConfigBuilder.java
│       │                       ├── Adapter.java
│       │                       ├── AdapterCanceledByUserException.java
│       │                       ├── AdapterConfig.java
│       │                       ├── AdapterConfigBuilder.java
│       │                       ├── AdapterConfigurationStrategy.java
│       │                       ├── AdapterContext.java
│       │                       ├── AdapterCypherManager.java
│       │                       ├── AdapterException.java
│       │                       ├── AdapterExecutionResult.java
│       │                       ├── AdapterLogId.java
│       │                       ├── AdapterMetaData.java
│       │                       ├── AdapterMetaDataCallback.java
│       │                       ├── AdapterOptionKey.java
│       │                       ├── AdapterProfiles.java
│       │                       ├── AdapterRuntimeContext.java
│       │                       ├── AnalyticsAdapterConfig.java
│       │                       ├── BasicLoginConfig.java
│       │                       ├── CodeScanAdapterConfig.java
│       │                       ├── FileBasedAdapterMetaDataCallback.java
│       │                       ├── FormAutoDetectLoginConfig.java
│       │                       ├── FormScriptLoginConfig.java
│       │                       ├── IcrementalAdditionalPrefixAPIURLSupport.java
│       │                       ├── InfraScanAdapterConfig.java
│       │                       ├── LoginConfig.java
│       │                       ├── LoginScriptAction.java
│       │                       ├── LoginScriptGenerator.java
│       │                       ├── LoginScriptPage.java
│       │                       ├── PrepareAdapterConfig.java
│       │                       ├── ProxyConfig.java
│       │                       ├── SecHubTimeUnitData.java
│       │                       ├── SpringUtilFactory.java
│       │                       ├── TimeConstants.java
│       │                       ├── TraceIdProvider.java
│       │                       ├── TraceLogClientHTTPRequestInterceptor.java
│       │                       ├── TrustAllConfig.java
│       │                       ├── WaitForStateSupport.java
│       │                       ├── WebScanAdapterConfig.java
│       │                       ├── mock/
│       │                       │   ├── AbstractMockedAdapter.java
│       │                       │   ├── MockDataIdentifierFactory.java
│       │                       │   ├── MockedAdapter.java
│       │                       │   ├── MockedAdapterSetup.java
│       │                       │   ├── MockedAdapterSetupCombination.java
│       │                       │   ├── MockedAdapterSetupEntry.java
│       │                       │   ├── MockedAdapterSetupService.java
│       │                       │   ├── NullMockDataIdentifierFactory.java
│       │                       │   └── ScanTypeDependantMockDataIdentifierFactory.java
│       │                       ├── springextension/
│       │                       │   ├── MultipartInputStreamFileResource.java
│       │                       │   └── ResourceHttpMessageConverterHandlingInputStreams.java
│       │                       └── support/
│       │                           ├── APIURLSupport.java
│       │                           ├── JSONAdapterSupport.java
│       │                           ├── MockConfigSupport.java
│       │                           ├── MockSupport.java
│       │                           ├── RestOperationsSupport.java
│       │                           ├── TrustAllSupport.java
│       │                           └── URIShrinkSupport.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── adapter/
│                               ├── AbstractAdapterConfigBuilderTest.java
│                               ├── AbstractAdapterTest.java
│                               ├── AbstractInfraScanAdapterConfigBuilderTest.java
│                               ├── AbstractSpringRestAdapterContextTest.java
│                               ├── AbstractWebScanAdapterConfigBuilderTest.java
│                               ├── AdapterExceptionTest.java
│                               ├── AdapterExecutionResultTest.java
│                               ├── AdapterMetaDataTest.java
│                               ├── FileBasedAdapterMetaDataCallbackTest.java
│                               ├── FormScriptLoginConfigTest.java
│                               ├── LoginScriptActionTest.java
│                               ├── SecHubTimeUnitDataTest.java
│                               ├── TestSecHubAdapterFileSupport.java
│                               ├── URIsToRootURIsShrinkerTest.java
│                               ├── mock/
│                               │   ├── AbstractMockedAdapterTest.java
│                               │   ├── MockedAdapterSetupEntryTest.java
│                               │   ├── MockedAdapterSetupServiceTest.java
│                               │   └── MockedAdapterSetupTest.java
│                               ├── support/
│                               │   ├── APIURLSupportTest.java
│                               │   ├── JSONAdapterSupportTest.java
│                               │   └── URIShrinkSupportTest.java
│                               └── testclasses/
│                                   ├── TestAbstractSpringRestAdapterContext.java
│                                   ├── TestAdapter.java
│                                   ├── TestAdapterConfig.java
│                                   ├── TestAdapterConfigBuilder.java
│                                   ├── TestAdapterConfigInterface.java
│                                   ├── TestAdapterContextInterface.java
│                                   ├── TestAdapterInterface.java
│                                   ├── TestInfraScanAdapterConfig.java
│                                   ├── TestInfraScanAdapterConfigBuilder.java
│                                   ├── TestInfraScanAdapterConfigInterface.java
│                                   ├── TestWebScanAdapterConfig.java
│                                   ├── TestWebScanAdapterConfigBuilder.java
│                                   └── TestWebScanAdapterConfigInterface.java
├── sechub-adapter-checkmarx/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               └── adapter/
│       │   │                   └── checkmarx/
│       │   │                       ├── CheckmarxAdapter.java
│       │   │                       ├── CheckmarxAdapterConfig.java
│       │   │                       ├── CheckmarxAdapterContext.java
│       │   │                       ├── CheckmarxAdapterV1.java
│       │   │                       ├── CheckmarxClientHttpRequestInterceptor.java
│       │   │                       ├── CheckmarxConfig.java
│       │   │                       ├── CheckmarxConstants.java
│       │   │                       ├── CheckmarxContext.java
│       │   │                       ├── CheckmarxEngineConfiguration.java
│       │   │                       ├── CheckmarxMetaDataID.java
│       │   │                       ├── CheckmarxRESTFailureException.java
│       │   │                       ├── CheckmarxResilienceCallback.java
│       │   │                       ├── CheckmarxResilienceConfiguration.java
│       │   │                       ├── CheckmarxResilienceConsultant.java
│       │   │                       ├── CheckmarxSastScanSettings.java
│       │   │                       ├── CheckmarxSessionData.java
│       │   │                       ├── CheckmarxState.java
│       │   │                       ├── MockedCheckmarxAdapter.java
│       │   │                       └── support/
│       │   │                           ├── CheckmarxCancelFailedException.java
│       │   │                           ├── CheckmarxCancelSupport.java
│       │   │                           ├── CheckmarxFullScanNecessaryException.java
│       │   │                           ├── CheckmarxOAuthData.java
│       │   │                           ├── CheckmarxOAuthSupport.java
│       │   │                           ├── CheckmarxOnlyUnsupportedFilesException.java
│       │   │                           ├── CheckmarxProjectSupport.java
│       │   │                           ├── CheckmarxScanReportSupport.java
│       │   │                           ├── CheckmarxScanSupport.java
│       │   │                           ├── CheckmarxUploadSupport.java
│       │   │                           ├── QueueDetails.java
│       │   │                           ├── ReportDetails.java
│       │   │                           ├── ScanDetails.java
│       │   │                           ├── WaitForQueueStateSupport.java
│       │   │                           ├── WaitForScanReportSupport.java
│       │   │                           └── WaitForScanStateSupport.java
│       │   └── resources/
│       │       └── adapter/
│       │           └── mockdata/
│       │               └── MockedCheckmarxAdapter/
│       │                   └── v1/
│       │                       ├── green.xml
│       │                       ├── red.xml
│       │                       └── yellow.xml
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── adapter/
│                               └── checkmarx/
│                                   ├── CheckmarxAdapterV1WireMockTest.java
│                                   ├── CheckmarxConfigTest.java
│                                   ├── CheckmarxResilienceCallbackTest.java
│                                   ├── CheckmarxResilienceConsultantTest.java
│                                   ├── TestCheckmarxAdapterApplication.java
│                                   ├── TestCheckmarxFileSupport.java
│                                   └── support/
│                                       ├── CheckmarxOAuthDataTest.java
│                                       ├── CheckmarxOAuthSupportTest.java
│                                       ├── CheckmarxProjectSupportTest.java
│                                       ├── CheckmarxScanReportSupportTest.java
│                                       └── ReportDetailsTest.java
├── sechub-adapter-pds/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── adapter/
│       │                       └── pds/
│       │                           ├── DelegatingMockablePDSAdapterV1.java
│       │                           ├── MockedPDSAdapterV1.java
│       │                           ├── PDSAdapter.java
│       │                           ├── PDSAdapterConfig.java
│       │                           ├── PDSAdapterConfigBuilder.java
│       │                           ├── PDSAdapterConfigData.java
│       │                           ├── PDSAdapterConfigDataProvider.java
│       │                           ├── PDSAdapterConfigurator.java
│       │                           ├── PDSAdapterConfiguratorProvider.java
│       │                           ├── PDSAdapterContext.java
│       │                           ├── PDSAdapterDataConfigurator.java
│       │                           ├── PDSAdapterResilienceConsultant.java
│       │                           ├── PDSAdapterV1.java
│       │                           ├── PDSAnalyticsConfig.java
│       │                           ├── PDSAnalyticsConfigImpl.java
│       │                           ├── PDSClientHttpRequestInterceptor.java
│       │                           ├── PDSCodeScanConfig.java
│       │                           ├── PDSCodeScanConfigImpl.java
│       │                           ├── PDSContext.java
│       │                           ├── PDSContextFactory.java
│       │                           ├── PDSContextFactoryImpl.java
│       │                           ├── PDSEncryptionOutOfSyncException.java
│       │                           ├── PDSInfraScanConfig.java
│       │                           ├── PDSInfraScanConfigImpl.java
│       │                           ├── PDSLicenseScanConfig.java
│       │                           ├── PDSLicenseScanConfigImpl.java
│       │                           ├── PDSMetaDataID.java
│       │                           ├── PDSPrepareConfig.java
│       │                           ├── PDSPrepareConfigImpl.java
│       │                           ├── PDSSecretScanConfig.java
│       │                           ├── PDSSecretScanConfigImpl.java
│       │                           ├── PDSState.java
│       │                           ├── PDSUploadSupport.java
│       │                           ├── PDSUrlBuilder.java
│       │                           ├── PDSWebScanConfig.java
│       │                           └── PDSWebScanConfigImpl.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── adapter/
│                               └── pds/
│                                   ├── DelegatingMockablePDSAdapterV1Test.java
│                                   ├── PDSAdapterV1Test.java
│                                   ├── PDSAdapterV1WireMockTest.java
│                                   ├── PDSContextTest.java
│                                   ├── TestPDSSupport.java
│                                   └── TestPDSWiremockSupport.java
├── sechub-administration/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── domain/
│       │                       └── administration/
│       │                           ├── APITokenGenerator.java
│       │                           ├── AdministrationAPIConstants.java
│       │                           ├── InitialAdminInitializer.java
│       │                           ├── OneTimeTokenGenerator.java
│       │                           ├── autocleanup/
│       │                           │   ├── AdministrationAutoCleanupConfig.java
│       │                           │   ├── AdministrationAutoCleanupDaysCalculator.java
│       │                           │   ├── AdministrationAutoCleanupService.java
│       │                           │   ├── AdministrationAutoCleanupTriggerService.java
│       │                           │   └── IntegrationTestAdministrationRestController.java
│       │                           ├── config/
│       │                           │   ├── AdministrationConfig.java
│       │                           │   ├── AdministrationConfigRepository.java
│       │                           │   ├── AdministrationConfigService.java
│       │                           │   ├── AdministrationConfigTransactionService.java
│       │                           │   └── ConfigAdministrationRestController.java
│       │                           ├── encryption/
│       │                           │   ├── AdministrationEncryptionRotationService.java
│       │                           │   ├── AdministrationEncryptionStatusService.java
│       │                           │   └── EncryptionAdministrationRestController.java
│       │                           ├── job/
│       │                           │   ├── JobAdministrationMessageHandler.java
│       │                           │   ├── JobAdministrationRestController.java
│       │                           │   ├── JobCancelService.java
│       │                           │   ├── JobInformation.java
│       │                           │   ├── JobInformationCreateService.java
│       │                           │   ├── JobInformationDeleteService.java
│       │                           │   ├── JobInformationListService.java
│       │                           │   ├── JobInformationRepository.java
│       │                           │   ├── JobRestController.java
│       │                           │   ├── JobRestartRequestService.java
│       │                           │   └── JobStatus.java
│       │                           ├── mapping/
│       │                           │   ├── FetchMappingService.java
│       │                           │   ├── Mapping.java
│       │                           │   ├── MappingAdministrationRestController.java
│       │                           │   ├── MappingRepository.java
│       │                           │   ├── MappingTransactionService.java
│       │                           │   └── UpdateMappingService.java
│       │                           ├── project/
│       │                           │   ├── CreateProjectInputValidator.java
│       │                           │   ├── ListProjectsService.java
│       │                           │   ├── Project.java
│       │                           │   ├── ProjectAdministrationMessageHandler.java
│       │                           │   ├── ProjectAdministrationRestController.java
│       │                           │   ├── ProjectAssignUserService.java
│       │                           │   ├── ProjectChangeAccessLevelService.java
│       │                           │   ├── ProjectChangeOwnerService.java
│       │                           │   ├── ProjectCreationService.java
│       │                           │   ├── ProjectData.java
│       │                           │   ├── ProjectDeleteService.java
│       │                           │   ├── ProjectDetailChangeService.java
│       │                           │   ├── ProjectDetailInformation.java
│       │                           │   ├── ProjectDetailInformationService.java
│       │                           │   ├── ProjectJsonInput.java
│       │                           │   ├── ProjectJsonInputValidation.java
│       │                           │   ├── ProjectManagementRestController.java
│       │                           │   ├── ProjectMetaDataEntity.java
│       │                           │   ├── ProjectMetaDataEntityId.java
│       │                           │   ├── ProjectMetaDataEntityRepository.java
│       │                           │   ├── ProjectRepository.java
│       │                           │   ├── ProjectRepositoryCustom.java
│       │                           │   ├── ProjectRepositoryImpl.java
│       │                           │   ├── ProjectRestController.java
│       │                           │   ├── ProjectService.java
│       │                           │   ├── ProjectTemplateService.java
│       │                           │   ├── ProjectTransactionService.java
│       │                           │   ├── ProjectUnassignUserService.java
│       │                           │   ├── ProjectUpdateAdministrationRestController.java
│       │                           │   ├── ProjectUpdateMetaDataEntityService.java
│       │                           │   ├── ProjectUpdateWhitelistService.java
│       │                           │   ├── ProjectUserData.java
│       │                           │   └── UpdateProjectInputValidator.java
│       │                           ├── scheduler/
│       │                           │   ├── SchedulerAdministrationMessageHandler.java
│       │                           │   ├── SchedulerAdministrationRestController.java
│       │                           │   ├── SchedulerStatusEntryKeys.java
│       │                           │   ├── SwitchSchedulerJobProcessingService.java
│       │                           │   └── TriggerSchedulerStatusRefreshService.java
│       │                           ├── signup/
│       │                           │   ├── AnonymousSignupCreateService.java
│       │                           │   ├── AnonymousSignupRestController.java
│       │                           │   ├── Signup.java
│       │                           │   ├── SignupAdministrationRestController.java
│       │                           │   ├── SignupDeleteService.java
│       │                           │   ├── SignupJsonInput.java
│       │                           │   ├── SignupJsonInputValidator.java
│       │                           │   └── SignupRepository.java
│       │                           ├── status/
│       │                           │   ├── ListStatusService.java
│       │                           │   ├── StatusAdministrationRestController.java
│       │                           │   ├── StatusEntry.java
│       │                           │   ├── StatusEntryKey.java
│       │                           │   └── StatusEntryRepository.java
│       │                           └── user/
│       │                               ├── AnonymousUserGetAPITokenByOneTimeTokenService.java
│       │                               ├── AnonymousUserGetApiTokenByOneTimeTokenRestController.java
│       │                               ├── AnonymousUserRequestNewApiTokenRestController.java
│       │                               ├── AnonymousUserRequestsNewApiTokenService.java
│       │                               ├── AnonymousUserRestController.java
│       │                               ├── InternalInitialDataService.java
│       │                               ├── User.java
│       │                               ├── UserAdministrationRestController.java
│       │                               ├── UserCreationService.java
│       │                               ├── UserDeleteService.java
│       │                               ├── UserDetailInformation.java
│       │                               ├── UserDetailInformationService.java
│       │                               ├── UserEmailAddressUpdateService.java
│       │                               ├── UserEmailChangeRequest.java
│       │                               ├── UserEmailChangeToken.java
│       │                               ├── UserEmailChangeTokenService.java
│       │                               ├── UserGrantSuperAdminRightsService.java
│       │                               ├── UserListService.java
│       │                               ├── UserRepository.java
│       │                               ├── UserRepositoryCustom.java
│       │                               ├── UserRepositoryImpl.java
│       │                               ├── UserRestController.java
│       │                               ├── UserRevokeSuperAdminRightsService.java
│       │                               ├── UserRoleAdministrationMessageHandler.java
│       │                               ├── UserRoleCalculationService.java
│       │                               └── UserTransactionService.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── domain/
│                               └── administration/
│                                   ├── ProjectRepositoryDBTest.java
│                                   ├── TestAdministrationSecurityConfiguration.java
│                                   ├── UserRepositoryDBTest.java
│                                   ├── autocleanup/
│                                   │   ├── AdministrationAutoCleanupConfigTest.java
│                                   │   ├── AdministrationAutoCleanupDaysCalculatorTest.java
│                                   │   └── AdministrationAutoCleanupServiceTest.java
│                                   ├── config/
│                                   │   └── AdministrationConfigServiceTest.java
│                                   ├── job/
│                                   │   ├── JobAdministrationMessageHandlerTest.java
│                                   │   ├── JobCancelServiceTest.java
│                                   │   ├── JobInformationCreateServiceTest.java
│                                   │   └── JobInformationRepositoryDBTest.java
│                                   ├── project/
│                                   │   ├── CreateProjectInputValidatorTest.java
│                                   │   ├── ListProjectsServiceTest.java
│                                   │   ├── ProjectAdministrationRestControllerMockTest.java
│                                   │   ├── ProjectAssignUserServiceTest.java
│                                   │   ├── ProjectChangeAccessLevelServiceTest.java
│                                   │   ├── ProjectChangeOwnerServiceTest.java
│                                   │   ├── ProjectCreationServiceTest.java
│                                   │   ├── ProjectDeleteServiceTest.java
│                                   │   ├── ProjectDetailChangeServiceTest.java
│                                   │   ├── ProjectDetailInformationTest.java
│                                   │   ├── ProjectJsonInputValidationTest.java
│                                   │   ├── ProjectServiceTest.java
│                                   │   ├── ProjectTemplateServiceTest.java
│                                   │   ├── ProjectTest.java
│                                   │   ├── ProjectUnassignUserServiceTest.java
│                                   │   ├── ProjectUpdateAdministrationRestControllerMockTest.java
│                                   │   ├── ProjectUpdateMetaDataServiceTest.java
│                                   │   ├── ProjectUpdateWhitelistServiceTest.java
│                                   │   ├── ProjectUserDataTest.java
│                                   │   ├── TestProjectCreationFactory.java
│                                   │   └── UpdateProjectInputValidatorTest.java
│                                   ├── signup/
│                                   │   ├── AnonymousSignupRestControllerMockTest.java
│                                   │   ├── SignupAdministrationRestControllerMockTest.java
│                                   │   └── SignupCreateServiceTest.java
│                                   └── user/
│                                       ├── AnonymousUserGetAPITokenByOneTimeTokenServiceTest.java
│                                       ├── AnonymousUserRequestsNewApiTokenServiceTest.java
│                                       ├── AnonymousUserRestControllerSpringBootTest.java
│                                       ├── TestUserCreationFactory.java
│                                       ├── UserAdministrationRestControllerMockTest.java
│                                       ├── UserDeleteServiceTest.java
│                                       ├── UserDetailInformationServiceTest.java
│                                       ├── UserEmailAddressUpdateServiceTest.java
│                                       ├── UserEmailChangeTokenServiceTest.java
│                                       ├── UserRestControllerSpringBootTest.java
│                                       └── UserRevokeSuperAdminRightsServiceTest.java
├── sechub-analyzer-cli/
│   ├── Comments_In_Programming_Languages.adoc
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── analyzer/
│       │                       ├── cli/
│       │                       │   └── SecHubAnalyzerApplication.java
│       │                       ├── core/
│       │                       │   ├── Analyzer.java
│       │                       │   ├── CommentChecker.java
│       │                       │   └── FileProcessor.java
│       │                       └── model/
│       │                           ├── AnalyzerResult.java
│       │                           ├── DeepClonable.java
│       │                           ├── Marker.java
│       │                           ├── MarkerPair.java
│       │                           └── MarkerType.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── analyzer/
│           │                   ├── cli/
│           │                   │   └── SecHubAnalyzerApplicationTest.java
│           │                   ├── core/
│           │                   │   ├── AnalyzerTest.java
│           │                   │   ├── CommentCheckerCommentInLineTest.java
│           │                   │   ├── CommentCheckerTest.java
│           │                   │   └── FileProcessorTest.java
│           │                   └── model/
│           │                       ├── AnalyzerResultTest.java
│           │                       ├── MarkerPairTest.java
│           │                       └── MarkerTest.java
│           └── resources/
│               ├── code/
│               │   ├── ABAP/
│               │   │   └── single_line_star.abap
│               │   ├── ADA/
│               │   │   └── single_line.adb
│               │   ├── Assembly/
│               │   │   └── single_line.asm
│               │   ├── Batch/
│               │   │   ├── single_line_REM.bat
│               │   │   └── single_line_double_colon.bat
│               │   ├── C/
│               │   │   ├── multi_line.c
│               │   │   ├── multi_line_comment_not_beginning.c
│               │   │   └── single_line.c
│               │   ├── Erlang/
│               │   │   └── single_line.erl
│               │   ├── Fortran/
│               │   │   └── single_line.f90
│               │   ├── Java/
│               │   │   ├── MultiLineComment.java
│               │   │   ├── MultiLineCommentNotBeginning.java
│               │   │   └── SingleLineComment.java
│               │   ├── OCaml/
│               │   │   └── single_line.ml
│               │   ├── Pascal/
│               │   │   └── single_line.p
│               │   ├── Python/
│               │   │   ├── single_line_comment.py
│               │   │   ├── single_line_comment_multiple.py
│               │   │   └── single_line_comment_wrong.py
│               │   ├── Ruby/
│               │   │   └── single_line_comment.rb
│               │   ├── SQL/
│               │   │   └── single_line_comment.sql
│               │   ├── Scheme/
│               │   │   └── single_line_comment.scm
│               │   ├── Shell/
│               │   │   └── single_line_comment.sh
│               │   ├── Tcl/
│               │   │   └── single_line_comment.tcl
│               │   ├── VB.NET/
│               │   │   └── single_line.vb
│               │   └── XML/
│               │       └── single_line_comment.xml
│               ├── example/
│               │   ├── HelloWorld.java
│               │   ├── example.xml
│               │   ├── hello_world.c
│               │   └── hello_world.py
│               ├── test/
│               │   ├── test_pair.txt
│               │   └── test_pair2.txt
│               ├── test_multiple.txt
│               ├── test_nested/
│               │   ├── other/
│               │   │   └── test_pair.txt
│               │   └── test_pair.txt
│               ├── test_no_markers.txt
│               ├── test_only_end.txt
│               ├── test_only_start.txt
│               ├── test_pair.txt
│               ├── test_same_line.txt
│               ├── test_two_ends.txt
│               └── test_two_starts.txt
├── sechub-archunit-test/
│   ├── build.gradle
│   └── src/
│       └── test/
│           └── java/
│               └── mercedesbenz/
│                   └── com/
│                       └── sechub/
│                           └── archunit/
│                               ├── ArchUnitImportOptions.java
│                               ├── ArchUnitRuntimeSupport.java
│                               ├── ArchUnitTestMessageExtension.java
│                               ├── CodingRulesTest.java
│                               ├── DomainAccessRulesTest.java
│                               └── NamingConventionTest.java
├── sechub-assistant/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── assistant/
│       │                       ├── AssistantRestController.java
│       │                       ├── FallbackExplanationResponseFactory.java
│       │                       ├── FindingAssistantService.java
│       │                       ├── SecHubExplanationInput.java
│       │                       ├── SecHubExplanationInputCollector.java
│       │                       └── ai/
│       │                           ├── AIChat.java
│       │                           ├── AIExplanationPromptDataGenerator.java
│       │                           ├── AIPromptData.java
│       │                           ├── AIPromptDataGeneratorProvider.java
│       │                           ├── DefaultAIExplanationPromptDataGenerator.java
│       │                           ├── IntegrationTestAIChat.java
│       │                           └── openai/
│       │                               ├── BufferedClientHttpRequestOpenAIChatRestTemplateFactory.java
│       │                               ├── LoggingOpenAIProblemHandler.java
│       │                               ├── OpenAIChat.java
│       │                               ├── OpenAIChatRestTemplateFactory.java
│       │                               ├── OpenAIMessageObject.java
│       │                               ├── OpenAIProblemHandler.java
│       │                               ├── OpenAIProperties.java
│       │                               ├── OpenAIResultChoice.java
│       │                               ├── OpenAIResultJsonToExplanationResponseTransformer.java
│       │                               ├── OpenAIResultObject.java
│       │                               └── OpenAISetup.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── assistant/
│           │                   ├── FallbackExplanationResponseFactoryTest.java
│           │                   └── ai/
│           │                       └── openai/
│           │                           ├── OpenAIChatManualTest.java
│           │                           ├── OpenAIChatTest.java
│           │                           └── OpenAIResultJsonToExplanationResponseTransformerTest.java
│           └── resources/
│               └── openai-completion-test-result1.json
├── sechub-authorization/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── domain/
│       │                       └── authorization/
│       │                           ├── AuthMessageHandler.java
│       │                           ├── AuthUser.java
│       │                           ├── AuthUserDetailsService.java
│       │                           ├── AuthUserRepository.java
│       │                           ├── AuthUserRole.java
│       │                           └── service/
│       │                               ├── AuthUpdateUserApiTokenService.java
│       │                               ├── AuthUserCreationService.java
│       │                               ├── AuthUserDeleteService.java
│       │                               └── AuthUserUpdateRolesService.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── domain/
│                               └── authorization/
│                                   ├── AuthUserDetailsServiceTest.java
│                                   ├── SecHubAuthUserRepositoryTest.java
│                                   └── service/
│                                       └── AuthUserUpdateRolesServiceTest.java
├── sechub-cli/
│   ├── .gitignore
│   ├── build.gradle
│   ├── build_go.sh
│   ├── gen_go.sh
│   ├── script/
│   │   ├── build-debian-packages.sh
│   │   ├── go-gen-supported-source-extensions.sh
│   │   └── supported-source-extensions.txt
│   └── src/
│       └── mercedes-benz.com/
│           └── sechub/
│               ├── cli/
│               │   ├── config.go
│               │   ├── config_test.go
│               │   ├── constants.go
│               │   ├── context-initializer.go
│               │   ├── context-initializer_test.go
│               │   ├── context.go
│               │   ├── controller-uploadsourcezip.go
│               │   ├── controller.go
│               │   ├── controller_test.go
│               │   ├── false-positives.go
│               │   ├── false-positives_test.go
│               │   ├── help.go
│               │   ├── job.go
│               │   ├── job_test.go
│               │   ├── labels.go
│               │   ├── labels_test.go
│               │   ├── logo.go
│               │   ├── report.go
│               │   ├── report_test.go
│               │   ├── resthelper.go
│               │   ├── resthelper_test.go
│               │   ├── sechubconfig.go
│               │   ├── sechubconfig_test.go
│               │   ├── signalhandler.go
│               │   ├── tarbuilder.go
│               │   ├── tarbuilder_test.go
│               │   ├── testdata/
│               │   │   └── README.md
│               │   ├── urlbuilder.go
│               │   ├── urlbuilder_test.go
│               │   ├── version.go.template
│               │   ├── zipbuilder.go
│               │   └── zipbuilder_test.go
│               ├── main/
│               │   └── sechub.go
│               ├── testutil/
│               │   ├── asserts.go
│               │   ├── fileTestHelpers.go
│               │   └── ioTestHelpers.go
│               └── util/
│                   ├── archiveHelpers.go
│                   ├── checksumsha256.go
│                   ├── checksumsha256_test.go
│                   ├── consoleHelpers.go
│                   ├── consoleHelpers_test.go
│                   ├── errorhandler.go
│                   ├── fileHelpers.go
│                   ├── filepathmatcher.go
│                   ├── filepathmatcher_test.go
│                   ├── log.go
│                   ├── tar.go
│                   ├── tar_test.go
│                   ├── time.go
│                   ├── validator.go
│                   ├── validator_test.go
│                   ├── zip.go
│                   └── zip_test.go
├── sechub-commons-archive/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── commons/
│       │                       └── archive/
│       │                           ├── ArchiveConstants.java
│       │                           ├── ArchiveCreationContext.java
│       │                           ├── ArchiveExtractionConstraints.java
│       │                           ├── ArchiveExtractionException.java
│       │                           ├── ArchiveExtractionResult.java
│       │                           ├── ArchiveSupport.java
│       │                           ├── ArchiveTransformationData.java
│       │                           ├── ArchiveTransformationDataFactory.java
│       │                           ├── DirectoryAndFileSupport.java
│       │                           ├── FileSize.java
│       │                           ├── MutableArchiveTransformationData.java
│       │                           ├── MutableSecHubFileStructureDataProvider.java
│       │                           ├── SafeArchiveInputStream.java
│       │                           ├── SecHubFileStructureDataProvider.java
│       │                           ├── SecHubFileStructureDataProviderBuilder.java
│       │                           └── SecHubFileStructureDataProviderIncludeExcludeFilter.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── commons/
│           │                   └── archive/
│           │                       ├── ArchiveExtractionConstraintsTest.java
│           │                       ├── ArchiveSupportTest.java
│           │                       ├── ArchiveTransformationDataFactoryTest.java
│           │                       ├── DirectoryAndFileSupportTest.java
│           │                       ├── FileSizeTest.java
│           │                       ├── MutableArchiveTransformationDataTest.java
│           │                       ├── SafeArchiveInputStreamTest.java
│           │                       ├── SecHubFileStructureDataProviderBuilderTest.java
│           │                       └── SecHubFileStructureDataProviderIncludeExcludeFilterTest.java
│           └── resources/
│               ├── create-archives/
│               │   └── test1/
│               │       ├── expected-decompress-with-filestructure-provider/
│               │       │   ├── tar/
│               │       │   │   ├── bin-file-reference.txt
│               │       │   │   └── bin-ref2-folder1/
│               │       │   │       ├── bin-ref2-subfolder1/
│               │       │   │       │   └── bin-ref2-subfolder1.txt
│               │       │   │       ├── bin-ref2.txt
│               │       │   │       └── with space.txt
│               │       │   └── zip/
│               │       │       ├── legacy/
│               │       │       │   ├── legacy-subfolder1/
│               │       │       │   │   ├── legacy-subfolder1.txt
│               │       │       │   │   └── must-be-filtered.txt
│               │       │       │   ├── legacy.txt
│               │       │       │   └── with space.txt
│               │       │       ├── legacy-file3.txt
│               │       │       ├── legacy2/
│               │       │       │   └── legacy2.txt
│               │       │       ├── source-ref1-folder/
│               │       │       │   ├── source-ref1-subfolder1/
│               │       │       │   │   └── source-ref1-subfolder1.txt
│               │       │       │   └── source-ref1.txt
│               │       │       ├── src-file-reference1.txt
│               │       │       └── src-file-reference2.txt
│               │       ├── expected-decompress-without-filestructure-provider/
│               │       │   ├── tar/
│               │       │   │   └── __data__/
│               │       │   │       ├── bin-reference-example2/
│               │       │   │       │   ├── bin-file-reference.txt
│               │       │   │       │   └── bin-ref2-folder1/
│               │       │   │       │       ├── bin-ref2-subfolder1/
│               │       │   │       │       │   └── bin-ref2-subfolder1.txt
│               │       │   │       │       ├── bin-ref2.txt
│               │       │   │       │       └── with space.txt
│               │       │   │       └── bin-reference-example3/
│               │       │   │           ├── bin-file-reference.txt
│               │       │   │           └── bin-ref3-folder1/
│               │       │   │               ├── bin-ref2.txt
│               │       │   │               └── bin-ref3-subfolder1/
│               │       │   │                   └── bin-ref3-subfolder1.txt
│               │       │   └── zip/
│               │       │       ├── __data__/
│               │       │       │   └── source-reference-example1/
│               │       │       │       ├── source-ref1-folder/
│               │       │       │       │   ├── source-ref1-subfolder1/
│               │       │       │       │   │   └── source-ref1-subfolder1.txt
│               │       │       │       │   └── source-ref1.txt
│               │       │       │       ├── src-file-reference1.txt
│               │       │       │       └── src-file-reference2.txt
│               │       │       ├── legacy/
│               │       │       │   ├── legacy-subfolder1/
│               │       │       │   │   ├── legacy-subfolder1.txt
│               │       │       │   │   └── must-be-filtered.txt
│               │       │       │   ├── legacy.txt
│               │       │       │   └── with space.txt
│               │       │       ├── legacy-file3.txt
│               │       │       └── legacy2/
│               │       │           └── legacy2.txt
│               │       ├── sechub-configuration.json
│               │       ├── sechub-configuration_relative_paths.json
│               │       └── working-directory/
│               │           ├── bin-file-reference.txt
│               │           ├── bin-ref2-folder1/
│               │           │   ├── bin-ref2-subfolder1/
│               │           │   │   └── bin-ref2-subfolder1.txt
│               │           │   ├── bin-ref2.txt
│               │           │   └── with space.txt
│               │           ├── bin-ref3-folder1/
│               │           │   ├── bin-ref2.txt
│               │           │   └── bin-ref3-subfolder1/
│               │           │       └── bin-ref3-subfolder1.txt
│               │           ├── from-working-dir-but-should-not-be-in-archive.txt
│               │           ├── legacy/
│               │           │   ├── filtered-folder/
│               │           │   │   └── must-be-not-contained.txt
│               │           │   ├── legacy-subfolder1/
│               │           │   │   ├── legacy-subfolder1.txt
│               │           │   │   └── must-be-filtered.txt
│               │           │   ├── legacy.txt
│               │           │   └── with space.txt
│               │           ├── legacy-file3.txt
│               │           ├── legacy2/
│               │           │   └── legacy2.txt
│               │           ├── source-ref1-folder/
│               │           │   ├── source-ref1-subfolder1/
│               │           │   │   └── source-ref1-subfolder1.txt
│               │           │   └── source-ref1.txt
│               │           ├── src-file-reference1.txt
│               │           └── src-file-reference2.txt
│               ├── expected-extraction/
│               │   ├── archive_root_test_file/
│               │   │   ├── sechub-configuration_archive-root-test.json
│               │   │   ├── tar/
│               │   │   │   ├── file1.txt
│               │   │   │   └── subfolder1/
│               │   │   │       └── file1-1.txt
│               │   │   └── zip/
│               │   │       ├── file1.txt
│               │   │       └── subfolder1/
│               │   │           └── file1-1.txt
│               │   └── contains-files-with-special-characters/
│               │       ├── Apfelbäume_muss_man_gut_gießen.txt
│               │       └── README.md
│               ├── tar/
│               │   ├── .gitignore
│               │   ├── test-tar1/
│               │   │   └── expected-extracted/
│               │   │       ├── _with_space file1.txt
│               │   │       └── subfolder1/
│               │   │           ├── file2.txt
│               │   │           └── subfolder2/
│               │   │               └── file3.txt
│               │   └── test-tar2/
│               │       ├── expected-extracted-reference-name-1-and-2-no-root-allowed/
│               │       │   ├── file3a.txt
│               │       │   ├── file7.txt
│               │       │   ├── subfolder4/
│               │       │   │   ├── file4a.txt
│               │       │   │   ├── file4b.txt
│               │       │   │   └── subfolder5/
│               │       │   │       └── file5.txt
│               │       │   └── subfolder6/
│               │       │       └── file6a.txt
│               │       ├── expected-extracted-reference-name-1-no-root-allowed/
│               │       │   ├── file3a.txt
│               │       │   └── subfolder4/
│               │       │       ├── file4a.txt
│               │       │       ├── file4b.txt
│               │       │       └── subfolder5/
│               │       │           └── file5.txt
│               │       ├── expected-extracted-reference-name-1-with-root-allowed/
│               │       │   ├── file1.txt
│               │       │   ├── file3a.txt
│               │       │   └── subfolder4/
│               │       │       ├── file4a.txt
│               │       │       ├── file4b.txt
│               │       │       └── subfolder5/
│               │       │           └── file5.txt
│               │       ├── expected-extracted-with-root-allowed-only/
│               │       │   └── file1.txt
│               │       └── expected-extracted-without-transformation/
│               │           ├── __data__/
│               │           │   ├── file2-never-available-when-filtered-for__data__.txt
│               │           │   ├── reference-name-1/
│               │           │   │   ├── file3a.txt
│               │           │   │   └── subfolder4/
│               │           │   │       ├── file4a.txt
│               │           │   │       ├── file4b.txt
│               │           │   │       └── subfolder5/
│               │           │   │           └── file5.txt
│               │           │   └── reference-name-2/
│               │           │       ├── file7.txt
│               │           │       └── subfolder6/
│               │           │           └── file6a.txt
│               │           └── file1.txt
│               └── zipfiles/
│                   └── .gitignore
├── sechub-commons-core/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── commons/
│       │                       └── core/
│       │                           ├── CachingPatternProvider.java
│       │                           ├── CommonConstants.java
│       │                           ├── ConfigurationFailureException.java
│       │                           ├── IgnoreOutputHandler.java
│       │                           ├── MustBeKeptStable.java
│       │                           ├── OutputHandler.java
│       │                           ├── PatternCompiler.java
│       │                           ├── RunOrFail.java
│       │                           ├── cache/
│       │                           │   ├── CacheData.java
│       │                           │   ├── CachePersistence.java
│       │                           │   ├── InMemoryCachePersistence.java
│       │                           │   └── SelfCleaningCache.java
│       │                           ├── doc/
│       │                           │   ├── Description.java
│       │                           │   └── MustBeDocumented.java
│       │                           ├── environment/
│       │                           │   ├── SecureEnvironmentVariableKeyValueRegistry.java
│       │                           │   ├── SystemEnvironment.java
│       │                           │   └── SystemEnvironmentVariableSupport.java
│       │                           ├── prepare/
│       │                           │   ├── PrepareConstants.java
│       │                           │   ├── PrepareResult.java
│       │                           │   └── PrepareStatus.java
│       │                           ├── resilience/
│       │                           │   ├── FallthroughResilienceProposal.java
│       │                           │   ├── ResilienceCallback.java
│       │                           │   ├── ResilienceConsultant.java
│       │                           │   ├── ResilienceContext.java
│       │                           │   ├── ResilienceProposal.java
│       │                           │   ├── ResilientAction.java
│       │                           │   ├── ResilientActionExecutor.java
│       │                           │   ├── ResilientExecutor.java
│       │                           │   ├── ResilientRunOrFailExecutor.java
│       │                           │   ├── RetryResilienceProposal.java
│       │                           │   └── SimpleRetryResilienceProposal.java
│       │                           ├── security/
│       │                           │   ├── CheckSumSupport.java
│       │                           │   ├── CryptoAccess.java
│       │                           │   └── CryptoAccessProvider.java
│       │                           ├── shutdown/
│       │                           │   ├── ApplicationShutdownHandler.java
│       │                           │   └── ShutdownListener.java
│       │                           └── util/
│       │                               ├── FileAttributesUtil.java
│       │                               ├── SecHubStorageUtil.java
│       │                               ├── SimpleBooleanUtil.java
│       │                               ├── SimpleNetworkUtils.java
│       │                               ├── SimpleStringUtils.java
│       │                               └── StacktraceUtil.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── commons/
│           │                   └── core/
│           │                       ├── CachingPatternProviderTest.java
│           │                       ├── CommonConstantsTest.java
│           │                       ├── PatternCompilerTest.java
│           │                       ├── cache/
│           │                       │   ├── CacheDataTest.java
│           │                       │   └── SelfCleaningCacheTest.java
│           │                       ├── environment/
│           │                       │   ├── SecureEnvironmentVariableKeyValueRegistryTest.java
│           │                       │   └── SystemEnvironmentVariableSupportTest.java
│           │                       ├── prepare/
│           │                       │   ├── PrepareResultTest.java
│           │                       │   └── PrepareStatusTest.java
│           │                       ├── resilience/
│           │                       │   ├── ResilientActionExecutorTest.java
│           │                       │   ├── ResilientRunnableExecutorTest.java
│           │                       │   └── TestFailDefinedTimes.java
│           │                       ├── security/
│           │                       │   ├── CheckSumSupportTest.java
│           │                       │   └── CryptoAccessTest.java
│           │                       └── util/
│           │                           ├── SecHubStorageUtilTest.java
│           │                           ├── SimpleBooleanUtilTest.java
│           │                           ├── SimpleNetworkUtilsTest.java
│           │                           ├── SimpleStringUtilsTest.java
│           │                           └── StacktraceUtilTest.java
│           └── resources/
│               └── .gitignore
├── sechub-commons-encryption/
│   ├── README.adoc
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── commons/
│       │                       └── encryption/
│       │                           ├── AesGcmSivCipher.java
│       │                           ├── ByteArrayTransformer.java
│       │                           ├── DefaultSecretKeyProvider.java
│       │                           ├── EncryptionConstants.java
│       │                           ├── EncryptionResult.java
│       │                           ├── EncryptionRotationSetup.java
│       │                           ├── EncryptionRotator.java
│       │                           ├── EncryptionSupport.java
│       │                           ├── InitializationVector.java
│       │                           ├── NoneCipher.java
│       │                           ├── PersistentCipher.java
│       │                           ├── PersistentCipherFactory.java
│       │                           ├── PersistentCipherType.java
│       │                           ├── SecretKeyProvider.java
│       │                           ├── StringByteArrayTransformer.java
│       │                           └── package-info.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── commons/
│                               └── encryption/
│                                   ├── AesGcmSivCipherTest.java
│                                   ├── DefaultSecretKeyProviderTest.java
│                                   ├── EncryptionRotationSetupTest.java
│                                   ├── EncryptionRotatorTest.java
│                                   ├── FullEncryptionRotationTest.java
│                                   ├── InitializationVectorTest.java
│                                   ├── NoneCipherTest.java
│                                   ├── PersistentCipherFactoryTest.java
│                                   └── StringByteArrayTransformerTest.java
├── sechub-commons-model/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   ├── commons/
│       │                   │   ├── TextFileReader.java
│       │                   │   ├── TextFileWriter.java
│       │                   │   ├── communication/
│       │                   │   │   ├── CommunicationDataConversionType.java
│       │                   │   │   ├── CommunicationDataConverter.java
│       │                   │   │   └── CommunicationDataConverterConfig.java
│       │                   │   ├── mapping/
│       │                   │   │   ├── MappingData.java
│       │                   │   │   ├── MappingDataToNamePatternToIdEntryConverter.java
│       │                   │   │   ├── MappingEntry.java
│       │                   │   │   ├── NamePatternIdProvider.java
│       │                   │   │   ├── NamePatternIdProviderFactory.java
│       │                   │   │   └── NamePatternToIdEntry.java
│       │                   │   └── model/
│       │                   │       ├── AbstractSecHubFileSystemContainer.java
│       │                   │       ├── ClientCertificateConfiguration.java
│       │                   │       ├── CodeScanPathCollector.java
│       │                   │       ├── HTTPHeaderConfiguration.java
│       │                   │       ├── JSONConverter.java
│       │                   │       ├── JSONConverterException.java
│       │                   │       ├── JSONValidatable.java
│       │                   │       ├── JSONValidationException.java
│       │                   │       ├── JSONable.java
│       │                   │       ├── JsonMapperFactory.java
│       │                   │       ├── MetaDataModel.java
│       │                   │       ├── ModuleGroup.java
│       │                   │       ├── RemoteCredentialConfiguration.java
│       │                   │       ├── RemoteCredentialContainer.java
│       │                   │       ├── RemoteCredentialContainerFactory.java
│       │                   │       ├── RemoteCredentialData.java
│       │                   │       ├── ScanType.java
│       │                   │       ├── ScanTypeSummaryDetailData.java
│       │                   │       ├── ScanTypeSummaryFindingOverviewData.java
│       │                   │       ├── SecHubBinaryDataConfiguration.java
│       │                   │       ├── SecHubCodeCallStack.java
│       │                   │       ├── SecHubCodeScanConfiguration.java
│       │                   │       ├── SecHubConfigurationMetaData.java
│       │                   │       ├── SecHubConfigurationModel.java
│       │                   │       ├── SecHubConfigurationModelReducedCloningSupport.java
│       │                   │       ├── SecHubConfigurationModelSupport.java
│       │                   │       ├── SecHubConfigurationModelValidationError.java
│       │                   │       ├── SecHubConfigurationModelValidationResult.java
│       │                   │       ├── SecHubConfigurationModelValidator.java
│       │                   │       ├── SecHubDataConfiguration.java
│       │                   │       ├── SecHubDataConfigurationObject.java
│       │                   │       ├── SecHubDataConfigurationObjectInfo.java
│       │                   │       ├── SecHubDataConfigurationObjectInfoFinder.java
│       │                   │       ├── SecHubDataConfigurationType.java
│       │                   │       ├── SecHubDataConfigurationTypeListParser.java
│       │                   │       ├── SecHubDataConfigurationUsageByName.java
│       │                   │       ├── SecHubDateTimeFormat.java
│       │                   │       ├── SecHubFileSystemConfiguration.java
│       │                   │       ├── SecHubFileSystemContainer.java
│       │                   │       ├── SecHubFinding.java
│       │                   │       ├── SecHubIacScanConfiguration.java
│       │                   │       ├── SecHubInfrastructureScanConfiguration.java
│       │                   │       ├── SecHubLicenseScanConfiguration.java
│       │                   │       ├── SecHubLocalDateTimeDeserializer.java
│       │                   │       ├── SecHubLocalDateTimeSerializer.java
│       │                   │       ├── SecHubMessage.java
│       │                   │       ├── SecHubMessageType.java
│       │                   │       ├── SecHubMessagesList.java
│       │                   │       ├── SecHubRemoteContainer.java
│       │                   │       ├── SecHubRemoteCredentialConfiguration.java
│       │                   │       ├── SecHubRemoteCredentialUserData.java
│       │                   │       ├── SecHubRemoteDataConfiguration.java
│       │                   │       ├── SecHubReportData.java
│       │                   │       ├── SecHubReportMetaData.java
│       │                   │       ├── SecHubReportModel.java
│       │                   │       ├── SecHubReportScanTypeSummary.java
│       │                   │       ├── SecHubReportSummary.java
│       │                   │       ├── SecHubReportVersion.java
│       │                   │       ├── SecHubResult.java
│       │                   │       ├── SecHubResultTrafficLightFilter.java
│       │                   │       ├── SecHubRevisionData.java
│       │                   │       ├── SecHubRuntimeException.java
│       │                   │       ├── SecHubScanConfiguration.java
│       │                   │       ├── SecHubSecretScanConfiguration.java
│       │                   │       ├── SecHubSourceDataConfiguration.java
│       │                   │       ├── SecHubStatus.java
│       │                   │       ├── SecHubTimeUnit.java
│       │                   │       ├── SecHubVersionControlData.java
│       │                   │       ├── SecHubWebScanApiConfiguration.java
│       │                   │       ├── SecHubWebScanApiType.java
│       │                   │       ├── SecHubWebScanConfiguration.java
│       │                   │       ├── Severities.java
│       │                   │       ├── Severity.java
│       │                   │       ├── TrafficLight.java
│       │                   │       ├── TrafficLightCalculator.java
│       │                   │       ├── TrafficLightSupport.java
│       │                   │       ├── TypeFilter.java
│       │                   │       ├── WebLogoutConfiguration.java
│       │                   │       ├── WebScanDurationConfiguration.java
│       │                   │       ├── job/
│       │                   │       │   ├── ExecutionResult.java
│       │                   │       │   ├── ExecutionState.java
│       │                   │       │   └── JobStatusInfo.java
│       │                   │       ├── login/
│       │                   │       │   ├── Action.java
│       │                   │       │   ├── ActionType.java
│       │                   │       │   ├── AutoDetectUserLoginConfiguration.java
│       │                   │       │   ├── BasicLoginConfiguration.java
│       │                   │       │   ├── EncodingType.java
│       │                   │       │   ├── FormLoginConfiguration.java
│       │                   │       │   ├── Page.java
│       │                   │       │   ├── Script.java
│       │                   │       │   ├── TOTPHashAlgorithm.java
│       │                   │       │   ├── WebLoginConfiguration.java
│       │                   │       │   ├── WebLoginTOTPConfiguration.java
│       │                   │       │   └── WebLoginVerificationConfiguration.java
│       │                   │       ├── template/
│       │                   │       │   ├── TemplateData.java
│       │                   │       │   ├── TemplateDataResolver.java
│       │                   │       │   ├── TemplateDefinition.java
│       │                   │       │   ├── TemplateIdenifierConstants.java
│       │                   │       │   ├── TemplateType.java
│       │                   │       │   └── TemplateUsageValidator.java
│       │                   │       └── web/
│       │                   │           ├── SecHubReportWeb.java
│       │                   │           ├── SecHubReportWebAttack.java
│       │                   │           ├── SecHubReportWebBody.java
│       │                   │           ├── SecHubReportWebBodyLocation.java
│       │                   │           ├── SecHubReportWebEvidence.java
│       │                   │           ├── SecHubReportWebRequest.java
│       │                   │           └── SecHubReportWebResponse.java
│       │                   └── sharedkernel/
│       │                       └── CountableInDaysTimeUnit.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── commons/
│           │                   ├── communication/
│           │                   │   ├── CommunicationDataConverterConfigTest.java
│           │                   │   └── CommunicationDataConverterTest.java
│           │                   ├── mapping/
│           │                   │   ├── MappingDataToNamePatternToIdEntryConverterTest.java
│           │                   │   ├── NamePatternIdProviderFactoryTest.java
│           │                   │   ├── NamePatternIdproviderTest.java
│           │                   │   └── NamePatternToIdEntryTest.java
│           │                   └── model/
│           │                       ├── AssertSecHubResult.java
│           │                       ├── ClientCertificateConfigurationTest.java
│           │                       ├── HTTPHeaderConfigurationTest.java
│           │                       ├── JSONConverterTest.java
│           │                       ├── JsonMapperFactoryTest.java
│           │                       ├── MetaDataModelTest.java
│           │                       ├── ModuleGroupTest.java
│           │                       ├── RemoteCredentialContainerFactoryTest.java
│           │                       ├── RemoteCredentialContainerTest.java
│           │                       ├── ScanTypeTest.java
│           │                       ├── SecHubBinaryDataConfigurationTest.java
│           │                       ├── SecHubConfigurationModelSupportTest.java
│           │                       ├── SecHubConfigurationModelTest.java
│           │                       ├── SecHubConfigurationModelValidationErrorTest.java
│           │                       ├── SecHubConfigurationModelValidationResultTest.java
│           │                       ├── SecHubConfigurationModelValidatorTest.java
│           │                       ├── SecHubDataConfigurationObjectInfoFinderTest.java
│           │                       ├── SecHubDataConfigurationTypeListParserTest.java
│           │                       ├── SecHubFindingTest.java
│           │                       ├── SecHubLicenseScanConfigurationTest.java
│           │                       ├── SecHubMessageTest.java
│           │                       ├── SecHubMessagesListTest.java
│           │                       ├── SecHubReportModelTest.java
│           │                       ├── SecHubReportScanTypeSummaryTest.java
│           │                       ├── SecHubReportSummaryTest.java
│           │                       ├── SecHubResultTest.java
│           │                       ├── SecHubScanConfigurationTest.java
│           │                       ├── SecHubSecretScanConfigurationTest.java
│           │                       ├── SecHubSourceDataConfigurationTest.java
│           │                       ├── SecHubTimeUnitTest.java
│           │                       ├── SecHubWebScanApiConfigurationTest.java
│           │                       ├── SeveritiesTest.java
│           │                       ├── TestJSONConverterEnum.java
│           │                       ├── TestJSONConverterObject.java
│           │                       ├── TrafficLightSupportTest.java
│           │                       ├── TrafficLightTest.java
│           │                       ├── job/
│           │                       │   ├── ExecutionResultTest.java
│           │                       │   └── ExecutionStateTest.java
│           │                       ├── login/
│           │                       │   ├── BasicLoginConfigurationTest.java
│           │                       │   ├── WebLoginTOTPConfigurationTest.java
│           │                       │   └── WebLoginVerificationConfigurationTest.java
│           │                       └── template/
│           │                           ├── TemplateDataResolverTest.java
│           │                           ├── TemplateDefinitionTest.java
│           │                           └── TemplateUsageValidatorTest.java
│           └── resources/
│               ├── communciation/
│               │   └── communication-key-converter-config1.json
│               ├── report/
│               │   ├── sechub-testreport1.json
│               │   ├── sechub-testreport2.json
│               │   ├── sechub-testreport3.json
│               │   ├── sechub-testreport4-multiple-web-findings.json
│               │   ├── sechub-testreport5-version-control-data.json
│               │   ├── sechub-testreport6-secret-scan-with-revision-data.json
│               │   └── sechub-testreport7-secret-scan-with-revision-data-and-metadata.json
│               ├── sechub_code_scan_config_binary_example.json
│               ├── sechub_code_scan_config_source_embedded_def_example.json
│               ├── sechub_code_scan_config_source_example.json
│               ├── sechub_config_example1.json
│               ├── sechub_config_example2.json
│               ├── sechub_config_example3.json
│               ├── sechub_config_web_scan_default_and_explicit_definitions_for_urls_for_header.json
│               ├── sechub_config_web_scan_duplicated_default.json
│               ├── sechub_config_web_scan_duplicated_default_with_upper_case.json
│               ├── sechub_config_web_scan_includes_excludes_with_wildcards.json
│               ├── sechub_config_web_scan_intersection_of_urls_of_same_header.json
│               ├── sechub_config_web_scan_intersection_of_urls_of_same_header_missing_slash.json
│               ├── sechub_config_web_scan_no_intersection_of_urls_of_same_header.json
│               ├── sechub_config_web_scan_not_duplicated_without_wildcard.json
│               ├── sechub_config_web_scan_valid_headers_mixed_upper_and_lower_case.json
│               ├── sechub_iac_scan_config_source_example.json
│               ├── sechub_license_and_code_scan_example1.json
│               ├── sechub_license_and_code_scan_example2.json
│               ├── sechub_license_and_code_scan_example3.json
│               ├── sechub_license_and_code_scan_example4.json
│               ├── sechub_license_scan_config_binary_example.json
│               ├── sechub_license_scan_config_source_and_binary_binary_used_example.json
│               ├── sechub_license_scan_config_source_and_binary_both_used_example.json
│               ├── sechub_license_scan_config_source_and_binary_source_used_example.json
│               ├── sechub_license_scan_config_source_example.json
│               ├── sechub_license_scan_non_existing_key.json
│               ├── sechub_remote_credentials_config.json
│               ├── sechub_remote_data_config_binary_code_scan_example.json
│               ├── sechub_remote_data_config_invalid_config_with_filesystem.json
│               ├── sechub_remote_data_config_invalid_credentials_empty.json
│               ├── sechub_remote_data_config_invalid_missing_location.json
│               ├── sechub_remote_data_config_invalid_multi_config.json
│               ├── sechub_remote_data_config_invalid_source_and_binaries.json
│               ├── sechub_remote_data_config_invalid_user_credential_missing_password.json
│               ├── sechub_remote_data_config_invalid_user_credential_missing_username.json
│               ├── sechub_remote_data_config_source_code_scan_example.json
│               ├── sechub_secret_scan_config_binary_example.json
│               ├── sechub_secret_scan_config_source_example.json
│               ├── sechub_unknown_scan_type.json
│               ├── sechub_web_scan_client_certificate_config_source_example.json
│               ├── sechub_web_scan_header_values_from_file_config_source_example.json
│               ├── sechub_web_scan_openapi_config_source_example.json
│               └── template/
│                   └── template-definition-example1.json
├── sechub-commons-model-testframework/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── commons/
│       │                       └── model/
│       │                           ├── TestSecHubConfigurationBuilder.java
│       │                           └── login/
│       │                               └── TestWebLoginConfigurationBuilder.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── commons/
│                               └── model/
│                                   └── SecHubConfigurationModelReducedCloningSupportTest.java
├── sechub-commons-pds/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── commons/
│       │                       └── pds/
│       │                           ├── AbstractPDSKey.java
│       │                           ├── DefaultProcessBuilderFactory.java
│       │                           ├── ExecutionPDSKey.java
│       │                           ├── PDSConfigDataKeyProvider.java
│       │                           ├── PDSDefaultParameterKeyConstants.java
│       │                           ├── PDSDefaultParameterValueConstants.java
│       │                           ├── PDSDefaultRuntimeKeyConstants.java
│       │                           ├── PDSKey.java
│       │                           ├── PDSKeyProvider.java
│       │                           ├── PDSLauncherScriptEnvironmentConstants.java
│       │                           ├── PDSMetaDataKeys.java
│       │                           ├── PDSProcessAdapterFactory.java
│       │                           ├── PDSSolutionVariableKey.java
│       │                           ├── PDSSolutionVariableType.java
│       │                           ├── PDSUserMessageSupport.java
│       │                           ├── ProcessAdapter.java
│       │                           ├── ProcessBuilderFactory.java
│       │                           ├── data/
│       │                           │   ├── PDSJobCreateResult.java
│       │                           │   ├── PDSJobData.java
│       │                           │   ├── PDSJobParameterEntry.java
│       │                           │   ├── PDSJobStatus.java
│       │                           │   ├── PDSJobStatusState.java
│       │                           │   └── PDSTemplateMetaData.java
│       │                           └── execution/
│       │                               ├── ExecutionEventData.java
│       │                               ├── ExecutionEventDetailIdentifier.java
│       │                               └── ExecutionEventType.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── commons/
│           │                   └── pds/
│           │                       ├── DefaultProcessBuilderFactoryTest.java
│           │                       ├── PDSConfigDataKeyProviderTest.java
│           │                       ├── PDSDefaultRuntimeKeyConstantsTest.java
│           │                       ├── PDSUserMessageSupportTest.java
│           │                       ├── ProcessAdapterTest.java
│           │                       └── data/
│           │                           └── PDSTemplateMetaDataTest.java
│           └── resources/
│               └── process-adapter-test.sh
├── sechub-commons-security-spring/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               └── spring/
│       │   │                   └── security/
│       │   │                       ├── AES256Encryption.java
│       │   │                       ├── AES256EncryptionException.java
│       │   │                       ├── AbstractSecurityConfiguration.java
│       │   │                       ├── ClassicAuthCredentialsCookieFilter.java
│       │   │                       ├── CookieHelper.java
│       │   │                       ├── DynamicBearerTokenResolver.java
│       │   │                       ├── JwtDecoderConfiguration.java
│       │   │                       ├── LoginClassicSuccessHandler.java
│       │   │                       ├── LoginController.java
│       │   │                       ├── LoginEnabledCondition.java
│       │   │                       ├── LoginModeOAuth2ActiveCondition.java
│       │   │                       ├── LoginOAuth2AccessTokenClient.java
│       │   │                       ├── LoginOAuth2SuccessHandler.java
│       │   │                       ├── LoginOAuth2TokenResponse.java
│       │   │                       ├── MissingAuthenticationEntryPointHandler.java
│       │   │                       ├── OAuth2JwtAuthenticationProvider.java
│       │   │                       ├── OAuth2OpaqueTokenIDPIntrospectionResponseFetcher.java
│       │   │                       ├── OAuth2OpaqueTokenIntrospectionResponse.java
│       │   │                       ├── OAuth2OpaqueTokenIntrospectionResponseCryptoAccessProvider.java
│       │   │                       ├── OAuth2OpaqueTokenIntrospector.java
│       │   │                       ├── OAuth2TokenExpirationCalculator.java
│       │   │                       ├── PortAccessGuard.java
│       │   │                       ├── RestTemplateOAuth2OpaqueTokenIDPIntrospectionResponseFetcher.java
│       │   │                       ├── SecHubSecurityProperties.java
│       │   │                       └── StatelessAuthorizationRequestRepository.java
│       │   └── resources/
│       │       ├── static/
│       │       │   └── login/
│       │       │       ├── css/
│       │       │       │   ├── login.css
│       │       │       │   └── main.css
│       │       │       ├── images/
│       │       │       │   └── background_image_login_metadata.xml
│       │       │       └── js/
│       │       │           └── login.js
│       │       └── templates/
│       │           └── login.html
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── spring/
│           │                   └── security/
│           │                       ├── AES256EncryptionTest.java
│           │                       ├── ClassicAuthCredentialsCookieFilterTest.java
│           │                       ├── CookieHelperTest.java
│           │                       ├── DynamicBearerTokenResolverTest.java
│           │                       ├── LoginClassicSuccessHandlerTest.java
│           │                       ├── LoginModeOAuth2ActiveConditionSpringBootTest.java
│           │                       ├── LoginModeOAuth2ActiveConditionTest.java
│           │                       ├── LoginOAuth2AccessTokenClientTest.java
│           │                       ├── LoginOAuth2SuccessHandlerTest.java
│           │                       ├── LoginOAuth2TokenResponseTest.java
│           │                       ├── OAuth2JwtIntegrationTest.java
│           │                       ├── OAuth2OpaqueTokenIntegrationTest.java
│           │                       ├── OAuth2OpaqueTokenIntrospectionResponseCryptoAccessProviderTest.java
│           │                       ├── OAuth2OpaqueTokenIntrospectionResponseTest.java
│           │                       ├── OAuth2OpaqueTokenIntrospectorTest.java
│           │                       ├── OAuth2TokenExpirationCalculatorTest.java
│           │                       ├── PortAccessGuardTest.java
│           │                       ├── RestTemplateOAuth2OpaqueTokenIDPIntrospectionResponseFetcherTest.java
│           │                       ├── SecHubSecurityPropertiesTest.java
│           │                       ├── SecurityConfigurationTest.java
│           │                       ├── StatelessAuthorizationRequestRepositoryTest.java
│           │                       ├── TestOAuth2JwtSecurityConfiguration.java
│           │                       ├── TestOAuth2OpaqueTokenSecurityConfiguration.java
│           │                       ├── TestRoles.java
│           │                       ├── TestSecurityConfiguration.java
│           │                       ├── TestSecurityController.java
│           │                       └── TestUserDetails.java
│           └── resources/
│               ├── application-jwt-test.yml
│               ├── application-login-mode-oauth2-active-condition-test.yaml
│               ├── application-opaque-token-test.yml
│               ├── application-security-properties-test.yaml
│               ├── oauth2-token-response.json
│               └── opaque-token-response.json
├── sechub-developertools/
│   ├── README.adoc
│   ├── build.gradle
│   ├── client-test/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   └── thc/
│   │       └── prod/
│   │           └── sechub-codescan-testproject1.json
│   ├── scripts/
│   │   ├── container/
│   │   │   ├── common-containerscript.sh
│   │   │   ├── keycloak/
│   │   │   │   ├── Dockerfile
│   │   │   │   ├── application-local_keycloak_gen_template.yaml
│   │   │   │   ├── run.sh
│   │   │   │   ├── sechub-int-keycloak-realm.json
│   │   │   │   ├── start.sh
│   │   │   │   └── stop.sh
│   │   │   └── postgres/
│   │   │       ├── Dockerfile
│   │   │       ├── pg_hba.conf
│   │   │       ├── postgresql.conf
│   │   │       ├── run.sh
│   │   │       ├── start.sh
│   │   │       └── stop.sh
│   │   ├── launch-developer-admin-ui
│   │   ├── pds-api.sh
│   │   ├── sdc.sh
│   │   └── sechub-api.sh
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               ├── developertools/
│       │   │               │   ├── DAUIApplication.java
│       │   │               │   ├── DAUICLIRunner.java
│       │   │               │   ├── JSONDeveloperHelper.java
│       │   │               │   ├── admin/
│       │   │               │   │   ├── ConfigProvider.java
│       │   │               │   │   ├── DeveloperAdministration.java
│       │   │               │   │   ├── DeveloperProjectDetailInformation.java
│       │   │               │   │   ├── ErrorHandler.java
│       │   │               │   │   ├── export/
│       │   │               │   │   │   ├── Grid.java
│       │   │               │   │   │   └── Row.java
│       │   │               │   │   ├── importer/
│       │   │               │   │   │   ├── AssignUserToProjectMassCSVImporter.java
│       │   │               │   │   │   ├── CSVColumn.java
│       │   │               │   │   │   ├── CSVRow.java
│       │   │               │   │   │   ├── CreateProjectMassCSVImporter.java
│       │   │               │   │   │   ├── CreateUserMassCSVImporter.java
│       │   │               │   │   │   ├── DeleteProjectMassCSVImporter.java
│       │   │               │   │   │   ├── MappingDataCSVSupport.java
│       │   │               │   │   │   ├── SimpleCSVExporter.java
│       │   │               │   │   │   ├── SimpleCSVImporter.java
│       │   │               │   │   │   └── UnassignUserToProjectMassCSVImporter.java
│       │   │               │   │   └── ui/
│       │   │               │   │       ├── AbstractListDialogUI.java
│       │   │               │   │       ├── ColouredComboBoxRenderer.java
│       │   │               │   │       ├── ComboxSelectionDialogUI.java
│       │   │               │   │       ├── CommandUI.java
│       │   │               │   │       ├── ConfigurationSetup.java
│       │   │               │   │       ├── CredentialUI.java
│       │   │               │   │       ├── DeveloperAdministrationUI.java
│       │   │               │   │       ├── DialogGridBagConstraintsFactory.java
│       │   │               │   │       ├── DialogUI.java
│       │   │               │   │       ├── GlassPaneUI.java
│       │   │               │   │       ├── IntegrationTestDataMenuAppender.java
│       │   │               │   │       ├── ManageAssetsDialogUI.java
│       │   │               │   │       ├── OutputUI.java
│       │   │               │   │       ├── PDSConfigurationUI.java
│       │   │               │   │       ├── ShowProductExecutorTemplatesDialogActionFactory.java
│       │   │               │   │       ├── SimpleEntry.java
│       │   │               │   │       ├── SimpleEntryListDialogUI.java
│       │   │               │   │       ├── TableRendersupport.java
│       │   │               │   │       ├── ThreeButtonDialogResult.java
│       │   │               │   │       ├── ThreeButtonDialogUI.java
│       │   │               │   │       ├── TrafficLightComponent.java
│       │   │               │   │       ├── UIContext.java
│       │   │               │   │       ├── action/
│       │   │               │   │       │   ├── AbstractUIAction.java
│       │   │               │   │       │   ├── ActionSupport.java
│       │   │               │   │       │   ├── FailsafeAction.java
│       │   │               │   │       │   ├── adapter/
│       │   │               │   │       │   │   ├── AbstractAdapterDialogAction.java
│       │   │               │   │       │   │   ├── AbstractAdapterDialogMappingAction.java
│       │   │               │   │       │   │   ├── CopyToClipboardAsPropertyEntryAction.java
│       │   │               │   │       │   │   ├── CreateExampleJSONAdapterDialogAction.java
│       │   │               │   │       │   │   ├── ExportJSONToCSVAdapterDialogAction.java
│       │   │               │   │       │   │   ├── ImportCSVToJSONAdapterDialogAction.java
│       │   │               │   │       │   │   ├── KeyValueUI.java
│       │   │               │   │       │   │   ├── LoadJSONAdapterDialogAction.java
│       │   │               │   │       │   │   ├── MappingUI.java
│       │   │               │   │       │   │   ├── ProductExecutorTemplatesDialogUI.java
│       │   │               │   │       │   │   ├── SaveJSONAdapterDialogAction.java
│       │   │               │   │       │   │   ├── ScanMappingConfigurationTestJSONasNamePatternDialogAction.java
│       │   │               │   │       │   │   ├── ShowProductExecutorTemplatesDialogAction.java
│       │   │               │   │       │   │   ├── TemplateDataUIPart.java
│       │   │               │   │       │   │   └── TemplatesDialogData.java
│       │   │               │   │       │   ├── asset/
│       │   │               │   │       │   │   └── ManageAssetsAction.java
│       │   │               │   │       │   ├── assistant/
│       │   │               │   │       │   │   └── AskAssistantAction.java
│       │   │               │   │       │   ├── client/
│       │   │               │   │       │   │   └── TriggerSecHubClientSynchronousScanAction.java
│       │   │               │   │       │   ├── config/
│       │   │               │   │       │   │   ├── ConfigureAutoCleanupAction.java
│       │   │               │   │       │   │   ├── ConfigurePDSAutoCleanupAction.java
│       │   │               │   │       │   │   ├── CreateExecutionProfileAction.java
│       │   │               │   │       │   │   ├── CreateExecutorConfigAction.java
│       │   │               │   │       │   │   ├── DeleteConfigurationAction.java
│       │   │               │   │       │   │   ├── DeleteProfileAction.java
│       │   │               │   │       │   │   ├── EditConfigurationAction.java
│       │   │               │   │       │   │   ├── EditExecutionProfileAction.java
│       │   │               │   │       │   │   ├── ExecutionProfileDialogUI.java
│       │   │               │   │       │   │   ├── ExecutorConfigDialogUI.java
│       │   │               │   │       │   │   ├── ListExecutionProfilesAction.java
│       │   │               │   │       │   │   ├── ListExecutionProfilesDialogUI.java
│       │   │               │   │       │   │   ├── ListExecutorConfigurationDialogUI.java
│       │   │               │   │       │   │   └── ListExecutorConfigurationsAction.java
│       │   │               │   │       │   ├── developerbatchops/
│       │   │               │   │       │   │   └── DeveloperBatchCreateCheckmarxTestSetupAction.java
│       │   │               │   │       │   ├── encryption/
│       │   │               │   │       │   │   ├── FetchSecHubEncryptionStatusAction.java
│       │   │               │   │       │   │   ├── RotateSecHubEncryptionAction.java
│       │   │               │   │       │   │   ├── SecretKeyGeneratorAction.java
│       │   │               │   │       │   │   └── TestDecryptToStringAction.java
│       │   │               │   │       │   ├── integrationtestserver/
│       │   │               │   │       │   │   ├── FetchMockMailsAction.java
│       │   │               │   │       │   │   ├── IntegrationTestAction.java
│       │   │               │   │       │   │   └── testdata/
│       │   │               │   │       │   │       ├── CreateScenario2TestDataAction.java
│       │   │               │   │       │   │       ├── CreateScenario3TestDataAction.java
│       │   │               │   │       │   │       ├── TriggerMassiveNewJobsScenario3User1Action.java
│       │   │               │   │       │   │       ├── TriggerNewCodeScanJobScenario3User1Action.java
│       │   │               │   │       │   │       ├── TriggerNewInfraScanJobScenario3User1Action.java
│       │   │               │   │       │   │       └── TriggerNewWebScanJobScenario3User1Action.java
│       │   │               │   │       │   ├── job/
│       │   │               │   │       │   │   ├── CancelJobAction.java
│       │   │               │   │       │   │   ├── DownloadFullscanDataForJobAction.java
│       │   │               │   │       │   │   ├── DownloadHTMLReportForJobAction.java
│       │   │               │   │       │   │   ├── DownloadJSONReportForJobAction.java
│       │   │               │   │       │   │   ├── GetJobInfoListForUserAction.java
│       │   │               │   │       │   │   ├── GetJobStatusAction.java
│       │   │               │   │       │   │   ├── RestartJobAction.java
│       │   │               │   │       │   │   ├── RestartJobHardAction.java
│       │   │               │   │       │   │   └── ShowRunningBatchJobsListAction.java
│       │   │               │   │       │   ├── other/
│       │   │               │   │       │   │   ├── CheckAliveAction.java
│       │   │               │   │       │   │   ├── FetchGlobalMappingAction.java
│       │   │               │   │       │   │   ├── FetchServerRuntimeData.java
│       │   │               │   │       │   │   └── UpdateGlobalMappingAction.java
│       │   │               │   │       │   ├── pds/
│       │   │               │   │       │   │   ├── AbstractCreatePDSExamplePropertiesAction.java
│       │   │               │   │       │   │   ├── AbstractPDSAction.java
│       │   │               │   │       │   │   ├── CheckPDSAliveAction.java
│       │   │               │   │       │   │   ├── CheckPDSJobResultOrErrorAction.java
│       │   │               │   │       │   │   ├── CheckPDSJobStatusAction.java
│       │   │               │   │       │   │   ├── CreateNewPDSExecutionConfigurationAction.java
│       │   │               │   │       │   │   ├── CreatePDSJobAction.java
│       │   │               │   │       │   │   ├── FetchLastStartedPDSJobStreamsAction.java
│       │   │               │   │       │   │   ├── FetchPDSConfigurationAction.java
│       │   │               │   │       │   │   ├── FetchPDSJobErrorStreamAction.java
│       │   │               │   │       │   │   ├── FetchPDSJobMessagesAction.java
│       │   │               │   │       │   │   ├── FetchPDSJobMetaDataAction.java
│       │   │               │   │       │   │   ├── FetchPDSJobOutputStreamAction.java
│       │   │               │   │       │   │   ├── FetchPDSJobParameterExampleAction.java
│       │   │               │   │       │   │   ├── FetchPDSMonitoringStatusAction.java
│       │   │               │   │       │   │   ├── MarkPDSJobReadyAction.java
│       │   │               │   │       │   │   ├── ShowPDSConfigurationDialogAction.java
│       │   │               │   │       │   │   └── UploadPDSJobFileAction.java
│       │   │               │   │       │   ├── project/
│       │   │               │   │       │   │   ├── AssignOwnerToProjectAction.java
│       │   │               │   │       │   │   ├── AssignProfileToAllProjectsAction.java
│       │   │               │   │       │   │   ├── AssignProfileToProjectsAction.java
│       │   │               │   │       │   │   ├── AssignUserToProjectAction.java
│       │   │               │   │       │   │   ├── AssignUserToProjectMassCSVImportAction.java
│       │   │               │   │       │   │   ├── ChangeProjectAccessLevelAction.java
│       │   │               │   │       │   │   ├── ChangeProjectAccessLevelDialogUI.java
│       │   │               │   │       │   │   ├── CreateOverviewCSVExportAction.java
│       │   │               │   │       │   │   ├── CreateProjectAction.java
│       │   │               │   │       │   │   ├── CreateProjectMassCSVImportAction.java
│       │   │               │   │       │   │   ├── DeleteProjectAction.java
│       │   │               │   │       │   │   ├── DeleteProjectMassCSVImportAction.java
│       │   │               │   │       │   │   ├── FetchProjectFalsePositiveConfigurationAction.java
│       │   │               │   │       │   │   ├── GetProjectMockConfigurationAction.java
│       │   │               │   │       │   │   ├── MarkProjectFalsePositiveAction.java
│       │   │               │   │       │   │   ├── SetProjectMockDataConfigurationAction.java
│       │   │               │   │       │   │   ├── ShowProjectDetailAction.java
│       │   │               │   │       │   │   ├── ShowProjectListAction.java
│       │   │               │   │       │   │   ├── ShowProjectsScanLogsAction.java
│       │   │               │   │       │   │   ├── UnassignProfileFromAllProjectsAction.java
│       │   │               │   │       │   │   ├── UnassignProfileFromProjectsAction.java
│       │   │               │   │       │   │   ├── UnassignUserFromProjectAction.java
│       │   │               │   │       │   │   ├── UnassignUserFromProjectMassCSVImportAction.java
│       │   │               │   │       │   │   ├── UnmarkProjectFalsePositiveAction.java
│       │   │               │   │       │   │   ├── UpdateProjectDescriptionAction.java
│       │   │               │   │       │   │   ├── UpdateProjectMetaDataAction.java
│       │   │               │   │       │   │   └── UpdateProjectWhitelistAction.java
│       │   │               │   │       │   ├── scheduler/
│       │   │               │   │       │   │   ├── DisableSchedulerJobProcessingAction.java
│       │   │               │   │       │   │   ├── EnableSchedulerJobProcessingAction.java
│       │   │               │   │       │   │   └── RefreshSchedulerStatusAction.java
│       │   │               │   │       │   ├── status/
│       │   │               │   │       │   │   ├── CheckStatusAction.java
│       │   │               │   │       │   │   └── ListStatusEntriesAction.java
│       │   │               │   │       │   ├── template/
│       │   │               │   │       │   │   ├── AssignTemplateToProjectAction.java
│       │   │               │   │       │   │   ├── CreateOrUpdateTemplateAction.java
│       │   │               │   │       │   │   ├── DeleteTemplateAction.java
│       │   │               │   │       │   │   ├── ExecuteTemplatesHealthcheckAction.java
│       │   │               │   │       │   │   ├── FetchAllTemplateIdentifiersAction.java
│       │   │               │   │       │   │   ├── ShowTemplatesOverviewAction.java
│       │   │               │   │       │   │   └── UnassignTemplateFromProjectAction.java
│       │   │               │   │       │   └── user/
│       │   │               │   │       │       ├── AcceptUserSignupAction.java
│       │   │               │   │       │       ├── AnonymousRequestNewAPITokenUserAction.java
│       │   │               │   │       │       ├── AnonymousSigninNewUserAction.java
│       │   │               │   │       │       ├── CreateUserMassCSVImportAction.java
│       │   │               │   │       │       ├── DeclineUserSignupAction.java
│       │   │               │   │       │       ├── DeleteUserAction.java
│       │   │               │   │       │       ├── ListSignupsAction.java
│       │   │               │   │       │       ├── ShowAdminListAction.java
│       │   │               │   │       │       ├── ShowUserDetailAction.java
│       │   │               │   │       │       ├── ShowUserDetailForEmailAddressAction.java
│       │   │               │   │       │       ├── ShowUserListAction.java
│       │   │               │   │       │       ├── UpdateUserEmailAction.java
│       │   │               │   │       │       └── privileges/
│       │   │               │   │       │           ├── GrantAdminRightsToUserAction.java
│       │   │               │   │       │           └── RevokeAdminRightsFromAdminAction.java
│       │   │               │   │       ├── cache/
│       │   │               │   │       │   ├── InputCache.java
│       │   │               │   │       │   └── InputCacheIdentifier.java
│       │   │               │   │       └── util/
│       │   │               │   │           ├── DataCollectorUtils.java
│       │   │               │   │           ├── SortedMapToTextConverter.java
│       │   │               │   │           └── TextToSortedMapConverter.java
│       │   │               │   └── container/
│       │   │               │       ├── AbstractTestContainer.java
│       │   │               │       ├── AbstractTestContainerStarter.java
│       │   │               │       ├── BashScriptContainerLaunchConfig.java
│       │   │               │       ├── BashScriptContainerLauncher.java
│       │   │               │       ├── ContainerPathUtils.java
│       │   │               │       ├── keycloak/
│       │   │               │       │   ├── KeycloakTestContainer.java
│       │   │               │       │   └── LocalTestKeycloakStarter.java
│       │   │               │       └── postgres/
│       │   │               │           ├── LocalTestPostgreSQLStarter.java
│       │   │               │           └── PostgreSQLTestContainer.java
│       │   │               └── domain/
│       │   │                   └── scan/
│       │   │                       └── config/
│       │   │                           └── DeveloperToolsScanMappingConfigurationService.java
│       │   └── resources/
│       │       ├── application.yaml
│       │       └── icons/
│       │           └── material-io/
│       │               └── README.md
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── developertools/
│           │                   ├── TestDeveloperToolsFileSupport.java
│           │                   └── admin/
│           │                       ├── export/
│           │                       │   └── GridTest.java
│           │                       ├── importer/
│           │                       │   ├── AssignUserToProjectMassCSVImporterTest.java
│           │                       │   ├── CreateProjectMassCSVImporterTest.java
│           │                       │   ├── DeleteProjectMassCSVImporterTest.java
│           │                       │   ├── MappingDataCSVSupportTest.java
│           │                       │   ├── SimpleCSVImporterTest.java
│           │                       │   └── UnassignUserFromProjectMassCSVImporterTest.java
│           │                       └── ui/
│           │                           └── util/
│           │                               ├── SortedMapToTextConverterTest.java
│           │                               └── TextToSortedMapConverterTest.java
│           └── resources/
│               └── csv/
│                   ├── example1-developer-admin-ui_mass-import_projects.csv
│                   ├── example2-developer-admin-ui_mass-import_delete_projects.csv
│                   ├── example3-developer-admin-ui_mass-import_user2projects.csv
│                   ├── example4-developer-admin-ui_mass-import_user2projects-unassign.csv
│                   ├── example5-developer-admin-ui_mass-import_users.csv
│                   ├── example6-developer-admin-ui_mass-import_projects-with-profiles.csv
│                   └── example7-developer-admin-ui_mass-import_projects-with-profiles.csv
├── sechub-doc/
│   ├── README.md
│   ├── build.gradle
│   ├── helperscripts/
│   │   ├── create-download-html.sh
│   │   └── publish+git-add-releasedocs.sh
│   └── src/
│       ├── docs/
│       │   └── asciidoc/
│       │       ├── diagrams/
│       │       │   ├── diagram_archive_support_overview.puml
│       │       │   ├── diagram_behind_the_scenes_sechub.plantuml
│       │       │   ├── diagram_business_context_overview.plantuml
│       │       │   ├── diagram_concept_pds_storage_example_different_nfs.puml
│       │       │   ├── diagram_concept_pds_storage_example_different_s3_buckets.puml
│       │       │   ├── diagram_concept_pds_storage_example_s3_and_nfs_mixed.puml
│       │       │   ├── diagram_concept_pds_storage_example_shared_nfs.puml
│       │       │   ├── diagram_concept_pds_storage_example_shared_s3_bucket.puml
│       │       │   ├── diagram_concept_product_delgation_server_bigpicture.puml
│       │       │   ├── diagram_concept_sechub_assistant-ai.puml
│       │       │   ├── diagram_concept_sechub_assistant-model.puml
│       │       │   ├── diagram_em_statistic.puml
│       │       │   ├── diagram_encryption_pds.puml
│       │       │   ├── diagram_encryption_sechub_config.puml
│       │       │   ├── diagram_encryption_sechub_use_of_commons.puml
│       │       │   ├── diagram_false_positive_concept_server_integration.puml
│       │       │   ├── diagram_falsepositives_definition_overview.puml
│       │       │   ├── diagram_falsepositives_runtime_overview.puml
│       │       │   ├── diagram_job_status_delivery.puml
│       │       │   ├── diagram_oauth2_opaque_token_caching_overview.puml
│       │       │   ├── diagram_overview_execution_profiles_and_config.puml
│       │       │   ├── diagram_pds_adapter_configuration_overview.puml
│       │       │   ├── diagram_pds_events_storage.puml
│       │       │   ├── diagram_pds_metadata.puml
│       │       │   ├── diagram_pds_overview_stream_access.puml
│       │       │   ├── diagram_pds_solution_checkmarx_overview.puml
│       │       │   ├── diagram_pds_solution_checkmarx_wrapper_overview.puml
│       │       │   ├── diagram_product_messages_pds_storage.puml
│       │       │   ├── diagram_product_messages_storage.puml
│       │       │   ├── diagram_product_messages_to_sereco_annotations.puml
│       │       │   ├── diagram_report_data_model.puml
│       │       │   ├── diagram_report_dataflow.plantuml
│       │       │   ├── diagram_report_delivery.plantuml
│       │       │   ├── diagram_roles_sechub.puml
│       │       │   ├── diagram_sechub_job_cancellation.puml
│       │       │   ├── diagram_sechub_job_restart_handling.puml
│       │       │   ├── diagram_sechub_resume_suspended_jobs.puml
│       │       │   ├── diagram_sechub_server.plantuml
│       │       │   ├── diagram_sechub_sigterm_handling.puml
│       │       │   ├── diagram_simple_resilience.plantuml
│       │       │   ├── diagram_statistic_events_overview.puml
│       │       │   ├── diagram_status_update_after_job_has_been_executed.puml
│       │       │   ├── diagram_target_architecture.plantuml
│       │       │   ├── diagram_technical_context_overview.plantuml
│       │       │   ├── diagram_technical_context_overview_with_pds.plantuml
│       │       │   ├── diagram_templates-and-assets-big-picture.puml
│       │       │   ├── diagram_templates-mapping-to-projects-events.puml
│       │       │   ├── diagram_templates-mapping-to-projects.puml
│       │       │   ├── diagram_tutorials_test_pds_solution_single.puml
│       │       │   ├── diagram_tutorials_test_pds_solution_with_sechub.puml
│       │       │   ├── module_pds_workspace_metadata.puml
│       │       │   ├── module_sechub_eventbus.puml
│       │       │   ├── module_sechub_job.puml
│       │       │   ├── module_sechub_messages.puml
│       │       │   ├── module_sechub_productresult.puml
│       │       │   ├── module_self_cleaning_cache.puml
│       │       │   └── module_spring_security_aes_encryption.puml
│       │       ├── documents/
│       │       │   ├── .gitignore
│       │       │   ├── architecture/
│       │       │   │   ├── 01_introduction_and_goals.adoc
│       │       │   │   ├── 02_architecture_constraints.adoc
│       │       │   │   ├── 03_system_scope_and_context.adoc
│       │       │   │   ├── 04_solution_strategy.adoc
│       │       │   │   ├── 05_building_block_view.adoc
│       │       │   │   ├── 06_runtime_view.adoc
│       │       │   │   ├── 07_deployment_view.adoc
│       │       │   │   ├── 08_concepts.adoc
│       │       │   │   ├── 09_design_decisions.adoc
│       │       │   │   ├── 10_quality_scenarios.adoc
│       │       │   │   ├── 11_technical_risks.adoc
│       │       │   │   ├── 12_glossary.adoc
│       │       │   │   └── about-arc42.adoc
│       │       │   ├── buildserver/
│       │       │   │   ├── example-sechub-client-released-pipeline.jenkins
│       │       │   │   ├── example-sechub-server-released-pipeline.jenkins
│       │       │   │   └── jenkins-pipeline.adoc
│       │       │   ├── client/
│       │       │   │   ├── 02_sechub_client.adoc
│       │       │   │   ├── sechub_client_falsepositive_list_example_unmark.json
│       │       │   │   ├── sechub_client_falsepositive_list_example_unmark_jobData+projectData.json
│       │       │   │   └── sechub_config_apiversion_example.json
│       │       │   ├── code2doc/
│       │       │   │   ├── README.md
│       │       │   │   └── usecases/
│       │       │   │       ├── admin/
│       │       │   │       │   ├── changeProjectAccessLevel.adoc
│       │       │   │       │   ├── deleteUser.adoc
│       │       │   │       │   ├── notification_about_scheduler_start.adoc
│       │       │   │       │   └── updateUserEmailAddress.adoc
│       │       │   │       ├── job/
│       │       │   │       │   ├── admin_lists_all_running_jobs.adoc
│       │       │   │       │   ├── admin_restarts_job.adoc
│       │       │   │       │   ├── admin_restarts_job_hard.adoc
│       │       │   │       │   ├── scheduler_starts_job.adoc
│       │       │   │       │   ├── scheduler_starts_job_tasklet.adoc
│       │       │   │       │   └── user_lists_jobs_for_project.adoc
│       │       │   │       ├── project/
│       │       │   │       │   ├── admin_creates_project.adoc
│       │       │   │       │   ├── admin_deletes_project.adoc
│       │       │   │       │   ├── get_project_data.adoc
│       │       │   │       │   ├── update_project_metadata.adoc
│       │       │   │       │   └── update_project_whitelist.adoc
│       │       │   │       └── user/
│       │       │   │           ├── approve_sechub_job_description.adoc
│       │       │   │           ├── check_sechub_job_state_description.adoc
│       │       │   │           ├── clicks_link_to_get_new_api_token.adoc
│       │       │   │           ├── create_sechub_job_description.adoc
│       │       │   │           ├── defines_mockdata_for_project.adoc
│       │       │   │           ├── download_sechub_job_report_description.adoc
│       │       │   │           ├── download_spdx_report_description.adoc
│       │       │   │           ├── fetch_false_positive_configuration_of_project.adoc
│       │       │   │           ├── mark_false_positives.adoc
│       │       │   │           ├── request_new_api_token_description.adoc
│       │       │   │           ├── retrieves_mockdata_for_project.adoc
│       │       │   │           ├── selfregistration_description.adoc
│       │       │   │           ├── start_scan_by_client_description.adoc
│       │       │   │           ├── unmark_false_positives_jobdata.adoc
│       │       │   │           ├── unmark_false_positives_projectdata.adoc
│       │       │   │           ├── upload_binaries_description.adoc
│       │       │   │           ├── upload_sourcecode_description.adoc
│       │       │   │           └── upload_sourcecode_for_sechub_job_description.adoc
│       │       │   ├── config.adoc
│       │       │   ├── gen/
│       │       │   │   ├── .gitignore
│       │       │   │   └── README.md
│       │       │   ├── operations/
│       │       │   │   ├── 01_sechub_server.adoc
│       │       │   │   ├── 02_security_products.adoc
│       │       │   │   ├── 03_onboarding.adoc
│       │       │   │   └── server/
│       │       │   │       ├── server_deployment.adoc
│       │       │   │       └── server_download.adoc
│       │       │   ├── pds/
│       │       │   │   ├── about_pds.adoc
│       │       │   │   ├── pds-autocleanup-example1.json
│       │       │   │   ├── pds-autocleanup-example2.json
│       │       │   │   ├── pds-job-messages-example1.json
│       │       │   │   ├── pds-metadata-file-example1.json
│       │       │   │   ├── pds-metadata-file-example2.json
│       │       │   │   ├── pds-monitoring-result-example1.json
│       │       │   │   ├── pds-server-config-example1.json
│       │       │   │   ├── pds_config.adoc
│       │       │   │   ├── pds_download.adoc
│       │       │   │   ├── pds_restapi.adoc
│       │       │   │   ├── pds_usecases.adoc
│       │       │   │   ├── product_delegation_job_config_example1.json
│       │       │   │   └── product_delegation_server_config_example1.json
│       │       │   ├── server/
│       │       │   │   └── 03_sechub_rest_api.adoc
│       │       │   ├── shared/
│       │       │   │   ├── about_documentation_all.adoc
│       │       │   │   ├── about_sechub.adoc
│       │       │   │   ├── adapter/
│       │       │   │   │   ├── checkmarx_adapter_flow.adoc
│       │       │   │   │   ├── nessus_adapter_flow.adoc
│       │       │   │   │   └── netsparker_adapter_flow.adoc
│       │       │   │   ├── concepts/
│       │       │   │   │   ├── concept_analytic.adoc
│       │       │   │   │   ├── concept_analytic_techdoc.adoc
│       │       │   │   │   ├── concept_archive_extraction.adoc
│       │       │   │   │   ├── concept_assistant.adoc
│       │       │   │   │   ├── concept_auto_clean.adoc
│       │       │   │   │   ├── concept_auto_cleanup_configuration_example.json
│       │       │   │   │   ├── concept_common_data_structure_tar_and_zip_files.adoc
│       │       │   │   │   ├── concept_falsepositive_handling.adoc
│       │       │   │   │   ├── concept_include_all.adoc
│       │       │   │   │   ├── concept_job_cancellation.adoc
│       │       │   │   │   ├── concept_job_status.adoc
│       │       │   │   │   ├── concept_mappings.adoc
│       │       │   │   │   ├── concept_modules_and_module_groups.adoc
│       │       │   │   │   ├── concept_oauth2_handling.adoc
│       │       │   │   │   ├── concept_pds.adoc
│       │       │   │   │   ├── concept_pds_adapter_configuration.adoc
│       │       │   │   │   ├── concept_pds_data_encryption.adoc
│       │       │   │   │   ├── concept_pds_deployment_with_running_jobs.adoc
│       │       │   │   │   ├── concept_pds_events_dataflow.adoc
│       │       │   │   │   ├── concept_pds_fetch_stream_of_running_job.adoc
│       │       │   │   │   ├── concept_pds_general.adoc
│       │       │   │   │   ├── concept_pds_handle_metadata.adoc
│       │       │   │   │   ├── concept_pds_handle_storage_parts_at_runtime.adoc
│       │       │   │   │   ├── concept_product_message_dataflow.adoc
│       │       │   │   │   ├── concept_product_message_pds_dataflow.adoc
│       │       │   │   │   ├── concept_product_results.adoc
│       │       │   │   │   ├── concept_project_administration.adoc
│       │       │   │   │   ├── concept_project_scan_configuration.adoc
│       │       │   │   │   ├── concept_report_dataflow.adoc
│       │       │   │   │   ├── concept_sechub_data_encryption.adoc
│       │       │   │   │   ├── concept_sechub_deployment_without_scheduler_stop.adoc
│       │       │   │   │   ├── concept_sechub_job_restart_handling.adoc
│       │       │   │   │   ├── concept_sechub_point_of_view_for_pds.adoc
│       │       │   │   │   ├── concept_simple_domain_driven_design.adoc
│       │       │   │   │   ├── concept_simple_resilience.adoc
│       │       │   │   │   ├── concept_statistic.adoc
│       │       │   │   │   ├── concept_statistic_techdoc.adoc
│       │       │   │   │   ├── concept_status_dataflow.adoc
│       │       │   │   │   ├── concept_status_fetching.adoc
│       │       │   │   │   ├── concept_targets.adoc
│       │       │   │   │   ├── concept_templates_and_assets.adoc
│       │       │   │   │   ├── execution-profiles/
│       │       │   │   │   │   └── concept_execution_profiles_and_config.adoc
│       │       │   │   │   ├── pds-solutions/
│       │       │   │   │   │   ├── concept_pds_solution.adoc
│       │       │   │   │   │   └── concept_pds_solution_checkmarx.adoc
│       │       │   │   │   └── project_whitelist.adoc
│       │       │   │   ├── configuration/
│       │       │   │   │   ├── eclipse-java-sechub-formatter-setup.adoc
│       │       │   │   │   ├── execution_profiles.adoc
│       │       │   │   │   ├── executor_config.adoc
│       │       │   │   │   ├── intelliJ-java-sechub-formatter-setup.adoc
│       │       │   │   │   ├── mapping.adoc
│       │       │   │   │   ├── mapping_example1.json
│       │       │   │   │   ├── mapping_json_syntax.json
│       │       │   │   │   ├── project_scan_config_technical-details.adoc
│       │       │   │   │   ├── scan_config.adoc
│       │       │   │   │   ├── scan_config_example1_checkmarx-preset-id.json
│       │       │   │   │   ├── scan_config_example2_checkmarx-team-id.json
│       │       │   │   │   ├── scan_config_namepattern_provider_example1.json
│       │       │   │   │   ├── sechub_config.adoc
│       │       │   │   │   ├── sechub_config_data_section_general_example1.json
│       │       │   │   │   ├── sechub_config_data_section_general_example2.json
│       │       │   │   │   ├── sechub_config_example10_license_scan_with_sources_data_reference.json
│       │       │   │   │   ├── sechub_config_example11_license_scan_and_code_scan_with_sources_data_reference.json
│       │       │   │   │   ├── sechub_config_example12_secret_scan_with_sources_data_reference.json
│       │       │   │   │   ├── sechub_config_example13_secret_scan_with_binaries_data_reference.json
│       │       │   │   │   ├── sechub_config_example14_secret_scan_and_code_scan_with_sources_data_reference.json
│       │       │   │   │   ├── sechub_config_example15_web_scan_header.json
│       │       │   │   │   ├── sechub_config_example16_webscan_client_certificate_with_openAPI.json
│       │       │   │   │   ├── sechub_config_example17_web_scan_header_value_from_data_section.json
│       │       │   │   │   ├── sechub_config_example18_remote_data_without_credentials_sources_codescan.json
│       │       │   │   │   ├── sechub_config_example19_remote_data_with_credentials_sources_codescan.json
│       │       │   │   │   ├── sechub_config_example1_sourcescan_data_section.json
│       │       │   │   │   ├── sechub_config_example1_sourcescan_filesystem.json
│       │       │   │   │   ├── sechub_config_example20_remote_data_with_credentials_binaries_licensescan.json
│       │       │   │   │   ├── sechub_config_example21_webscan_login_form_with_totp.json
│       │       │   │   │   ├── sechub_config_example22_webscan_with_template.json
│       │       │   │   │   ├── sechub_config_example23_headers_to_identify_webscans_in_logs.json
│       │       │   │   │   ├── sechub_config_example24_webscan_login_form_with_verification.json
│       │       │   │   │   ├── sechub_config_example25_logout_config.json
│       │       │   │   │   ├── sechub_config_example26_iacscan.json
│       │       │   │   │   ├── sechub_config_example2_webscan_anonymous.json
│       │       │   │   │   ├── sechub_config_example3_webscan_login_basicauth.json
│       │       │   │   │   ├── sechub_config_example4_webscan_login_clientcertificate.json
│       │       │   │   │   ├── sechub_config_example5_webscan_login_from_sript.json
│       │       │   │   │   ├── sechub_config_example6_infrascan_ip.json
│       │       │   │   │   ├── sechub_config_example7_infrascan_uri.json
│       │       │   │   │   ├── sechub_config_example8_web_scan_openapi_with_data_reference.json
│       │       │   │   │   ├── sechub_config_example9_license_scan_with_binaries_data_reference.json
│       │       │   │   │   └── sechub_config_metadata_example1.json
│       │       │   │   ├── domain_message_bus.adoc
│       │       │   │   ├── false-positives/
│       │       │   │   │   ├── FalsePositiveJavaApplication.java
│       │       │   │   │   ├── false-positives-REST-API-content-example1.json
│       │       │   │   │   ├── false-positives-REST-API-content-example2.json
│       │       │   │   │   ├── false-positives-howto-define-by-api.adoc
│       │       │   │   │   └── false-positives-technical-details.adoc
│       │       │   │   ├── hint_admin_access_profile.adoc
│       │       │   │   ├── hint_generated_mockadapterproperties.adoc
│       │       │   │   ├── hint_generated_schedule.adoc
│       │       │   │   ├── hint_generated_systemproperties.adoc
│       │       │   │   ├── infrastructure/
│       │       │   │   │   ├── infra_docker.adoc
│       │       │   │   │   ├── infra_kubernetes.adoc
│       │       │   │   │   ├── infra_localdevelopment.adoc
│       │       │   │   │   ├── infra_security_products.adoc
│       │       │   │   │   ├── infra_springboot.adoc
│       │       │   │   │   └── products/
│       │       │   │   │       ├── 07_03_01_infra_security_products_netsparker.adoc
│       │       │   │   │       ├── 07_03_02_infra_security_products_checkmarx.adoc
│       │       │   │   │       ├── 07_03_03_infra_security_products_nessus.adoc
│       │       │   │   │       ├── 07_03_98_infra_security_products_prepare.adoc
│       │       │   │   │       └── 07_03_99_infra_security_products_sereco.adoc
│       │       │   │   ├── launchconfig/
│       │       │   │   │   ├── launchconfig_common_dev_adminui_header.adoc
│       │       │   │   │   ├── launchconfig_common_server_header.adoc
│       │       │   │   │   ├── launchconfig_start_dev_server.adoc
│       │       │   │   │   ├── launchconfig_start_general_adminui.adoc
│       │       │   │   │   ├── launchconfig_start_integrationtest_dev_adminui.adoc
│       │       │   │   │   ├── launchconfig_start_integrationtest_server.adoc
│       │       │   │   │   └── launchconfig_start_prod_server.adoc
│       │       │   │   ├── pds_checkmarx_solution_configuration.adoc
│       │       │   │   ├── pds_hint_generated_systemproperties.adoc
│       │       │   │   ├── pds_options.adoc
│       │       │   │   ├── pds_solution_configurations.adoc
│       │       │   │   ├── pds_storage_configuration.adoc
│       │       │   │   ├── report/
│       │       │   │   │   ├── sechub_codescan_report_json_example_1.json
│       │       │   │   │   └── sechub_reporting.adoc
│       │       │   │   ├── sechub_mockoptions.adoc
│       │       │   │   ├── sechub_options.adoc
│       │       │   │   ├── sechub_user_roles.adoc
│       │       │   │   ├── sechub_versioning.adoc
│       │       │   │   ├── snippet/
│       │       │   │   │   ├── pds-param-template-metadata-example1.json
│       │       │   │   │   ├── pds-param-template-metadata-syntax.json
│       │       │   │   │   └── template-definition-syntax.json
│       │       │   │   ├── springboot_profiles.adoc
│       │       │   │   ├── springboot_security.adoc
│       │       │   │   ├── storage_configuration.adoc
│       │       │   │   └── systemtests/
│       │       │   │       └── systemtests.adoc
│       │       │   ├── techdoc/
│       │       │   │   ├── 01_development.adoc
│       │       │   │   ├── 02_security_in_development.adoc
│       │       │   │   ├── 03_coding_conventions.adoc
│       │       │   │   ├── 04_documentation.adoc
│       │       │   │   ├── 05_build.adoc
│       │       │   │   ├── 06_concepts_and_ddd.adoc
│       │       │   │   ├── 07_api.adoc
│       │       │   │   ├── 08_technical_debt.adoc
│       │       │   │   ├── 09_01_howto_integrate_a_new_product.adoc
│       │       │   │   ├── 09_02_howto_configure_mock_behaviours.adoc
│       │       │   │   ├── 09_03_howto_start_local_like_in_production.adoc
│       │       │   │   ├── 09_04_howto_quick_test_created_sechub_server_release_local.adoc
│       │       │   │   ├── 09_howtos.adoc
│       │       │   │   ├── mockdata_setup_example1.adoc
│       │       │   │   └── mockdata_setup_example1.json
│       │       │   └── tutorials/
│       │       │       ├── 01_tutorials.adoc
│       │       │       ├── 02_integrate_new_module.adoc
│       │       │       └── 03_create_new_pds_solution.adoc
│       │       ├── images/
│       │       │   ├── README.md
│       │       │   └── sechub-logo.png.license
│       │       ├── sechub-architecture.adoc
│       │       ├── sechub-client.adoc
│       │       ├── sechub-developer-quickstart-guide.adoc
│       │       ├── sechub-getting-started.adoc
│       │       ├── sechub-operations.adoc
│       │       ├── sechub-product-delegation-server.adoc
│       │       ├── sechub-restapi.adoc
│       │       ├── sechub-techdoc.adoc
│       │       └── sechub-tutorials.adoc
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── docgen/
│       │                       ├── AsciidocGenerator.java
│       │                       ├── AsciidocUtil.java
│       │                       ├── ClientDocFilesGenerator.java
│       │                       ├── ConfigurationPropertiesData.java
│       │                       ├── DocAnnotationData.java
│       │                       ├── ExampleJSONGenerator.java
│       │                       ├── Generator.java
│       │                       ├── GeneratorConstants.java
│       │                       ├── ModuleDescriptionTableGenerator.java
│       │                       ├── ModuleGroupToModuleTableGenerator.java
│       │                       ├── ModuleToModuleGroupTableGenerator.java
│       │                       ├── MustBeDocumentedDataCollector.java
│       │                       ├── PDSExecutorConfigurationParameterDescriptionGenerator.java
│       │                       ├── PDSMustBeDocumentedDataCollector.java
│       │                       ├── RestDocResourceModel.java
│       │                       ├── SystemTestDocGenerator.java
│       │                       ├── adopt/
│       │                       │   ├── AdoptedSystemTestDefaultFallback.java
│       │                       │   └── AdoptedSystemTestRuntimeVariable.java
│       │                       ├── kubernetes/
│       │                       │   ├── KubernetesFiles.java
│       │                       │   └── KubernetesTemplateFilesGenerator.java
│       │                       ├── messaging/
│       │                       │   ├── DomainMessagingFilesGenerator.java
│       │                       │   ├── DomainMessagingModel.java
│       │                       │   ├── DomainMessagingModelDataCollector.java
│       │                       │   ├── DomainMessagingModelPlantUMLGenerator.java
│       │                       │   ├── DomainUtil.java
│       │                       │   ├── UseCaseEventMessageLinkAsciidocGenerator.java
│       │                       │   └── UseCaseEventOverviewPlantUmlGenerator.java
│       │                       ├── pds/
│       │                       │   ├── CheckmarxWrapperDocumentationGenerator.java
│       │                       │   └── PDSSolutionVariableContentGenerator.java
│       │                       ├── reflections/
│       │                       │   └── Reflections.java
│       │                       ├── spring/
│       │                       │   ├── ListedProfile.java
│       │                       │   ├── ListedProfileModel.java
│       │                       │   ├── MockPropertiesDescriptionGenerator.java
│       │                       │   ├── MockedAdaptersSpringValueDataCollector.java
│       │                       │   ├── ScheduleDescriptionGenerator.java
│       │                       │   ├── SpringProfilesPlantumlGenerator.java
│       │                       │   ├── SpringScheduleExtractor.java
│       │                       │   ├── SpringValueExtractor.java
│       │                       │   ├── SpringValueFilter.java
│       │                       │   ├── SystemPropertiesDescriptionGenerator.java
│       │                       │   └── SystemPropertiesJavaLaunchExampleGenerator.java
│       │                       ├── usecase/
│       │                       │   ├── PDSStepDataProvider.java
│       │                       │   ├── PDSUseCaseModelDataCollector.java
│       │                       │   ├── Role2UseCaseAsciiDocGenerator.java
│       │                       │   ├── SecHubStepDataProvider.java
│       │                       │   ├── StepDataProvider.java
│       │                       │   ├── UseCaseAsciiDocFactory.java
│       │                       │   ├── UseCaseAsciiDocGenerator.java
│       │                       │   ├── UseCaseModel.java
│       │                       │   ├── UseCaseModelDataCollector.java
│       │                       │   ├── UseCaseRestDocEntry.java
│       │                       │   ├── UseCaseRestDocModel.java
│       │                       │   ├── UseCaseRestDocModelAsciiDocGenerator.java
│       │                       │   └── UseCaseRestDocModelDataCollector.java
│       │                       └── util/
│       │                           ├── AnnotationDataLocationExtractor.java
│       │                           ├── ClasspathDataCollector.java
│       │                           ├── DocGenTextFileReader.java
│       │                           ├── DocGenTextFileWriter.java
│       │                           ├── DocGeneratorUtil.java
│       │                           ├── DocReflectionUtil.java
│       │                           ├── LicenseHeaderProvider.java
│       │                           ├── ReflectionsFactory.java
│       │                           └── RestDocFactory.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               ├── ExampleFilesValidTest.java
│           │               ├── TestPDSDataExampleFile.java
│           │               ├── TestSecHubConfigExampleFile.java
│           │               ├── docgen/
│           │               │   ├── AsciidocGeneratorManualTest.java
│           │               │   ├── AsciidocGeneratorTest.java
│           │               │   ├── AsciidocUtilTest.java
│           │               │   ├── MustBeDocumentedDataCollectorTest.java
│           │               │   ├── RestDocResourceModelTest.java
│           │               │   ├── UseCaseGroupTest.java
│           │               │   ├── adopt/
│           │               │   │   ├── AdoptedSystemTestDefaultFallbackTest.java
│           │               │   │   ├── AdoptedSystemTestRuntimeVariableTest.java
│           │               │   │   └── AdoptionChecker.java
│           │               │   ├── messaging/
│           │               │   │   ├── MessagingAnnotationsCorrectDefinedTest.java
│           │               │   │   ├── UseCaseEventMessageLinkAsciidocGeneratorManualTest.java
│           │               │   │   └── UseCaseEventOverviewPlantUmlGeneratorManualTest.java
│           │               │   ├── reflections/
│           │               │   │   ├── ReflectionsExampleClass1.java
│           │               │   │   ├── ReflectionsExampleClass2.java
│           │               │   │   ├── ReflectionsExampleDefinitionAnnotation.java
│           │               │   │   ├── ReflectionsExampleInterface.java
│           │               │   │   ├── ReflectionsExampleUsageAnnotation.java
│           │               │   │   └── ReflectionsTest.java
│           │               │   ├── spring/
│           │               │   │   ├── ListedProfileTest.java
│           │               │   │   ├── ScheduleDescriptionGeneratorIntTest.java
│           │               │   │   ├── ScheduleDescriptionGeneratorTest.java
│           │               │   │   ├── SpringScheduleExtractorTest.java
│           │               │   │   ├── SpringValueExtractorTest.java
│           │               │   │   └── SystemPropertiesDescriptionGeneratorTest.java
│           │               │   ├── usecase/
│           │               │   │   ├── UseCaseAsciiDocGeneratorTest.java
│           │               │   │   ├── UsecaseIdentifierUniqueUsageTest.java
│           │               │   │   └── UsecaseStepsWithRestDocAreDocumentedTest.java
│           │               │   └── util/
│           │               │       ├── AnnotationDataLocationExtractorTest.java
│           │               │       ├── ClasspathDataCollectorTest.java
│           │               │       ├── DocGenUtilTest.java
│           │               │       ├── DocGeneratorUtilTest.java
│           │               │       ├── LicenseHeaderProviderTest.java
│           │               │       ├── RestDocFactoryTest.java
│           │               │       ├── RestDocTestFileSupport.java
│           │               │       └── TextFileWriterTest.java
│           │               └── restdoc/
│           │                   ├── AdminShowsScanLogsForProjectRestDocTest.java
│           │                   ├── AnonymousCheckAliveRestDocTest.java
│           │                   ├── AnonymousSignupRestControllerRestDocTest.java
│           │                   ├── AnonymousUserControllerRestDocTest.java
│           │                   ├── AnonymousUserGetAPITokenByOneTimeTokenRestControllerRestDocTest.java
│           │                   ├── AnonymousUserRequestsNewApiTokenRestDocTest.java
│           │                   ├── AssetRestControllerRestDocTest.java
│           │                   ├── AssistantRestControllerRestDocTest.java
│           │                   ├── ConfigAdministrationRestControllerRestDocTest.java
│           │                   ├── DownloadsFullScanDataForJobRestDocTest.java
│           │                   ├── EncryptionAdministrationRestControllerRestDocTest.java
│           │                   ├── FalsePositiveRestControllerRestDocTest.java
│           │                   ├── JobAdministrationRestControllerRestDocTest.java
│           │                   ├── JobRestControllerRestDocTest.java
│           │                   ├── MappingAdministrationRestControllerRestDocTest.java
│           │                   ├── ProductExecutionProfileRestControllerRestDocTest.java
│           │                   ├── ProductExecutorConfigRestControllerRestDocTest.java
│           │                   ├── ProjectAdministrationRestControllerRestDocTest.java
│           │                   ├── ProjectManagementRestControllerRestDocTest.java
│           │                   ├── ProjectRestControllerRestDocTest.java
│           │                   ├── ProjectUpdateAdministrationRestControllerRestDocTest.java
│           │                   ├── RestDocSanityTest.java
│           │                   ├── RestDocumentationTest.java
│           │                   ├── ScanProjectMockDataRestControllerRestDocTest.java
│           │                   ├── ScanReportRestControllerRestDocTest.java
│           │                   ├── SchedulerAdministrationRestControllerRestDocTest.java
│           │                   ├── SchedulerRestControllerRestDocTest.java
│           │                   ├── ServerInfoAdministrationRestControllerRestDocTest.java
│           │                   ├── SignupAdministrationRestControllerRestDocTest.java
│           │                   ├── StatusAdministrationRestControllerRestDocTest.java
│           │                   ├── TemplateRestControllerRestDocTest.java
│           │                   ├── TestAuthenticationHelper.java
│           │                   ├── TestOpenApiSchema.java
│           │                   ├── TestRestDocSecurityConfiguration.java
│           │                   ├── UserAdministrationRestControllerRestDocTest.java
│           │                   └── UserRestControllerRestDocTest.java
│           └── resources/
│               ├── openapi/
│               │   └── tags.yaml
│               ├── restdoc/
│               │   └── test_resource_1.json
│               └── upload/
│                   └── .gitignore
├── sechub-examples/
│   ├── eclipse/
│   │   ├── ProductDelegationServerApplication_(INTEGRATION_TEST-H2).launch
│   │   └── SecHubServerApplication_(INTEGRATION_TEST-H2).launch
│   └── example-sechub-api-java/
│       ├── README.adoc
│       ├── build.gradle
│       └── src/
│           └── main/
│               └── java/
│                   └── com/
│                       └── mercedesbenz/
│                           └── sechub/
│                               └── api/
│                                   └── java/
│                                       └── demo/
│                                           ├── DemoUtils.java
│                                           ├── SecHubJavaApiDemoApplication.java
│                                           └── config/
│                                               ├── DemoCommandLineParser.java
│                                               ├── DemoCommandLineSettings.java
│                                               ├── DemoConfigurationProvider.java
│                                               ├── DemoEnvironmentVariableConstants.java
│                                               └── DemoEnvironmentVariableReader.java
├── sechub-integrationtest/
│   ├── README.md
│   ├── build.gradle
│   ├── ciphertest.sh
│   ├── integrationtest-pds.bat
│   ├── integrationtest-pds.sh
│   ├── integrationtest-server.bat
│   ├── integrationtest-server.sh
│   ├── pds/
│   │   └── product-scripts/
│   │       ├── integrationtest-analytics.sh
│   │       ├── integrationtest-checkmarx.sh
│   │       ├── integrationtest-codescan-sarif.sh
│   │       ├── integrationtest-codescan.sh
│   │       ├── integrationtest-infrascan.sh
│   │       ├── integrationtest-licensescan.sh
│   │       ├── integrationtest-pmd.sh
│   │       ├── integrationtest-prepare.sh
│   │       ├── integrationtest-secretscan.sh
│   │       ├── integrationtest-webscan-sarif.sh
│   │       ├── integrationtest-webscan.sh
│   │       ├── pds-solutions-checkmarx-mocked.sh
│   │       ├── pds-solutions-findsecuritybugs-mocked.sh
│   │       ├── pds-solutions-gitleaks-mocked.sh
│   │       ├── pds-solutions-gosec-mocked.sh
│   │       ├── pds-solutions-kics-mocked.sh
│   │       ├── pds-solutions-multi_bandit-mocked.sh
│   │       ├── pds-solutions-scancode_spdx_json-mocked.sh
│   │       ├── pds-solutions-tern-mocked.sh
│   │       ├── pds-solutions-xray_cyclonedx-mocked.sh
│   │       ├── pds-solutions-xray_spdx-mocked.sh
│   │       ├── pds-solutions-zap-mocked.sh
│   │       ├── shared/
│   │       │   ├── shared-constants.sh
│   │       │   ├── shared-events.sh
│   │       │   ├── shared-logging.sh
│   │       │   ├── shared-merging.sh
│   │       │   ├── shared-messaging-referenced-in-documentation-as-example-output.txt
│   │       │   ├── shared-messaging-referenced-in-documentation-as-example-usage.sh
│   │       │   ├── shared-messaging-referenced-in-documentation-as-example.sh
│   │       │   └── shared-test-variables.sh
│   │       ├── shared-functions.sh
│   │       ├── test_integrationtest-checkmarx.sh
│   │       ├── test_integrationtest-codescan.sh
│   │       └── test_shared-functions.sh
│   ├── send_curl_request.sh
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               └── integrationtest/
│       │   │                   ├── CipherCheck.java
│       │   │                   ├── CipherTestData.java
│       │   │                   ├── IntegrationTestIsNecessaryForDocumentation.java
│       │   │                   ├── JSONTestSupport.java
│       │   │                   ├── SecurityTestHelper.java
│       │   │                   ├── api/
│       │   │                   │   ├── AbstractAssert.java
│       │   │                   │   ├── AbstractHttpStatusCodeExceptionTestValidator.java
│       │   │                   │   ├── AbstractTestExecutable.java
│       │   │                   │   ├── AnonymousTestUser.java
│       │   │                   │   ├── AsPDSUser.java
│       │   │                   │   ├── AsUser.java
│       │   │                   │   ├── AssertAutoCleanupInspections.java
│       │   │                   │   ├── AssertEncryptionStatus.java
│       │   │                   │   ├── AssertEventInspection.java
│       │   │                   │   ├── AssertExecutionProfile.java
│       │   │                   │   ├── AssertExecutionResult.java
│       │   │                   │   ├── AssertExecutorConfig.java
│       │   │                   │   ├── AssertFullScanData.java
│       │   │                   │   ├── AssertHTMLReport.java
│       │   │                   │   ├── AssertJSON.java
│       │   │                   │   ├── AssertJob.java
│       │   │                   │   ├── AssertJobInformationAdministration.java
│       │   │                   │   ├── AssertJobScheduler.java
│       │   │                   │   ├── AssertMail.java
│       │   │                   │   ├── AssertMapping.java
│       │   │                   │   ├── AssertMetaDataInspections.java
│       │   │                   │   ├── AssertPDSAutoCleanupInspections.java
│       │   │                   │   ├── AssertPDSCreateJobResult.java
│       │   │                   │   ├── AssertPDSJob.java
│       │   │                   │   ├── AssertPDSResult.java
│       │   │                   │   ├── AssertPDSStatus.java
│       │   │                   │   ├── AssertPDSWorkspace.java
│       │   │                   │   ├── AssertProject.java
│       │   │                   │   ├── AssertReport.java
│       │   │                   │   ├── AssertReportUnordered.java
│       │   │                   │   ├── AssertSecHubJobStatus.java
│       │   │                   │   ├── AssertSecurityLog.java
│       │   │                   │   ├── AssertSignup.java
│       │   │                   │   ├── AssertStatistic.java
│       │   │                   │   ├── AssertUser.java
│       │   │                   │   ├── AssertUserJobInfo.java
│       │   │                   │   ├── AutoDumpPDSOutputForPDSJobUUIDRunnable.java
│       │   │                   │   ├── AutoDumpPDSOutputForSecHubJobUUIDRunnable.java
│       │   │                   │   ├── ContainsExpectedContentHttpStatusExceptionTestValidator.java
│       │   │                   │   ├── CriticalTestProblemException.java
│       │   │                   │   ├── EventInspectionAPI.java
│       │   │                   │   ├── ExecutionConstants.java
│       │   │                   │   ├── FixedTestProject.java
│       │   │                   │   ├── FixedTestUser.java
│       │   │                   │   ├── HttpStatusCodeExceptionTestValidator.java
│       │   │                   │   ├── IntegrationTestExtension.java
│       │   │                   │   ├── IntegrationTestJSONLocation.java
│       │   │                   │   ├── IntegrationTestMockMode.java
│       │   │                   │   ├── IntegrationTestSetup.java
│       │   │                   │   ├── IntegrationTestSupport.java
│       │   │                   │   ├── InternalAccess.java
│       │   │                   │   ├── JSonMessageHttpStatusExceptionTestValidator.java
│       │   │                   │   ├── JsonErrorFieldNamesAvailableHttpStatusExceptionTestValidator.java
│       │   │                   │   ├── LocalDeveloperFileSetupSupport.java
│       │   │                   │   ├── MockEmailEntry.java
│       │   │                   │   ├── PDSIntTestProductIdentifier.java
│       │   │                   │   ├── TemplateData.java
│       │   │                   │   ├── TestAPI.java
│       │   │                   │   ├── TestDataConstants.java
│       │   │                   │   ├── TestExecutable.java
│       │   │                   │   ├── TestJobRunStatistic.java
│       │   │                   │   ├── TestJobRunStatisticData.java
│       │   │                   │   ├── TestJobStatistic.java
│       │   │                   │   ├── TestJobStatisticData.java
│       │   │                   │   ├── TestOutputOptions.java
│       │   │                   │   ├── TestProductExecutorIdentifier.java
│       │   │                   │   ├── TestProject.java
│       │   │                   │   ├── TestSecHubJobInfoForUser.java
│       │   │                   │   ├── TestSecHubJobInfoForUserListPage.java
│       │   │                   │   ├── TestSecHubJobStatus.java
│       │   │                   │   ├── TestUser.java
│       │   │                   │   ├── TestUserDetailInformation.java
│       │   │                   │   ├── TextSearchMode.java
│       │   │                   │   ├── UserContext.java
│       │   │                   │   ├── WithSecHubClient.java
│       │   │                   │   └── WithTestScenario.java
│       │   │                   ├── internal/
│       │   │                   │   ├── AbstractGrowingSecHubServerTestScenario.java
│       │   │                   │   ├── AbstractSecHubServerTestScenario.java
│       │   │                   │   ├── CleanScenario.java
│       │   │                   │   ├── DefaultTestExecutionProfile.java
│       │   │                   │   ├── GrowingScenario.java
│       │   │                   │   ├── IntegrationTestAdapter.java
│       │   │                   │   ├── IntegrationTestAdapterConfig.java
│       │   │                   │   ├── IntegrationTestAdapterConfigBuilder.java
│       │   │                   │   ├── IntegrationTestAdapterConfigInterface.java
│       │   │                   │   ├── IntegrationTestAdapterContextInterface.java
│       │   │                   │   ├── IntegrationTestAdapterInterface.java
│       │   │                   │   ├── IntegrationTestContext.java
│       │   │                   │   ├── IntegrationTestDataOverview.java
│       │   │                   │   ├── IntegrationTestDefaultExecutorConfigurations.java
│       │   │                   │   ├── IntegrationTestDefaultProfiles.java
│       │   │                   │   ├── IntegrationTestExampleConstants.java
│       │   │                   │   ├── IntegrationTestFileSupport.java
│       │   │                   │   ├── IntegrationTestPDSJobCreateResult.java
│       │   │                   │   ├── IntegrationTestPDSJobStatus.java
│       │   │                   │   ├── IntegrationTestRestHelper.java
│       │   │                   │   ├── IntegrationTestSecHubJobStatus.java
│       │   │                   │   ├── IntegrationTestTemplateFile.java
│       │   │                   │   ├── IntegrationTestTrustAllConfig.java
│       │   │                   │   ├── MockData.java
│       │   │                   │   ├── MockEmailAccess.java
│       │   │                   │   ├── MockedAdapterSetupAccess.java
│       │   │                   │   ├── NoSecHubSuperAdminNecessaryScenario.java
│       │   │                   │   ├── PDSTestScenario.java
│       │   │                   │   ├── PersistentScenarioTestDataProvider.java
│       │   │                   │   ├── RetryAssertionErrorRunner.java
│       │   │                   │   ├── ScenarioInitializer.java
│       │   │                   │   ├── SecHubClientExecutor.java
│       │   │                   │   ├── SecHubJobAutoDumper.java
│       │   │                   │   ├── SecHubReportFileNameFilter.java
│       │   │                   │   ├── SecHubServerTestScenario.java
│       │   │                   │   ├── SimpleTestStringList.java
│       │   │                   │   ├── StaticTestScenario.java
│       │   │                   │   ├── TestAutoCleanupData.java
│       │   │                   │   ├── TestJSONHelper.java
│       │   │                   │   ├── TestRestHelper.java
│       │   │                   │   ├── TestScenario.java
│       │   │                   │   ├── TestSecHubRestAPIClientHttpRequestInterceptor.java
│       │   │                   │   └── autoclean/
│       │   │                   │       ├── AbstractAssertAutoCleanupInspections.java
│       │   │                   │       ├── ActionState.java
│       │   │                   │       ├── AssertAutoCleanupAction.java
│       │   │                   │       ├── AssertAutoCleanupDeleteCountAction.java
│       │   │                   │       ├── AssertAutoCleanupDeleteCountAmountAction.java
│       │   │                   │       ├── AssertAutoCleanupDeleteCountFoundAction.java
│       │   │                   │       ├── AssertAutoCleanupNeverAnyDeleteCountFoundAction.java
│       │   │                   │       └── TestAutoCleanJsonDeleteCount.java
│       │   │                   ├── scenario1/
│       │   │                   │   └── Scenario1.java
│       │   │                   ├── scenario10/
│       │   │                   │   └── Scenario10.java
│       │   │                   ├── scenario11/
│       │   │                   │   └── Scenario11.java
│       │   │                   ├── scenario12/
│       │   │                   │   └── Scenario12.java
│       │   │                   ├── scenario13/
│       │   │                   │   └── Scenario13.java
│       │   │                   ├── scenario14/
│       │   │                   │   └── Scenario14.java
│       │   │                   ├── scenario15/
│       │   │                   │   └── Scenario15.java
│       │   │                   ├── scenario16/
│       │   │                   │   └── Scenario16.java
│       │   │                   ├── scenario17/
│       │   │                   │   └── Scenario17.java
│       │   │                   ├── scenario18/
│       │   │                   │   └── Scenario18.java
│       │   │                   ├── scenario19/
│       │   │                   │   └── Scenario19.java
│       │   │                   ├── scenario2/
│       │   │                   │   └── Scenario2.java
│       │   │                   ├── scenario20/
│       │   │                   │   └── Scenario20.java
│       │   │                   ├── scenario21/
│       │   │                   │   └── Scenario21.java
│       │   │                   ├── scenario22/
│       │   │                   │   └── Scenario22.java
│       │   │                   ├── scenario3/
│       │   │                   │   └── Scenario3.java
│       │   │                   ├── scenario4/
│       │   │                   │   └── Scenario4.java
│       │   │                   ├── scenario5/
│       │   │                   │   └── Scenario5.java
│       │   │                   ├── scenario6/
│       │   │                   │   └── Scenario6.java
│       │   │                   ├── scenario7/
│       │   │                   │   └── Scenario7.java
│       │   │                   ├── scenario8/
│       │   │                   │   └── Scenario8.java
│       │   │                   └── scenario9/
│       │   │                       └── Scenario9.java
│       │   └── resources/
│       │       └── pds-config-integrationtest.json
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── integrationtest/
│           │                   ├── SecurityTestHelperTest.java
│           │                   ├── api/
│           │                   │   ├── AssertUserTest.java
│           │                   │   ├── JsonErrorFieldNamesAvailableHttpStatusExceptionTestValidatorTest.java
│           │                   │   └── TestOnlyForRegularExecution.java
│           │                   ├── internal/
│           │                   │   ├── AbstractGrowingSecHubServerTestScenarioTest.java
│           │                   │   ├── MockDataTest.java
│           │                   │   ├── MockedAdapterSetupAccessTest.java
│           │                   │   ├── PersistentScenarioTestDataProviderTest.java
│           │                   │   ├── SecHubReportFileNameFilterTest.java
│           │                   │   └── SharedFunctionScriptTest.java
│           │                   ├── scenario1/
│           │                   │   ├── AssetScenario1IntTest.java
│           │                   │   ├── AutoCleanupEventTraceScenario1IntTest.java
│           │                   │   ├── AutoCleanupScenario1IntTest.java
│           │                   │   ├── CheckIsAliveScenario1IntTest.java
│           │                   │   ├── CheckProjectIdLengthScenario1IntTest.java
│           │                   │   ├── ExecutionProfileScenario1IntTest.java
│           │                   │   ├── GetServerInfoScenario1IntTest.java
│           │                   │   ├── MappingScenario1IntTest.java
│           │                   │   ├── OAuth2OpaqueTokenCacheScenario1IntTest.java
│           │                   │   ├── ProjectAdministrationScenario1IntTest.java
│           │                   │   ├── SchedulerEventTraceScenario1IntTest.java
│           │                   │   ├── TemplateScenario1IntTest.java
│           │                   │   └── UserRegistrationScenario1IntTest.java
│           │                   ├── scenario10/
│           │                   │   └── PDSCodeScanSarifJobScenario10IntTest.java
│           │                   ├── scenario11/
│           │                   │   └── SigTermSimulationJobScenario11IntTest.java
│           │                   ├── scenario12/
│           │                   │   └── PDSWebScanJobScenario12IntTest.java
│           │                   ├── scenario13/
│           │                   │   └── PDSLicenseScanJobScenario13IntTest.java
│           │                   ├── scenario14/
│           │                   │   └── PDSBinaryAndSourceCodeHandlingScenario14IntTest.java
│           │                   ├── scenario15/
│           │                   │   └── PDSIncludeExcludeScenario15IntTest.java
│           │                   ├── scenario16/
│           │                   │   └── PDSUseSecHubCentralMappingInJobScenario16IntTest.java
│           │                   ├── scenario17/
│           │                   │   └── PDSCheckmarxIntegrationScenario17IntTest.java
│           │                   ├── scenario18/
│           │                   │   └── PDSCancellationScenario18IntTest.java
│           │                   ├── scenario19/
│           │                   │   └── FetchJobInfoForUserIntTest.java
│           │                   ├── scenario2/
│           │                   │   ├── FileUploadSizeScenario2IntTest.java
│           │                   │   ├── JobScenario2IntTest.java
│           │                   │   ├── ProjectAdministrationScenario2IntTest.java
│           │                   │   ├── ProjectMockConfigurationScenario2IntTest.java
│           │                   │   ├── SchedulerDefaultStrategyScenario2IntTest.java
│           │                   │   ├── SchedulerFifoStrategyScenario2IntTest.java
│           │                   │   ├── SchedulerOnlyOneScanPerProjectStrategyScenario2IntTest.java
│           │                   │   ├── SecHubExecutionScenario2IntTest.java
│           │                   │   ├── SecHubExecutionScenario2SecHubClientIntTest.java
│           │                   │   ├── SwitchSchedulerJobProcessingScenario2IntTest.java
│           │                   │   ├── UserAdministrationScenario2IntTest.java
│           │                   │   ├── UserChangeMailScenario2IntTest.java
│           │                   │   ├── UserRequestsNewAPITokenIntTest.java
│           │                   │   └── UserUsecasesEventTraceScenario2IntTest.java
│           │                   ├── scenario20/
│           │                   │   └── PDSSecretScanJobScenario20IntTest.java
│           │                   ├── scenario21/
│           │                   │   └── PDSSolutionMockModeScenario21IntTest.java
│           │                   ├── scenario22/
│           │                   │   └── PDSPrepareIntegrationScenario22IntTest.java
│           │                   ├── scenario3/
│           │                   │   ├── FalsePositivesScenario3IntTest.java
│           │                   │   ├── FullScanDataScenario3SecHubClientIntTest.java
│           │                   │   ├── GetServerInfoScenario3IntTest.java
│           │                   │   ├── MappingScenario3IntTest.java
│           │                   │   ├── ProjectAdministrationScenario3IntTest.java
│           │                   │   ├── ProjectChangeAccessLevelScenario3IntTest.java
│           │                   │   ├── ProjectDeleteScenario3IntTest.java
│           │                   │   └── UserUsecasesEventTraceScenario3IntTest.java
│           │                   ├── scenario4/
│           │                   │   ├── CancelJobScenario4IntTest.java
│           │                   │   ├── JobUsecasesEventTraceScenario4IntTest.java
│           │                   │   ├── RestartJobScenario4IntTest.java
│           │                   │   └── SecHubConfigurationFailuresScenario4IntTest.java
│           │                   ├── scenario5/
│           │                   │   └── PDSCodeScanJobScenario5IntTest.java
│           │                   ├── scenario6/
│           │                   │   ├── DirectPDSAPIAutoCleanupScenario6IntTest.java
│           │                   │   ├── DirectPDSAPICheckAliveScenario6IntTest.java
│           │                   │   ├── DirectPDSAPICheckmarxWrapperScenario6IntTest.java
│           │                   │   ├── DirectPDSAPIConfigurationScenario6IntTest.java
│           │                   │   ├── DirectPDSAPIJobScenario6IntTest.java
│           │                   │   ├── DirectPDSAPIJobStreamDataScenario6IntTest.java
│           │                   │   └── DirectPDSAPIMonitoringStateScenario6IntTest.java
│           │                   ├── scenario7/
│           │                   │   ├── ProductExecutionProfileScenario7IntTest.java
│           │                   │   └── ProductExecutorConfigurationScenario7IntTest.java
│           │                   ├── scenario8/
│           │                   │   └── ProductExecutorConfigurationScenario8IntTest.java
│           │                   ├── scenario9/
│           │                   │   ├── PDSCodeScanSarifJobScenario9IntTest.java
│           │                   │   └── TemplateScenario9IntTest.java
│           │                   └── security/
│           │                       ├── PDSServerEncryptionIntTest.java
│           │                       ├── SSLContextSanityTest.java
│           │                       ├── ServerEncryptionIntTest.java
│           │                       └── ServerSecurityLogHandlingIntTest.java
│           └── resources/
│               ├── .gitignore
│               ├── asset/
│               │   ├── examples-1/
│               │   │   ├── asset1.txt
│               │   │   └── asset2.txt
│               │   └── examples-2/
│               │       └── asset2.txt
│               ├── checksum-testfiles/
│               │   ├── README.md
│               │   ├── exclude-me.txt
│               │   ├── not-excluded.txt
│               │   └── subfolder/
│               │       ├── exclude-me.txt
│               │       └── not-excluded-2.txt
│               ├── pds/
│               │   ├── analytics/
│               │   │   └── cloc-output-1.json
│               │   ├── checkmarx-wrapper/
│               │   │   └── checkmarx-pds-job1.json
│               │   ├── codescan/
│               │   │   └── upload/
│               │   │       ├── .gitignore
│               │   │       └── README.md
│               │   ├── secretscan/
│               │   │   └── upload/
│               │   │       └── __data__/
│               │   │           └── code/
│               │   │               └── gitleaks_sample_sarif.json
│               │   └── webscan/
│               │       ├── README.md
│               │       └── webscan-result-variant-b.sarif.json
│               ├── pds-webscan-data-ref-files/
│               │   ├── another-token.txt
│               │   ├── bearer-token.txt
│               │   ├── certificate.p12
│               │   └── openapi.json
│               ├── report/
│               │   ├── sechub_report_test_2a75aa71-79b1-4e27-bcfa-20705fee84dd.json
│               │   └── sechub_report_test_cb2e41ca-1363-47a4-8308-8c91cc022620.json
│               ├── scan-config/
│               │   ├── sechub_scan_config1.json
│               │   └── sechub_scan_config2.json
│               ├── sechub-integrationtest-client-infrascan.json
│               ├── sechub-integrationtest-client-sourcescan-excluded_some_files.json
│               ├── sechub-integrationtest-client-sourcescan-generic-template-no-data-section.json
│               ├── sechub-integrationtest-client-sourcescan-generic-template.json
│               ├── sechub-integrationtest-client-sourcescan-green-1-second.

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
*   text=auto

================================================
FILE: .github/dependabot.yml
================================================
# SPDX-License-Identifier: MIT
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
  - package-ecosystem: github-actions
    directory: /
    schedule:
      interval: weekly


================================================
FILE: .github/workflows/_build+publish-pds-solution.yml
================================================
# SPDX-License-Identifier: MIT
name: Build and publish one single PDS solution

on:
  workflow_dispatch:
    inputs:
      pds-solution:
        description: pds solution to build (e.g. gosec ; see sechub-pds-solutions/)
        required: true
      pds-version:
        description: pds-base version to use (e.g. 1.0.0)
        required: true
  workflow_call:
    inputs:
      pds-solution:
        required: true
        type: string
      pds-version:
        required: true
        type: string

permissions:
  packages: write

env:
  ACTIONS_SECHUB_REGISTRY: ghcr.io/mercedes-benz/sechub
  ACTIONS_HELM_REGISTRY: "oci://ghcr.io/mercedes-benz/sechub/helm-charts"

jobs:
  build-pds-solution:
    name: Build and publish pds-${{ inputs.pds-solution }}
    runs-on: ubuntu-latest
    steps:
      - name: "Show Inputs"
        run: |
          echo "pds-solution '${{ inputs.pds-solution }}'"
          echo "pds-version '${{ inputs.pds-version }}'"

      - name: Checkout git repository
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8

      - name: Docker login to ghcr.io
        uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GITHUB_TOKEN }}

      # Build pds solution container image + push to ghcr
      - name: Build pds-${{ inputs.pds-solution }} container image + push to ghcr
        shell: bash
        run: |
          PDS_SOLUTION="${{ inputs.pds-solution }}"
          PDS_VERSION="${{ inputs.pds-version }}"
          if [ ! -d "sechub-pds-solutions/$PDS_SOLUTION" ] ; then
            echo "Fatal: No directory named \"$PDS_SOLUTION\" found in sechub-pds-solutions/"
            exit 1
          fi
          cd "sechub-pds-solutions/${PDS_SOLUTION}"
          test -f ./env && source ./env
          export CHECKMARX_WRAPPER_VERSION
          export CLOC_VERSION
          export FINDSECURITYBUGS_VERSION
          export SPOTBUGS_VERSION
          export GITLEAKS_VERSION
          export GOSEC_VERSION
          export KICS_VERSION
          export OWASPZAP_VERSION
          export OWASPZAP_SHA256SUM
          export OWASPZAP_WRAPPER_VERSION
          export PREPARE_WRAPPER_VERSION
          export PMD_VERSION
          export SCANCODE_VERSION
          export SECRETVALIDATION_WRAPPER_VERSION
          export SPDX_TOOL_VERSION
          export TERN_VERSION
          export XRAY_WRAPPER_VERSION
          export DOCKER_REGISTRY="${ACTIONS_SECHUB_REGISTRY}/pds-${PDS_SOLUTION}"
          export VERSION_TAG=`./09-compute-image-tag.sh ${PDS_VERSION}`
          export BASE_IMAGE="${ACTIONS_SECHUB_REGISTRY}/pds-base:${PDS_VERSION}"
          echo "# Building image $DOCKER_REGISTRY:$VERSION_TAG from $BASE_IMAGE"
          ./10-create-image.sh "$DOCKER_REGISTRY" "$VERSION_TAG" "$BASE_IMAGE"
          ./20-push-image.sh "$DOCKER_REGISTRY" "$VERSION_TAG" yes

      - name: Build pds-${{ inputs.pds-solution }} Helm chart + push to ghcr
        shell: bash
        run: |
          PDS_SOLUTION="${{ inputs.pds-solution }}"
          HELM_DIR="sechub-pds-solutions/${PDS_SOLUTION}/helm"
          if [ ! -d "$HELM_DIR" ] ; then
            echo "No directory named \"$HELM_DIR\" found - skipping Helm chart creation"
            exit 0
          fi
          cd "$HELM_DIR"
          echo "# Building Helm chart for pds-${PDS_SOLUTION}"
          helm package pds-${PDS_SOLUTION}
          helm push pds-${PDS_SOLUTION}-*.tgz $ACTIONS_HELM_REGISTRY


================================================
FILE: .github/workflows/build+publish-all-pds-solutions.yml
================================================
# SPDX-License-Identifier: MIT
name: Build and publish all SecHub PDS solutions

on:
  workflow_dispatch:
    inputs:
      pds-version:
        description: pds-base version to use (e.g. 1.0.0)
        required: true
  workflow_call:
    inputs:
      pds-version:
        required: true
        type: string

jobs:
  call_build_pds-checkmarx:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: checkmarx
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-findsecuritybugs:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: findsecuritybugs
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-gitleaks:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: gitleaks
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-gosec:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: gosec
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-iac:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: iac
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-loc:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: loc
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-multi:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: multi
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-owaspzap:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: owaspzap
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-prepare:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: prepare
      pds-version: ${{ inputs.pds-version }}

  call_build-and-publish-pmd:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: pmd
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-scancode:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: scancode
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-tern:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: tern
      pds-version: ${{ inputs.pds-version }}

  call_build_pds-xray:
    uses: mercedes-benz/sechub/.github/workflows/_build+publish-pds-solution.yml@develop
    with:
      pds-solution: xray
      pds-version: ${{ inputs.pds-version }}


================================================
FILE: .github/workflows/documentation-build.yml
================================================
# SPDX-License-Identifier: MIT
name: Documentation build

on:
  workflow_dispatch:
    inputs:
      publish-documentation:
        description: Insert your email address here if you want to create a PR for Github pages update (branch `master`)
        required: false
  # schedule:
    # Nightly build documentation:
    # cron runs on the default branch: `develop` in our case.
    # Cron execution deactivated due to stopped development:
    # - cron:  '32 23 * * *'

env:
  ACTIONS_SECHUB_DOC_RELEASE_BRANCH: master

jobs:
  build-documentation:
    name: build documentation
    runs-on: ubuntu-latest
    steps:
      - name: "Show + check Input and git branch"
        run: |
          echo "git branch: '${{ github.ref_name }}'"
          echo "publish-documentation: '${{ inputs.publish-documentation }}'"
          if [ '${{ inputs.publish-documentation }}' != '' -a '${{ github.ref_name }}' != "$ACTIONS_SECHUB_DOC_RELEASE_BRANCH" ] ; then
            echo "Aborting run because publishing the documentation must be done on branch '$ACTIONS_SECHUB_DOC_RELEASE_BRANCH'"
            echo "Tip: Run this action again and select branch '$ACTIONS_SECHUB_DOC_RELEASE_BRANCH'"
            exit 1
          fi

      - name: Git checkout
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
        with:
          fetch-tags: true
          fetch-depth: 0

      - name: Set up JDK 17
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          java-version: 17
          distribution: temurin

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2
        with:
          # To prevent a fill-up of the actions cache:
          # Only write to the cache for builds on the 'master' branch.
          # Builds on other branches will only read existing entries from the cache.
          cache-read-only: ${{ github.ref != 'refs/heads/master' }}

      - name: Set up Go
        uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c
        with:
          go-version: 1.24.4

      - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57
        with:
          path: |
            ~/.cache/go-build
            ~/go/pkg/mod
          key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
          restore-keys: |
            ${{ runner.os }}-go-

      - name: Install graphviz (asciidoc diagrams)
        run: sudo apt-get --assume-yes install graphviz

      # -----------------------------------------
      # Build documentation
      # -----------------------------------------
      - name: Complete build with documentation
        run: ./buildDoc

      # -----------------------------------------
      # Upload documentation
      # -----------------------------------------
      - name: Archive documentation HTML
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-docs-html
          path: sechub-doc/build/docs/final-html/
          retention-days: 14

      - name: Archive documentation PDF
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-docs-pdf
          path: sechub-doc/build/docs/asciidoc/*.pdf
          retention-days: 14

      # -----------------------------------------
      # Update and commit documentation for https://mercedes-benz.github.io/sechub/
      # -----------------------------------------
      - name: Update documentation - publish and commit
        if: (inputs.publish-documentation != '') && (github.ref_name == env.ACTIONS_SECHUB_DOC_RELEASE_BRANCH)
        run: |
          git config user.name "$GITHUB_TRIGGERING_ACTOR (via github-actions)"
          git config user.email "${{ inputs.publish-documentation }}"
          git reset --hard
          sechub-doc/helperscripts/publish+git-add-releasedocs.sh
          git commit -m "docs update by '$GITHUB_TRIGGERING_ACTOR' (via github-actions)"

      # -----------------------------------------
      # Create pull request for documentation update
      # -----------------------------------------
      - name: Update website and documentation - Create pull request
        if: (inputs.publish-documentation != '') && (github.ref_name == env.ACTIONS_SECHUB_DOC_RELEASE_BRANCH)
        id: pr_release_documentation
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-documentation
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '1 - Release website and documentation [auto-generated]'
          body: |
            Release of SecHub website and documentation

            -> Please review before merge.

      - name: Update documentation - Print PR infos
        if: (inputs.publish-documentation != '') && (github.ref_name == env.ACTIONS_SECHUB_DOC_RELEASE_BRANCH)
        run: |
          echo "Pull Request Number - ${{ steps.pr_release_documentation.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_release_documentation.outputs.pull-request-url }}"


================================================
FILE: .github/workflows/github-action-scan.yml
================================================
# SPDX-License-Identifier: MIT
name: Build SecHub GHA (scan)

on:
  push:
    branches:
      - 'develop'
      - 'hotfix'
      - 'main'
      - 'master'
    paths:
      - '.github/workflows/github-action-scan.yml'
      - 'github-actions/scan/**'
      - 'sechub-cli/src/**'
  pull_request:
    paths:
      - '.github/workflows/github-action-scan.yml'
      - 'github-actions/scan/**'
      - 'sechub-cli/src/**'
  # enable manual triggering of workflow
  workflow_dispatch:
     inputs:
         client-version:
           description: Insert your client version to test (default=build)
           required: false

jobs:
  build-scan:
    runs-on: ubuntu-latest
    # Let's set the scan action folder as the working directory for all "run" steps:
    
    defaults:
      run:
        working-directory: github-actions/scan
    steps:
   
      - name: "Setup client version"
        working-directory: ~
        run: |
          echo "User input for client-version: '${{ inputs.client-version }}'"
          SECHUB_CLIENT_VERSION="${{ inputs.client-version }}"
          
          if [ "$SECHUB_CLIENT_VERSION" = "" ]; then

             echo "- not defined, set default"
             
             # set default value for version:
             SECHUB_CLIENT_VERSION=build
             
          else
             echo "- using defined version"
          fi
          
          echo "- SECHUB_CLIENT_VERSION=$SECHUB_CLIENT_VERSION"
          echo "SECHUB_CLIENT_VERSION=$SECHUB_CLIENT_VERSION" >> $GITHUB_ENV
          
          if [ "$SECHUB_CLIENT_VERSION" = "build" ]; then
             # set client build folder:
             SECHUB_CLIENT_BUILD_FOLDER=${{ github.workspace }}/sechub-cli/build 
             echo "- SECHUB_CLIENT_BUILD_FOLDER=$SECHUB_CLIENT_BUILD_FOLDER"
             echo "SECHUB_CLIENT_BUILD_FOLDER=$SECHUB_CLIENT_BUILD_FOLDER" >> $GITHUB_ENV
          fi
          
      - name: "Show client version"
        working-directory: ~
        run: |
          echo "env.SECHUB_CLIENT_VERSION='${{ env.SECHUB_CLIENT_VERSION }}'"
      
      - name: Checkout
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
      
      - name: Cache Node.js modules
        uses: actions/cache@v4
        with:
          path: ~/.npm
          key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
          restore-keys: |
            ${{ runner.os }}-node-

      - name: Use Node.js
        uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903
        with:
          node-version: 22

      - name: Build sechub-openapi-ts-client
        working-directory: sechub-openapi-ts-client
        run: |
          npm ci
          npm run generate-api-client
          npm run build

      - name: Setup npm build
        run: npm ci
        
      - name: Build action
        run: npm run build
        
      - name: Run unit tests
        run: npm test
        
      # We store git status - why? Here we see if index.js has been changed - if so, a developer
      # forgot to commit the changes - means the action cannot be used productive!  
      - name: Store git status
        run: |
          git status
          mkdir "${{ github.workspace }}/build" -p
          git status >> "${{ github.workspace }}/build/git-status.txt"
          
      - name: Set up Go
        if: env.SECHUB_CLIENT_VERSION == 'build'
        uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c
        with:
          go-version: 1.24.4

      - name: Build go client
        if: env.SECHUB_CLIENT_VERSION == 'build'
        run: |
          echo "Build go client for integration tests because client version='${{ env.SECHUB_CLIENT_VERSION }}'"
          cd ..
          cd ..
          ./gradlew buildGo

      - name: Define integration test setup
        id : version-selector
        run: |
          # Make sure that INTEGRATIONTEST_SECHUB_SERVER_VERSION and INTEGRATIONTEST_PDS_VERSION
          # are defined in https://github.com/mercedes-benz/sechub/settings/variables/actions
          if [ -z "${{ vars.INTEGRATIONTEST_SECHUB_SERVER_VERSION }}" ] ; then
            echo "INTEGRATIONTEST_SECHUB_SERVER_VERSION variable is undefined. Exiting."
            exit 1
          fi
          if [ -z "${{ vars.INTEGRATIONTEST_PDS_VERSION }}" ] ; then
            echo "INTEGRATIONTEST_PDS_VERSION variable is undefined. Exiting."
            exit 1
          fi
          echo "sechub_server_version=${{ vars.INTEGRATIONTEST_SECHUB_SERVER_VERSION }}" >> "$GITHUB_ENV"
          echo "sechub_server_port=8443" >> "$GITHUB_ENV"
          echo "pds_version=${{ vars.INTEGRATIONTEST_PDS_VERSION }}" >> "$GITHUB_ENV"
          echo "pds_port=8444" >> "$GITHUB_ENV"
          
          runner_debug=${{ runner.debug }}
          if [ "$runner_debug" = "1" ]; then
             echo "SECHUB_INTEGRATIONTEST_DEBUG=true" >> "$GITHUB_ENV"
          fi

      - name: Cache SecHub server download    
        # Cache V4 release: 13aacd865c20de90d75de3b17ebe84f7a17d57d2
        uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 
        with:
          path: ./build/sechub-runtime/server/${{ env.sechub_server_version }}/
          key: ${{ runner.os }}-sechub-server-${{ env.sechub_server_version }}
       
      - name: Cache PDS download    
        # Cache V4 release: 13aacd865c20de90d75de3b17ebe84f7a17d57d2
        uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 
        with:
          path: ./build/sechub-runtime/pds/${{ env.pds_version }}/
          key: ${{ runner.os }}-sechub-pds-${{ env.pds_version }}

      - name: Set up JDK 17 (to run servers)
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          java-version: 17
          distribution: temurin

      - name: Start integration test servers
        working-directory: ./github-actions/scan/__test__/integrationtest/
        run:  ./01-start.sh $sechub_server_version $sechub_server_port $pds_version $pds_port
        
      - name: Init integration test data
        working-directory: ./github-actions/scan/__test__/integrationtest/
        run:  ./03-init_sechub_data.sh $sechub_server_port $pds_port

      - name: Run integration tests
        run: npm run integration-test
        
      - name: Cleanup integration tests
        working-directory: ./github-actions/scan/__test__/integrationtest/
        run:  ./05-stop.sh $sechub_server_port $pds_port

      # ------------------------------------ Archive git status-------------------
      - name: Archive git status
        if: always()
        uses: actions/upload-artifact@v6.0.0
        with:
          name: git-status
          path: "${{ github.workspace }}/build/git-status.txt"
          retention-days: 14

      # ------------------------------------ Archive runtime logs-------------------
      - name: Archive runtime logs
        if: always()
        uses: actions/upload-artifact@v6.0.0
        with:
          name: sechub-runtime-logiles
          path: ./build/sechub-runtime/**/*.log
          retention-days: 14
      # ------------------------------------ Archive reports  -----------------------
      - name: Archive reports
        if: always()
        uses: actions/upload-artifact@v6.0.0
        with:
          name: sechub-reports
          path: |
             ./github-actions/scan/sechub_report*.*
             ./sechub_report*.*
          retention-days: 14


================================================
FILE: .github/workflows/gradle.yml
================================================
# SPDX-License-Identifier: MIT
name: Java & Go CI

on:
  push:
    branches:
      - 'develop'
      - 'hotfix'
      - 'main'
      - 'master'
    paths:
      - '**'
      - '!docs/**'
      - '!github-actions/**'
      - '!ide-plugins/**'
      - '!sechub-doc/**'
      - '!sechub-pds-solutions/**'
      - '!sechub-solution/**'
      - '!sechub-website/**'
      - '!sechub-web-ui/**'
      - '!sechub-web-ui-solution/**'
      - '.github/workflows/gradle.yml'
  pull_request:
    paths:
      - '**'
      - '!docs/**'
      - '!github-actions/**'
      - '!ide-plugins/**'
      - '!sechub-doc/**'
      - '!sechub-pds-solutions/**'
      - '!sechub-solution/**'
      - '!sechub-website/**'
      - '!sechub-web-ui/**'
      - '!sechub-web-ui-solution/**'
      - '.github/workflows/gradle.yml'

  # enable manual triggering of workflow
  workflow_dispatch:

jobs:
  build:
    # Skip run when triggered by a tag
    if: ${{ github.ref_type != 'tag' }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8

      - name: Set up JDK 17
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          java-version: 17
          distribution: temurin

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2
        with:
          # To prevent a fill-up of the actions cache:
          # Only write to the cache for builds on the 'master' branch.
          # Builds on other branches will only read existing entries from the cache.
          cache-read-only: ${{ github.ref != 'refs/heads/master' }}

      - name: Set up Go
        uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c
        with:
          go-version: 1.24.4

      - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57
        with:
          path: |
            ~/.cache/go-build
            ~/go/pkg/mod
          key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
          restore-keys: |
            ${{ runner.os }}-go-

      - name: Gradle clean + spotlessCheck
        run: ./gradlew clean spotlessCheck

      - name: Build Client
        run: ./gradlew :sechub-cli:buildGo :sechub-cli:testGo

      - name: Build Server, DAUI and generate OpenAPI file
        run: ./gradlew ensureLocalhostCertificate build -x :sechub-cli:build

      - name: Generate and build Java projects related to SecHub Java API
        run: ./gradlew :sechub-pds-tools:buildPDSToolsCLI

      # Integration test
      - name: Start Integration Test Servers
        run: ./gradlew :sechub-integrationtest:startIntegrationTestInstances --console=plain

      - name: Run Integration Tests
        run: ./gradlew :sechub-integrationtest:integrationtest --console=plain

      - name: Run System Tests
        run: ./gradlew :sechub-systemtest:integrationtest --console=plain

      # We use 'if: always()' to run a step even if a previous step failed
      - name: Stop Integration Test Servers
        if: always()
        run: ./gradlew :sechub-integrationtest:stopIntegrationTestInstances --console=plain

      - name: Create combined test report
        if: always()
        run: ./gradlew createCombinedTestReport 

      # -----------------------------------------
      # Upload Build Artifacts
      # -----------------------------------------
      - name: Archive combined test report
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: combined-sechub-testreport
          path: build/reports/combined-report
          retention-days: 14

      - name: Archive sechub server artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-server
          path: sechub-server/build/libs
          retention-days: 14

      - name: Archive pds server artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-pds
          path: sechub-pds/build/libs

      - name: Archive pds tools artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-pds-tools
          path: sechub-pds-tools/build/libs

      - name: Archive developer tools artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-developertools
          path: sechub-developertools/build/libs
          retention-days: 14

      - name: Archive sechub client artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-client
          path: sechub-cli/build/go
          retention-days: 14

      - name: Archive sechub integration test report artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-integrationtest-test-reports
          path: sechub-integrationtest/build/sechub-test-reports
          retention-days: 14

      - name: Archive openAPI3 JSON files
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-api-spec
          path: sechub-doc/build/api-spec/
          retention-days: 14


================================================
FILE: .github/workflows/release-client-server-pds.yml
================================================
# SPDX-License-Identifier: MIT
name: Release

on:
  workflow_dispatch:
    inputs:
      actor-email:
        description: Insert your email address here. It will be used in the generated pull requests
        required: true
      server-version:
        description: Server Version (e.g. 0.27.0)
        required: false
      server-milestone-number:
        description: Server Milestone number (e.g. 45)
        required: false
      client-version:
        description: Client Version (e.g. 0.23.0)
        required: false
      client-milestone-number:
        description: Client Milestone number (e.g. 47)
        required: false
      pds-version:
        description: PDS Version (e.g. 0.20.0)
        required: false
      pds-milestone-number:
        description: PDS Milestone number (e.g. 46)
        required: false

permissions:
  contents: write
  issues: write
  packages: write
  pull-requests: write

env:
  ACTIONS_BASE_IMAGE_ALPINE: alpine:3.20
  ACTIONS_BASE_IMAGE_DEBIAN: debian:12-slim
  ACTIONS_SECHUB_REGISTRY: ghcr.io/mercedes-benz/sechub
  ACTIONS_HELM_REGISTRY: "oci://ghcr.io/mercedes-benz/sechub/helm-charts"

jobs:
  release-version:
    name: Create releases
    runs-on: ubuntu-latest
    steps:
      - name: "Show Inputs"
        run: |
          echo "actor-email: '${{ inputs.actor-email }}'"
          echo "Server '${{ inputs.server-version }}' - Milestone '${{ inputs.server-milestone-number }}'"
          echo "Client '${{ inputs.client-version }}' - Milestone '${{ inputs.client-milestone-number }}'"
          echo "PDS '${{ inputs.pds-version }}' - Milestone '${{ inputs.pds-milestone-number }}'"
      # Check inputs if a milestone number is provided for each version to be released:
      - name: "Verify Input: Server"
        if: (inputs.server-version != '') && (inputs.server-milestone-number == '')
        run: |
          echo "For Server release, server-milestone-number must be provided!"
          exit 1
      - name: "Verify Input: Client"
        if: (inputs.client-version != '') && (inputs.client-milestone-number == '')
        run: |
          echo "For Client release, client-milestone-number must be provided!"
          exit 1
      - name: "Verify Input: PDS"
        if: (inputs.pds-version != '') && (inputs.pds-milestone-number == '')
        run: |
          echo "For PDS release, pds-milestone-number must be provided!"
          exit 1

      - name: Install required packages
        run: sudo apt-get -y install build-essential dpkg-dev fakeroot graphviz hub

      - name: Checkout master
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
        with:
          ref: master
          fetch-tags: true
          fetch-depth: 0
      # Create temporary local tags, so we build documentation for this tag...
      # The final tag on git server side will be done by the release when the draft is saved as "real" release
      # automatically.
      - name: "Temporary tag server version: v${{ inputs.server-version }}-server - if defined"
        if: inputs.server-version != ''
        run: git tag v${{ inputs.server-version }}-server

      - name: "Temporary tag client version: v${{ inputs.client-version }}-client - if defined"
        if: inputs.client-version != ''
        run: git tag v${{ inputs.client-version }}-client

      - name: "Temporary tag PDS version: v${{ inputs.pds-version }}-pds - if defined"
        if: inputs.pds-version != ''
        run: git tag v${{ inputs.pds-version }}-pds

      # ----------------------
      # Setup + Caching
      # ----------------------
      - name: Set up JDK 17
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          java-version: 17
          distribution: temurin

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2
        with:
          # To prevent a fill-up of the actions cache:
          # Only write to the cache for builds on the 'master' branch.
          # Builds on other branches will only read existing entries from the cache.
          cache-read-only: ${{ github.ref != 'refs/heads/master' }}

      - name: Set up Go
        uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c
        with:
          go-version: 1.24.4

      - name: Set up Go caching
        uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57
        id: go-cache
        with:
          path: |
            ~/.cache/go-build
            ~/go/pkg/mod
          key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
          restore-keys: |
            ${{ runner.os }}-go-

      - name: Docker login to ghcr.io
        uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Gradle clean + spotlessCheck
        run: ./gradlew clean spotlessCheck

      # ----------------------
      # Create pull request if license headers are missing
      # ----------------------
      - name: run apply-headers.sh
        id: apply-headers
        run: |
          git config user.name "$GITHUB_TRIGGERING_ACTOR (via github-actions)"
          git config user.email "${{ inputs.actor-email }}"
          ./apply-headers.sh
          git commit -am "SPDX headers added by SecHub release job @github-actions" || true
          COMMITS=`git log --oneline --branches --not --remotes`
          echo "commits=$COMMITS" >> $GITHUB_OUTPUT

      - name: Create pull request for SPDX license headers
        id: pr_spdx_headers
        if: steps.apply-headers.outputs.commits != ''
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-spdx-headers
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '0 - Before release: Add missing SPDX license headers [auto-generated]'
          body: |
            Auto-generated by Github Actions release job.

            -> Please review and merge **before** publishing the release.

      - name: Print PR infos
        if: steps.apply-headers.outputs.commits != ''
        run: |
          echo "Pull Request Number - ${{ steps.pr_spdx_headers.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_spdx_headers.outputs.pull-request-url }}"

      # ----------------------
      # Build SecHub Client
      # ----------------------
      - name: Build Client
        run: ./gradlew :sechub-cli:buildGo :sechub-cli:testGo

      # ----------------------
      # Build SecHub Server + PDS
      # ----------------------
      - name: Build Server and PDS artifacts
        run: ./gradlew ensureLocalhostCertificate build -x :sechub-cli:build

      # ----------------------
      # Build API Java publish
      # ----------------------
      - name: Generate and build Java projects related to SecHub Java API
        run: ./gradlew :sechub-pds-tools:buildPDSToolsCLI
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token

      # ----------------------
      # Integration test
      # ----------------------
      - name: Start Integration Test Servers
        run: ./gradlew :sechub-integrationtest:startIntegrationTestInstances --console=plain

      - name: Run Integration Tests
        run: ./gradlew :sechub-integrationtest:integrationtest --console=plain

      - name: Run System Tests
        run: ./gradlew :sechub-systemtest:integrationtest --console=plain

      # We use 'if: always()' to run a step even if a previous step failed
      - name: Stop Integration Test Servers
        if: always()
        run: ./gradlew :sechub-integrationtest:stopIntegrationTestInstances --console=plain

      - name: Create combined test report
        if: always()
        run: ./gradlew createCombinedTestReport -Dsechub.build.stage=all

      # To identifiy parts not in git history and leading to "-dirty-$commitId" markern in documentation
      - name: Collect GIT status
        if: always()
        run: |
          git status > build/reports/git-status.txt

      # -----------------------------------------
      # Upload Build Artifacts
      # -----------------------------------------
      - name: Archive combined test report
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: combined-sechub-testreport
          path: build/reports/combined-report
          retention-days: 14

      - name: Archive GIT status
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: git-status.txt
          path: build/reports/git-status.txt
          retention-days: 14

      - name: Archive sechub server artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-server
          path: sechub-server/build/libs
          retention-days: 14

      - name: Archive pds server artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-pds
          path: sechub-pds/build/libs

      - name: Archive developer tools artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-developertools
          path: sechub-developertools/build/libs
          retention-days: 14

      - name: Archive sechub client artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-client
          path: sechub-cli/build/go
          retention-days: 14

      # -----------------------------------------
      # Build Documentation
      # -----------------------------------------
      - name: Create documentation
        run: ./gradlew documentation-with-pages

      # -----------------------------------------
      # Upload documentation
      # -----------------------------------------
      - name: Archive documentation HTML
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-docs-html
          path: sechub-doc/build/docs/final-html/
          retention-days: 14

      - name: Archive documentation PDF
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-docs-pdf
          path: sechub-doc/build/docs/asciidoc/*.pdf
          retention-days: 14

      - name: Archive openAPI3 JSON files
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-api-spec
          path: sechub-doc/build/api-spec/
          retention-days: 14

      # -----------------------------------------
      # Update and commit website and release documentation for https://mercedes-benz.github.io/sechub/
      # -----------------------------------------
      - name: Update website and release documentation
        run: |
          git reset --hard
          sechub-doc/helperscripts/publish+git-add-releasedocs.sh
          git commit -m "docs update by SecHub release job @github-actions"

      # -----------------------------------------
      # Create pull request for release documentation
      # -----------------------------------------
      - name: Create pull request for website and release documentation
        id: pr_release_documentation
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-documentation
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '1 - Release website and documentation [auto-generated]'
          body: |
            Release of SecHub website and documentation

            -> Please review and merge **before** publishing the release.

      - name: Print PR infos
        run: |
          echo "Pull Request Number - ${{ steps.pr_release_documentation.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_release_documentation.outputs.pull-request-url }}"

      # -----------------------------------------
      # Assert releaseable, so no dirty flags on releases
      # even when all artifact creation parts are done!
      # -----------------------------------------
      - name: Assert releasable
        run: |
          git status
          ./gradlew assertReleaseable

      # ******************************************
      # S E R V E R  release
      # ******************************************
      - name: Prepare server ${{ inputs.server-version }} release artifacts
        if: inputs.server-version != ''
        shell: bash
        run: |
          mkdir server-release-artifacts
          # Collect release artifacts
          cp sechub-server/build/libs/sechub-server-${{ inputs.server-version }}.jar \
             sechub-developertools/build/libs/sechub-developertools-${{ inputs.server-version }}.jar \
             server-release-artifacts/
          cp sechub-doc/build/docs/asciidoc/sechub-architecture.pdf \
             server-release-artifacts/sechub-architecture-${{ inputs.server-version }}.pdf
          cp sechub-doc/build/docs/asciidoc/sechub-developer-quickstart-guide.pdf \
             server-release-artifacts/sechub-developer-quickstart-guide-${{ inputs.server-version }}.pdf
          cp sechub-doc/build/docs/asciidoc/sechub-operations.pdf \
             server-release-artifacts/sechub-operations-${{ inputs.server-version }}.pdf
          cp sechub-doc/build/docs/asciidoc/sechub-restapi.pdf \
             server-release-artifacts/sechub-restapi-${{ inputs.server-version }}.pdf
          # Compute sha256 checksums for .jar files
          cd server-release-artifacts
          for i in *.jar ; do
            sha256sum "$i" > "$i.sha256sum"
          done

      - name: Create server ${{ inputs.server-version }} release draft
        if: inputs.server-version != ''
        shell: bash
        run: |
          assets=()
          echo "# Adding Server binaries and docs"
          cd server-release-artifacts/
          for asset in * ; do
            filename=`basename "$asset"`
            echo "# - $filename"
            assets+=("-a" "${asset}#${filename}")
          done
          # Define release data
          tag_name="v${{ inputs.server-version }}-server"
          release_title="Server Version ${{ inputs.server-version }}"
          release_message="Changes in this Release
          - Some minor changes on SecHub server implementation"
          release_footer="For more details please look at [Milestone ${{inputs.server-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.server-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft "${assets[@]}" -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Create Server ${{ inputs.server-version }} release issue
        if: inputs.server-version != ''
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release Server ${{ inputs.server-version }}
          body: |
            See [Milestone ${{inputs.server-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.server-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.server-milestone-number }}

      # Build Server container image + push to ghcr
      - name: Build Server ${{ inputs.server-version }} container image + push to ghcr
        if: inputs.server-version != ''
        run: |
          SERVER_VERSION="${{ inputs.server-version }}"
          BUILD_FLAVOR="alpine"
          DOCKER_REGISTRY="$ACTIONS_SECHUB_REGISTRY/sechub-server"
          VERSION_TAG="${SERVER_VERSION}_${BUILD_FLAVOR}"
          cp sechub-server/build/libs/sechub-server-${SERVER_VERSION}.jar sechub-solution/docker/copy/
          cd sechub-solution
          export DOCKER_BUILD_TYPE=copy
          echo "# Building image $DOCKER_REGISTRY:$VERSION_TAG"
          echo "  from $ACTIONS_BASE_IMAGE_ALPINE"
          ./10-create-image-${BUILD_FLAVOR}.sh $DOCKER_REGISTRY $VERSION_TAG $ACTIONS_BASE_IMAGE_ALPINE
          echo "# Pushing image $DOCKER_REGISTRY:$VERSION_TAG (latest)"
          ./20-push-image.sh $DOCKER_REGISTRY $VERSION_TAG yes

      - name: Build Server Helm chart + push to ghcr
        if: inputs.server-version != ''
        shell: bash
        run: |
          cd "sechub-solution/helm"
          echo "# Building Helm chart for sechub-server"
          helm package sechub-server
          helm push sechub-server-*.tgz $ACTIONS_HELM_REGISTRY


      # ******************************************
      # C l i e n t  release
      # ******************************************
      - name: Create client binary release asset sechub-cli-${{ inputs.client-version }}.zip
        if: inputs.client-version != ''
        run: |
          cd sechub-cli/build/go
          zip -r sechub-cli-${{ inputs.client-version }}.zip platform
          sha256sum sechub-cli-${{ inputs.client-version }}.zip > sechub-cli-${{ inputs.client-version }}.zip.sha256

      - name: Create client Debian packages
        if: inputs.client-version != ''
        shell: bash
        run: sechub-cli/script/build-debian-packages.sh ${{ inputs.client-version }}

      - name: Create client ${{ inputs.client-version }} release draft
        if: inputs.client-version != ''
        shell: bash
        run: |
          assets=()
          cp "sechub-doc/build/docs/asciidoc/sechub-client.pdf" sechub-client-${{ inputs.client-version }}.pdf
          echo "# Adding Client binaries, docs and Debian packages"
          for asset in sechub-cli/build/go/sechub-cli-${{ inputs.client-version }}.zip* sechub-client-${{ inputs.client-version }}.pdf sechub-cli/build/deb-build/*.deb ; do
            filename=`basename "$asset"`
            echo "# - $filename"
            assets+=("-a" "${asset}#${filename}")
          done
          # Define release data
          tag_name="v${{ inputs.client-version }}-client"
          release_title="Client Version ${{ inputs.client-version }}"
          release_message="Changes in this Release
          - Some minor changes on client implementation"
          release_footer="For more details please look at [Milestone ${{inputs.client-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.client-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft "${assets[@]}" -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Create Client ${{ inputs.client-version }} release issue
        if: inputs.client-version != ''
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release Client ${{ inputs.client-version }}
          body: |
            See [Milestone ${{inputs.client-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.client-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.client-milestone-number }}


      # ******************************************
      # P D S  release
      # ******************************************
      - name: Prepare PDS ${{ inputs.pds-version }} release artifacts
        if: inputs.pds-version != ''
        shell: bash
        run: |
          mkdir pds-release-artifacts
          # Collect release artifacts
          cp sechub-pds/build/libs/sechub-pds-${{ inputs.pds-version }}.jar \
             pds-release-artifacts/
          cp sechub-doc/build/docs/asciidoc/sechub-product-delegation-server.pdf \
             pds-release-artifacts/sechub-product-delegation-server-${{ inputs.pds-version }}.pdf
          # Compute sha256 checksums for .jar files
          cd pds-release-artifacts
          for i in *.jar ; do
            sha256sum "$i" > "$i.sha256sum"
          done

      - name: Create PDS ${{ inputs.pds-version }} release draft
        if: inputs.pds-version != ''
        shell: bash
        run: |
          assets=()
          echo "# Adding PDS binaries and docs"
          cd pds-release-artifacts/
          for asset in * ; do
            filename=`basename "$asset"`
            echo "# - $filename"
            assets+=("-a" "${asset}#${filename}")
          done
          # Define release data
          tag_name="v${{ inputs.pds-version }}-pds"
          release_title="PDS Version ${{ inputs.pds-version }}"
          release_message="Changes in this Release
          - Some minor changes on PDS server implementation"
          release_footer="For more details please look at [Milestone ${{inputs.pds-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.pds-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft "${assets[@]}" -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Create PDS ${{ inputs.pds-version }} release issue
        if: inputs.pds-version != ''
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release PDS ${{ inputs.pds-version }}
          body: |
            See [Milestone ${{inputs.pds-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.pds-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.pds-milestone-number }}

      # Build pds-base container image + push to ghcr
      - name: Build pds-base ${{ inputs.server-version }} container image + push to ghcr
        if: inputs.pds-version != ''
        run: |
          PDS_VERSION="${{ inputs.pds-version }}"
          DOCKER_REGISTRY="$ACTIONS_SECHUB_REGISTRY/pds-base"
          VERSION_TAG="${PDS_VERSION}"
          cp sechub-pds/build/libs/sechub-pds-${PDS_VERSION}.jar sechub-pds-solutions/pds-base/docker/copy/
          cd sechub-pds-solutions/pds-base
          echo "# Building image $DOCKER_REGISTRY:$VERSION_TAG"
          echo "  from $ACTIONS_BASE_IMAGE_DEBIAN"
          ./10-create-image.sh $DOCKER_REGISTRY $VERSION_TAG $PDS_VERSION $ACTIONS_BASE_IMAGE_DEBIAN copy
          echo "# Pushing image $DOCKER_REGISTRY:$VERSION_TAG (latest)"
          ./20-push-image.sh $DOCKER_REGISTRY $VERSION_TAG yes


      # -----------------------------------------
      # Create a pull request for merging back `master` into `develop`
      # -----------------------------------------
      - name: pull-request master to develop
        id: pr_master_to_develop
        continue-on-error: true
        uses: repo-sync/pull-request@7e79a9f5dc3ad0ce53138f01df2fad14a04831c5
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          source_branch: "master"
          destination_branch: "develop"
          pr_allow_empty: true  # should allow an empty PR, but seems not to work
          pr_title: '2 - After release: Merge master back into develop [auto-generated]'
          pr_body: |
            After SecHub release
            - Client '${{ inputs.client-version }}'
            - Server '${{ inputs.server-version }}'
            - PDS '${{ inputs.pds-version }}'

            Merge master branch back into develop

            -> Please merge **after** the release has been published.

      - name: Print PR infos if PR was created
        if: steps.pr_master_to_develop.outcome == 'success'
        run: |
          echo "Pull Request Number - ${{ steps.pr_master_to_develop.outputs.pr_number }}"
          echo "Pull Request URL - ${{ steps.pr_master_to_develop.outputs.pr_url }}"

      - name: Print info if no PR was created
        if: steps.pr_master_to_develop.outcome != 'success'
        run: |
          echo "Nothing to merge - no pull request necessary."


  build-pds-solutions:
    if: inputs.pds-version != ''
    needs: release-version
    # Build all PDS solutions based on above released pds-base image
    name: Build all PDS solutions
    uses: mercedes-benz/sechub/.github/workflows/build+publish-all-pds-solutions.yml@develop
    with:
      pds-version: ${{ inputs.pds-version }}


================================================
FILE: .github/workflows/release-github-action.yml
================================================
# SPDX-License-Identifier: MIT
name: Release Github Action

on:
  workflow_dispatch:
    inputs:
      actor-email:
        description: Insert your email address here. It will be used in the generated pull requests
        required: true
      ghaction-version:
        description: Github Action Version (e.g. 1.0.0)
        required: true
      ghaction-milestone-number:
        description: Github Action Milestone number (e.g. 70)
        required: true

permissions:
  contents: write
  issues: write
  pull-requests: write

env:
  GHACTION: github-actions/scan

jobs:
  release-version:
    name: Create Github Action release
    runs-on: ubuntu-latest
    steps:

      - name: "Show Inputs"
        run: |
          echo "actor-email: '${{ inputs.actor-email }}'"
          echo "Github Action '${{ inputs.ghaction-version }}' - Milestone '${{ inputs.ghaction-milestone-number }}'"

      # Check inputs:
      - name: "Verify Input for Github Action release"
        if: (inputs.ghaction-version == '') || (inputs.ghaction-milestone-number == '')
        run: |
          echo "For Github Action release, ghaction-version and ghaction-milestone-number must be provided!"
          exit 1

      - name: Checkout master
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
        with:
          ref: master

      # ----------------------
      # Setup + Caching
      # ----------------------
      - name: Install required packages
        run: |
          sudo apt-get update
          sudo apt-get -y install hub

      - name: Use Node.js
        uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903
        with:
          node-version: 22

      - name: Git setup
        run: |
          git config user.name "$GITHUB_TRIGGERING_ACTOR (via github-actions)"
          git config user.email "${{ inputs.actor-email }}"

      # ----------------------
      # Create pull request if license headers are missing
      # ----------------------
      - name: run apply-headers.sh
        id: apply-headers
        run: |
          ./apply-headers.sh
          git commit -am "SPDX headers added by SecHub release job @github-actions" || true
          COMMITS=`git log --oneline --branches --not --remotes`
          echo "commits=$COMMITS" >> $GITHUB_OUTPUT

      - name: Create pull request for SPDX license headers
        id: pr_spdx_headers
        if: steps.apply-headers.outputs.commits != ''
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-spdx-headers
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '0 - Before Github Action release: Add missing SPDX license headers [auto-generated]'
          body: |
            Auto-generated by Github Actions release job.

            -> Please review and merge **before** publishing the ghaction release.

      - name: Print PR infos
        if: steps.apply-headers.outputs.commits != ''
        run: |
          echo "Pull Request Number - ${{ steps.pr_spdx_headers.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_spdx_headers.outputs.pull-request-url }}"

      - name: Build sechub-openapi-ts-client
        working-directory: sechub-openapi-ts-client
        run: |
          npm ci
          npm run generate-api-client
          npm run build

      # ----------------------
      # Build SecHub Github Action + set package version
      # ----------------------
      - name: Build github-actions/scan and set package version to v${{ inputs.ghaction-version }}
        run: |
          cd $GHACTION
          echo "# $GHACTION - Update package version to ${{ inputs.ghaction-version }}"
          echo "$( jq --arg a "${{ inputs.ghaction-version }}" '.version = $a' package.json )" > package.json
          echo "# $GHACTION - Install dependencies"
          npm ci
          echo "# $GHACTION - Run build"
          npm run build
          echo "# $GHACTION - Run unit tests"
          npm test

      # -----------------------------------------
      # Create release issue
      # -----------------------------------------
      - name: Create SecHub Github Action ${{ inputs.ghaction-version }} release issue
        id: release-issue
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release SecHub Github Action ${{ inputs.ghaction-version }}
          body: |
            See [Milestone ${{inputs.ghaction-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.ghaction-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.ghaction-milestone-number }}

      # ----------------------
      # Create pull request for updated files
      # ----------------------
      - name: Commit build artifacts from above steps
        id: github-actions_commit
        run: |
          git add -f "$GHACTION"/dist/*
          git commit -am "SecHub release job @github-actions for Github Action ${{ inputs.ghaction-version }} #${{ steps.release-issue.outputs.number }}" || true
          COMMITS=`git log --oneline --branches --not --remotes`
          echo "commits=$COMMITS" >> $GITHUB_OUTPUT

      - name: Create pull request for SecHub Github Action release
        id: pr_gha-release
        if: steps.github-actions_commit.outputs.commits != ''
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-github-action
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '1 - Before Github Action release: Merge release artifacts [auto-generated]'
          body: |
            Auto-generated by Github Actions release job.

            -> Please review and merge **before** publishing the ghaction release.

      - name: Print PR infos
        if: steps.github-actions_commit.outputs.commits != ''
        run: |
          echo "Pull Request Number - ${{ steps.pr_gha-release.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_gha-release.outputs.pull-request-url }}"

      # -----------------------------------------
      # Create draft release
      # -----------------------------------------
      - name: Create Github Action ${{ inputs.ghaction-version }} release draft
        shell: bash
        run: |
          # Define release data
          tag_name="v${{ inputs.ghaction-version }}-gha"
          release_title="Github Action Version ${{ inputs.ghaction-version }}"
          release_message="Changes in this Release
          - Some minor changes on Github Action implementation"
          release_footer="For more details please look at [Milestone ${{inputs.ghaction-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.ghaction-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      # -----------------------------------------
      # Create a pull request for merging back `master` into `develop`
      # -----------------------------------------
      - name: pull-request master to develop
        id: pr_master_to_develop
        continue-on-error: true
        uses: repo-sync/pull-request@7e79a9f5dc3ad0ce53138f01df2fad14a04831c5
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          source_branch: "master"
          destination_branch: "develop"
          pr_allow_empty: true  # should allow an empty PR, but seems not to work
          pr_title: '2 - After Github Action release: Merge master back into develop [auto-generated]'
          pr_body: |
            After SecHub Github Action release
            - Github Action '${{ inputs.ghaction-version }}'

            Merge master branch back into develop

            -> Please merge **after** the release has been published.

      - name: Print PR infos if PR was created
        if: steps.pr_master_to_develop.outcome == 'success'
        run: |
          echo "Pull Request Number - ${{ steps.pr_master_to_develop.outputs.pr_number }}"
          echo "Pull Request URL - ${{ steps.pr_master_to_develop.outputs.pr_url }}"

      - name: Print info if no PR was created
        if: steps.pr_master_to_develop.outcome != 'success'
        run: |
          echo "Nothing to merge - no pull request necessary."


================================================
FILE: .github/workflows/release-pds-tools.yml
================================================
# SPDX-License-Identifier: MIT
name: Release PDS-Tools

on:
  workflow_dispatch:
    inputs:
      actor-email:
        description: Insert your email address here. It will be used in the generated pull requests
        required: true
      pds-tools-version:
        description: PDS-Tools Version (e.g. 0.1.0)
        required: true
      pds-tools-milestone-number:
        description: PDS-Tools Milestone number (e.g. 70)
        required: true
jobs:
  release-version:
    name: Create PDS-Tools release
    runs-on: ubuntu-latest
    steps:

      - name: "Show Inputs"
        run: |
          echo "actor-email: '${{ inputs.actor-email }}'"
          echo "PDS-Tools '${{ inputs.pds-tools-version }}' - Milestone '${{ inputs.pds-tools-milestone-number }}'"

      # Check inputs if a milestone number is provided for each version to be released:
      - name: "Verify Input: PDS-Tools"
        if: (inputs.pds-tools-version != '') && (inputs.pds-tools-milestone-number == '')
        run: |
          echo "For PDS-Tools release, pds-tools-milestone-number must be provided!"
          exit 1

      - name: Checkout master
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
        with:
          ref: master

      # Create temporary local tags, so we build documentation for this tag...
      # The final tag on git server side will be done by the release when the draft is saved as "real" release
      # automatically.
      - name: "Temporary tag server version: v${{ inputs.pds-tools-version }}-pds-tools"
        run: git tag v${{ inputs.pds-tools-version }}-pds-tools

      # ----------------------
      # Setup + Caching
      # ----------------------
      - name: Install required packages
        run: sudo apt-get -y install hub

      - name: Set up JDK 17
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          java-version: 17
          distribution: temurin

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2
        with:
          # To prevent a fill-up of the actions cache:
          # Only write to the cache for builds on the 'master' branch.
          # Builds on other branches will only read existing entries from the cache.
          cache-read-only: ${{ github.ref != 'refs/heads/master' }}

      # ----------------------
      # Create pull request if license headers are missing
      # ----------------------
      - name: run apply-headers.sh
        id: apply-headers
        run: |
          git config user.name "$GITHUB_TRIGGERING_ACTOR (via github-actions)"
          git config user.email "${{ inputs.actor-email }}"
          ./apply-headers.sh
          git commit -am "SPDX headers added by SecHub release job @github-actions" || true
          COMMITS=`git log --oneline --branches --not --remotes`
          echo "commits=$COMMITS" >> $GITHUB_OUTPUT

      - name: Create pull request for SPDX license headers
        id: pr_spdx_headers
        if: steps.apply-headers.outputs.commits != ''
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-spdx-headers
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '0 - Before pds-tools release: Add missing SPDX license headers [auto-generated]'
          body: |
            Auto-generated by Github Actions pds-tools release job.

            -> Please review and merge **before** publishing the pds-tools release.

      - name: Print PR infos
        if: steps.apply-headers.outputs.commits != ''
        run: |
          echo "Pull Request Number - ${{ steps.pr_spdx_headers.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_spdx_headers.outputs.pull-request-url }}"

      # ----------------------
      # Build SecHub PDS-Tools
      # ----------------------
      - name: Build Server, DAUI and generate OpenAPI file
        run: ./gradlew ensureLocalhostCertificate build -x :sechub-integrationtest:test -x :sechub-cli:build

      - name: Generate and build Java projects related to SecHub Java API
        run: ./gradlew :sechub-pds-tools:buildPDSToolsCLI -Dsechub.build.stage=api-necessary

      # To identifiy parts not in git history and leading to "-dirty-$commitId" markern in documentation
      - name: Collect GIT status
        if: always()
        run: |
          mkdir -p build/reports
          git status > build/reports/git-status.txt
          echo "--- git tags:" >> build/reports/git-status.txt
          git tag --points-at HEAD >> build/reports/git-status.txt

      - name: Archive GIT status
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: git-status.txt
          path: build/reports/git-status.txt
          retention-days: 14

      - name: Archive PDS-Tools cli artifact
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-pds-tools
          path: sechub-pds-tools/build/libs
          retention-days: 14

      # -----------------------------------------
      # Assert releaseable, so no dirty flags on releases
      # even when all artifact creation parts are done!
      # -----------------------------------------
      - name: Assert releasable
        run: |
          git status
          ./gradlew assertReleaseable

      # ******************************************
      # P D S - T o o l s  release
      # ******************************************
      - name: Prepare PDS-Tools ${{ inputs.pds-tools-version }} release artifacts
        shell: bash
        run: |
          mkdir pds-tools-release-artifacts
          # Collect release artifacts
          cp sechub-pds-tools/build/libs/sechub-pds-tools-cli-${{ inputs.pds-tools-version }}.jar \
             pds-tools-release-artifacts/
          # Compute sha256 checksums for .jar files
          cd pds-tools-release-artifacts
          for i in *.jar ; do
            sha256sum "$i" > "$i.sha256sum"
          done

      - name: Create PDS-Tools ${{ inputs.pds-tools-version }} release draft
        shell: bash
        run: |
          assets=()
          echo "# Adding PDS binaries and docs"
          cd pds-tools-release-artifacts/
          for asset in * ; do
            filename=`basename "$asset"`
            echo "# - $filename"
            assets+=("-a" "${asset}#${filename}")
          done
          # Define release data
          tag_name="v${{ inputs.pds-tools-version }}-pds-tools"
          release_title="PDS-Tools Version ${{ inputs.pds-tools-version }}"
          release_message="Changes in this Release
          - Some minor changes on PDS-Tools implementation"
          release_footer="For more details please look at [Milestone ${{inputs.pds-tools-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.pds-tools-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft "${assets[@]}" -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      # -----------------------------------------
      # Create release issue
      # -----------------------------------------
      - name: Create PDS-Tool ${{ inputs.pds-tools-version }} release issue
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release PDS-Tool ${{ inputs.pds-tools-version }}
          body: |
            See [Milestone ${{inputs.pds-tools-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.pds-tools-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.pds-tools-milestone-number }}

      # -----------------------------------------
      # Create a pull request for merging back `master` into `develop`
      # -----------------------------------------
      - name: pull-request master to develop
        id: pr_master_to_develop
        continue-on-error: true
        uses: repo-sync/pull-request@7e79a9f5dc3ad0ce53138f01df2fad14a04831c5
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          source_branch: "master"
          destination_branch: "develop"
          pr_allow_empty: true  # should allow an empty PR, but seems not to work
          pr_title: '2 - After pds-tools release: Merge master back into develop [auto-generated]'
          pr_body: |
            After PDS-Tool release
            - PDS-Tools '${{ inputs.pds-tools-version }}'

            Merge master branch back into develop

            -> Please merge **after** the release has been published.

      - name: Print PR infos if PR was created
        if: steps.pr_master_to_develop.outcome == 'success'
        run: |
          echo "Pull Request Number - ${{ steps.pr_master_to_develop.outputs.pr_number }}"
          echo "Pull Request URL - ${{ steps.pr_master_to_develop.outputs.pr_url }}"

      - name: Print info if no PR was created
        if: steps.pr_master_to_develop.outcome != 'success'
        run: |
          echo "Nothing to merge - no pull request necessary."


================================================
FILE: .github/workflows/release-web-ui.yml
================================================
# SPDX-License-Identifier: MIT
name: Release Web UI

on:
  workflow_dispatch:
    inputs:
      actor-email:
        description: Insert your email address here. It will be used in the generated pull requests
        required: true
      web-ui-version:
        description: Web-UI Version (e.g. 1.0.0)
        required: true
      web-ui-milestone-number:
        description: Web-UI Milestone number (e.g. 70)
        required: true

permissions:
  contents: write
  issues: write
  packages: write
  pull-requests: write

env:
  ACTIONS_BASE_IMAGE_DEBIAN: debian:12-slim
  ACTIONS_SECHUB_REGISTRY: ghcr.io/mercedes-benz/sechub
  ACTIONS_HELM_REGISTRY: "oci://ghcr.io/mercedes-benz/sechub/helm-charts"
  WEB_UI_RELEASE_ZIPFILE: "sechub-web-ui_htdocs.zip"

jobs:
  release-version:
    name: Create Web-UI release
    runs-on: ubuntu-latest
    steps:

      - name: "Show Inputs"
        run: |
          echo "actor-email: '${{ inputs.actor-email }}'"
          echo "Web-UI '${{ inputs.web-ui-version }}' - Milestone '${{ inputs.web-ui-milestone-number }}'"

      - name: Checkout master
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
        with:
          ref: master

      - name: Install required packages
        run: sudo apt-get -y install hub

      # Create temporary local tag, so we build for this tag...
      # The final tag on git server side will be done automatically by the release when the draft is saved as "real" release
      - name: "Temporary tag server version: v${{ inputs.web-ui-version }}-web-ui"
        run: git tag v${{ inputs.web-ui-version }}-web-ui

      # ------------------------------
      # Node.js is needed for building
      # ------------------------------
      - name: Use Node.js
        uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903
        with:
          node-version: 22

      - name: Docker login to ghcr.io
        uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GITHUB_TOKEN }}

      # ----------------------
      # Create pull request if license headers are missing
      # ----------------------
      - name: run apply-headers.sh
        id: apply-headers
        run: |
          git config user.name "$GITHUB_TRIGGERING_ACTOR (via github-actions)"
          git config user.email "${{ inputs.actor-email }}"
          ./apply-headers.sh
          git commit -am "SPDX headers added by SecHub release job @github-actions" || true
          COMMITS=`git log --oneline --branches --not --remotes`
          echo "commits=$COMMITS" >> $GITHUB_OUTPUT

      - name: Create pull request for SPDX license headers
        id: pr_spdx_headers
        if: steps.apply-headers.outputs.commits != ''
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-spdx-headers
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '0 - Before web-ui release: Add missing SPDX license headers [auto-generated]'
          body: |
            Auto-generated by Github Actions web-ui release job.

            -> Please review and merge **before** publishing the web-ui release.

      - name: Print PR infos
        if: steps.apply-headers.outputs.commits != ''
        run: |
          echo "Pull Request Number - ${{ steps.pr_spdx_headers.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_spdx_headers.outputs.pull-request-url }}"

      # ----------------------
      # Build SecHub Web-UI
      # ----------------------
      - name: Build SecHub web-ui
        run: |
          cd sechub-web-ui && \
          npm ci && \
          npm run generate-api-client && \
          npm run build && \
          cd dist && \
          echo '${{ inputs.web-ui-version }}' > sechub-web-ui_version.txt && \
          zip -r ../../$WEB_UI_RELEASE_ZIPFILE *

      - name: Collect GIT status
        if: always()
        run: |
          mkdir -p build/reports
          git status > build/reports/git-status.txt
          echo "--- git tags:" >> build/reports/git-status.txt
          git tag --points-at HEAD >> build/reports/git-status.txt

      - name: Archive GIT status
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: git-status.txt
          path: build/reports/git-status.txt
          retention-days: 7

      - name: Archive Web-UI artifacts
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-web-ui_htdocs
          path: sechub-web-ui/dist/
          retention-days: 7

      # ******************************************
      # W e b - U I  release
      # ******************************************
      - name: Prepare PDS-Tools ${{ inputs.pds-tools-version }} release artifacts
        shell: bash
        run: sha256sum $WEB_UI_RELEASE_ZIPFILE > $WEB_UI_RELEASE_ZIPFILE.sha256sum

      - name: Create PDS-Tools ${{ inputs.pds-tools-version }} release draft
        shell: bash
        run: |
          assets=()
          echo "# Adding web-ui content"
          for asset in $WEB_UI_RELEASE_ZIPFILE $WEB_UI_RELEASE_ZIPFILE.sha256sum ; do
            filename=`basename "$asset"`
            echo "# - $filename"
            assets+=("-a" "${asset}#${filename}")
          done
          # Define release data
          tag_name="v${{ inputs.web-ui-version }}-web-ui"
          release_title="web-ui Version ${{ inputs.web-ui-version }}"
          release_message="Changes in this Release
          - New shiny Web-UI features"
          release_footer="For more details please look at [Milestone ${{inputs.web-ui-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.web-ui-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft "${assets[@]}" -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      # -----------------------------------------
      # Create release issue
      # -----------------------------------------
      - name: Create SecHub Web-UI ${{ inputs.web-ui-version }} release issue
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release SecHub Web-UI ${{ inputs.web-ui-version }}
          body: |
            See [Milestone ${{inputs.web-ui-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.web-ui-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.web-ui-milestone-number }}

      # Build SecHub Web-UI container image + push to ghcr
      - name: Build SecHub web-ui ${{ inputs.web-ui-version }} container image + push to ghcr
        run: |
          WEB_UI_VERSION="${{ inputs.web-ui-version }}"
          DOCKER_REGISTRY="$ACTIONS_SECHUB_REGISTRY/web-ui"
          VERSION_TAG="${WEB_UI_VERSION}"
          echo "# Building image $DOCKER_REGISTRY:$VERSION_TAG"
          echo "  from $ACTIONS_BASE_IMAGE_DEBIAN"
          cp -r sechub-web-ui/dist sechub-web-ui-solution/docker/copy
          cd sechub-web-ui-solution
          export BASE_IMAGE="$ACTIONS_BASE_IMAGE_DEBIAN"
          export BUILD_TYPE=copy
          ./10-create-image.sh "$DOCKER_REGISTRY" "$VERSION_TAG" "$WEB_UI_VERSION"
          echo "# Pushing image $DOCKER_REGISTRY:$VERSION_TAG (latest)"
          ./20-push-image.sh "$DOCKER_REGISTRY" "$VERSION_TAG" yes

      - name: Build SecHub web-ui Helm chart + push to ghcr
        shell: bash
        run: |
          cd sechub-web-ui-solution/helm
          rm -f *.tgz
          echo "# Building Helm chart for SecHub Web-UI"
          helm package web-ui
          helm push web-ui-*.tgz $ACTIONS_HELM_REGISTRY

      # -----------------------------------------
      # Create a pull request for merging back `master` into `develop`
      # -----------------------------------------
      - name: pull-request master to develop
        id: pr_master_to_develop
        continue-on-error: true
        uses: repo-sync/pull-request@7e79a9f5dc3ad0ce53138f01df2fad14a04831c5
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          source_branch: "master"
          destination_branch: "develop"
          pr_allow_empty: true  # should allow an empty PR, but seems not to work
          pr_title: '2 - After web-ui release: Merge master back into develop [auto-generated]'
          pr_body: |
            After SecHub Web-UI release
            - Web-UI '${{ inputs.web-ui-version }}'

            Merge master branch back into develop

            -> Please merge **after** the release has been published.

      - name: Print PR infos if PR was created
        if: steps.pr_master_to_develop.outcome == 'success'
        run: |
          echo "Pull Request Number - ${{ steps.pr_master_to_develop.outputs.pr_number }}"
          echo "Pull Request URL - ${{ steps.pr_master_to_develop.outputs.pr_url }}"

      - name: Print info if no PR was created
        if: steps.pr_master_to_develop.outcome != 'success'
        run: |
          echo "Nothing to merge - no pull request necessary."


================================================
FILE: .github/workflows/release-wrapper-checkmarx.yml
================================================
# SPDX-License-Identifier: MIT
name: Release wrapper for Checkmarx

on:
  workflow_dispatch:
    inputs:
      actor-email:
        description: Insert your email address here. It will be used in the generated pull requests
        required: true
      checkmarx-wrapper-version:
        description: Checkmarx-wrapper Version (e.g. 1.0.0)
        required: true
      checkmarx-wrapper-milestone-number:
        description: Checkmarx-wrapper Milestone number (e.g. 91)
        required: true
jobs:
  release-version:
    name: Create Checkmarx-wrapper release
    runs-on: ubuntu-latest
    steps:
      - name: "Show Inputs"
        run: |
          echo "actor-email: '${{ inputs.actor-email }}'"
          echo "Checkmarx-wrapper '${{ inputs.checkmarx-wrapper-version }}' - Milestone '${{ inputs.checkmarx-wrapper-milestone-number }}'"

      - name: Checkout branch master
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
        with:
          ref: master

      # Create temporary local tags, so we build documentation for this tag...
      # The final tag on git server side will be done automatically by the release when the draft is saved as "real" release
      - name: Tag Checkmarx Wrapper version v${{ inputs.checkmarx-wrapper-version }}-checkmarx-wrapper (temporarily)
        run: git tag v${{ inputs.checkmarx-wrapper-version }}-checkmarx-wrapper

      # ----------------------
      # Setup + Caching
      # ----------------------
      - name: Install required packages
        run: sudo apt-get -y install hub

      - name: Set up JDK 17
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          java-version: 17
          distribution: temurin

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2
        with:
          # To prevent a fill-up of the actions cache:
          # Only write to the cache for builds on the 'master' branch.
          # Builds on other branches will only read existing entries from the cache.
          cache-read-only: ${{ github.ref != 'refs/heads/master' }}

      # ----------------------
      # Create a pull request if license headers are missing
      # ----------------------
      - name: run apply-headers.sh
        id: apply-headers
        run: |
          git config user.name "$GITHUB_TRIGGERING_ACTOR (via github-actions)"
          git config user.email "${{ inputs.actor-email }}"
          ./apply-headers.sh
          git commit -am "SPDX headers added by SecHub release job @github-actions" || true
          COMMITS=`git log --oneline --branches --not --remotes`
          echo "commits=$COMMITS" >> $GITHUB_OUTPUT

      - name: Create a pull request for SPDX license headers
        id: pr_spdx_headers
        if: steps.apply-headers.outputs.commits != ''
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-spdx-headers
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '0 - Before checkmarx-wrapper release: Add missing SPDX license headers [auto-generated]'
          body: |
            Auto-generated by Github Actions checkmarx-wrapper release job.

            -> Please review and merge **before** publishing the checkmarx-wrapper release.

      - name: Print PR infos
        if: steps.apply-headers.outputs.commits != ''
        run: |
          echo "Pull Request Number - ${{ steps.pr_spdx_headers.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_spdx_headers.outputs.pull-request-url }}"

      - name: Switch back to master branch
        run: git checkout master

      # -----------------------------------------
      # Build SecHub Checkmarx Wrapper
      # -----------------------------------------
      - name: Build Checkmarx Wrapper
        run: ./gradlew :sechub-wrapper-checkmarx:bootJar

      # -----------------------------------------
      # Upload build artifacts
      # -----------------------------------------
      - name: Inspect GIT status
        if: always()
        run: |
          mkdir build/reports -p
          git status > build/reports/git-status.txt

      - name: Archive GIT status
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: git-status.txt
          path: build/reports/git-status.txt
          retention-days: 14

      - name: Archive Checkmarx Wrapper libs directory
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-wrapper-checkmarx
          path: sechub-wrapper-checkmarx/build/libs
          retention-days: 14

      - name: Switch back to master branch
        run: git checkout master

      # -----------------------------------------
      # Assert releaseable, so no dirty flags on releases
      # even when all artifact creation parts are done!
      # -----------------------------------------
      - name: Assert releasable
        run: ./gradlew assertReleaseable

      # ******************************************
      # Checkmarx Wrapper release
      # ******************************************
      - name: Prepare Checkmarx Wrapper ${{ inputs.checkmarx-wrapper-version }} release artifacts
        shell: bash
        run: |
          cd sechub-wrapper-checkmarx/build/libs/
          sha256sum sechub-wrapper-checkmarx-${{ inputs.checkmarx-wrapper-version }}.jar > sechub-wrapper-checkmarx-${{ inputs.checkmarx-wrapper-version }}.jar.sha256sum

      - name: Create Checkmarx Wrapper ${{ inputs.checkmarx-wrapper-version }} release draft
        shell: bash
        run: |
          assets=()
          echo "# Adding release artifacts"
          cd sechub-wrapper-checkmarx/build/libs/
          for asset in sechub-wrapper-checkmarx-${{ inputs.checkmarx-wrapper-version }}.jar* ; do
            filename=`basename "$asset"`
            echo "# - $filename"
            assets+=("-a" "${asset}#${filename}")
          done
          # Define release data
          tag_name="v${{ inputs.checkmarx-wrapper-version }}-checkmarx-wrapper"
          release_title="Checkmarx Wrapper Version ${{ inputs.checkmarx-wrapper-version }}"
          release_message="Changes in this Release
          - Some minor changes on Checkmarx Wrapper implementation"
          release_footer="For more details please look at [Milestone ${{inputs.checkmarx-wrapper-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.checkmarx-wrapper-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft "${assets[@]}" -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      # -----------------------------------------
      # Create release issue
      # -----------------------------------------
      - name: Create Checkmarx Wrapper ${{ inputs.checkmarx-wrapper-version }} release issue
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release Checkmarx Wrapper ${{ inputs.checkmarx-wrapper-version }}
          body: |
            See [Milestone ${{inputs.checkmarx-wrapper-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.checkmarx-wrapper-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.checkmarx-wrapper-milestone-number }}

      # -----------------------------------------
      # Create a pull request for merging back `master` into `develop`
      # -----------------------------------------
      - name: pull-request master to develop
        id: pr_master_to_develop
        continue-on-error: true
        uses: repo-sync/pull-request@7e79a9f5dc3ad0ce53138f01df2fad14a04831c5
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          source_branch: "master"
          destination_branch: "develop"
          pr_allow_empty: true  # should allow an empty PR, but seems not to work
          pr_title: '2 - After Checkmarx Wrapper release: Merge master back into develop [auto-generated]'
          pr_body: |
            Merge master branch back into develop

            -> Please merge **after** the release has been published.

      - name: Print PR infos if PR was created
        if: steps.pr_master_to_develop.outcome == 'success'
        run: |
          echo "Pull Request Number - ${{ steps.pr_master_to_develop.outputs.pr_number }}"
          echo "Pull Request URL - ${{ steps.pr_master_to_develop.outputs.pr_url }}"

      - name: Print info if no PR was created
        if: steps.pr_master_to_develop.outcome != 'success'
        run: |
          echo "Nothing to merge - no pull request necessary."


================================================
FILE: .github/workflows/release-wrapper-owaspzap.yml
================================================
# SPDX-License-Identifier: MIT
name: Release wrapper for OWASP-ZAP

on:
  workflow_dispatch:
    inputs:
      actor-email:
        description: Insert your email address here. It will be used in the generated pull requests
        required: true
      owaspzap-wrapper-version:
        description: OWASP-ZAP Wrapper Version (e.g. 1.0.0)
        required: true
      owaspzap-wrapper-milestone-number:
        description: OWASP-ZAP Wrapper Milestone number (e.g. 90)
        required: true

jobs:
  release-version:
    name: Create OWASP-ZAP Wrapper release
    runs-on: ubuntu-latest
    steps:
      - name: Show Inputs
        run: |
          echo "actor-email: '${{ inputs.actor-email }}'"
          echo "OWASP-ZAP Wrapper '${{ inputs.owaspzap-wrapper-version }}' - Milestone '${{ inputs.owaspzap-wrapper-milestone-number }}'"

      - name: Checkout branch master
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
        with:
          ref: master

      # Create temporary local tags, so we build documentation for this tag...
      # The final tag on git server side will be done automatically by the release when the draft is saved as "real" release
      - name: Tag OWASP-ZAP Wrapper version v${{ inputs.owaspzap-wrapper-version }}-owaspzap-wrapper (temporarily)
        run: git tag v${{ inputs.owaspzap-wrapper-version }}-owaspzap-wrapper

      # ----------------------
      # Setup + Caching
      # ----------------------
      - name: Install required packages
        run: sudo apt-get -y install hub

      - name: Set up JDK 17
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          java-version: 17
          distribution: temurin

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2
        with:
          # To prevent a fill-up of the actions cache:
          # Only write to the cache for builds on the 'master' branch.
          # Builds on other branches will only read existing entries from the cache.
          cache-read-only: ${{ github.ref != 'refs/heads/master' }}

      # ----------------------
      # Create a pull request if license headers are missing
      # ----------------------
      - name: run apply-headers.sh
        id: apply-headers
        run: |
          git config user.name "$GITHUB_TRIGGERING_ACTOR (via github-actions)"
          git config user.email "${{ inputs.actor-email }}"
          ./apply-headers.sh
          git commit -am "SPDX headers added by SecHub release job @github-actions" || true
          COMMITS=`git log --oneline --branches --not --remotes`
          echo "commits=$COMMITS" >> $GITHUB_OUTPUT

      - name: Create a pull request for SPDX license headers
        id: pr_spdx_headers
        if: steps.apply-headers.outputs.commits != ''
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-spdx-headers
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '0 - Before owaspzap-wrapper release: Add missing SPDX license headers [auto-generated]'
          body: |
            Auto-generated by Github Actions owaspzap-wrapper release job.

            -> Please review and merge **before** publishing the owaspzap-wrapper release.

      - name: Print PR infos
        if: steps.apply-headers.outputs.commits != ''
        run: |
          echo "Pull Request Number - ${{ steps.pr_spdx_headers.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_spdx_headers.outputs.pull-request-url }}"

      - name: Switch back to master branch
        run: git checkout master

      # -----------------------------------------
      # Build SecHub OWASP-ZAP Wrapper
      # -----------------------------------------
      - name: Build OWASP-ZAP Wrapper
        run: ./gradlew buildWrapperOwaspZap

      # -----------------------------------------
      # Upload build artifacts
      # -----------------------------------------
      - name: Inspect GIT status
        if: always()
        run: |
          mkdir build/reports -p
          git status > build/reports/git-status.txt

      - name: Archive GIT status
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: git-status.txt
          path: build/reports/git-status.txt
          retention-days: 14

      - name: Archive OWASP-ZAP Wrapper libs directory
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-wrapper-owasp-zap
          path: sechub-wrapper-owasp-zap/build/libs
          retention-days: 14

      - name: Switch back to master branch
        run: git checkout master

      # -----------------------------------------
      # Assert releaseable, so no dirty flags on releases
      # even when all artifact creation parts are done!
      # -----------------------------------------
      - name: Assert releasable
        run: ./gradlew assertReleaseable

      # ******************************************
      # OWASP-ZAP Wrapper release
      # ******************************************
      - name: Prepare OWASP-ZAP Wrapper ${{ inputs.owaspzap-wrapper-version }} release artifacts
        shell: bash
        run: |
          cd sechub-wrapper-owasp-zap/build/libs/
          sha256sum sechub-pds-wrapperowaspzap-${{ inputs.owaspzap-wrapper-version }}.jar > sechub-pds-wrapperowaspzap-${{ inputs.owaspzap-wrapper-version }}.jar.sha256sum

      - name: Create OWASP-ZAP Wrapper ${{ inputs.owaspzap-wrapper-version }} release draft
        shell: bash
        run: |
          assets=()
          echo "# Adding release artifacts"
          cd sechub-wrapper-owasp-zap/build/libs/
          for asset in sechub-pds-wrapperowaspzap-${{ inputs.owaspzap-wrapper-version }}.jar* ; do
            filename=`basename "$asset"`
            echo "# - $filename"
            assets+=("-a" "${asset}#${filename}")
          done
          # Define release data
          tag_name="v${{ inputs.owaspzap-wrapper-version }}-owaspzap-wrapper"
          release_title="OWASP-ZAP Wrapper Version ${{ inputs.owaspzap-wrapper-version }}"
          release_message="Changes in this Release
          - Some minor changes on OWASP-ZAP Wrapper implementation"
          release_footer="For more details please look at [Milestone ${{inputs.owaspzap-wrapper-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.owaspzap-wrapper-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft "${assets[@]}" -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      # -----------------------------------------
      # Create release issue
      # -----------------------------------------
      - name: Create OWASP-ZAP Wrapper ${{ inputs.owaspzap-wrapper-version }} release issue
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release OWASP-ZAP Wrapper ${{ inputs.owaspzap-wrapper-version }}
          body: |
            See [Milestone ${{inputs.owaspzap-wrapper-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.owaspzap-wrapper-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.owaspzap-wrapper-milestone-number }}

      # -----------------------------------------
      # Create a pull request for merging back `master` into `develop`
      # -----------------------------------------
      - name: pull-request master to develop
        id: pr_master_to_develop
        continue-on-error: true
        uses: repo-sync/pull-request@7e79a9f5dc3ad0ce53138f01df2fad14a04831c5
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          source_branch: "master"
          destination_branch: "develop"
          pr_allow_empty: true  # should allow an empty PR, but seems not to work
          pr_title: '2 - After OWASP-ZAP Wrapper release: Merge master back into develop [auto-generated]'
          pr_body: |
            Merge master branch back into develop

            -> Please merge **after** the release has been published.

      - name: Print PR infos if PR was created
        if: steps.pr_master_to_develop.outcome == 'success'
        run: |
          echo "Pull Request Number - ${{ steps.pr_master_to_develop.outputs.pr_number }}"
          echo "Pull Request URL - ${{ steps.pr_master_to_develop.outputs.pr_url }}"

      - name: Print info if no PR was created
        if: steps.pr_master_to_develop.outcome != 'success'
        run: |
          echo "Nothing to merge - no pull request necessary."


================================================
FILE: .github/workflows/release-wrapper-prepare.yml
================================================
# SPDX-License-Identifier: MIT
name: Release wrapper for Prepare

on:
  workflow_dispatch:
    inputs:
      actor-email:
        description: Insert your email address here. It will be used in the generated pull requests
        required: true
      prepare-wrapper-version:
        description: Prepare-wrapper Version (e.g. 1.0.0)
        required: true
      prepare-wrapper-milestone-number:
        description: Prepare-wrapper Milestone number (e.g. 91)
        required: true
jobs:
  release-version:
    name: Create Prepare-wrapper release
    runs-on: ubuntu-latest
    steps:
      - name: "Show Inputs"
        run: |
          echo "actor-email: '${{ inputs.actor-email }}'"
          echo "Prepare-wrapper '${{ inputs.prepare-wrapper-version }}' - Milestone '${{ inputs.prepare-wrapper-milestone-number }}'"

      - name: Checkout branch master
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
        with:
          ref: master

      # Create temporary local tags, so we build documentation for this tag...
      # The final tag on git server side will be done automatically by the release when the draft is saved as "real" release
      - name: Tag Prepare Wrapper version v${{ inputs.prepare-wrapper-version }}-prepare-wrapper (temporarily)
        run: git tag v${{ inputs.prepare-wrapper-version }}-prepare-wrapper

      # ----------------------
      # Setup + Caching
      # ----------------------
      - name: Install required packages
        run: sudo apt-get -y install hub

      - name: Set up JDK 17
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          java-version: 17
          distribution: temurin

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2
        with:
          # To prevent a fill-up of the actions cache:
          # Only write to the cache for builds on the 'master' branch.
          # Builds on other branches will only read existing entries from the cache.
          cache-read-only: ${{ github.ref != 'refs/heads/master' }}

      # ----------------------
      # Create a pull request if license headers are missing
      # ----------------------
      - name: run apply-headers.sh
        id: apply-headers
        run: |
          git config user.name "$GITHUB_TRIGGERING_ACTOR (via github-actions)"
          git config user.email "${{ inputs.actor-email }}"
          ./apply-headers.sh
          git commit -am "SPDX headers added by SecHub release job @github-actions" || true
          COMMITS=`git log --oneline --branches --not --remotes`
          echo "commits=$COMMITS" >> $GITHUB_OUTPUT

      - name: Create a pull request for SPDX license headers
        id: pr_spdx_headers
        if: steps.apply-headers.outputs.commits != ''
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-spdx-headers
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '0 - Before prepare-wrapper release: Add missing SPDX license headers [auto-generated]'
          body: |
            Auto-generated by Github Actions prepare-wrapper release job.

            -> Please review and merge **before** publishing the prepare-wrapper release.

      - name: Print PR infos
        if: steps.apply-headers.outputs.commits != ''
        run: |
          echo "Pull Request Number - ${{ steps.pr_spdx_headers.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_spdx_headers.outputs.pull-request-url }}"

      - name: Switch back to master branch
        run: git checkout master

      # -----------------------------------------
      # Build SecHub Prepare Wrapper
      # -----------------------------------------
      - name: Build Prepare Wrapper
        run: ./gradlew :sechub-wrapper-prepare:bootjar

      # -----------------------------------------
      # Upload build artifacts
      # -----------------------------------------
      - name: Inspect GIT status
        if: always()
        run: |
          mkdir build/reports -p
          git status > build/reports/git-status.txt

      - name: Archive GIT status
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: git-status.txt
          path: build/reports/git-status.txt
          retention-days: 14

      - name: Archive Prepare Wrapper libs directory
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-wrapper-prepare
          path: sechub-wrapper-prepare/build/libs
          retention-days: 14

      - name: Switch back to master branch
        run: git checkout master

      # -----------------------------------------
      # Assert releaseable, so no dirty flags on releases
      # even when all artifact creation parts are done!
      # -----------------------------------------
      - name: Assert releasable
        run: ./gradlew assertReleaseable

      # ******************************************
      # Prepare Wrapper release
      # ******************************************
      - name: Prepare Prepare Wrapper ${{ inputs.prepare-wrapper-version }} release artifacts
        shell: bash
        run: |
          cd sechub-wrapper-prepare/build/libs/
          sha256sum sechub-wrapper-prepare-${{ inputs.prepare-wrapper-version }}.jar > sechub-wrapper-prepare-${{ inputs.prepare-wrapper-version }}.jar.sha256sum

      - name: Create Prepare Wrapper ${{ inputs.prepare-wrapper-version }} release draft
        shell: bash
        run: |
          assets=()
          echo "# Adding release artifacts"
          cd sechub-wrapper-prepare/build/libs/
          for asset in sechub-wrapper-prepare-${{ inputs.prepare-wrapper-version }}.jar* ; do
            filename=`basename "$asset"`
            echo "# - $filename"
            assets+=("-a" "${asset}#${filename}")
          done
          # Define release data
          tag_name="v${{ inputs.prepare-wrapper-version }}-prepare-wrapper"
          release_title="Prepare Wrapper Version ${{ inputs.prepare-wrapper-version }}"
          release_message="Changes in this Release
          - Some minor changes on Prepare Wrapper implementation"
          release_footer="For more details please look at [Milestone ${{inputs.prepare-wrapper-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.prepare-wrapper-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft "${assets[@]}" -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      # -----------------------------------------
      # Create release issue
      # -----------------------------------------
      - name: Create Prepare Wrapper ${{ inputs.prepare-wrapper-version }} release issue
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release Prepare Wrapper ${{ inputs.prepare-wrapper-version }}
          body: |
            See [Milestone ${{inputs.prepare-wrapper-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.prepare-wrapper-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.prepare-wrapper-milestone-number }}

      # -----------------------------------------
      # Create a pull request for merging back `master` into `develop`
      # -----------------------------------------
      - name: pull-request master to develop
        id: pr_master_to_develop
        continue-on-error: true
        uses: repo-sync/pull-request@7e79a9f5dc3ad0ce53138f01df2fad14a04831c5
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          source_branch: "master"
          destination_branch: "develop"
          pr_allow_empty: true  # should allow an empty PR, but seems not to work
          pr_title: '2 - After Prepare Wrapper release: Merge master back into develop [auto-generated]'
          pr_body: |
            Merge master branch back into develop

            -> Please merge **after** the release has been published.

      - name: Print PR infos if PR was created
        if: steps.pr_master_to_develop.outcome == 'success'
        run: |
          echo "Pull Request Number - ${{ steps.pr_master_to_develop.outputs.pr_number }}"
          echo "Pull Request URL - ${{ steps.pr_master_to_develop.outputs.pr_url }}"

      - name: Print info if no PR was created
        if: steps.pr_master_to_develop.outcome != 'success'
        run: |
          echo "Nothing to merge - no pull request necessary."


================================================
FILE: .github/workflows/release-wrapper-validation.yml
================================================
# SPDX-License-Identifier: MIT
name: Release Wrapper for Secret-Validation

on:
  workflow_dispatch:
    inputs:
      actor-email:
        description: Insert your email address here. It will be used in the generated pull requests
        required: true
      secretvalidation-wrapper-version:
        description: Secret-Validation-wrapper Version (e.g. 1.0.0)
        required: true
      secretvalidation-wrapper-milestone-number:
        description: Secret-Validation-wrapper Milestone number (e.g. 153)
        required: true
jobs:
  release-version:
    name: Create Secret-Validation-wrapper release
    runs-on: ubuntu-latest
    steps:
      - name: "Show Inputs"
        run: |
          echo "actor-email: '${{ inputs.actor-email }}'"
          echo "Secret-Validation-wrapper '${{ inputs.secretvalidation-wrapper-version }}' - Milestone '${{ inputs.secretvalidation-wrapper-milestone-number }}'"

      - name: Checkout branch master
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
        with:
          ref: master

      # Create temporary local tags, so we build documentation for this tag...
      # The final tag on git server side will be done automatically by the release when the draft is saved as "real" release
      - name: Tag Secret-Validation Wrapper version v${{ inputs.secretvalidation-wrapper-version }}-secretvalidation-wrapper (temporarily)
        run: git tag v${{ inputs.secretvalidation-wrapper-version }}-secretvalidation-wrapper

      # ----------------------
      # Setup + Caching
      # ----------------------
      - name: Install required packages
        run: sudo apt-get -y install hub

      - name: Set up JDK 17
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          java-version: 17
          distribution: temurin

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2
        with:
          # To prevent a fill-up of the actions cache:
          # Only write to the cache for builds on the 'master' branch.
          # Builds on other branches will only read existing entries from the cache.
          cache-read-only: ${{ github.ref != 'refs/heads/master' }}

      # ----------------------
      # Create a pull request if license headers are missing
      # ----------------------
      - name: run apply-headers.sh
        id: apply-headers
        run: |
          git config user.name "$GITHUB_TRIGGERING_ACTOR (via github-actions)"
          git config user.email "${{ inputs.actor-email }}"
          ./apply-headers.sh
          git commit -am "SPDX headers added by SecHub release job @github-actions" || true
          COMMITS=`git log --oneline --branches --not --remotes`
          echo "commits=$COMMITS" >> $GITHUB_OUTPUT

      - name: Create a pull request for SPDX license headers
        id: pr_spdx_headers
        if: steps.apply-headers.outputs.commits != ''
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-spdx-headers
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '0 - Before secretvalidation-wrapper release: Add missing SPDX license headers [auto-generated]'
          body: |
            Auto-generated by Github Actions secretvalidation-wrapper release job.

            -> Please review and merge **before** publishing the secretvalidation-wrapper release.

      - name: Print PR infos
        if: steps.apply-headers.outputs.commits != ''
        run: |
          echo "Pull Request Number - ${{ steps.pr_spdx_headers.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_spdx_headers.outputs.pull-request-url }}"

      - name: Switch back to master branch
        run: git checkout master

      # -----------------------------------------
      # Build SecHub Secret-Validation Wrapper
      # -----------------------------------------
      - name: Build Secret-Validation Wrapper
        run: ./gradlew :sechub-wrapper-secretvalidation:bootJar

      # -----------------------------------------
      # Upload build artifacts
      # -----------------------------------------
      - name: Inspect GIT status
        if: always()
        run: |
          mkdir build/reports -p
          git status > build/reports/git-status.txt

      - name: Archive GIT status
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: git-status.txt
          path: build/reports/git-status.txt
          retention-days: 14

      - name: Archive Secret-Validation Wrapper libs directory
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-wrapper-secretvalidation
          path: sechub-wrapper-secretvalidation/build/libs
          retention-days: 14

      - name: Switch back to master branch
        run: git checkout master

      # -----------------------------------------
      # Assert releaseable, so no dirty flags on releases
      # even when all artifact creation parts are done!
      # -----------------------------------------
      - name: Assert releasable
        run: ./gradlew assertReleaseable

      # ******************************************
      # Secret-Validation Wrapper release
      # ******************************************
      - name: Prepare Secret-Validation Wrapper ${{ inputs.secretvalidation-wrapper-version }} release artifacts
        shell: bash
        run: |
          cd sechub-wrapper-secretvalidation/build/libs/
          sha256sum sechub-wrapper-secretvalidation-${{ inputs.secretvalidation-wrapper-version }}.jar > sechub-wrapper-secretvalidation-${{ inputs.secretvalidation-wrapper-version }}.jar.sha256sum

      - name: Create Secret-Validation Wrapper ${{ inputs.secretvalidation-wrapper-version }} release draft
        shell: bash
        run: |
          assets=()
          echo "# Adding release artifacts"
          cd sechub-wrapper-secretvalidation/build/libs/
          for asset in sechub-wrapper-secretvalidation-${{ inputs.secretvalidation-wrapper-version }}.jar* ; do
            filename=`basename "$asset"`
            echo "# - $filename"
            assets+=("-a" "${asset}#${filename}")
          done
          # Define release data
          tag_name="v${{ inputs.secretvalidation-wrapper-version }}-secretvalidation-wrapper"
          release_title="Secret-Validation Wrapper Version ${{ inputs.secretvalidation-wrapper-version }}"
          release_message="Changes in this Release
          - Some minor changes on Secret-Validation Wrapper implementation"
          release_footer="For more details please look at [Milestone ${{inputs.secretvalidation-wrapper-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.secretvalidation-wrapper-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft "${assets[@]}" -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      # -----------------------------------------
      # Create release issue
      # -----------------------------------------
      - name: Create Secret-Validation Wrapper ${{ inputs.secretvalidation-wrapper-version }} release issue
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release Secret-Validation Wrapper ${{ inputs.secretvalidation-wrapper-version }}
          body: |
            See [Milestone ${{inputs.secretvalidation-wrapper-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.secretvalidation-wrapper-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.secretvalidation-wrapper-milestone-number }}

      # -----------------------------------------
      # Create a pull request for merging back `master` into `develop`
      # -----------------------------------------
      - name: pull-request master to develop
        id: pr_master_to_develop
        continue-on-error: true
        uses: repo-sync/pull-request@7e79a9f5dc3ad0ce53138f01df2fad14a04831c5
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          source_branch: "master"
          destination_branch: "develop"
          pr_allow_empty: true  # should allow an empty PR, but seems not to work
          pr_title: '2 - After Secret-Validation Wrapper release: Merge master back into develop [auto-generated]'
          pr_body: |
            Merge master branch back into develop

            -> Please merge **after** the release has been published.

      - name: Print PR infos if PR was created
        if: steps.pr_master_to_develop.outcome == 'success'
        run: |
          echo "Pull Request Number - ${{ steps.pr_master_to_develop.outputs.pr_number }}"
          echo "Pull Request URL - ${{ steps.pr_master_to_develop.outputs.pr_url }}"

      - name: Print info if no PR was created
        if: steps.pr_master_to_develop.outcome != 'success'
        run: |
          echo "Nothing to merge - no pull request necessary."


================================================
FILE: .github/workflows/release-wrapper-xray.yml
================================================
# SPDX-License-Identifier: MIT
name: Release wrapper for Xray

on:
  workflow_dispatch:
    inputs:
      actor-email:
        description: Insert your email address here. It will be used in the generated pull requests
        required: true
      xray-wrapper-version:
        description: Xray-wrapper Version (e.g. 1.0.0)
        required: true
      xray-wrapper-milestone-number:
        description: Xray-wrapper Milestone number (e.g. 91)
        required: true
jobs:
  release-version:
    name: Create Xray-wrapper release
    runs-on: ubuntu-latest
    steps:
      - name: "Show Inputs"
        run: |
          echo "actor-email: '${{ inputs.actor-email }}'"
          echo "Xray-wrapper '${{ inputs.xray-wrapper-version }}' - Milestone '${{ inputs.xray-wrapper-milestone-number }}'"

      - name: Checkout branch master
        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
        with:
          ref: master

      # Create temporary local tags, so we build documentation for this tag...
      # The final tag on git server side will be done automatically by the release when the draft is saved as "real" release
      - name: Tag Xray Wrapper version v${{ inputs.xray-wrapper-version }}-xray-wrapper (temporarily)
        run: git tag v${{ inputs.xray-wrapper-version }}-xray-wrapper

      # ----------------------
      # Setup + Caching
      # ----------------------
      - name: Install required packages
        run: sudo apt-get -y install hub

      - name: Set up JDK 17
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          java-version: 17
          distribution: temurin

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2
        with:
          # To prevent a fill-up of the actions cache:
          # Only write to the cache for builds on the 'master' branch.
          # Builds on other branches will only read existing entries from the cache.
          cache-read-only: ${{ github.ref != 'refs/heads/master' }}

      # ----------------------
      # Create a pull request if license headers are missing
      # ----------------------
      - name: run apply-headers.sh
        id: apply-headers
        run: |
          git config user.name "$GITHUB_TRIGGERING_ACTOR (via github-actions)"
          git config user.email "${{ inputs.actor-email }}"
          ./apply-headers.sh
          git commit -am "SPDX headers added by SecHub release job @github-actions" || true
          COMMITS=`git log --oneline --branches --not --remotes`
          echo "commits=$COMMITS" >> $GITHUB_OUTPUT

      - name: Create a pull request for SPDX license headers
        id: pr_spdx_headers
        if: steps.apply-headers.outputs.commits != ''
        uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725
        with:
          branch: release-spdx-headers
          branch-suffix: short-commit-hash
          delete-branch: true
          title: '0 - Before xray-wrapper release: Add missing SPDX license headers [auto-generated]'
          body: |
            Auto-generated by Github Actions xray-wrapper release job.

            -> Please review and merge **before** publishing the xray-wrapper release.

      - name: Print PR infos
        if: steps.apply-headers.outputs.commits != ''
        run: |
          echo "Pull Request Number - ${{ steps.pr_spdx_headers.outputs.pull-request-number }}"
          echo "Pull Request URL - ${{ steps.pr_spdx_headers.outputs.pull-request-url }}"

      - name: Switch back to master branch
        run: git checkout master

      # -----------------------------------------
      # Build SecHub Xray Wrapper
      # -----------------------------------------
      - name: Build Xray Wrapper
        run: ./gradlew :sechub-wrapper-xray:buildWrapperXray

      # -----------------------------------------
      # Upload build artifacts
      # -----------------------------------------
      - name: Inspect GIT status
        if: always()
        run: |
          mkdir build/reports -p
          git status > build/reports/git-status.txt

      - name: Archive GIT status
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: git-status.txt
          path: build/reports/git-status.txt
          retention-days: 14

      - name: Archive Xray Wrapper libs directory
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: sechub-wrapper-xray
          path: sechub-wrapper-xray/build/libs
          retention-days: 14

      - name: Switch back to master branch
        run: git checkout master

      # -----------------------------------------
      # Assert releaseable, so no dirty flags on releases
      # even when all artifact creation parts are done!
      # -----------------------------------------
      - name: Assert releasable
        run: ./gradlew assertReleaseable

      # ******************************************
      # Xray Wrapper release
      # ******************************************
      - name: Prepare Xray Wrapper ${{ inputs.xray-wrapper-version }} release artifacts
        shell: bash
        run: |
          cd sechub-wrapper-xray/build/libs/
          sha256sum sechub-pds-wrapper-xray-${{ inputs.xray-wrapper-version }}.jar > sechub-pds-wrapper-xray-${{ inputs.xray-wrapper-version }}.jar.sha256sum

      - name: Create Xray Wrapper ${{ inputs.xray-wrapper-version }} release draft
        shell: bash
        run: |
          assets=()
          echo "# Adding release artifacts"
          cd sechub-wrapper-xray/build/libs/
          for asset in sechub-pds-wrapper-xray-${{ inputs.xray-wrapper-version }}.jar* ; do
            filename=`basename "$asset"`
            echo "# - $filename"
            assets+=("-a" "${asset}#${filename}")
          done
          # Define release data
          tag_name="v${{ inputs.xray-wrapper-version }}-xray-wrapper"
          release_title="Xray Wrapper Version ${{ inputs.xray-wrapper-version }}"
          release_message="Changes in this Release
          - Some minor changes on Xray Wrapper implementation"
          release_footer="For more details please look at [Milestone ${{inputs.xray-wrapper-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.xray-wrapper-milestone-number}}?closed=1)"
          echo "# Create release draft \"$release_title\" on github"
          hub release create --draft "${assets[@]}" -m "$release_title" -m "$release_message" -m "$release_footer" "$tag_name"
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      # -----------------------------------------
      # Create release issue
      # -----------------------------------------
      - name: Create Xray Wrapper ${{ inputs.xray-wrapper-version }} release issue
        uses: dacbd/create-issue-action@main
        with:
          token: ${{ github.token }}
          title: Release Xray Wrapper ${{ inputs.xray-wrapper-version }}
          body: |
            See [Milestone ${{inputs.xray-wrapper-milestone-number}}]( https://github.com/mercedes-benz/sechub/milestone/${{inputs.xray-wrapper-milestone-number}}?closed=1) for details.

            Please close this issue after the release.
          milestone: ${{ inputs.xray-wrapper-milestone-number }}

      # -----------------------------------------
      # Create a pull request for merging back `master` into `develop`
      # -----------------------------------------
      - name: pull-request master to develop
        id: pr_master_to_develop
        continue-on-error: true
        uses: repo-sync/pull-request@7e79a9f5dc3ad0ce53138f01df2fad14a04831c5
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          source_branch: "master"
          destination_branch: "develop"
          pr_allow_empty: true  # should allow an empty PR, but seems not to work
          pr_title: '2 - After Xray Wrapper release: Merge master back into develop [auto-generated]'
          pr_body: |
            Merge master branch back into develop

            -> Please merge **after** the release has been published.

      - name: Print PR infos if PR was created
        if: steps.pr_master_to_develop.outcome == 'success'
        run: |
          echo "Pull Request Number - ${{ steps.pr_master_to_develop.outputs.pr_number }}"
          echo "Pull Request URL - ${{ steps.pr_master_to_develop.outputs.pr_url }}"

      - name: Print info if no PR was created
        if: steps.pr_master_to_develop.outcome != 'success'
        run: |
          echo "Nothing to merge - no pull request necessary."


================================================
FILE: .github/workflows/sechub-plugin-eclipse-gradle.yml
================================================
# SPDX-License-Identifier: MIT
name: SecHub eclipse plugin Java build

on:
  push:
    branches:
      - 'develop'
      - 'hotfix'
      - 'main'
      - 'master'
    paths:
      - '.github/workflows/sechub-plugin-eclipse-gradle.yml'
      - 'ide-plugins/eclipse/**'
  pull_request:
    paths:
      - '.github/workflows/sechub-plugin-eclipse-gradle.yml'
      - 'ide-plugins/eclipse/**'
  # enable manual triggering of workflow
  workflow_dispatch:

jobs:
  build:

    runs-on: ubuntu-latest

    defaults:
      run:
        working-directory: ide-plugins/eclipse
    steps:
    - uses: actions/checkout@v6.0.1
    - name: Set up JDK 17
      uses: actions/setup-java@v5
      with:
        distribution: adopt
        java-version: 17
    - name: Gradle clean build
      run: ./gradlew clean build
    - name: "Archive test results"
      if: always()
      uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
      with:
          name: test-results
          path: |
            ide-plugins/eclipse/sechub-eclipse-plugin/build/reports
            retention-days: 14

================================================
FILE: .github/workflows/sechub-plugin-jetbrains-gradle.yml
================================================
# SPDX-License-Identifier: MIT
name: SecHub Jetbrains plugin Java build

on:
  push:
    branches:
      - 'develop'
      - 'hotfix'
      - 'main'
      - 'master'
    paths:
      - '.github/workflows/sechub-plugin-jetbrains-gradle.yml'
      - 'ide-plugins/jetbrains/**'
  pull_request:
    paths:
      - '.github/workflows/sechub-plugin-jetbrains-gradle.yml'
      - 'ide-plugins/jetbrains/**'
  # enable manual triggering of workflow
  workflow_dispatch:

jobs:
  build:

    runs-on: ubuntu-latest

    defaults:
      run:
        working-directory: ide-plugins/jetbrains
    steps:
      - uses: actions/checkout@v6.0.1
      - name: Set up JDK 17
        uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165
        with:
          distribution: temurin
          java-version: 17

      - name: "Build plugin"
        run: ./gradlew test buildPlugin

      - name: "Archive test results"
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: test-results
          path: ide-plugins/jetbrains/build/reports
          retention-days: 14
      - name: "Documentations"
        run: ./gradlew asciidoc

      - name: "Archive documentation"
        if: always()
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
        with:
          name: documentation
          path: ide-plugins/jetbrains/build/docs/asciidoc
          retention-days: 14

================================================
FILE: .github/workflows/sechub-plugin-vscode-ci.yml
================================================
# SPDX-License-Identifier: MIT
name: SecHub plugin vscode CI
on: 
  push:
    branches:
      - 'develop'
      - 'hotfix'
      - 'main'
      - 'master'
    paths:
      - '.github/workflows/sechub-plugin-vscode-ci.yml'
      - 'ide-plugins/vscode/**'
  pull_request:
    paths:
      - '.github/workflows/sechub-plugin-vscode-ci.yml'
      - 'ide-plugins/vscode/**'
  # enable manual triggering of workflow
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node: [ 16, 18 ]

    defaults:
      run:
        working-directory: ide-plugins/vscode
    steps:
    - uses: actions/checkout@v6.0.1
    - uses: actions/setup-node@v6.0.0
      with:
        # Matrix test using LTS (Long Term Support) versions
        node-version: ${{ matrix.node }}
    - name: Build sechub-openapi-ts-client
      working-directory: sechub-openapi-ts-client
      run: |
        npm ci
        npm run generate-api-client
        npm run build
    - run: npm ci
    # https://code.visualstudio.com/api/working-with-extensions/continuous-integration#github-actions

    - run: xvfb-run -a npm test
      if: runner.os == 'Linux'
    - run: npm test
      if: runner.os != 'Linux'


================================================
FILE: .github/workflows/sechub-plugin-vscode-release.yml
================================================
# SPDX-License-Identifier: MIT
name: Release Plugin for VSCode

on:
  workflow_dispatch:
    inputs:
      milestone-number:
        description: Milestone number for release
        default: 15
        required: true
jobs:
  release-version:
    name: Create releases
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node: [ 16, 18 ]

    defaults:
      run:
        working-directory: ide-plugins/vscode
    steps:
    - name: Checkout master
      uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
      with:
        ref: master

    # Build
    - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903
      with:
        # Matrix test using LTS (Long Term Support) versions
        node-version: ${{ matrix.node }}
    # Takes the package information from the packages-lock.json file
    - run: npm ci
    # https://code.visualstudio.com/api/working-with-extensions/continuous-integration#github-actions

    - run: xvfb-run -a npm test
      if: runner.os == 'Linux'

    - run: npm test
      if: runner.os != 'Linux'

    - name: Fetch version from package.json
      id: version
      uses: notiz-dev/github-action-json-property@release
      with:
          path: 'package.json'
          prop_path: 'version'
    # Create local tags, so we can build documentation for this tag...
    - name: "Show version: v${{ steps.version.outputs.prop }}"
      run: echo v${{ steps.version.outputs.prop }}

    # To identifiy parts not in git history and leading to "-dirty-$commitId" markern in documentation
    - name: Inspect GIT status
      if: always()
      run: git status > git-status.txt

    # -----------------------------------------
    # Upload Build Artifacts
    # -----------------------------------------
    - name: Archive GIT status
      if: always()
      uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
      with:
          name: git-status.txt
          path: git-status.txt
          retention-days: 14

    - name: Archive plugin package
      if: always()
      uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
      with:
          name: sechub
          path: dist/sechub.vsix
          retention-days: 14

    # ******************************************
    # Now let's create a new release
    # ******************************************
    - name: Create plugin release
      id: create_server_release
      uses: actions/create-release@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
      with:
        tag_name: v${{ steps.version.outputs.prop }}
        commitish: master
        release_name: Version v${{ steps.version.outputs.prop }}
        body: |
          Changes in this Release
          - Some minor changes on plugin implementation

          For more details please look at [Milestone ${{github.event.inputs.milestone-number}}]( https://github.com/mercedes-benz/foss/milestones/${{github.event.inputs.milestone-number}}?closed=1)
        draft: true
        prerelease: false
    - name: Upload release asset
      id: upload-release-asset
      uses: actions/upload-release-asset@v1
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        upload_url: ${{ steps.create_plugin_release.outputs.upload_url }}
        asset_path: ./dist/sechub.vsix
        asset_name: sechub.vsix
        asset_content_type: application/zip


================================================
FILE: .gitignore
================================================
# customization files
build-custom.gradle
build-custom-buildscript.gradle
build-custom-allprojects.gradle

# eclipse parts
bin/
gen/
src-gen/
.metadata
.lck
.classpath
.project
.settings/

# intellij parts
*.iml
.idea/
*.ipr
*.iws
out/

# vscode parts
.vscode/

# theia parts
.theia/

# gradle parts
.gradle/

# vi parts
.*.swp

# Build artifacts at all
*.class
build/
*.jar
*.log
*.bak
*.tar
*.zip
go.sum
sechub_report*.json
sechub_report*.html
sechub-false-positives*.json
#!sechub.json

# OpenAPI
java-gen/

# Docker container
.env*

# OWASP ZAP
*.zap

# Asciidoctor
.asciidoctorconfig.adoc

# macOS
.DS_Store

# Containerized solutions
copy/
!copy/README.adoc
!copy/README.md

*.deb
*.apk

# Node
node_modules/

# github-action integration test
.sechub-gha/
generated-sechub.json


================================================
FILE: 3RD_PARTY_LICENSES.txt
================================================
Used 3rd party Licenses:

- Components -

@actions/artifact/1.1.1 : MIT License (MIT)
@actions/core/1.10.1 : MIT License (MIT)
@actions/http-client/2.1.0 : MIT License (MIT)
@types/fs-extra/11.0.4 : MIT License (MIT)
@types/jsonfile/6.1.4 : MIT License (MIT)
@types/node/18.15.1 : MIT License (MIT)
@types/yauzl/2.10.3 : MIT License (MIT)
Angus Activation Registries/2.0.2 : Eclipse Distribution License v1.0 (LicenseRef-MB-EDL)
Angus Mail default provider/2.0.3 : Eclipse Public License 2.0 (EPL-2.0)
Angus Mail default provider/2.0.3 : GNU General Public License v2.0 w/Classpath exception (GPL-2.0-with-classpath-exception)
Angus Mail default provider/2.0.3 : Eclipse Distribution License v1.0 (LicenseRef-MB-EDL)
antlr/4.13.0 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
Apache Commons BeanUtils/1.9.4 : Apache License 2.0 (Apache-2.0)
Apache Commons Codec/1_6 : Apache License 2.0 (Apache-2.0)
Apache Commons Codec/1.17.1 : Apache License 2.0 (Apache-2.0)
Apache Commons Codec/1.16.1 : Apache License 2.0 (Apache-2.0)
Apache Commons Codec/1.16.0 : Apache License 2.0 (Apache-2.0)
Apache Commons Collections/3.2.2 : Apache License 2.0 (Apache-2.0)
Apache Commons Compress/1.25.0 : Apache License 2.0 (Apache-2.0)
Apache Commons Digester/2.1 : Apache License 2.0 (Apache-2.0)
Apache Commons Exec/1.4.0 : Apache License 2.0 (Apache-2.0)
Apache Commons FileUpload Core/2.0.0-M2 : Apache License 2.0 (Apache-2.0)
Apache Commons FileUpload Jakarta/2.0.0-M1 : Apache License 2.0 (Apache-2.0)
Apache Commons IO/2.14.0 : Apache License 2.0 (Apache-2.0)
Apache Commons IO/2.15.1 : Apache License 2.0 (Apache-2.0)
Apache Commons Lang/3.14.0 : Apache License 2.0 (Apache-2.0)
Apache Commons Lang/3.13.0 : Apache License 2.0 (Apache-2.0)
Apache Commons Logging/1.3.0 : Apache License 2.0 (Apache-2.0)
Apache Commons Logging/1.1.3 : Apache License 2.0 (Apache-2.0)
Apache Commons Logging/1.2 : Apache License 2.0 (Apache-2.0)
Apache Commons Validator/1.8.0 : Apache License 2.0 (Apache-2.0)
Apache Groovy/4.0.24 : Apache License 2.0 (Apache-2.0)
Apache Groovy/4.0.24 : Apache License 2.0 (Apache-2.0)
Apache HttpClient/4.3.1 : Apache License 2.0 (Apache-2.0)
Apache HttpClient/4.5.13 : Apache License 2.0 (Apache-2.0)
Apache HttpClient/5.2.1 : Apache License 2.0 (Apache-2.0)
Apache HttpComponents Core HTTP/2/5.2 : Apache License 2.0 (Apache-2.0)
Apache HttpComponents Core HTTP/2/5.2.5 : Apache License 2.0 (Apache-2.0)
Apache HttpMime/4.3.1 : Apache License 2.0 (Apache-2.0)
Apache Log4J API/2.23.1 : Apache License 2.0 (Apache-2.0)
Apache Log4j to SLF4J Adapter/2.23.1 : Apache License 2.0 (Apache-2.0)
Apache Tomcat/10.1.31 : Apache License 2.0 (Apache-2.0)
ASM/9.6 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
ASM based accessors helper used by json-smart/2.5.1 : Apache License 2.0 (Apache-2.0)
AspectJ weaver/1.9.22.1 : Eclipse Public License 2.0 (EPL-2.0)
AssertJ - Fluent Assertions for Java/3.25.3 : Apache License 2.0 (Apache-2.0)
asynckit/0.4.0 : MIT License (MIT)
attoparser/2.0.7.RELEASE : Apache License 2.0 (Apache-2.0)
Awaitility/4.2.2 : Apache License 2.0 (Apache-2.0)
AWS SDK for Java/1.12.629 : Apache License 2.0 (Apache-2.0)
axios/1.7.4 : MIT License (MIT)
balanced-match/1.0.2 : MIT License (MIT)
beanvalidation-api/3.0.2 : Apache License 2.0 (Apache-2.0)
boolbase/1.0.0 : ISC License (ISC)
Bouncy Castle/1.78.1 : MIT License (MIT)
brace-expansion/1.1.11 : MIT License (MIT)
browserify/resolve/1.22.1 : MIT License (MIT)
buffer-crc32/0.2.13 : MIT License (MIT)
Byte Buddy/1.14.19 : Apache License 2.0 (Apache-2.0)
Byte Buddy/1.15.7 : Apache License 2.0 (Apache-2.0)
Byte Buddy/1.14.12 : Apache License 2.0 (Apache-2.0)
byte-buddy-agent/1.14.19 : Apache License 2.0 (Apache-2.0)
byte-buddy-agent/1.14.12 : Apache License 2.0 (Apache-2.0)
Checker Qual/3.41.0 : MIT License (MIT)
Checker Qual/3.43.0 : MIT License (MIT)
cheerio/1.0.0-rc.12 : MIT License (MIT)
cheerio-select/2.1.0 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
com.google.auto.service:auto-service-annotations/1.1.1 : Apache License 2.0 (Apache-2.0)
combined-stream/1.0.8 : MIT License (MIT)
command-exists/1.2.9 : MIT License (MIT)
commons-cli/1.6.0 : Apache License 2.0 (Apache-2.0)
css-what/6.1.0 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
CSSselect/5.1.0 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
CycloneDX Core (Java)/8.0.0 : Apache License 2.0 (Apache-2.0)
debug-js/debug/4.3.4 : MIT License (MIT)
delayed-stream/1.0.0 : MIT License (MIT)
dom-serializer/2.0.0 : MIT License (MIT)
dom4j: flexible XML framework for Java/2.1.4 : dom4j License (LicenseRef-Scancode-dom4j)
domelementtype/2.3.0 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
DomHandler/5.0.3 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
domutils/3.1.0 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
easymockobjenesis/3.3 : Apache License 2.0 (Apache-2.0)
end-of-stream/1.4.4 : MIT License (MIT)
error-prone annotations/2.28.0 : Apache License 2.0 (Apache-2.0)
extract-zip/2.0.1 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
Failsafe/3.3.2 : Apache License 2.0 (Apache-2.0)
fd-slicer/1.1.0 : MIT License (MIT)
FindBugs jsr305/3.0.2 : Apache License 2.0 (Apache-2.0)
flyway-core/10.10.0 : Apache License 2.0 (Apache-2.0)
flyway-database-postgresql/10.10.0 : Apache License 2.0 (Apache-2.0)
follow-redirects/1.15.6 : MIT License (MIT)
form-data/4.0.0 : MIT License (MIT)
fs-extra/11.2.0 : MIT License (MIT)
fs.realpath/1.0.0 : ISC License (ISC)
function-bind/1.1.1 : MIT License (MIT)
get-stream/v5.2.0 : MIT License (MIT)
googlegson/2.10.1 : Apache License 2.0 (Apache-2.0)
googleguava/33.3.1-jre : Apache License 2.0 (Apache-2.0)
Guava InternalFutureFailureAccess and InternalFutures/1.0.2 : Apache License 2.0 (Apache-2.0)
Guava ListenableFuture only/9999.0-empty-to-avoid-conflict-with-guava : Apache License 2.0 (Apache-2.0)
H2 Database Engine/2.2.224 : Eclipse Public License 1.0 (EPL-1.0)
H2 Database Engine/2.2.224 : Mozilla Public License 2.0 (MPL-2.0)
Hamcrest/1.3 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
Hamcrest/2.1 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
Hamcrest/v2.2 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
has/1.0.3 : MIT License (MIT)
HdrHistogram/2.2.2 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
HdrHistogram/2.2.2 : Creative Commons Zero v1.0 Universal (CC0-1.0)
HdrHistogram/2.2.2 : Public Domain (LicenseRef-MB-Public-Domain)
Hibernate Commons Annotations/6.0.6.Final : GNU Lesser General Public License v2.1 or later (LGPL-2.1-or-later)
Hibernate ORM/6.5.3 : GNU Lesser General Public License v2.1 or later (LGPL-2.1-or-later)
Hibernate Validator/8.0.1.Final : Apache License 2.0 (Apache-2.0)
HikariCP/5.1.0 : Apache License 2.0 (Apache-2.0)
htmlparser2/8.0.2 : MIT License (MIT)
httpcomponents-core/4.3 : Apache License 2.0 (Apache-2.0)
httpcomponents-core/4.4.16 : Apache License 2.0 (Apache-2.0)
httpcomponents-core/5.2 : Apache License 2.0 (Apache-2.0)
httpcomponents-core/5.2.5 : Apache License 2.0 (Apache-2.0)
inflight/1.0.6 : ISC License (ISC)
inherits/v2.0.4 : ISC License (ISC)
Internet Time Utility/1.7.0 : Apache License 2.0 (Apache-2.0)
interpret/1.4.0 : MIT License (MIT)
ion-java/1.0.2 : Apache License 2.0 (Apache-2.0)
is-core-module/2.11.0 : MIT License (MIT)
isaacs/once/1.4.0 : ISC License (ISC)
istack common utility code runtime/4.1.2 : Eclipse Distribution License v1.0 (LicenseRef-MB-EDL)
J2ObjC Annotations/3.0.0 : Apache License 2.0 (Apache-2.0)
jackson-annotations/2.14.1 : Apache License 2.0 (Apache-2.0)
jackson-annotations/2.17.2 : Apache License 2.0 (Apache-2.0)
jackson-bom/2.17.2 : Apache License 2.0 (Apache-2.0)
jackson-core/2.14.1 : Apache License 2.0 (Apache-2.0)
jackson-core/2.17.2 : Apache License 2.0 (Apache-2.0)
jackson-databind/2.14.1 : Apache License 2.0 (Apache-2.0)
jackson-databind/2.17.2 : Apache License 2.0 (Apache-2.0)
jackson-dataformat-binary/2.17.2 : Apache License 2.0 (Apache-2.0)
Jackson-dataformat-TOML/2.17.2 : Apache License 2.0 (Apache-2.0)
jackson-dataformat-xml/2.17.2 : Apache License 2.0 (Apache-2.0)
jackson-dataformat-yaml/2.17.2 : Apache License 2.0 (Apache-2.0)
Jackson-datatype-jdk8/2.17.2 : Apache License 2.0 (Apache-2.0)
Jackson-Datatype-JSR310/2.14.1 : Apache License 2.0 (Apache-2.0)
Jackson-Datatype-JSR310/2.17.2 : Apache License 2.0 (Apache-2.0)
jackson-jr-all/2.17.2 : Apache License 2.0 (Apache-2.0)
Jackson-module-parameter-names/2.17.2 : Apache License 2.0 (Apache-2.0)
Jakarta Activation API/2.1.3 : Eclipse Distribution License v1.0 (LicenseRef-MB-EDL)
Jakarta Annotations API/1.3.5 : GNU General Public License v2.0 w/Classpath exception (GPL-2.0-with-classpath-exception)
Jakarta Annotations API/1.3.5 : Eclipse Public License 2.0 (EPL-2.0)
Jakarta Annotations API/2.1.1 : GNU General Public License v2.0 w/Classpath exception (GPL-2.0-with-classpath-exception)
Jakarta Annotations API/2.1.1 : Eclipse Public License 2.0 (EPL-2.0)
Jakarta Dependency Injection/2.0.1 : Apache License 2.0 (Apache-2.0)
jakarta.persistence-api/3.1.0 : Eclipse Distribution License v1.0 (LicenseRef-MB-EDL)
jakarta.persistence-api/3.1.0 : GNU General Public License v2.0 w/Classpath exception (GPL-2.0-with-classpath-exception)
jakarta.persistence-api/3.1.0 : Eclipse Public License 2.0 (EPL-2.0)
jakarta.xml.bind:jakarta.xml.bind-api/4.0.2 : Eclipse Distribution License v1.0 (LicenseRef-MB-EDL)
Jandex: Core/3.1.2 : Apache License 2.0 (Apache-2.0)
Java Servlet API/6.0.0 : Eclipse Public License 2.0 (EPL-2.0)
Java Servlet API/6.0.0 : GNU General Public License v2.0 w/Classpath exception (GPL-2.0-with-classpath-exception)
java-classmate/1.7.0 : Apache License 2.0 (Apache-2.0)
JavaEWAH/1.2.3 : Apache License 2.0 (Apache-2.0)
javaselenium/4.26.0 : Apache License 2.0 (Apache-2.0)
javax.annotation API/1.3.2 : Common Development and Distribution License 1.1 (CDDL-1.1)
javax.annotation API/1.3.2 : GNU General Public License v2.0 w/Classpath exception (GPL-2.0-with-classpath-exception)
javax.transaction API/2.0.1 : GNU General Public License v2.0 w/Classpath exception (GPL-2.0-with-classpath-exception)
javax.transaction API/2.0.1 : Eclipse Public License 2.0 (EPL-2.0)
JAXB CORE/4.0.5 : Eclipse Distribution License v1.0 (LicenseRef-MB-EDL)
JAXB Runtime/4.0.5 : Eclipse Distribution License v1.0 (LicenseRef-MB-EDL)
jaxb-api/2.2.12 : GNU General Public License v2.0 w/Classpath exception (GPL-2.0-with-classpath-exception)
jaxb-api/2.2.12 : Common Development and Distribution License 1.1 (CDDL-1.1)
jaxen/2.0.0 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
JBoss Logging 3/3.5.3.Final : Apache License 2.0 (Apache-2.0)
JCIP Annotations under Apache License/1.0-1 : Apache License 2.0 (Apache-2.0)
JCommander Library/1.82 : Apache License 2.0 (Apache-2.0)
JDOM/1.1.3 : Jdom License (LicenseRef-scancode-jdom)
JGit/6.9.0.202403050737-r : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
JMES Path Query library/1.12.629 : Apache License 2.0 (Apache-2.0)
Joda Time/2.8.1 : Apache License 2.0 (Apache-2.0)
jshttp/mime-types/2.1.35 : MIT License (MIT)
JSON library from Android SDK/0.0.20131108.vaadin1 : Apache License 2.0 (Apache-2.0)
json-smart/2.5.1 : Apache License 2.0 (Apache-2.0)
JSONassert/1.5.3 : Apache License 2.0 (Apache-2.0)
JsonNullable Jackson module/0.2.1 : Apache License 2.0 (Apache-2.0)
JsonNullable Jackson module/0.2.6 : Apache License 2.0 (Apache-2.0)
JsonSchemaValidator/1.0.87 : Apache License 2.0 (Apache-2.0)
jsoup/1.17.2 : MIT License (MIT)
JSpecify annotations/1.0.0 : Apache License 2.0 (Apache-2.0)
JUL to SLF4J bridge/2.0.16 : MIT License (MIT)
JUnit/4.13.2 : Eclipse Public License 1.0 (EPL-1.0)
JUnit 5 (Bill of Materials)/5.10.5 : Eclipse Public License 2.0 (EPL-2.0)
JUnit Jupiter (Aggregator)/5.10.5 : Eclipse Public License 2.0 (EPL-2.0)
LatencyUtils/2.0.3 : Creative Commons Zero v1.0 Universal (CC0-1.0)
LatencyUtils/2.0.3 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
Logback/1.5.11 : Eclipse Public License 1.0 (EPL-1.0)
Logback/1.5.11 : GNU Lesser General Public License v2.1 only (LGPL-2.1-only)
logstash-logback-encoder/7.3 : MIT License (MIT)
logstash-logback-encoder/7.3 : Apache License 2.0 (Apache-2.0)
mafintosh/pump/3.0.0 : MIT License (MIT)
mercedes-benz/sechub/v0.4.0-web-ui : MIT License (MIT)
micrometer-commons/1.13.6 : Apache License 2.0 (Apache-2.0)
micrometer-jakarta9/1.13.6 : Apache License 2.0 (Apache-2.0)
micrometer-metrics/micrometer/1.13.6 : Apache License 2.0 (Apache-2.0)
micrometer-observation/1.13.6 : Apache License 2.0 (Apache-2.0)
micrometer-registry-prometheus/1.13.6 : Apache License 2.0 (Apache-2.0)
mime-db/1.52.0 : MIT License (MIT)
minimatch/3.1.2 : ISC License (ISC)
mockito-junit-jupiter/5.11.0 : MIT License (MIT)
Mockito_/5.11.0 : MIT License (MIT)
ms.js/2.1.2 : MIT License (MIT)
Nimbus Content Type/2.2 : Apache License 2.0 (Apache-2.0)
Nimbus LangTag/1.7 : Apache License 2.0 (Apache-2.0)
Nimbus-JOSE-JWT/9.37.3 : Apache License 2.0 (Apache-2.0)
node-concat-map/0.0.1 : MIT License (MIT)
node-entities/4.5.0 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
node-glob/7.2.3 : ISC License (ISC)
node-graceful-fs/4.2.10 : ISC License (ISC)
node-jsonfile/6.1.0 : MIT License (MIT)
node-tmp/0.2.1 : MIT License (MIT)
node-tunnel/0.0.6 : MIT License (MIT)
nth-check/2.1.1 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
OAuth 2.0 SDK with OpenID Connect extensions/9.43.4 : Apache License 2.0 (Apache-2.0)
OpenTelemetry/1.43.0 : Apache License 2.0 (Apache-2.0)
OpenTelemetry Java/1.43.0 : Apache License 2.0 (Apache-2.0)
OpenTelemetry Java/1.43.0-alpha : Apache License 2.0 (Apache-2.0)
OpenTelemetry Java - io.opentelemetry:opentelemetry-sdk-metrics/1.43.0 : Apache License 2.0 (Apache-2.0)
OpenTelemetry Semantic Conventions Java/1.25.0-alpha : Apache License 2.0 (Apache-2.0)
org.apiguardian:apiguardian-api/1.1.2 : Apache License 2.0 (Apache-2.0)
org.junit.jupiter:junit-jupiter-api/5.10.5 : Eclipse Public License 2.0 (EPL-2.0)
org.junit.jupiter:junit-jupiter-engine/5.10.5 : Eclipse Public License 2.0 (EPL-2.0)
org.junit.jupiter:junit-jupiter-params/5.10.5 : Eclipse Public License 2.0 (EPL-2.0)
org.junit.platform:junit-platform-commons/1.10.5 : Eclipse Public License 2.0 (EPL-2.0)
org.junit.platform:junit-platform-engine/1.10.5 : Eclipse Public License 2.0 (EPL-2.0)
org.opentest4j:opentest4j/1.3.0 : Apache License 2.0 (Apache-2.0)
org.seleniumhq.selenium:selenium-devtools-v85/4.26.0 : Apache License 2.0 (Apache-2.0)
org.seleniumhq.selenium:selenium-http/4.26.0 : Apache License 2.0 (Apache-2.0)
org.seleniumhq.selenium:selenium-json/4.26.0 : Apache License 2.0 (Apache-2.0)
org.seleniumhq.selenium:selenium-manager/4.26.0 : Apache License 2.0 (Apache-2.0)
org.seleniumhq.selenium:selenium-os/4.26.0 : Apache License 2.0 (Apache-2.0)
org.xmlunit:xmlunit-core/2.9.1 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
OWASP ZAP API Client/1.16.0 : Apache License 2.0 (Apache-2.0)
Package URL/1.4.1 : MIT License (MIT)
parse5/7.1.2 : MIT License (MIT)
parse5/7.0.0 : MIT License (MIT)
path-is-absolute/1.0.1 : MIT License (MIT)
path-parse/1.0.7 : MIT License (MIT)
PathJson/2.9.0 : Apache License 2.0 (Apache-2.0)
pend/1.2.0 : MIT License (MIT)
PostgreSQL JDBC Driver (pgjdbc)/42.7.1 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
Prometheus Metrics Config/1.2.1 : Apache License 2.0 (Apache-2.0)
Prometheus Metrics Core/1.2.1 : Apache License 2.0 (Apache-2.0)
Prometheus Metrics Exposition Formats/1.2.1 : Apache License 2.0 (Apache-2.0)
Prometheus Metrics Model/1.2.1 : Apache License 2.0 (Apache-2.0)
Prometheus Metrics Tracer Common/1.2.1 : Apache License 2.0 (Apache-2.0)
proxy-from-env/1.1.0 : MIT License (MIT)
re2j/1.7 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
rechoir/0.6.2 : MIT License (MIT)
relaxngDatatype/20020414 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
rimraf/3.0.2 : ISC License (ISC)
sarif-java/1.1.0 : MIT License (MIT)
sechub/2.8.0-BE : MIT License (MIT)
Shaded Protobuf/1.2.1 : Apache License 2.0 (Apache-2.0)
shelljs/0.8.5 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
SLF4J API Module/2.0.15 : MIT License (MIT)
SLF4J API Module/2.0.16 : MIT License (MIT)
SnakeYAML/2.2 : Apache License 2.0 (Apache-2.0)
Spring Boot/3.3.5 : Apache License 2.0 (Apache-2.0)
Spring Boot Actuator AutoConfigure/3.3.5 : Apache License 2.0 (Apache-2.0)
Spring Boot Mail Starter/3.3.5 : Apache License 2.0 (Apache-2.0)
Spring Boot OAuth2 Resource Server Starter/3.3.5 : Apache License 2.0 (Apache-2.0)
Spring Boot OAuth2/OpenID Connect Client Starter/3.3.5 : Apache License 2.0 (Apache-2.0)
Spring Boot Test/3.3.5 : Apache License 2.0 (Apache-2.0)
Spring Boot Test Auto-Configure/3.3.5 : Apache License 2.0 (Apache-2.0)
Spring Commons Logging Bridge/6.1.14 : Apache License 2.0 (Apache-2.0)
Spring Data Commons/3.3.5 : Apache License 2.0 (Apache-2.0)
Spring Data JPA/3.3.5 : Apache License 2.0 (Apache-2.0)
Spring Framework/6.1.14 : Apache License 2.0 (Apache-2.0)
Spring Security/6.3.4 : Apache License 2.0 (Apache-2.0)
spring-boot-actuator/3.3.5 : Apache License 2.0 (Apache-2.0)
spring-security-oauth2-client/6.3.4 : Apache License 2.0 (Apache-2.0)
spring-security-oauth2-core/6.3.4 : Apache License 2.0 (Apache-2.0)
spring-security-oauth2-jose/6.3.4 : Apache License 2.0 (Apache-2.0)
spring-security-oauth2-resource-server/6.3.4 : Apache License 2.0 (Apache-2.0)
StAX/1.0-2 : GNU General Public License v3.0 only (GPL-3.0-only)
StAX/1.0-2 : Common Development and Distribution License 1.0 (CDDL-1.0)
stax2-api/4.2.2 : BSD 2-Clause "Simplified" License (BSD-2-Clause)
supports-preserve-symlinks-flag/1.0.0 : MIT License (MIT)
Thymeleaf/3.1.2.RELEASE : Apache License 2.0 (Apache-2.0)
thymeleaf-spring6/3.1.2.RELEASE : Apache License 2.0 (Apache-2.0)
tmp-promise/3.0.3 : MIT License (MIT)
TXW2 Runtime/4.0.5 : Eclipse Distribution License v1.0 (LicenseRef-MB-EDL)
unbescape/1.1.6.RELEASE : Apache License 2.0 (Apache-2.0)
universalify/2.0.1 : MIT License (MIT)
uuid/8.3.2 : MIT License (MIT)
WireMock/3.0.1 : Apache License 2.0 (Apache-2.0)
WireMock/3.0.1 : Apache License 2.0 (Apache-2.0)
Woodstox/6.7.0 : Apache License 2.0 (Apache-2.0)
wrappy/1.0.2 : ISC License (ISC)
xsdlib/2013.6.1 : BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
yauzl/2.10.0 : MIT License (MIT)

- Copyright Texts -

@actions/core/1.10.1 : 
	Copyright (c) 2019 GitHub

@actions/http-client/2.1.0 : 
	Copyright (c) GitHub, Inc. All rights reserved

@types/jsonfile/6.1.4 : 
	Copyright (c) Microsoft Corporation.

@types/node/18.15.1 : 
	Copyright (c) Microsoft Corporation.
	Copyright (c) Node.js contributors. All rights reserved

Angus Activation Registries/2.0.2 : 
	Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

Angus Mail default provider/2.0.3 : 
	Copyright (c)  Copyright (c) 1997, 2024 Oracle and/or its affiliates. All rights reserved.

antlr/4.13.0 : 
	Copyright (c) 2009-2016 Stuart Knightley <stuart
	Copyright (c) 2012-2017 The ANTLR Project. All rights reserved
	Copyright (c) 2013, 2015, 2018, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) 2014 Stuart Knightley, David Duponchel
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors

Apache Commons BeanUtils/1.9.4 : 
	Copyright (c) 2000-2019 The Apache Software Foundation This product includes software developed at

Apache Commons Codec/1_6 : 
	Copyright (c) 2002 Kevin Atkinson (kevina@gnu.org). Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
	Copyright (c) 2002-2011 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved
	Copyright (c) 2002-2011 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/).

Apache Commons Codec/1.17.1 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2002 Kevin Atkinson (kevina@gnu.org). 
	Copyright (c) 2004-2006 Intel Corporation
	Copyright (c) 2013, 2015, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ 
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/

Apache Commons Codec/1.16.1 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2002 Kevin Atkinson (kevina@gnu.org). Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved." Massaged the test data in t
	Copyright (c) 2004-2006 Intel Corporation
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) to their code." </blockquote> <p> Original adaption from Apache Hive. That adaption contains a {@code hash64} method that is not part of the original MurmurHash3 code. It is not recommended 
	Copyright (c) to their code." </blockquote> @see <a href="https://en.wikipedia.org/wiki/MurmurHash">MurmurHash</a> @see <a href="https://github.com/aappleby/smhasher/blob/master/src/MurmurHash2.cpp"> Orig
	Copyright (c) year name of author Gnomovision comes

Apache Commons Codec/1.16.0 : 
	Copyright (c) 2002 Kevin Atkinson (kevina@gnu.org). Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved." Massaged the test data in t
	Copyright (c) 2004-2006 Intel Corporation
	Copyright (c) to their code." </blockquote> <p> Original adaption from Apache Hive. That adaption contains a {@code hash64} method that is not part of the original MurmurHash3 code. It is not recommended 
	Copyright (c) to their code." </blockquote> @see <a href="https://en.wikipedia.org/wiki/MurmurHash">MurmurHash</a> @see <a href="https://github.com/aappleby/smhasher/blob/master/src/MurmurHash2.cpp"> Orig

Apache Commons Collections/3.2.2 : 
	Copyright (c) 2001 </body>
	Copyright (c) 2001-2015 The Apache Software Foundation This product includes software developed by

Apache Commons Compress/1.25.0 : 
	Copyright (c) 1987 by Digital Equipment Corporation, Maynard, Massachusetts. All Rights Reserved
	Copyright (c) 1987, 1998 The Open Group Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above cop
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2001 Keith Packard Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyrigh
	Copyright (c) 2002-2023 The Apache Software Foundation This product includes software developed at
	Copyright (c) 2003 Richard Henderson Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copy
	Copyright (c) 2004-2006 Intel Corporation
	Copyright (c) 2006-2007 IBM Corporation and others.
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

Apache Commons Digester/2.1 : 
	Copyright (c) != null) writer.print(" <copyright>");
	Copyright (c) (1-100 characters).
	Copyright (c) 2001-2004 - Apache Software Foundation"> <link offline="true" packagelistLoc="${commons-beanutils.api}" href="http://commons.apache.org/beanutils/api/"/> <link offline="true" packagelist
	Copyright (c) 2001-2010 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved
	Copyright (c) 2001-2010 The Apache Software Foundation This product includes software developed by
	Copyright (c) = copyright; }
	Copyright (c) = null; public String getCopyright() { return (this.copyright);
	Copyright (c) Copyright(String copyright)
	Copyright (c) copyright); writer.print("</copyright>"); }

Apache Commons Exec/1.4.0 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

Apache Commons FileUpload Jakarta/2.0.0-M1 : 
	Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler
	Copyright (c) 2009-2016 Stuart Knightley <stuart
	Copyright (c) 2013, 2015, 2018, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) 2014 Stuart Knightley, David Duponchel
	Copyright (c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors

Apache Commons IO/2.14.0 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2013, 2015, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

Apache Commons IO/2.15.1 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

Apache Commons Lang/3.14.0 : 
	Copyright (c) <year Redistribution and use in source and binary forms<<var;name="theme";original="";match="()|( of the theme)">>, with or without modification, <<var;name="tobe";o
	Copyright (c) . Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must re
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2001 </footer> </div> </div> </body>
	Copyright (c) 2001-2023 The Apache Software Foundation This product includes software developed at
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

Apache Commons Lang/3.13.0 : 
	Copyright (c) <year Redistribution and use in source and binary forms, with or without modification, <<var;name="tobe";original="are";match="are|is">> permitted provided that the follow
	Copyright (c) . Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must re

Apache Commons Logging/1.3.0 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

Apache Commons Logging/1.1.3 : 
	Copyright (c) 2001-2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved
	Copyright (c) 2003-2013 The Apache Software Foundation This product includes software developed at

Apache Commons Logging/1.2 : 
	Copyright (c) 2001 </body>
	Copyright (c) 2003-2014 The Apache Software Foundation This product includes software developed at

Apache Commons Validator/1.8.0 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

Apache Groovy/4.0.24 : 
	Copyright (c) (C)<VArgs_penalty(A) VArgs_penalty(A)<VArgs_penalty(D) VArgs_penalty(D)<VArgs_penalty(B)
	Copyright (c) 2000-2011 INRIA, France Telecom All rights reserved
	Copyright (c) 2003-2023 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/).
	Copyright (c) 2003-2023 The Apache Software Foundation. https://groovy-lang.org/", "",
	Copyright (c) 2003-2024 The Apache Software Foundation. All rights reserved
	Copyright (c) 2005-2006 Intel Corporation
	Copyright (c) 2006, 2010 The Apache Software Foundation.
	Copyright (c) 2008-2020 Hazelcast, Inc. All Rights Reserved
	Copyright (c) 2010-2012 Google Inc. All Rights Reserved
	Copyright (c) 2012-2017 The ANTLR Project. All rights reserved
	Copyright (c) 2013, 2015, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) foo will force creation of a ClassExpression for C <p> Note: the method to start the resolving is {@link startResolving(ClassNode,SourceUnit)}. public class ResolveVisitor extends ClassCodeExpress
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) map SpreadMapExpression mapExpression = (SpreadMapExpression) be.getRightExpression(); Expression right = transform(mapExpression.getExpression()); return CastExpression.asExpression(left.getType(
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/

Apache HttpClient/4.3.1 : 
	Copyright (c) 1999 </body>
	Copyright (c) 1999-2013 The Apache Software Foundation This product includes software developed at

Apache HttpClient/4.5.13 : 
	Copyright (c) 1999-2020 The Apache Software Foundation This product includes software developed at

Apache HttpClient/5.2.1 : 
	Copyright (c) 1999-2021 The Apache Software Foundation This product includes software developed at

Apache HttpComponents Core HTTP/2/5.2 : 
	Copyright (c) 2005-2021 The Apache Software Foundation This product includes software developed at

Apache HttpComponents Core HTTP/2/5.2.5 : 
	Copyright (c) 2005-2021 The Apache Software Foundation This product includes software developed at

Apache HttpMime/4.3.1 : 
	Copyright (c) 1999-2013 The Apache Software Foundation This product includes software developed at

Apache Log4J API/2.23.1 : 
	Copyright (c) 1999-2024 The Apache Software Foundation

Apache Log4j to SLF4J Adapter/2.23.1 : 
	Copyright (c) 1999-2024 The Apache Software Foundation

Apache Tomcat/10.1.31 : 
	Copyright (c) 1999-2024 Apache Software Foundation</em>" "</font></center> " + " " + "</body> " + "</html>"; @formatter:on public static final String CHARSET = "utf-8";
	Copyright (c) 1999-2024 Apache Software Foundation</em>" "</font></center> " + " " + "</body> " + "</html>"; @formatter:on }
	Copyright (c) 1999-2024 The Apache Software Foundation This product includes software developed at
	Copyright (c) 1999-2024 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/).
	Copyright (c) 1999-2024 The Apache Software Foundation"; }
	Copyright (c) 2003-2009 Sun Microsystems, Inc. All rights reserved
	Copyright (c) 2009-2017, 2020, 2021 Oracle and/or its affiliates. All rights reserved
	Copyright (c) International Business Machines Corporation 2002 </xsd:documentation> </xsd:annotation>

ASM/9.6 : 
	Copyright (c) 2000-2011 INRIA, France Telecom All rights reserved
	Copyright (c) 2013, 2015, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/

ASM based accessors helper used by json-smart/2.5.1 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2011-2023 JSON-SMART authors
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

AspectJ weaver/1.9.22.1 : 
	Copyright (c) 1993, 2018 Oracle and/or its affiliates.
	Copyright (c) 1998-2001 Xerox Corporation,
	Copyright (c) 2000, 2003-2004, 2006 IBM Corporation and others.
	Copyright (c) 2000-2011 INRIA, France Telecom All rights reserved
	Copyright (c) 2001, 2017 The Apache Software Foundation. All rights reserved
	Copyright (c) 2002, 2010 Palo Alto Research Center, Incorporated (PARC) and others.
	Copyright (c) 2002-2019 Contributors
	Copyright (c) 2002-2019 Palo Alto Research Center, Incorporated (PARC).
	Copyright (c) 2003-2018 Contributors.
	Copyright (c) 2004 IBM Corporation.
	Copyright (c) 2004, 2013 IBM, VMware
	Copyright (c) 2004-2005, 2013 IBM Corporation
	Copyright (c) 2004-2006 IBM
	Copyright (c) 2005 IBM, Contributors.
	Copyright (c) 2005-2006 Contributors. All rights reserved
	Copyright (c) 2010 SpringSource, Contributors
	Copyright (c) 2012 VMware, Inc. custard
	Copyright (c) 2013 VMware
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) 201617 The Apache Software Foundation. All rights reserved
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/

AssertJ - Fluent Assertions for Java/3.25.3 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.annotations;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.api.exception;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.api.filter;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.api.iterable;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.api.junit.jupiter;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.api.recursive.assertion;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.api.recursive.comparison;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.api.recursive;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.api;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.condition;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.configuration;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.data;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.description;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.error.array2d;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.error.future;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.error.uri;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.error;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.extractor;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.groups;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.internal;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.matcher;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.presentation;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.util.diff.myers;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.util.diff;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.util.introspection;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.util.xml;
	Copyright (c) 2012-2024 the original author or authors. package org.assertj.core.util;
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

asynckit/0.4.0 : 
	Copyright (c) 2016 Alex Indigo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Softwar

attoparser/2.0.7.RELEASE : 
	Copyright (c) 2012-2022 The ATTOPARSER team (https://www.attoparser.org)
	Copyright (c) 2012-2022 The ATTOPARSER team (https://www.attoparser.org) -->

Awaitility/4.2.2 : 
	Copyright (c) 2007 Google Inc.
	Copyright (c) 2008-2010, 2014, 2015-2019, 2022 the original author or authors.
	Copyright (c) 2010 PowerMock original author or authors.
	Copyright (c) 2011 The Guava Authors

axios/1.7.4 : 
	Copyright (c) 2014present Matt Zabriskie
	Copyright (c) 2024 Matt Zabriskie and contributors (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
	Copyright (c) 2024 Matt Zabriskie and contributors function bind(fn, thisArg) { return function wrap() { return fn.apply(thisArg, arguments); };

balanced-match/1.0.2 : 
	Copyright (c) 2013 Julian Gruber Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Softw

beanvalidation-api/3.0.2 : 
	Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler
	Copyright (c) 2009-2016 Stuart Knightley <stuart
	Copyright (c) 2013, 2015, 2018 Oracle and/or its affiliates. All rights reserved
	Copyright (c) 2014 Stuart Knightley, David Duponchel
	Copyright (c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
	Copyright (c) 2015 jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) 2019-2020 Eclipse Foundation.<br>
	Copyright (c) jQuery Foundation and other contributors
	Copyright (c) JS Foundation and other contributors

boolbase/1.0.0 : 
	Copyright (c) 2014-2015 Felix Boehm <me@feedic.com>

Bouncy Castle/1.78.1 : 
	Copyright (c) 2000-2023 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org)
	Copyright (c) 2000-2023 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org) "
	Copyright (c) 2013, 2015, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) Copyright: Dr B. R Gladman (gladman@seven77.demon.co.uk) and Sam Simpson (s.simpson@mia.co.uk) 17th December 1998 We hereby give permission for information in this file to be used freely subject only 
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/

brace-expansion/1.1.11 : 
	Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Softwa
	Copyright (c) 2013 Julian Gruber Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Softw

browserify/resolve/1.22.1 : 
	Copyright (c) 2012 James Halliday

buffer-crc32/0.2.13 : 
	Copyright (c) 2013 Brian J. Brennan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the So

Byte Buddy/1.14.19 : 
	Copyright (c) ${project.inceptionYear
	Copyright (c) 2000-2011 INRIA, France Telecom All rights reserved
	Copyright (c) 2014 - Present Rafael Winterhalter

Byte Buddy/1.14.12 : 
	Copyright (c) ${project.inceptionYear
	Copyright (c) 2000-2011 INRIA, France Telecom All rights reserved
	Copyright (c) 2014 - Present Rafael Winterhalter

byte-buddy-agent/1.14.19 : 
	Copyright (c) ${project.inceptionYear
	Copyright (c) 2014 - Present Rafael Winterhalter

Checker Qual/3.41.0 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2013, 2015, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

Checker Qual/3.43.0 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2013, 2015, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

cheerio/1.0.0-rc.12 : 
	Copyright (c) 2022 The Cheerio contributors

cheerio-select/2.1.0 : 
	Copyright (c) Felix B All rights reserved

com.google.auto.service:auto-service-annotations/1.1.1 : 
	Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler
	Copyright (c) 2008, 2013 Google LLC
	Copyright (c) 2009-2016 Stuart Knightley <stuart
	Copyright (c) 2013, 2015, 2018 Oracle and/or its affiliates. All rights reserved
	Copyright (c) 2014 Stuart Knightley, David Duponchel
	Copyright (c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the
	Copyright (c) jQuery Foundation and other contributors
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT (function( factory ) { if ( typeof define === "function" && define.amd ) {
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT Layout helpers
	Copyright (c) JS Foundation and other contributors

combined-stream/1.0.8 : 
	Copyright (c) 2011 Debuggable Limited <felix@debuggable.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Soft

command-exists/1.2.9 : 
	Copyright (c) 2014 Matthew Conlen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Soft

commons-cli/1.6.0 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2013, 2015, 2022-2023 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

css-what/6.1.0 : 
	Copyright (c) Felix B All rights reserved

CSSselect/5.1.0 : 
	Copyright (c) 2007-2020 Steven Levithan under the MIT license https://github.com/slevithan/xregexp/blob/95eeebeb8fac8754d54eafe2b4743661ac1cf028/src/xregexp.jsL794 const reChars = /[-[]{}()+?.,\^$|s]/g; functio
	Copyright (c) 2007-2020 Steven Levithan under the MIT license https://github.com/slevithan/xregexp/blob/95eeebeb8fac8754d54eafe2b4743661ac1cf028/src/xregexp.jsL794 var reChars = /[-[]{}()+?.,\^$|s]/g; function 
	Copyright (c) Felix B All rights reserved

CycloneDX Core (Java)/8.0.0 : 
	Copyright (c) = copyright; }
	Copyright (c) = new ArrayList<>(); }
	Copyright (c) == null)
	Copyright (c) Copyrightjava/lang/Object    F
	Copyright (c) Copyright() { return copyright; }
	Copyright (c) Copyright() {} public Copyright(String text) this.text = text; }
	Copyright (c) Copyright(Copyright copyright)
	Copyright (c) Copyright(String copyright)
	Copyright (c) copyright) && Objects.equals(cpe, component.cpe) Objects.equals(purl, component.purl) && Objects.equals(swid, component.swid) && Objects.equals(components, component.components) && Objects.equals(evid
	Copyright (c) copyright); } public Identity getIdentity() return identity; }
	Copyright (c) copyright-parliament/open-parliament-licence/" "isOsiApproved": false },
	Copyright (c) copyright-software-19980720.html" "isOsiApproved": false },
	Copyright (c) copyright-software-20021231.html",
	Copyright (c) copyright-software-and-document" "isOsiApproved": false },
	Copyright (c) copyright/freebsd-doc-license/" "isOsiApproved": false },
	Copyright (c) copyright/freebsd-license.html" "isOsiApproved": false },
	Copyright (c) copyright/freebsd-license.html",
	Copyright (c) Copyright;(Ljava/lang/String;)V
	Copyright (c) copyright; private String cpe; private String purl; @VersionFilter(versions = {"1.0", "1.1"}) private Swid swid; private Boolean modified; @VersionFilter(versions = {"1.0"}) private Pedigree pedigree;
	Copyright (c) copyright; } public void setCopyright(List<Copyright> copyright)
	Copyright (c) Copyright> copyright; @VersionFilter(versions = {"1.0", "1.1", "1.2", "1.3", "1.4"}) private Identity identity;
	Copyright (c) Copyright> getCopyright()
	Copyright (c) COPYRIGHTL366" "isOsiApproved": false },
	Copyright (c) OWASP Foundation. All Rights Reserved
	Copyright (c) Text" }
	Copyright (c) { private String text;

debug-js/debug/4.3.4 : 
	Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
	Copyright (c) 2018-2021 Josh Junon

delayed-stream/1.0.0 : 
	Copyright (c) 2011 Debuggable Limited <felix@debuggable.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Soft

dom-serializer/2.0.0 : 
	Copyright (c) 2014 The cheeriojs contributors

dom4j: flexible XML framework for Java/2.1.4 : 
	Copyright (c) 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved

domelementtype/2.3.0 : 
	Copyright (c) Felix B All rights reserved

DomHandler/5.0.3 : 
	Copyright (c) Felix B All rights reserved

domutils/3.1.0 : 
	Copyright (c) Felix B All rights reserved

easymockobjenesis/3.3 : 
	Copyright (c) 2006-2022 Joe Walnes, Henri Tremblay, Leonardo Mesquita
	Copyright (c) 2006-2022 the original author or authors.

end-of-stream/1.4.4 : 
	Copyright (c) 2014 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Softwa

error-prone annotations/2.28.0 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2013, 2015, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) 2014-2017, 2021, 2023 The Error Prone Authors.
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

extract-zip/2.0.1 : 
	Copyright (c) 2014 Max Ogden and other contributors All rights reserved

Failsafe/3.3.2 : 
	Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler
	Copyright (c) 2009-2016 Stuart Knightley <stuart
	Copyright (c) 2011-2022 the original author or authors.
	Copyright (c) 2013, 2015, 2018 Oracle and/or its affiliates. All rights reserved
	Copyright (c) 2014 Stuart Knightley, David Duponchel
	Copyright (c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the
	Copyright (c) jQuery Foundation and other contributors
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT (function( factory ) { if ( typeof define === "function" && define.amd ) {
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT Layout helpers
	Copyright (c) JS Foundation and other contributors

fd-slicer/1.1.0 : 
	Copyright (c) 2014 Andrew Kelley Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Softw

FindBugs jsr305/3.0.2 : 
	Copyright (c) 2005 Brian Goetz Released under the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.5) Official home: http://www.jcip.net package javax.annotation.concurre
	Copyright (c) 2017. All rights reserved

flyway-core/10.10.0 : 
	Copyright (c) 2013, 2015, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) Red Gate Software Ltd 2010-2024

flyway-database-postgresql/10.10.0 : 
	Copyright (c) 2013, 2015, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) Red Gate Software Ltd 2010-2024

form-data/4.0.0 : 
	Copyright (c) 2012 Felix Geisend Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Softw

fs-extra/11.2.0 : 
	Copyright (c) 2011-2017 JP Richardson

fs.realpath/1.0.0 : 
	Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyri
	Copyright (c) Joyent, Inc. and other Node contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), t

function-bind/1.1.1 : 
	Copyright (c) 2013 Raynos. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software wi

get-stream/v5.2.0 : 
	Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentati

googlegson/2.10.1 : 
	Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler
	Copyright (c) 2008-2012, 2014, 2020-2021 Google Inc.
	Copyright (c) 2009-2016 Stuart Knightley <stuart
	Copyright (c) 2010 The Android Open Source Project
	Copyright (c) 2013, 2015, 2018 Oracle and/or its affiliates. All rights reserved
	Copyright (c) 2014 Stuart Knightley, David Duponchel
	Copyright (c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the
	Copyright (c) 2017-2018 The Gson authors
	Copyright (c) jQuery Foundation and other contributors
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT (function( factory ) { if ( typeof define === "function" && define.amd ) {
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT Layout helpers
	Copyright (c) JS Foundation and other contributors

googleguava/33.3.1-jre : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler
	Copyright (c) 2005-2021, 2023, 2024 The Guava Authors
	Copyright (c) 2007 Free Software Foundation, Inc. <http://fsf.org/>
	Copyright (c) 2009-2016 Stuart Knightley <stuart
	Copyright (c) 2009-2016 Stuart Knightley, David Duponchel, Franz Buchinger, Ant
	Copyright (c) 2011 Google Inc. All Rights Reserved
	Copyright (c) 2011 The Guava Authors.
	Copyright (c) 2013, 2015, 2018, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) 2014 Stuart Knightley, David Duponchel
	Copyright (c) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn
	Copyright (c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) o; return ImmutableRangeSet.this.contains(c); } catch (ClassCastException e) { return false; }
	Copyright (c) object; return range.contains(c); } catch (ClassCastException e) { return false; }
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) requireNonNull(key)) : null; }
	Copyright (c) requireNonNull(target); long total = 0; for (Range<C> range : ranges) { if (range.contains(c)) { return Ints.saturatedCast(total + ContiguousSet.create(range, domain).indexOf(c)); } else { total +
	Copyright (c) requireNonNull(target); return (int) domain.distance(first(), c); }
	Copyright (c) to this source code.
	Copyright (c) to this source code. static int smear(int hashCode) { return (int) (C2 Integer.rotateLeft((int) (hashCode C1), 15));
	Copyright (c) to this source code. static int smear(int hashCode) { return C2 Integer.rotateLeft(hashCode C1, 15);
	Copyright (c) year name of author Gnomovision comes

Guava InternalFutureFailureAccess and InternalFutures/1.0.2 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 1995-2013 Jean-loup Gailly and Mark Adler
	Copyright (c) 2007 Free Software Foundation, Inc. <http://fsf.org/>
	Copyright (c) 2009-2016 Stuart Knightley <stuart
	Copyright (c) 2009-2016 Stuart Knightley, David Duponchel, Franz Buchinger, Ant
	Copyright (c) 2013, 2015, 2018, 2020, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) 2014 Stuart Knightley, David Duponchel
	Copyright (c) 2014-2017 Vitaly Puzrin and Andrey Tupitsin This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the
	Copyright (c) 2018 The Guava Authors
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision his
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors
	Copyright (c) JS Foundation and other contributors, https://js.foundation/ This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision hist
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of author Gnomovision comes

H2 Database Engine/2.2.224 : 
	Copyright (c) 2000-2005 Marc Alexander Lehmann <schmorp@schmorp.de>
	Copyright (c) 2004-2023 H2 Group. Multiple-Licensed under the MPL 2.0,
	Copyright (c) 2004-2023 H2 Group. Multiple-Licensed under the MPL 2.0, and the
	Copyright (c) 2005 Oren J. Maurice <oymaurice@hazorea.org.il> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are 
	Copyright (c) info:

Hamcrest/1.3 : 
	Copyright (c) 2000-2006 hamcrest.org package org.hamcrest;
	Copyright (c) 2000-2006 www.hamcrest.org All rights reserved
	Copyright (c) 2000-2010 hamcrest.org package org.hamcrest.core;

has/1.0.3 : 
	Copyright (c) 2013 Thiago de Arruda Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the So

HdrHistogram/2.2.2 : 
	Copyright (c) 1989, 1991 Free Software Foundation, Inc.
	Copyright (c) 2013, 2015, 2022 Oracle and/or its affiliates. All rights reserved
	Copyright (c) <year> <name of author>
	Copyright (c) jQuery Foundation and other contributors, https://jquery.org/
	Copyright (c) jQuery Foundation and other contributors; Licensed MIT
	Copyright (c) JS Foundation and other contributors, https://js.foundation/
	Copyright (c) OpenJS Foundation and other contributors, https://openjsf.org/
	Copyright (c) year name of a
Download .txt
Showing preview only (513K chars total). Download the full file or copy to clipboard to get everything.
gitextract_kutx_dqx/

├── .gitattributes
├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       ├── _build+publish-pds-solution.yml
│       ├── build+publish-all-pds-solutions.yml
│       ├── documentation-build.yml
│       ├── github-action-scan.yml
│       ├── gradle.yml
│       ├── release-client-server-pds.yml
│       ├── release-github-action.yml
│       ├── release-pds-tools.yml
│       ├── release-web-ui.yml
│       ├── release-wrapper-checkmarx.yml
│       ├── release-wrapper-owaspzap.yml
│       ├── release-wrapper-prepare.yml
│       ├── release-wrapper-validation.yml
│       ├── release-wrapper-xray.yml
│       ├── sechub-plugin-eclipse-gradle.yml
│       ├── sechub-plugin-jetbrains-gradle.yml
│       ├── sechub-plugin-vscode-ci.yml
│       └── sechub-plugin-vscode-release.yml
├── .gitignore
├── 3RD_PARTY_LICENSES.txt
├── CONTRIBUTING.md
├── LICENSE
├── LICENSES/
│   └── CC-BY-NC-ND-4.0.txt
├── MAINTAINERS.md
├── README.adoc
├── SECURITY.md
├── apply-headers.sh
├── build.gradle
├── buildDoc
├── buildExecutables
├── buildSrc/
│   └── src/
│       └── main/
│           └── groovy/
│               ├── CmdExecutor.groovy
│               ├── IOUtil.java
│               ├── JunitFilesToOneFileConverter.groovy
│               ├── MinGWConverter.groovy
│               ├── OSUtil.groovy
│               └── VersionData.groovy
├── continous-integration-multibranch-pipeline.jenkins
├── deprecated-sechub-adapter-nessus/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               └── adapter/
│       │   │                   └── nessus/
│       │   │                       ├── MockedNessusAdapter.java
│       │   │                       ├── NessusAdapter.java
│       │   │                       ├── NessusAdapterConfig.java
│       │   │                       ├── NessusAdapterContext.java
│       │   │                       ├── NessusAdapterV1.java
│       │   │                       ├── NessusAdapterV1NewScanJSONBuilder.java
│       │   │                       ├── NessusClientHttpRequestInterceptor.java
│       │   │                       ├── NessusConfig.java
│       │   │                       ├── NessusContext.java
│       │   │                       ├── NessusRESTFailureException.java
│       │   │                       └── NessusState.java
│       │   └── resources/
│       │       └── adapter/
│       │           └── mockdata/
│       │               └── MockedNessusAdapter/
│       │                   └── v1/
│       │                       ├── green.xml
│       │                       ├── red.xml
│       │                       └── yellow.xml
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── adapter/
│           │                   └── nessus/
│           │                       ├── NessusAdapterV1NewScanJSONBuilderTest.java
│           │                       ├── NessusAdapterV1Test.java
│           │                       ├── NessusAdapterV1WireMockTest.java
│           │                       ├── NessusConfigBuilderTest.java
│           │                       ├── NessusConfigTest.java
│           │                       ├── NessusStateTest.java
│           │                       └── TestNessusAdapterFileSupport.java
│           └── resources/
│               ├── README.md
│               ├── nessus_7.0.2.get_policies_result.json
│               └── nessus_7.0.2.result.xml
├── deprecated-sechub-adapter-netsparker/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               └── adapter/
│       │   │                   └── netsparker/
│       │   │                       ├── MockedNetsparkerAdapter.java
│       │   │                       ├── NetsparkerAdapter.java
│       │   │                       ├── NetsparkerAdapterConfig.java
│       │   │                       ├── NetsparkerAdapterContext.java
│       │   │                       ├── NetsparkerAdapterV1.java
│       │   │                       ├── NetsparkerAdapterWebLoginSupportV1.java
│       │   │                       ├── NetsparkerClientHttpRequestInterceptor.java
│       │   │                       ├── NetsparkerConfig.java
│       │   │                       ├── NetsparkerContext.java
│       │   │                       ├── NetsparkerLoginScriptGenerator.java
│       │   │                       ├── NetsparkerMetaDataID.java
│       │   │                       ├── NetsparkerRESTFailureException.java
│       │   │                       └── NetsparkerState.java
│       │   └── resources/
│       │       └── adapter/
│       │           └── mockdata/
│       │               └── MockedNetsparkerAdapter/
│       │                   └── v1/
│       │                       ├── green.xml
│       │                       ├── red.xml
│       │                       └── yellow.xml
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── adapter/
│           │                   └── netsparker/
│           │                       ├── NetsparkerAdapterV1Test.java
│           │                       ├── NetsparkerAdapterV1WireMockTest.java
│           │                       ├── NetsparkerConfigBuilderTest.java
│           │                       ├── NetsparkerContextTest.java
│           │                       ├── NetsparkerLoginScriptGeneratorTest.java
│           │                       ├── NetsparkerStateTest.java
│           │                       ├── TestNetsparkerAdapterApplication.java
│           │                       └── TestNetsparkerAdapterFileSupport.java
│           └── resources/
│               ├── README.md
│               ├── json/
│               │   ├── basic_weblogin_expected1.json
│               │   ├── form_auto_detect_weblogin.json
│               │   ├── form_scripts_weblogin.json
│               │   ├── max_duration_one_hour_expected.json
│               │   ├── max_duration_three_hours_expected.json
│               │   └── max_duration_two_hours_expected.json
│               ├── netsparker_v1.0.40.109_new_scan_output.json
│               ├── netsparker_v1.0.40.109_scan_result_output_vulnerabilities.json
│               ├── netsparker_v1.0.40.109_scan_result_output_vulnerabilities.xml
│               ├── netsparker_v1.0.40.109_scan_state_complete.json
│               └── netsparker_v1.0.40.109_scan_state_scanning.json
├── deprecated-sechub-scan-product-nessus/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── domain/
│                               └── scan/
│                                   └── product/
│                                       └── nessus/
│                                           ├── NessusConstants.java
│                                           ├── NessusInstallSetup.java
│                                           ├── NessusInstallSetupImpl.java
│                                           └── NessusProductExecutor.java
├── deprecated-sechub-scan-product-netsparker/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── domain/
│                               └── scan/
│                                   └── product/
│                                       └── netsparker/
│                                           ├── NetsparkerConstants.java
│                                           ├── NetsparkerInstallSetup.java
│                                           ├── NetsparkerInstallSetupImpl.java
│                                           └── NetsparkerProductExecutor.java
├── docs/
│   ├── .gitignore
│   ├── .nojekyll
│   ├── 200.html
│   ├── 404.html
│   ├── README.md
│   ├── _nuxt/
│   │   ├── 5c4pSGXq.js
│   │   ├── BWjaZIcp.js
│   │   ├── CCW46xiD.js
│   │   ├── builds/
│   │   │   ├── latest.json
│   │   │   └── meta/
│   │   │       └── be7dde3d-fd6e-4470-b969-cc011a87f1b7.json
│   │   ├── entry.CVHbRtC8.css
│   │   ├── error-404.1I9kcRJA.css
│   │   └── error-500.D2gsH5Ap.css
│   ├── _payload.json
│   ├── favicon.ico.license
│   ├── index-old.html
│   ├── index.html
│   └── main.css
├── github-actions/
│   └── scan/
│       ├── .eslintrc.json
│       ├── .gitignore
│       ├── .prettierrc.json
│       ├── README.adoc
│       ├── __test__/
│       │   ├── client-version-helper.test.ts
│       │   ├── configuration-builder.test.ts
│       │   ├── configuration-model-customizer.test.ts
│       │   ├── content-type.test.ts
│       │   ├── data/
│       │   │   └── delete-resources-1/
│       │   │       └── folder-to-cleanup/
│       │   │           ├── file-to-delete.txt
│       │   │           ├── file-to-keep.txt
│       │   │           └── folder-to-delete/
│       │   │               └── file-to-delete.txt
│       │   ├── fs-helper.test.ts
│       │   ├── init-scan.test.ts
│       │   ├── input-helper.test.ts
│       │   ├── integrationtest/
│       │   │   ├── 01-start.sh
│       │   │   ├── 03-init_sechub_data.sh
│       │   │   ├── 05-stop.sh
│       │   │   ├── start_pds.sh
│       │   │   ├── start_sechub_server.sh
│       │   │   ├── stop_pds.sh
│       │   │   ├── stop_sechub_server.sh
│       │   │   ├── test-config/
│       │   │   │   ├── executor-codescan-green.json
│       │   │   │   ├── executor-codescan-red-def-fp.json
│       │   │   │   ├── executor-codescan-red.json
│       │   │   │   ├── executor-codescan-yellow.json
│       │   │   │   ├── executor-iacscan-red.json
│       │   │   │   ├── executor-licensescan-green.json
│       │   │   │   ├── executor-secretscan-yellow.json
│       │   │   │   ├── executor-webscan-red.json
│       │   │   │   ├── gha_integrationtest_pds-config.json
│       │   │   │   ├── sechub-config-iacscan-test-project-8.json
│       │   │   │   ├── sechub-config-webscan-project-4-with-correct-project-name-inside.json
│       │   │   │   └── sechub-config-webscan-project-4.json
│       │   │   ├── test-product-output/
│       │   │   │   ├── example-codescan-sarif-output-red.json
│       │   │   │   ├── example-gitleaks-sarif-output-yellow.json
│       │   │   │   ├── example-iacscan-sarif-output-red.json
│       │   │   │   ├── example-owasp-zap-sarif-output-red.json
│       │   │   │   └── example-scancode-spdx-output.json
│       │   │   ├── test-scripts/
│       │   │   │   ├── pds-codescan-demo-green.sh
│       │   │   │   ├── pds-codescan-demo-red-define-false-positives.sh
│       │   │   │   ├── pds-codescan-demo-red.sh
│       │   │   │   ├── pds-codescan-demo-yellow.sh
│       │   │   │   ├── pds-iacscan-demo-red.sh
│       │   │   │   ├── pds-licensescan-demo-green.sh
│       │   │   │   ├── pds-secretscan-demo-yellow.sh
│       │   │   │   └── pds-webscan-demo-red.sh
│       │   │   ├── test-sources/
│       │   │   │   └── testdata.txt
│       │   │   ├── testframework.ts
│       │   │   └── wait_server_alive.sh
│       │   ├── integrationtest.test.ts
│       │   ├── log-helper.test.ts
│       │   ├── output-helper.test.ts
│       │   ├── post-scan.test.ts
│       │   ├── projectname-resolver.test.ts
│       │   ├── report-format.test.ts
│       │   ├── sechub-cli.test.ts
│       │   ├── shell-arg-sanitizer.test.ts
│       │   └── test-resources/
│       │       ├── test-config-with-project-name-inside.json
│       │       └── test-config.json
│       ├── action.yml
│       ├── jest.config.js
│       ├── package.json
│       ├── src/
│       │   ├── action-helper.ts
│       │   ├── client-download.ts
│       │   ├── client-version-helper.ts
│       │   ├── configuration-builder.ts
│       │   ├── configuration-model-customizer.ts
│       │   ├── content-type.ts
│       │   ├── environment.ts
│       │   ├── exitcode.ts
│       │   ├── fs-helper.ts
│       │   ├── fs-wrapper.ts
│       │   ├── github-input.ts
│       │   ├── init-scan.ts
│       │   ├── input-helper.ts
│       │   ├── json-helper.ts
│       │   ├── launcher.ts
│       │   ├── main.ts
│       │   ├── output-helper.ts
│       │   ├── platform-helper.ts
│       │   ├── post-scan.ts
│       │   ├── projectname-resolver.ts
│       │   ├── report-formats.ts
│       │   ├── sechub-cli.ts
│       │   └── shell-arg-sanitizer.ts
│       └── tsconfig.json
├── gradle/
│   ├── build-eclipse.gradle
│   ├── build-integrationtest.gradle
│   ├── build-java.gradle
│   ├── build-maven.gradle
│   ├── build-report.gradle
│   ├── build-spring.gradle
│   ├── build-versioning.gradle
│   ├── gradle_version_plugin.gradle
│   ├── libraries.gradle
│   ├── projects.gradle
│   ├── spotless.eclipseformat.xml
│   ├── spotless.gradle
│   ├── spotless.importorder
│   ├── spring_boot_dependagen.gradle
│   └── wrapper/
│       ├── .gitignore
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── ide-plugins/
│   ├── PLUGIN_3RD_PARTY_LICENSES.txt
│   ├── README.adoc
│   ├── eclipse/
│   │   ├── .gitignore
│   │   ├── README.adoc
│   │   ├── build-dependencies.sh
│   │   ├── build.gradle
│   │   ├── gradle/
│   │   │   └── wrapper/
│   │   │       ├── .gitignore
│   │   │       ├── gradle-wrapper.jar
│   │   │       └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   ├── libraries.gradle
│   │   ├── sechub-eclipse-feature/
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   └── org.eclipse.core.resources.prefs
│   │   │   ├── build.properties
│   │   │   └── feature.xml
│   │   ├── sechub-eclipse-other/
│   │   │   ├── .gitignore
│   │   │   ├── images/
│   │   │   │   └── trafficlight.xcf
│   │   │   └── spdx/
│   │   │       └── template/
│   │   │           ├── spdx_template_doubleslash.txt
│   │   │           ├── spdx_template_hash.txt
│   │   │           └── spdx_template_md.txt
│   │   ├── sechub-eclipse-plugin/
│   │   │   ├── .classpath
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   └── org.eclipse.jdt.core.prefs
│   │   │   ├── META-INF/
│   │   │   │   └── MANIFEST.MF
│   │   │   ├── build.gradle
│   │   │   ├── build.properties
│   │   │   ├── contexts.xml
│   │   │   ├── html/
│   │   │   │   ├── maintopic.html
│   │   │   │   ├── subtopic.html
│   │   │   │   └── toc.html
│   │   │   ├── icons/
│   │   │   │   └── README.md
│   │   │   ├── lib/
│   │   │   │   └── README.md
│   │   │   ├── plugin.xml
│   │   │   ├── src/
│   │   │   │   ├── main/
│   │   │   │   │   ├── java/
│   │   │   │   │   │   └── com/
│   │   │   │   │   │       └── mercedesbenz/
│   │   │   │   │   │           └── sechub/
│   │   │   │   │   │               ├── access/
│   │   │   │   │   │               │   └── SecHubAccess.java
│   │   │   │   │   │               ├── model/
│   │   │   │   │   │               │   ├── FalsePositiveEntriesToJobFindingMapTransformer.java
│   │   │   │   │   │               │   ├── FileLocationExplorer.java
│   │   │   │   │   │               │   ├── FindingModel.java
│   │   │   │   │   │               │   ├── FindingNode.java
│   │   │   │   │   │               │   ├── FindingNodeFalsePositiveInfo.java
│   │   │   │   │   │               │   └── SecHubReportToFindingModelTransformer.java
│   │   │   │   │   │               ├── server/
│   │   │   │   │   │               │   ├── SecHubServerContext.java
│   │   │   │   │   │               │   └── data/
│   │   │   │   │   │               │       └── SecHubServerDataModel.java
│   │   │   │   │   │               └── util/
│   │   │   │   │   │                   ├── FallbackIDELogger.java
│   │   │   │   │   │                   ├── IDELogAdapter.java
│   │   │   │   │   │                   ├── IDELogger.java
│   │   │   │   │   │                   └── SimpleStringUtil.java
│   │   │   │   │   └── java-eclipse/
│   │   │   │   │       └── com/
│   │   │   │   │           └── mercedesbenz/
│   │   │   │   │               └── sechub/
│   │   │   │   │                   ├── SecHubActivator.java
│   │   │   │   │                   ├── SecHubPerspective.java
│   │   │   │   │                   ├── SecHubWorkbenchListener.java
│   │   │   │   │                   ├── access/
│   │   │   │   │                   │   └── SecHubAccessFactory.java
│   │   │   │   │                   ├── callhierarchy/
│   │   │   │   │                   │   └── SecHubCallHierarchyView.java
│   │   │   │   │                   ├── component/
│   │   │   │   │                   │   ├── DragAndDropCallback.java
│   │   │   │   │                   │   ├── DragAndDropData.java
│   │   │   │   │                   │   ├── DragAndDropSupport.java
│   │   │   │   │                   │   ├── FileChooser.java
│   │   │   │   │                   │   └── ServerChooser.java
│   │   │   │   │                   ├── decorators/
│   │   │   │   │                   │   └── SecHubReportJSONFileDecorator.java
│   │   │   │   │                   ├── handlers/
│   │   │   │   │                   │   ├── SecHubJobImportByContextMenuHandler.java
│   │   │   │   │                   │   └── SecHubJobImportHandler.java
│   │   │   │   │                   ├── model/
│   │   │   │   │                   │   └── WorkspaceFindingNodeLocator.java
│   │   │   │   │                   ├── preferences/
│   │   │   │   │                   │   ├── PreferenceIdConstants.java
│   │   │   │   │                   │   ├── SecHubPreferences.java
│   │   │   │   │                   │   ├── SechubPreferenceInitializer.java
│   │   │   │   │                   │   ├── SechubPreferencePage.java
│   │   │   │   │                   │   └── SecureStorageAccess.java
│   │   │   │   │                   ├── provider/
│   │   │   │   │                   │   ├── CallHierarchyLabelProvider.java
│   │   │   │   │                   │   ├── FindingModelTreeContentProvider.java
│   │   │   │   │                   │   ├── FirstFindingNodesOnlyFindingModelTreeContentProvider.java
│   │   │   │   │                   │   ├── OnlyInputElementItselfTreeContentProvider.java
│   │   │   │   │                   │   ├── findings/
│   │   │   │   │                   │   │   ├── AbstractSecHubFindingNodeColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── ColumnColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── DescriptionColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── FalsePositiveFindingNodeColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── FileNameColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── FindingNodeColumLabelProviderBundle.java
│   │   │   │   │                   │   │   ├── IdColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── LineColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── LocationColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── RelevantPartColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── ScanTypeColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── SeverityColumnLabelProvider.java
│   │   │   │   │                   │   │   ├── SourceColumnLabelProvider.java
│   │   │   │   │                   │   │   └── StepColumnLabelProvider.java
│   │   │   │   │                   │   └── joblist/
│   │   │   │   │                   │       ├── DateTimeColumnLabelProvider.java
│   │   │   │   │                   │       ├── ExecutedByColumnLabelProvider.java
│   │   │   │   │                   │       ├── JobUUIDColumnLabelProvider.java
│   │   │   │   │                   │       ├── ResultColumnLabelProvider.java
│   │   │   │   │                   │       ├── StatusColumnLabelProvider.java
│   │   │   │   │                   │       └── TrafficLightLabelProvider.java
│   │   │   │   │                   ├── report/
│   │   │   │   │                   │   ├── DeleteFalsePositivesByReportViewAction.java
│   │   │   │   │                   │   ├── MarkFalsePositivesAction.java
│   │   │   │   │                   │   ├── MarkJobFalsePositivesDialog.java
│   │   │   │   │                   │   ├── ReportInfoAction.java
│   │   │   │   │                   │   ├── ReportInfoDialog.java
│   │   │   │   │                   │   ├── SecHubReportImportDialog.java
│   │   │   │   │                   │   ├── SecHubReportImportWizard.java
│   │   │   │   │                   │   ├── SecHubReportImportWizardPage.java
│   │   │   │   │                   │   ├── SecHubReportImporter.java
│   │   │   │   │                   │   ├── SecHubReportView.java
│   │   │   │   │                   │   └── SecHubStandardReportNamePatternPropertyTester.java
│   │   │   │   │                   ├── server/
│   │   │   │   │                   │   ├── JobUUIDDialog.java
│   │   │   │   │                   │   ├── NextJobPageSecHubServerViewAction.java
│   │   │   │   │                   │   ├── OpenProjectFalsePositivesDialogAction.java
│   │   │   │   │                   │   ├── OpenSecHubServerPreferencesAction.java
│   │   │   │   │                   │   ├── OpenWebUIServerViewAction.java
│   │   │   │   │                   │   ├── PreviousJobPageSecHubServerViewAction.java
│   │   │   │   │                   │   ├── ProjectFalsePositivesDialog.java
│   │   │   │   │                   │   ├── RefreshSecHubServerViewAction.java
│   │   │   │   │                   │   ├── SearchJobDirectlyServerViewAction.java
│   │   │   │   │                   │   ├── SecHubJobTreeViewContentProvider.java
│   │   │   │   │                   │   ├── SecHubProjectSelectionStorage.java
│   │   │   │   │                   │   ├── SecHubServerTreeViewContentProvider.java
│   │   │   │   │                   │   ├── SecHubServerView.java
│   │   │   │   │                   │   ├── SechubServerTreeDecorator.java
│   │   │   │   │                   │   └── SechubServerTreeLabelProvider.java
│   │   │   │   │                   ├── util/
│   │   │   │   │                   │   ├── BrowserUtil.java
│   │   │   │   │                   │   ├── CweLinkTextCreator.java
│   │   │   │   │                   │   ├── EclipseIDELogger.java
│   │   │   │   │                   │   ├── EclipseUtil.java
│   │   │   │   │                   │   ├── Logging.java
│   │   │   │   │                   │   ├── ScanTypeImageResolver.java
│   │   │   │   │                   │   └── TrafficLightImageResolver.java
│   │   │   │   │                   └── webfinding/
│   │   │   │   │                       └── SecHubWebFindingView.java
│   │   │   │   └── test/
│   │   │   │       ├── java/
│   │   │   │       │   └── com/
│   │   │   │       │       └── mercedesbenz/
│   │   │   │       │           └── sechub/
│   │   │   │       │               ├── model/
│   │   │   │       │               │   ├── FalsePositiveEntriesToJobFindingMapTransformerTest.java
│   │   │   │       │               │   ├── FileLocationExplorerTest.java
│   │   │   │       │               │   ├── FindingNodeBuilderTest.java
│   │   │   │       │               │   ├── SecHubReportToSecHubNodeTransformerTest.java
│   │   │   │       │               │   └── TestResourceHelper.java
│   │   │   │       │               └── util/
│   │   │   │       │                   └── SimpleStringUtilTest.java
│   │   │   │       └── resources/
│   │   │   │           ├── SameName.java
│   │   │   │           └── explorer/
│   │   │   │               ├── scenario1/
│   │   │   │               │   ├── project1/
│   │   │   │               │   │   └── src/
│   │   │   │               │   │       ├── main/
│   │   │   │               │   │       │   └── java/
│   │   │   │               │   │       │       └── com/
│   │   │   │               │   │       │           └── example/
│   │   │   │               │   │       │               ├── SameName.java
│   │   │   │               │   │       │               └── TestMe.java
│   │   │   │               │   │       └── test/
│   │   │   │               │   │           └── java/
│   │   │   │               │   │               └── com/
│   │   │   │               │   │                   └── example/
│   │   │   │               │   │                       └── subpackage/
│   │   │   │               │   │                           └── SameName.java
│   │   │   │               │   └── project2/
│   │   │   │               │       └── source/
│   │   │   │               │           └── TestMe.c
│   │   │   │               └── scenario2/
│   │   │   │                   └── project1/
│   │   │   │                       └── Code/
│   │   │   │                           └── c++/
│   │   │   │                               └── os_injection.cpp
│   │   │   ├── testToc.xml
│   │   │   └── toc.xml
│   │   ├── sechub-eclipse-target-platform/
│   │   │   ├── .classpath
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   ├── org.eclipse.core.resources.prefs
│   │   │   │   └── org.eclipse.jdt.core.prefs
│   │   │   ├── README.adoc
│   │   │   └── sechub.target
│   │   ├── sechub-eclipse-update-site/
│   │   │   ├── .gitignore
│   │   │   ├── .project
│   │   │   ├── .settings/
│   │   │   │   └── org.eclipse.core.resources.prefs
│   │   │   └── site.xml
│   │   ├── settings.gradle
│   │   └── signJars
│   ├── jetbrains/
│   │   ├── CHANGELOG.md
│   │   ├── README.md
│   │   ├── build.gradle
│   │   ├── gradle/
│   │   │   └── wrapper/
│   │   │       ├── .gitignore
│   │   │       ├── gradle-wrapper.jar
│   │   │       └── gradle-wrapper.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   ├── settings.gradle
│   │   └── src/
│   │       ├── docs/
│   │       │   └── asciidoc/
│   │       │       ├── plugin-development.adoc
│   │       │       └── user-guide.adoc
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── com/
│   │       │   │       └── mercedesbenz/
│   │       │   │           └── sechub/
│   │       │   │               ├── plugin/
│   │       │   │               │   ├── model/
│   │       │   │               │   │   ├── FileLocationExplorer.java
│   │       │   │               │   │   ├── FindingModel.java
│   │       │   │               │   │   ├── FindingNode.java
│   │       │   │               │   │   ├── SecHubFindingToFindingModelTransformer.java
│   │       │   │               │   │   ├── SecHubFindingoWebScanDataProvider.java
│   │       │   │               │   │   └── SecHubReportFindingModelService.java
│   │       │   │               │   ├── ui/
│   │       │   │               │   │   ├── ComponentBuilder.java
│   │       │   │               │   │   ├── FalsePositiveTableModel.java
│   │       │   │               │   │   ├── FindingRenderDataProvider.java
│   │       │   │               │   │   ├── SecHubRootTeeNode.java
│   │       │   │               │   │   ├── SecHubTableModel.java
│   │       │   │               │   │   ├── SecHubToolWindowUIContext.java
│   │       │   │               │   │   ├── SecHubToolWindowUISupport.java
│   │       │   │               │   │   ├── SecHubToolWindowUISupportTestMain.java
│   │       │   │               │   │   ├── SecHubTreeNode.java
│   │       │   │               │   │   ├── SechubTreeModel.java
│   │       │   │               │   │   └── TableExampleUI.java
│   │       │   │               │   └── util/
│   │       │   │               │       ├── ErrorLog.java
│   │       │   │               │       └── SimpleStringUtil.java
│   │       │   │               └── settings/
│   │       │   │                   ├── SecHubSettingsComponent.java
│   │       │   │                   ├── SechubSettings.java
│   │       │   │                   ├── SechubSettingsConfigurable.java
│   │       │   │                   └── SechubSettingsCredentialsSupport.java
│   │       │   ├── java-intellij/
│   │       │   │   └── com/
│   │       │   │       └── mercedesbenz/
│   │       │   │           └── sechub/
│   │       │   │               └── plugin/
│   │       │   │                   └── idea/
│   │       │   │                       ├── IntellijComponentFactory.java
│   │       │   │                       ├── IntellijRenderDataProvider.java
│   │       │   │                       ├── IntellijShowInEditorSupport.java
│   │       │   │                       ├── SecHubReportImporter.java
│   │       │   │                       ├── SecHubReportRequestListener.java
│   │       │   │                       ├── SecHubReportViewUpdater.java
│   │       │   │                       ├── SecHubSettingsDialogListener.java
│   │       │   │                       ├── action/
│   │       │   │                       │   └── SechubResetReportAction.java
│   │       │   │                       ├── compatiblity/
│   │       │   │                       │   └── VirtualFileCompatibilityLayer.java
│   │       │   │                       ├── falsepositive/
│   │       │   │                       │   ├── FalsePositive.java
│   │       │   │                       │   ├── FalsePositiveSyncStatus.java
│   │       │   │                       │   ├── FalsePositivesCacheManager.java
│   │       │   │                       │   └── FalsePositivesList.java
│   │       │   │                       ├── sechubaccess/
│   │       │   │                       │   ├── NoOpSecHubAccessClient.java
│   │       │   │                       │   ├── SecHubAccess.java
│   │       │   │                       │   ├── SecHubAccessClient.java
│   │       │   │                       │   └── SecHubAccessFactory.java
│   │       │   │                       ├── util/
│   │       │   │                       │   └── ErrorLogger.java
│   │       │   │                       └── window/
│   │       │   │                           ├── SecHubPanel.java
│   │       │   │                           ├── SecHubReportPanel.java
│   │       │   │                           ├── SecHubReportTabSwitcher.java
│   │       │   │                           ├── SecHubServerPanel.java
│   │       │   │                           ├── SecHubToolWindowFactory.java
│   │       │   │                           └── SecHubToolWindowTransferSupport.java
│   │       │   └── resources/
│   │       │       ├── META-INF/
│   │       │       │   └── plugin.xml
│   │       │       └── icons/
│   │       │           └── README.md
│   │       └── test/
│   │           ├── java/
│   │           │   └── com/
│   │           │       └── mercedesbenz/
│   │           │           └── sechub/
│   │           │               ├── plugin/
│   │           │               │   ├── TestFileReader.java
│   │           │               │   ├── idea/
│   │           │               │   │   └── sechubaccess/
│   │           │               │   │       └── SecHubAccessClientTest.java
│   │           │               │   ├── model/
│   │           │               │   │   ├── FileLocationExplorerTest.java
│   │           │               │   │   ├── FindingNodeBuilderTest.java
│   │           │               │   │   ├── SecHubFindingToSecHubNodeTransformerTest.java
│   │           │               │   │   ├── SecHubFindingoWebScanDataProviderTest.java
│   │           │               │   │   └── TestResourceHelper.java
│   │           │               │   └── util/
│   │           │               │       └── SimpleStringUtilTest.java
│   │           │               └── settings/
│   │           │                   ├── SecHubSettingsComponentTest.java
│   │           │                   └── SecHubSettingsConfigurableTest.java
│   │           └── resources/
│   │               ├── SameName.java
│   │               ├── explorer/
│   │               │   ├── scenario1/
│   │               │   │   ├── project1/
│   │               │   │   │   └── src/
│   │               │   │   │       ├── main/
│   │               │   │   │       │   └── java/
│   │               │   │   │       │       └── com/
│   │               │   │   │       │           └── example/
│   │               │   │   │       │               ├── SameName.java
│   │               │   │   │       │               └── TestMe.java
│   │               │   │   │       └── test/
│   │               │   │   │           └── java/
│   │               │   │   │               └── com/
│   │               │   │   │                   └── example/
│   │               │   │   │                       └── subpackage/
│   │               │   │   │                           └── SameName.java
│   │               │   │   └── project2/
│   │               │   │       └── source/
│   │               │   │           └── TestMe.c
│   │               │   └── scenario2/
│   │               │       └── project1/
│   │               │           └── Code/
│   │               │               └── c++/
│   │               │                   └── os_injection.cpp
│   │               └── report/
│   │                   ├── report_pds-solution_zap_mocked.json
│   │                   └── sechub-report-web-example1.json
│   └── vscode/
│       ├── .eslintrc.json
│       ├── .gitignore
│       ├── .nvmrc
│       ├── .prettierrc
│       ├── .vscode/
│       │   ├── extensions.json
│       │   ├── launch.json
│       │   ├── settings.json
│       │   └── tasks.json
│       ├── .vscodeignore
│       ├── 3RD_PARTY_LICENSES.txt
│       ├── CHANGELOG.md
│       ├── LICENSE
│       ├── LICENSES/
│       │   └── cc-by-sa-4.0_legalcode.txt
│       ├── README/
│       │   └── start_debugging.png.license
│       ├── README.md
│       ├── build-plugin.sh
│       ├── devProxy.js
│       ├── media/
│       │   ├── README.md
│       │   ├── css/
│       │   │   └── main.css
│       │   ├── js/
│       │   │   ├── report.js
│       │   │   └── server.js
│       │   └── prism/
│       │       ├── prism.css
│       │       └── prism.js
│       ├── other/
│       │   └── spdx/
│       │       └── template/
│       │           ├── spdx_template_doubleslash.txt
│       │           ├── spdx_template_hash.txt
│       │           └── spdx_template_md.txt
│       ├── package.json
│       ├── src/
│       │   ├── api/
│       │   │   └── defaultClient.ts
│       │   ├── cache/
│       │   │   └── falsePositiveCache.ts
│       │   ├── commands/
│       │   │   ├── changeCredentials.ts
│       │   │   ├── changeServerUrl.ts
│       │   │   ├── changeWebUiUrl.ts
│       │   │   ├── clearSecHubData.ts
│       │   │   ├── commands.ts
│       │   │   ├── explainVulnerabilityByAi.ts
│       │   │   ├── fetchFalsePositivesForProject.ts
│       │   │   ├── fetchReportByUUID.ts
│       │   │   ├── importReportFromFile.ts
│       │   │   ├── markFalsePositivesForProject.ts
│       │   │   ├── openFinding.ts
│       │   │   ├── openFindingCallStack.ts
│       │   │   ├── openWebScanInInfoview.ts
│       │   │   ├── refreshServerView.ts
│       │   │   └── selectProject.ts
│       │   ├── extension.ts
│       │   ├── provider/
│       │   │   ├── SecHubServerWebviewProvider.ts
│       │   │   ├── items/
│       │   │   │   ├── hierarchyItems.ts
│       │   │   │   ├── infoItems.ts
│       │   │   │   └── infoViewItemMitreCWELinkBuilder.ts
│       │   │   ├── secHubCallHierarchyTreeDataProvider.ts
│       │   │   ├── secHubInfoTreeDataProvider.ts
│       │   │   └── secHubReportWebViewProvider.ts
│       │   ├── test/
│       │   │   ├── resources/
│       │   │   │   ├── explorer/
│       │   │   │   │   └── scenario1/
│       │   │   │   │       ├── project1/
│       │   │   │   │       │   └── src/
│       │   │   │   │       │       ├── main/
│       │   │   │   │       │       │   └── java/
│       │   │   │   │       │       │       └── com/
│       │   │   │   │       │       │           └── example/
│       │   │   │   │       │       │               ├── SameName.java
│       │   │   │   │       │       │               └── TestMe.java
│       │   │   │   │       │       └── test/
│       │   │   │   │       │           └── java/
│       │   │   │   │       │               └── com/
│       │   │   │   │       │                   └── example/
│       │   │   │   │       │                       └── subpackage/
│       │   │   │   │       │                           └── SameName.java
│       │   │   │   │       └── project2/
│       │   │   │   │           └── source/
│       │   │   │   │               └── TestMe.c
│       │   │   │   ├── test_sechub_fp_configuration.json
│       │   │   │   ├── test_sechub_report-1.json
│       │   │   │   ├── test_sechub_report-2.json
│       │   │   │   ├── test_sechub_report-3.json
│       │   │   │   ├── test_sechub_report_error.json
│       │   │   │   ├── test_sechub_report_gitleaks.json
│       │   │   │   └── test_sechub_report_gosec.json
│       │   │   ├── runTest.ts
│       │   │   └── suite/
│       │   │       ├── filelocationexplorer.test.ts
│       │   │       ├── index.ts
│       │   │       ├── infoViewItemMitreCWELinkBuilder.test.ts
│       │   │       └── sechubUtils.test.ts
│       │   ├── utils/
│       │   │   ├── fileLocationExplorer.ts
│       │   │   ├── prismLanguageHelper.ts
│       │   │   ├── sechubConstants.ts
│       │   │   ├── sechubCredentialsMultistepInput.ts
│       │   │   └── sechubUtils.ts
│       │   └── webview/
│       │       ├── jobTable.ts
│       │       ├── pagination.ts
│       │       ├── reportTable.ts
│       │       ├── serverStateContainer.ts
│       │       └── vulnerabilityExplanation.ts
│       └── tsconfig.json
├── release-pipeline.jenkins
├── sechub-adapter/
│   ├── .gitignore
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── adapter/
│       │                       ├── AbstractAdapter.java
│       │                       ├── AbstractAdapterConfig.java
│       │                       ├── AbstractAdapterConfigBuilder.java
│       │                       ├── AbstractAdapterContext.java
│       │                       ├── AbstractAnalyticsAdapterConfig.java
│       │                       ├── AbstractAnalyticsAdapterConfigBuilder.java
│       │                       ├── AbstractCodeScanAdapterConfig.java
│       │                       ├── AbstractCodeScanAdapterConfigBuilder.java
│       │                       ├── AbstractInfraScanAdapterConfig.java
│       │                       ├── AbstractInfraScanAdapterConfigBuilder.java
│       │                       ├── AbstractLoginConfig.java
│       │                       ├── AbstractPrepareAdapterConfig.java
│       │                       ├── AbstractPrepareAdapterConfigBuilder.java
│       │                       ├── AbstractSpringRestAdapterContext.java
│       │                       ├── AbstractWebScanAdapterConfig.java
│       │                       ├── AbstractWebScanAdapterConfigBuilder.java
│       │                       ├── Adapter.java
│       │                       ├── AdapterCanceledByUserException.java
│       │                       ├── AdapterConfig.java
│       │                       ├── AdapterConfigBuilder.java
│       │                       ├── AdapterConfigurationStrategy.java
│       │                       ├── AdapterContext.java
│       │                       ├── AdapterCypherManager.java
│       │                       ├── AdapterException.java
│       │                       ├── AdapterExecutionResult.java
│       │                       ├── AdapterLogId.java
│       │                       ├── AdapterMetaData.java
│       │                       ├── AdapterMetaDataCallback.java
│       │                       ├── AdapterOptionKey.java
│       │                       ├── AdapterProfiles.java
│       │                       ├── AdapterRuntimeContext.java
│       │                       ├── AnalyticsAdapterConfig.java
│       │                       ├── BasicLoginConfig.java
│       │                       ├── CodeScanAdapterConfig.java
│       │                       ├── FileBasedAdapterMetaDataCallback.java
│       │                       ├── FormAutoDetectLoginConfig.java
│       │                       ├── FormScriptLoginConfig.java
│       │                       ├── IcrementalAdditionalPrefixAPIURLSupport.java
│       │                       ├── InfraScanAdapterConfig.java
│       │                       ├── LoginConfig.java
│       │                       ├── LoginScriptAction.java
│       │                       ├── LoginScriptGenerator.java
│       │                       ├── LoginScriptPage.java
│       │                       ├── PrepareAdapterConfig.java
│       │                       ├── ProxyConfig.java
│       │                       ├── SecHubTimeUnitData.java
│       │                       ├── SpringUtilFactory.java
│       │                       ├── TimeConstants.java
│       │                       ├── TraceIdProvider.java
│       │                       ├── TraceLogClientHTTPRequestInterceptor.java
│       │                       ├── TrustAllConfig.java
│       │                       ├── WaitForStateSupport.java
│       │                       ├── WebScanAdapterConfig.java
│       │                       ├── mock/
│       │                       │   ├── AbstractMockedAdapter.java
│       │                       │   ├── MockDataIdentifierFactory.java
│       │                       │   ├── MockedAdapter.java
│       │                       │   ├── MockedAdapterSetup.java
│       │                       │   ├── MockedAdapterSetupCombination.java
│       │                       │   ├── MockedAdapterSetupEntry.java
│       │                       │   ├── MockedAdapterSetupService.java
│       │                       │   ├── NullMockDataIdentifierFactory.java
│       │                       │   └── ScanTypeDependantMockDataIdentifierFactory.java
│       │                       ├── springextension/
│       │                       │   ├── MultipartInputStreamFileResource.java
│       │                       │   └── ResourceHttpMessageConverterHandlingInputStreams.java
│       │                       └── support/
│       │                           ├── APIURLSupport.java
│       │                           ├── JSONAdapterSupport.java
│       │                           ├── MockConfigSupport.java
│       │                           ├── MockSupport.java
│       │                           ├── RestOperationsSupport.java
│       │                           ├── TrustAllSupport.java
│       │                           └── URIShrinkSupport.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── adapter/
│                               ├── AbstractAdapterConfigBuilderTest.java
│                               ├── AbstractAdapterTest.java
│                               ├── AbstractInfraScanAdapterConfigBuilderTest.java
│                               ├── AbstractSpringRestAdapterContextTest.java
│                               ├── AbstractWebScanAdapterConfigBuilderTest.java
│                               ├── AdapterExceptionTest.java
│                               ├── AdapterExecutionResultTest.java
│                               ├── AdapterMetaDataTest.java
│                               ├── FileBasedAdapterMetaDataCallbackTest.java
│                               ├── FormScriptLoginConfigTest.java
│                               ├── LoginScriptActionTest.java
│                               ├── SecHubTimeUnitDataTest.java
│                               ├── TestSecHubAdapterFileSupport.java
│                               ├── URIsToRootURIsShrinkerTest.java
│                               ├── mock/
│                               │   ├── AbstractMockedAdapterTest.java
│                               │   ├── MockedAdapterSetupEntryTest.java
│                               │   ├── MockedAdapterSetupServiceTest.java
│                               │   └── MockedAdapterSetupTest.java
│                               ├── support/
│                               │   ├── APIURLSupportTest.java
│                               │   ├── JSONAdapterSupportTest.java
│                               │   └── URIShrinkSupportTest.java
│                               └── testclasses/
│                                   ├── TestAbstractSpringRestAdapterContext.java
│                                   ├── TestAdapter.java
│                                   ├── TestAdapterConfig.java
│                                   ├── TestAdapterConfigBuilder.java
│                                   ├── TestAdapterConfigInterface.java
│                                   ├── TestAdapterContextInterface.java
│                                   ├── TestAdapterInterface.java
│                                   ├── TestInfraScanAdapterConfig.java
│                                   ├── TestInfraScanAdapterConfigBuilder.java
│                                   ├── TestInfraScanAdapterConfigInterface.java
│                                   ├── TestWebScanAdapterConfig.java
│                                   ├── TestWebScanAdapterConfigBuilder.java
│                                   └── TestWebScanAdapterConfigInterface.java
├── sechub-adapter-checkmarx/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               └── adapter/
│       │   │                   └── checkmarx/
│       │   │                       ├── CheckmarxAdapter.java
│       │   │                       ├── CheckmarxAdapterConfig.java
│       │   │                       ├── CheckmarxAdapterContext.java
│       │   │                       ├── CheckmarxAdapterV1.java
│       │   │                       ├── CheckmarxClientHttpRequestInterceptor.java
│       │   │                       ├── CheckmarxConfig.java
│       │   │                       ├── CheckmarxConstants.java
│       │   │                       ├── CheckmarxContext.java
│       │   │                       ├── CheckmarxEngineConfiguration.java
│       │   │                       ├── CheckmarxMetaDataID.java
│       │   │                       ├── CheckmarxRESTFailureException.java
│       │   │                       ├── CheckmarxResilienceCallback.java
│       │   │                       ├── CheckmarxResilienceConfiguration.java
│       │   │                       ├── CheckmarxResilienceConsultant.java
│       │   │                       ├── CheckmarxSastScanSettings.java
│       │   │                       ├── CheckmarxSessionData.java
│       │   │                       ├── CheckmarxState.java
│       │   │                       ├── MockedCheckmarxAdapter.java
│       │   │                       └── support/
│       │   │                           ├── CheckmarxCancelFailedException.java
│       │   │                           ├── CheckmarxCancelSupport.java
│       │   │                           ├── CheckmarxFullScanNecessaryException.java
│       │   │                           ├── CheckmarxOAuthData.java
│       │   │                           ├── CheckmarxOAuthSupport.java
│       │   │                           ├── CheckmarxOnlyUnsupportedFilesException.java
│       │   │                           ├── CheckmarxProjectSupport.java
│       │   │                           ├── CheckmarxScanReportSupport.java
│       │   │                           ├── CheckmarxScanSupport.java
│       │   │                           ├── CheckmarxUploadSupport.java
│       │   │                           ├── QueueDetails.java
│       │   │                           ├── ReportDetails.java
│       │   │                           ├── ScanDetails.java
│       │   │                           ├── WaitForQueueStateSupport.java
│       │   │                           ├── WaitForScanReportSupport.java
│       │   │                           └── WaitForScanStateSupport.java
│       │   └── resources/
│       │       └── adapter/
│       │           └── mockdata/
│       │               └── MockedCheckmarxAdapter/
│       │                   └── v1/
│       │                       ├── green.xml
│       │                       ├── red.xml
│       │                       └── yellow.xml
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── adapter/
│                               └── checkmarx/
│                                   ├── CheckmarxAdapterV1WireMockTest.java
│                                   ├── CheckmarxConfigTest.java
│                                   ├── CheckmarxResilienceCallbackTest.java
│                                   ├── CheckmarxResilienceConsultantTest.java
│                                   ├── TestCheckmarxAdapterApplication.java
│                                   ├── TestCheckmarxFileSupport.java
│                                   └── support/
│                                       ├── CheckmarxOAuthDataTest.java
│                                       ├── CheckmarxOAuthSupportTest.java
│                                       ├── CheckmarxProjectSupportTest.java
│                                       ├── CheckmarxScanReportSupportTest.java
│                                       └── ReportDetailsTest.java
├── sechub-adapter-pds/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── adapter/
│       │                       └── pds/
│       │                           ├── DelegatingMockablePDSAdapterV1.java
│       │                           ├── MockedPDSAdapterV1.java
│       │                           ├── PDSAdapter.java
│       │                           ├── PDSAdapterConfig.java
│       │                           ├── PDSAdapterConfigBuilder.java
│       │                           ├── PDSAdapterConfigData.java
│       │                           ├── PDSAdapterConfigDataProvider.java
│       │                           ├── PDSAdapterConfigurator.java
│       │                           ├── PDSAdapterConfiguratorProvider.java
│       │                           ├── PDSAdapterContext.java
│       │                           ├── PDSAdapterDataConfigurator.java
│       │                           ├── PDSAdapterResilienceConsultant.java
│       │                           ├── PDSAdapterV1.java
│       │                           ├── PDSAnalyticsConfig.java
│       │                           ├── PDSAnalyticsConfigImpl.java
│       │                           ├── PDSClientHttpRequestInterceptor.java
│       │                           ├── PDSCodeScanConfig.java
│       │                           ├── PDSCodeScanConfigImpl.java
│       │                           ├── PDSContext.java
│       │                           ├── PDSContextFactory.java
│       │                           ├── PDSContextFactoryImpl.java
│       │                           ├── PDSEncryptionOutOfSyncException.java
│       │                           ├── PDSInfraScanConfig.java
│       │                           ├── PDSInfraScanConfigImpl.java
│       │                           ├── PDSLicenseScanConfig.java
│       │                           ├── PDSLicenseScanConfigImpl.java
│       │                           ├── PDSMetaDataID.java
│       │                           ├── PDSPrepareConfig.java
│       │                           ├── PDSPrepareConfigImpl.java
│       │                           ├── PDSSecretScanConfig.java
│       │                           ├── PDSSecretScanConfigImpl.java
│       │                           ├── PDSState.java
│       │                           ├── PDSUploadSupport.java
│       │                           ├── PDSUrlBuilder.java
│       │                           ├── PDSWebScanConfig.java
│       │                           └── PDSWebScanConfigImpl.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── adapter/
│                               └── pds/
│                                   ├── DelegatingMockablePDSAdapterV1Test.java
│                                   ├── PDSAdapterV1Test.java
│                                   ├── PDSAdapterV1WireMockTest.java
│                                   ├── PDSContextTest.java
│                                   ├── TestPDSSupport.java
│                                   └── TestPDSWiremockSupport.java
├── sechub-administration/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── domain/
│       │                       └── administration/
│       │                           ├── APITokenGenerator.java
│       │                           ├── AdministrationAPIConstants.java
│       │                           ├── InitialAdminInitializer.java
│       │                           ├── OneTimeTokenGenerator.java
│       │                           ├── autocleanup/
│       │                           │   ├── AdministrationAutoCleanupConfig.java
│       │                           │   ├── AdministrationAutoCleanupDaysCalculator.java
│       │                           │   ├── AdministrationAutoCleanupService.java
│       │                           │   ├── AdministrationAutoCleanupTriggerService.java
│       │                           │   └── IntegrationTestAdministrationRestController.java
│       │                           ├── config/
│       │                           │   ├── AdministrationConfig.java
│       │                           │   ├── AdministrationConfigRepository.java
│       │                           │   ├── AdministrationConfigService.java
│       │                           │   ├── AdministrationConfigTransactionService.java
│       │                           │   └── ConfigAdministrationRestController.java
│       │                           ├── encryption/
│       │                           │   ├── AdministrationEncryptionRotationService.java
│       │                           │   ├── AdministrationEncryptionStatusService.java
│       │                           │   └── EncryptionAdministrationRestController.java
│       │                           ├── job/
│       │                           │   ├── JobAdministrationMessageHandler.java
│       │                           │   ├── JobAdministrationRestController.java
│       │                           │   ├── JobCancelService.java
│       │                           │   ├── JobInformation.java
│       │                           │   ├── JobInformationCreateService.java
│       │                           │   ├── JobInformationDeleteService.java
│       │                           │   ├── JobInformationListService.java
│       │                           │   ├── JobInformationRepository.java
│       │                           │   ├── JobRestController.java
│       │                           │   ├── JobRestartRequestService.java
│       │                           │   └── JobStatus.java
│       │                           ├── mapping/
│       │                           │   ├── FetchMappingService.java
│       │                           │   ├── Mapping.java
│       │                           │   ├── MappingAdministrationRestController.java
│       │                           │   ├── MappingRepository.java
│       │                           │   ├── MappingTransactionService.java
│       │                           │   └── UpdateMappingService.java
│       │                           ├── project/
│       │                           │   ├── CreateProjectInputValidator.java
│       │                           │   ├── ListProjectsService.java
│       │                           │   ├── Project.java
│       │                           │   ├── ProjectAdministrationMessageHandler.java
│       │                           │   ├── ProjectAdministrationRestController.java
│       │                           │   ├── ProjectAssignUserService.java
│       │                           │   ├── ProjectChangeAccessLevelService.java
│       │                           │   ├── ProjectChangeOwnerService.java
│       │                           │   ├── ProjectCreationService.java
│       │                           │   ├── ProjectData.java
│       │                           │   ├── ProjectDeleteService.java
│       │                           │   ├── ProjectDetailChangeService.java
│       │                           │   ├── ProjectDetailInformation.java
│       │                           │   ├── ProjectDetailInformationService.java
│       │                           │   ├── ProjectJsonInput.java
│       │                           │   ├── ProjectJsonInputValidation.java
│       │                           │   ├── ProjectManagementRestController.java
│       │                           │   ├── ProjectMetaDataEntity.java
│       │                           │   ├── ProjectMetaDataEntityId.java
│       │                           │   ├── ProjectMetaDataEntityRepository.java
│       │                           │   ├── ProjectRepository.java
│       │                           │   ├── ProjectRepositoryCustom.java
│       │                           │   ├── ProjectRepositoryImpl.java
│       │                           │   ├── ProjectRestController.java
│       │                           │   ├── ProjectService.java
│       │                           │   ├── ProjectTemplateService.java
│       │                           │   ├── ProjectTransactionService.java
│       │                           │   ├── ProjectUnassignUserService.java
│       │                           │   ├── ProjectUpdateAdministrationRestController.java
│       │                           │   ├── ProjectUpdateMetaDataEntityService.java
│       │                           │   ├── ProjectUpdateWhitelistService.java
│       │                           │   ├── ProjectUserData.java
│       │                           │   └── UpdateProjectInputValidator.java
│       │                           ├── scheduler/
│       │                           │   ├── SchedulerAdministrationMessageHandler.java
│       │                           │   ├── SchedulerAdministrationRestController.java
│       │                           │   ├── SchedulerStatusEntryKeys.java
│       │                           │   ├── SwitchSchedulerJobProcessingService.java
│       │                           │   └── TriggerSchedulerStatusRefreshService.java
│       │                           ├── signup/
│       │                           │   ├── AnonymousSignupCreateService.java
│       │                           │   ├── AnonymousSignupRestController.java
│       │                           │   ├── Signup.java
│       │                           │   ├── SignupAdministrationRestController.java
│       │                           │   ├── SignupDeleteService.java
│       │                           │   ├── SignupJsonInput.java
│       │                           │   ├── SignupJsonInputValidator.java
│       │                           │   └── SignupRepository.java
│       │                           ├── status/
│       │                           │   ├── ListStatusService.java
│       │                           │   ├── StatusAdministrationRestController.java
│       │                           │   ├── StatusEntry.java
│       │                           │   ├── StatusEntryKey.java
│       │                           │   └── StatusEntryRepository.java
│       │                           └── user/
│       │                               ├── AnonymousUserGetAPITokenByOneTimeTokenService.java
│       │                               ├── AnonymousUserGetApiTokenByOneTimeTokenRestController.java
│       │                               ├── AnonymousUserRequestNewApiTokenRestController.java
│       │                               ├── AnonymousUserRequestsNewApiTokenService.java
│       │                               ├── AnonymousUserRestController.java
│       │                               ├── InternalInitialDataService.java
│       │                               ├── User.java
│       │                               ├── UserAdministrationRestController.java
│       │                               ├── UserCreationService.java
│       │                               ├── UserDeleteService.java
│       │                               ├── UserDetailInformation.java
│       │                               ├── UserDetailInformationService.java
│       │                               ├── UserEmailAddressUpdateService.java
│       │                               ├── UserEmailChangeRequest.java
│       │                               ├── UserEmailChangeToken.java
│       │                               ├── UserEmailChangeTokenService.java
│       │                               ├── UserGrantSuperAdminRightsService.java
│       │                               ├── UserListService.java
│       │                               ├── UserRepository.java
│       │                               ├── UserRepositoryCustom.java
│       │                               ├── UserRepositoryImpl.java
│       │                               ├── UserRestController.java
│       │                               ├── UserRevokeSuperAdminRightsService.java
│       │                               ├── UserRoleAdministrationMessageHandler.java
│       │                               ├── UserRoleCalculationService.java
│       │                               └── UserTransactionService.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── domain/
│                               └── administration/
│                                   ├── ProjectRepositoryDBTest.java
│                                   ├── TestAdministrationSecurityConfiguration.java
│                                   ├── UserRepositoryDBTest.java
│                                   ├── autocleanup/
│                                   │   ├── AdministrationAutoCleanupConfigTest.java
│                                   │   ├── AdministrationAutoCleanupDaysCalculatorTest.java
│                                   │   └── AdministrationAutoCleanupServiceTest.java
│                                   ├── config/
│                                   │   └── AdministrationConfigServiceTest.java
│                                   ├── job/
│                                   │   ├── JobAdministrationMessageHandlerTest.java
│                                   │   ├── JobCancelServiceTest.java
│                                   │   ├── JobInformationCreateServiceTest.java
│                                   │   └── JobInformationRepositoryDBTest.java
│                                   ├── project/
│                                   │   ├── CreateProjectInputValidatorTest.java
│                                   │   ├── ListProjectsServiceTest.java
│                                   │   ├── ProjectAdministrationRestControllerMockTest.java
│                                   │   ├── ProjectAssignUserServiceTest.java
│                                   │   ├── ProjectChangeAccessLevelServiceTest.java
│                                   │   ├── ProjectChangeOwnerServiceTest.java
│                                   │   ├── ProjectCreationServiceTest.java
│                                   │   ├── ProjectDeleteServiceTest.java
│                                   │   ├── ProjectDetailChangeServiceTest.java
│                                   │   ├── ProjectDetailInformationTest.java
│                                   │   ├── ProjectJsonInputValidationTest.java
│                                   │   ├── ProjectServiceTest.java
│                                   │   ├── ProjectTemplateServiceTest.java
│                                   │   ├── ProjectTest.java
│                                   │   ├── ProjectUnassignUserServiceTest.java
│                                   │   ├── ProjectUpdateAdministrationRestControllerMockTest.java
│                                   │   ├── ProjectUpdateMetaDataServiceTest.java
│                                   │   ├── ProjectUpdateWhitelistServiceTest.java
│                                   │   ├── ProjectUserDataTest.java
│                                   │   ├── TestProjectCreationFactory.java
│                                   │   └── UpdateProjectInputValidatorTest.java
│                                   ├── signup/
│                                   │   ├── AnonymousSignupRestControllerMockTest.java
│                                   │   ├── SignupAdministrationRestControllerMockTest.java
│                                   │   └── SignupCreateServiceTest.java
│                                   └── user/
│                                       ├── AnonymousUserGetAPITokenByOneTimeTokenServiceTest.java
│                                       ├── AnonymousUserRequestsNewApiTokenServiceTest.java
│                                       ├── AnonymousUserRestControllerSpringBootTest.java
│                                       ├── TestUserCreationFactory.java
│                                       ├── UserAdministrationRestControllerMockTest.java
│                                       ├── UserDeleteServiceTest.java
│                                       ├── UserDetailInformationServiceTest.java
│                                       ├── UserEmailAddressUpdateServiceTest.java
│                                       ├── UserEmailChangeTokenServiceTest.java
│                                       ├── UserRestControllerSpringBootTest.java
│                                       └── UserRevokeSuperAdminRightsServiceTest.java
├── sechub-analyzer-cli/
│   ├── Comments_In_Programming_Languages.adoc
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── analyzer/
│       │                       ├── cli/
│       │                       │   └── SecHubAnalyzerApplication.java
│       │                       ├── core/
│       │                       │   ├── Analyzer.java
│       │                       │   ├── CommentChecker.java
│       │                       │   └── FileProcessor.java
│       │                       └── model/
│       │                           ├── AnalyzerResult.java
│       │                           ├── DeepClonable.java
│       │                           ├── Marker.java
│       │                           ├── MarkerPair.java
│       │                           └── MarkerType.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── analyzer/
│           │                   ├── cli/
│           │                   │   └── SecHubAnalyzerApplicationTest.java
│           │                   ├── core/
│           │                   │   ├── AnalyzerTest.java
│           │                   │   ├── CommentCheckerCommentInLineTest.java
│           │                   │   ├── CommentCheckerTest.java
│           │                   │   └── FileProcessorTest.java
│           │                   └── model/
│           │                       ├── AnalyzerResultTest.java
│           │                       ├── MarkerPairTest.java
│           │                       └── MarkerTest.java
│           └── resources/
│               ├── code/
│               │   ├── ABAP/
│               │   │   └── single_line_star.abap
│               │   ├── ADA/
│               │   │   └── single_line.adb
│               │   ├── Assembly/
│               │   │   └── single_line.asm
│               │   ├── Batch/
│               │   │   ├── single_line_REM.bat
│               │   │   └── single_line_double_colon.bat
│               │   ├── C/
│               │   │   ├── multi_line.c
│               │   │   ├── multi_line_comment_not_beginning.c
│               │   │   └── single_line.c
│               │   ├── Erlang/
│               │   │   └── single_line.erl
│               │   ├── Fortran/
│               │   │   └── single_line.f90
│               │   ├── Java/
│               │   │   ├── MultiLineComment.java
│               │   │   ├── MultiLineCommentNotBeginning.java
│               │   │   └── SingleLineComment.java
│               │   ├── OCaml/
│               │   │   └── single_line.ml
│               │   ├── Pascal/
│               │   │   └── single_line.p
│               │   ├── Python/
│               │   │   ├── single_line_comment.py
│               │   │   ├── single_line_comment_multiple.py
│               │   │   └── single_line_comment_wrong.py
│               │   ├── Ruby/
│               │   │   └── single_line_comment.rb
│               │   ├── SQL/
│               │   │   └── single_line_comment.sql
│               │   ├── Scheme/
│               │   │   └── single_line_comment.scm
│               │   ├── Shell/
│               │   │   └── single_line_comment.sh
│               │   ├── Tcl/
│               │   │   └── single_line_comment.tcl
│               │   ├── VB.NET/
│               │   │   └── single_line.vb
│               │   └── XML/
│               │       └── single_line_comment.xml
│               ├── example/
│               │   ├── HelloWorld.java
│               │   ├── example.xml
│               │   ├── hello_world.c
│               │   └── hello_world.py
│               ├── test/
│               │   ├── test_pair.txt
│               │   └── test_pair2.txt
│               ├── test_multiple.txt
│               ├── test_nested/
│               │   ├── other/
│               │   │   └── test_pair.txt
│               │   └── test_pair.txt
│               ├── test_no_markers.txt
│               ├── test_only_end.txt
│               ├── test_only_start.txt
│               ├── test_pair.txt
│               ├── test_same_line.txt
│               ├── test_two_ends.txt
│               └── test_two_starts.txt
├── sechub-archunit-test/
│   ├── build.gradle
│   └── src/
│       └── test/
│           └── java/
│               └── mercedesbenz/
│                   └── com/
│                       └── sechub/
│                           └── archunit/
│                               ├── ArchUnitImportOptions.java
│                               ├── ArchUnitRuntimeSupport.java
│                               ├── ArchUnitTestMessageExtension.java
│                               ├── CodingRulesTest.java
│                               ├── DomainAccessRulesTest.java
│                               └── NamingConventionTest.java
├── sechub-assistant/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── assistant/
│       │                       ├── AssistantRestController.java
│       │                       ├── FallbackExplanationResponseFactory.java
│       │                       ├── FindingAssistantService.java
│       │                       ├── SecHubExplanationInput.java
│       │                       ├── SecHubExplanationInputCollector.java
│       │                       └── ai/
│       │                           ├── AIChat.java
│       │                           ├── AIExplanationPromptDataGenerator.java
│       │                           ├── AIPromptData.java
│       │                           ├── AIPromptDataGeneratorProvider.java
│       │                           ├── DefaultAIExplanationPromptDataGenerator.java
│       │                           ├── IntegrationTestAIChat.java
│       │                           └── openai/
│       │                               ├── BufferedClientHttpRequestOpenAIChatRestTemplateFactory.java
│       │                               ├── LoggingOpenAIProblemHandler.java
│       │                               ├── OpenAIChat.java
│       │                               ├── OpenAIChatRestTemplateFactory.java
│       │                               ├── OpenAIMessageObject.java
│       │                               ├── OpenAIProblemHandler.java
│       │                               ├── OpenAIProperties.java
│       │                               ├── OpenAIResultChoice.java
│       │                               ├── OpenAIResultJsonToExplanationResponseTransformer.java
│       │                               ├── OpenAIResultObject.java
│       │                               └── OpenAISetup.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── assistant/
│           │                   ├── FallbackExplanationResponseFactoryTest.java
│           │                   └── ai/
│           │                       └── openai/
│           │                           ├── OpenAIChatManualTest.java
│           │                           ├── OpenAIChatTest.java
│           │                           └── OpenAIResultJsonToExplanationResponseTransformerTest.java
│           └── resources/
│               └── openai-completion-test-result1.json
├── sechub-authorization/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── domain/
│       │                       └── authorization/
│       │                           ├── AuthMessageHandler.java
│       │                           ├── AuthUser.java
│       │                           ├── AuthUserDetailsService.java
│       │                           ├── AuthUserRepository.java
│       │                           ├── AuthUserRole.java
│       │                           └── service/
│       │                               ├── AuthUpdateUserApiTokenService.java
│       │                               ├── AuthUserCreationService.java
│       │                               ├── AuthUserDeleteService.java
│       │                               └── AuthUserUpdateRolesService.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── domain/
│                               └── authorization/
│                                   ├── AuthUserDetailsServiceTest.java
│                                   ├── SecHubAuthUserRepositoryTest.java
│                                   └── service/
│                                       └── AuthUserUpdateRolesServiceTest.java
├── sechub-cli/
│   ├── .gitignore
│   ├── build.gradle
│   ├── build_go.sh
│   ├── gen_go.sh
│   ├── script/
│   │   ├── build-debian-packages.sh
│   │   ├── go-gen-supported-source-extensions.sh
│   │   └── supported-source-extensions.txt
│   └── src/
│       └── mercedes-benz.com/
│           └── sechub/
│               ├── cli/
│               │   ├── config.go
│               │   ├── config_test.go
│               │   ├── constants.go
│               │   ├── context-initializer.go
│               │   ├── context-initializer_test.go
│               │   ├── context.go
│               │   ├── controller-uploadsourcezip.go
│               │   ├── controller.go
│               │   ├── controller_test.go
│               │   ├── false-positives.go
│               │   ├── false-positives_test.go
│               │   ├── help.go
│               │   ├── job.go
│               │   ├── job_test.go
│               │   ├── labels.go
│               │   ├── labels_test.go
│               │   ├── logo.go
│               │   ├── report.go
│               │   ├── report_test.go
│               │   ├── resthelper.go
│               │   ├── resthelper_test.go
│               │   ├── sechubconfig.go
│               │   ├── sechubconfig_test.go
│               │   ├── signalhandler.go
│               │   ├── tarbuilder.go
│               │   ├── tarbuilder_test.go
│               │   ├── testdata/
│               │   │   └── README.md
│               │   ├── urlbuilder.go
│               │   ├── urlbuilder_test.go
│               │   ├── version.go.template
│               │   ├── zipbuilder.go
│               │   └── zipbuilder_test.go
│               ├── main/
│               │   └── sechub.go
│               ├── testutil/
│               │   ├── asserts.go
│               │   ├── fileTestHelpers.go
│               │   └── ioTestHelpers.go
│               └── util/
│                   ├── archiveHelpers.go
│                   ├── checksumsha256.go
│                   ├── checksumsha256_test.go
│                   ├── consoleHelpers.go
│                   ├── consoleHelpers_test.go
│                   ├── errorhandler.go
│                   ├── fileHelpers.go
│                   ├── filepathmatcher.go
│                   ├── filepathmatcher_test.go
│                   ├── log.go
│                   ├── tar.go
│                   ├── tar_test.go
│                   ├── time.go
│                   ├── validator.go
│                   ├── validator_test.go
│                   ├── zip.go
│                   └── zip_test.go
├── sechub-commons-archive/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── commons/
│       │                       └── archive/
│       │                           ├── ArchiveConstants.java
│       │                           ├── ArchiveCreationContext.java
│       │                           ├── ArchiveExtractionConstraints.java
│       │                           ├── ArchiveExtractionException.java
│       │                           ├── ArchiveExtractionResult.java
│       │                           ├── ArchiveSupport.java
│       │                           ├── ArchiveTransformationData.java
│       │                           ├── ArchiveTransformationDataFactory.java
│       │                           ├── DirectoryAndFileSupport.java
│       │                           ├── FileSize.java
│       │                           ├── MutableArchiveTransformationData.java
│       │                           ├── MutableSecHubFileStructureDataProvider.java
│       │                           ├── SafeArchiveInputStream.java
│       │                           ├── SecHubFileStructureDataProvider.java
│       │                           ├── SecHubFileStructureDataProviderBuilder.java
│       │                           └── SecHubFileStructureDataProviderIncludeExcludeFilter.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── commons/
│           │                   └── archive/
│           │                       ├── ArchiveExtractionConstraintsTest.java
│           │                       ├── ArchiveSupportTest.java
│           │                       ├── ArchiveTransformationDataFactoryTest.java
│           │                       ├── DirectoryAndFileSupportTest.java
│           │                       ├── FileSizeTest.java
│           │                       ├── MutableArchiveTransformationDataTest.java
│           │                       ├── SafeArchiveInputStreamTest.java
│           │                       ├── SecHubFileStructureDataProviderBuilderTest.java
│           │                       └── SecHubFileStructureDataProviderIncludeExcludeFilterTest.java
│           └── resources/
│               ├── create-archives/
│               │   └── test1/
│               │       ├── expected-decompress-with-filestructure-provider/
│               │       │   ├── tar/
│               │       │   │   ├── bin-file-reference.txt
│               │       │   │   └── bin-ref2-folder1/
│               │       │   │       ├── bin-ref2-subfolder1/
│               │       │   │       │   └── bin-ref2-subfolder1.txt
│               │       │   │       ├── bin-ref2.txt
│               │       │   │       └── with space.txt
│               │       │   └── zip/
│               │       │       ├── legacy/
│               │       │       │   ├── legacy-subfolder1/
│               │       │       │   │   ├── legacy-subfolder1.txt
│               │       │       │   │   └── must-be-filtered.txt
│               │       │       │   ├── legacy.txt
│               │       │       │   └── with space.txt
│               │       │       ├── legacy-file3.txt
│               │       │       ├── legacy2/
│               │       │       │   └── legacy2.txt
│               │       │       ├── source-ref1-folder/
│               │       │       │   ├── source-ref1-subfolder1/
│               │       │       │   │   └── source-ref1-subfolder1.txt
│               │       │       │   └── source-ref1.txt
│               │       │       ├── src-file-reference1.txt
│               │       │       └── src-file-reference2.txt
│               │       ├── expected-decompress-without-filestructure-provider/
│               │       │   ├── tar/
│               │       │   │   └── __data__/
│               │       │   │       ├── bin-reference-example2/
│               │       │   │       │   ├── bin-file-reference.txt
│               │       │   │       │   └── bin-ref2-folder1/
│               │       │   │       │       ├── bin-ref2-subfolder1/
│               │       │   │       │       │   └── bin-ref2-subfolder1.txt
│               │       │   │       │       ├── bin-ref2.txt
│               │       │   │       │       └── with space.txt
│               │       │   │       └── bin-reference-example3/
│               │       │   │           ├── bin-file-reference.txt
│               │       │   │           └── bin-ref3-folder1/
│               │       │   │               ├── bin-ref2.txt
│               │       │   │               └── bin-ref3-subfolder1/
│               │       │   │                   └── bin-ref3-subfolder1.txt
│               │       │   └── zip/
│               │       │       ├── __data__/
│               │       │       │   └── source-reference-example1/
│               │       │       │       ├── source-ref1-folder/
│               │       │       │       │   ├── source-ref1-subfolder1/
│               │       │       │       │   │   └── source-ref1-subfolder1.txt
│               │       │       │       │   └── source-ref1.txt
│               │       │       │       ├── src-file-reference1.txt
│               │       │       │       └── src-file-reference2.txt
│               │       │       ├── legacy/
│               │       │       │   ├── legacy-subfolder1/
│               │       │       │   │   ├── legacy-subfolder1.txt
│               │       │       │   │   └── must-be-filtered.txt
│               │       │       │   ├── legacy.txt
│               │       │       │   └── with space.txt
│               │       │       ├── legacy-file3.txt
│               │       │       └── legacy2/
│               │       │           └── legacy2.txt
│               │       ├── sechub-configuration.json
│               │       ├── sechub-configuration_relative_paths.json
│               │       └── working-directory/
│               │           ├── bin-file-reference.txt
│               │           ├── bin-ref2-folder1/
│               │           │   ├── bin-ref2-subfolder1/
│               │           │   │   └── bin-ref2-subfolder1.txt
│               │           │   ├── bin-ref2.txt
│               │           │   └── with space.txt
│               │           ├── bin-ref3-folder1/
│               │           │   ├── bin-ref2.txt
│               │           │   └── bin-ref3-subfolder1/
│               │           │       └── bin-ref3-subfolder1.txt
│               │           ├── from-working-dir-but-should-not-be-in-archive.txt
│               │           ├── legacy/
│               │           │   ├── filtered-folder/
│               │           │   │   └── must-be-not-contained.txt
│               │           │   ├── legacy-subfolder1/
│               │           │   │   ├── legacy-subfolder1.txt
│               │           │   │   └── must-be-filtered.txt
│               │           │   ├── legacy.txt
│               │           │   └── with space.txt
│               │           ├── legacy-file3.txt
│               │           ├── legacy2/
│               │           │   └── legacy2.txt
│               │           ├── source-ref1-folder/
│               │           │   ├── source-ref1-subfolder1/
│               │           │   │   └── source-ref1-subfolder1.txt
│               │           │   └── source-ref1.txt
│               │           ├── src-file-reference1.txt
│               │           └── src-file-reference2.txt
│               ├── expected-extraction/
│               │   ├── archive_root_test_file/
│               │   │   ├── sechub-configuration_archive-root-test.json
│               │   │   ├── tar/
│               │   │   │   ├── file1.txt
│               │   │   │   └── subfolder1/
│               │   │   │       └── file1-1.txt
│               │   │   └── zip/
│               │   │       ├── file1.txt
│               │   │       └── subfolder1/
│               │   │           └── file1-1.txt
│               │   └── contains-files-with-special-characters/
│               │       ├── Apfelbäume_muss_man_gut_gießen.txt
│               │       └── README.md
│               ├── tar/
│               │   ├── .gitignore
│               │   ├── test-tar1/
│               │   │   └── expected-extracted/
│               │   │       ├── _with_space file1.txt
│               │   │       └── subfolder1/
│               │   │           ├── file2.txt
│               │   │           └── subfolder2/
│               │   │               └── file3.txt
│               │   └── test-tar2/
│               │       ├── expected-extracted-reference-name-1-and-2-no-root-allowed/
│               │       │   ├── file3a.txt
│               │       │   ├── file7.txt
│               │       │   ├── subfolder4/
│               │       │   │   ├── file4a.txt
│               │       │   │   ├── file4b.txt
│               │       │   │   └── subfolder5/
│               │       │   │       └── file5.txt
│               │       │   └── subfolder6/
│               │       │       └── file6a.txt
│               │       ├── expected-extracted-reference-name-1-no-root-allowed/
│               │       │   ├── file3a.txt
│               │       │   └── subfolder4/
│               │       │       ├── file4a.txt
│               │       │       ├── file4b.txt
│               │       │       └── subfolder5/
│               │       │           └── file5.txt
│               │       ├── expected-extracted-reference-name-1-with-root-allowed/
│               │       │   ├── file1.txt
│               │       │   ├── file3a.txt
│               │       │   └── subfolder4/
│               │       │       ├── file4a.txt
│               │       │       ├── file4b.txt
│               │       │       └── subfolder5/
│               │       │           └── file5.txt
│               │       ├── expected-extracted-with-root-allowed-only/
│               │       │   └── file1.txt
│               │       └── expected-extracted-without-transformation/
│               │           ├── __data__/
│               │           │   ├── file2-never-available-when-filtered-for__data__.txt
│               │           │   ├── reference-name-1/
│               │           │   │   ├── file3a.txt
│               │           │   │   └── subfolder4/
│               │           │   │       ├── file4a.txt
│               │           │   │       ├── file4b.txt
│               │           │   │       └── subfolder5/
│               │           │   │           └── file5.txt
│               │           │   └── reference-name-2/
│               │           │       ├── file7.txt
│               │           │       └── subfolder6/
│               │           │           └── file6a.txt
│               │           └── file1.txt
│               └── zipfiles/
│                   └── .gitignore
├── sechub-commons-core/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── commons/
│       │                       └── core/
│       │                           ├── CachingPatternProvider.java
│       │                           ├── CommonConstants.java
│       │                           ├── ConfigurationFailureException.java
│       │                           ├── IgnoreOutputHandler.java
│       │                           ├── MustBeKeptStable.java
│       │                           ├── OutputHandler.java
│       │                           ├── PatternCompiler.java
│       │                           ├── RunOrFail.java
│       │                           ├── cache/
│       │                           │   ├── CacheData.java
│       │                           │   ├── CachePersistence.java
│       │                           │   ├── InMemoryCachePersistence.java
│       │                           │   └── SelfCleaningCache.java
│       │                           ├── doc/
│       │                           │   ├── Description.java
│       │                           │   └── MustBeDocumented.java
│       │                           ├── environment/
│       │                           │   ├── SecureEnvironmentVariableKeyValueRegistry.java
│       │                           │   ├── SystemEnvironment.java
│       │                           │   └── SystemEnvironmentVariableSupport.java
│       │                           ├── prepare/
│       │                           │   ├── PrepareConstants.java
│       │                           │   ├── PrepareResult.java
│       │                           │   └── PrepareStatus.java
│       │                           ├── resilience/
│       │                           │   ├── FallthroughResilienceProposal.java
│       │                           │   ├── ResilienceCallback.java
│       │                           │   ├── ResilienceConsultant.java
│       │                           │   ├── ResilienceContext.java
│       │                           │   ├── ResilienceProposal.java
│       │                           │   ├── ResilientAction.java
│       │                           │   ├── ResilientActionExecutor.java
│       │                           │   ├── ResilientExecutor.java
│       │                           │   ├── ResilientRunOrFailExecutor.java
│       │                           │   ├── RetryResilienceProposal.java
│       │                           │   └── SimpleRetryResilienceProposal.java
│       │                           ├── security/
│       │                           │   ├── CheckSumSupport.java
│       │                           │   ├── CryptoAccess.java
│       │                           │   └── CryptoAccessProvider.java
│       │                           ├── shutdown/
│       │                           │   ├── ApplicationShutdownHandler.java
│       │                           │   └── ShutdownListener.java
│       │                           └── util/
│       │                               ├── FileAttributesUtil.java
│       │                               ├── SecHubStorageUtil.java
│       │                               ├── SimpleBooleanUtil.java
│       │                               ├── SimpleNetworkUtils.java
│       │                               ├── SimpleStringUtils.java
│       │                               └── StacktraceUtil.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── commons/
│           │                   └── core/
│           │                       ├── CachingPatternProviderTest.java
│           │                       ├── CommonConstantsTest.java
│           │                       ├── PatternCompilerTest.java
│           │                       ├── cache/
│           │                       │   ├── CacheDataTest.java
│           │                       │   └── SelfCleaningCacheTest.java
│           │                       ├── environment/
│           │                       │   ├── SecureEnvironmentVariableKeyValueRegistryTest.java
│           │                       │   └── SystemEnvironmentVariableSupportTest.java
│           │                       ├── prepare/
│           │                       │   ├── PrepareResultTest.java
│           │                       │   └── PrepareStatusTest.java
│           │                       ├── resilience/
│           │                       │   ├── ResilientActionExecutorTest.java
│           │                       │   ├── ResilientRunnableExecutorTest.java
│           │                       │   └── TestFailDefinedTimes.java
│           │                       ├── security/
│           │                       │   ├── CheckSumSupportTest.java
│           │                       │   └── CryptoAccessTest.java
│           │                       └── util/
│           │                           ├── SecHubStorageUtilTest.java
│           │                           ├── SimpleBooleanUtilTest.java
│           │                           ├── SimpleNetworkUtilsTest.java
│           │                           ├── SimpleStringUtilsTest.java
│           │                           └── StacktraceUtilTest.java
│           └── resources/
│               └── .gitignore
├── sechub-commons-encryption/
│   ├── README.adoc
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── commons/
│       │                       └── encryption/
│       │                           ├── AesGcmSivCipher.java
│       │                           ├── ByteArrayTransformer.java
│       │                           ├── DefaultSecretKeyProvider.java
│       │                           ├── EncryptionConstants.java
│       │                           ├── EncryptionResult.java
│       │                           ├── EncryptionRotationSetup.java
│       │                           ├── EncryptionRotator.java
│       │                           ├── EncryptionSupport.java
│       │                           ├── InitializationVector.java
│       │                           ├── NoneCipher.java
│       │                           ├── PersistentCipher.java
│       │                           ├── PersistentCipherFactory.java
│       │                           ├── PersistentCipherType.java
│       │                           ├── SecretKeyProvider.java
│       │                           ├── StringByteArrayTransformer.java
│       │                           └── package-info.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── commons/
│                               └── encryption/
│                                   ├── AesGcmSivCipherTest.java
│                                   ├── DefaultSecretKeyProviderTest.java
│                                   ├── EncryptionRotationSetupTest.java
│                                   ├── EncryptionRotatorTest.java
│                                   ├── FullEncryptionRotationTest.java
│                                   ├── InitializationVectorTest.java
│                                   ├── NoneCipherTest.java
│                                   ├── PersistentCipherFactoryTest.java
│                                   └── StringByteArrayTransformerTest.java
├── sechub-commons-model/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   ├── commons/
│       │                   │   ├── TextFileReader.java
│       │                   │   ├── TextFileWriter.java
│       │                   │   ├── communication/
│       │                   │   │   ├── CommunicationDataConversionType.java
│       │                   │   │   ├── CommunicationDataConverter.java
│       │                   │   │   └── CommunicationDataConverterConfig.java
│       │                   │   ├── mapping/
│       │                   │   │   ├── MappingData.java
│       │                   │   │   ├── MappingDataToNamePatternToIdEntryConverter.java
│       │                   │   │   ├── MappingEntry.java
│       │                   │   │   ├── NamePatternIdProvider.java
│       │                   │   │   ├── NamePatternIdProviderFactory.java
│       │                   │   │   └── NamePatternToIdEntry.java
│       │                   │   └── model/
│       │                   │       ├── AbstractSecHubFileSystemContainer.java
│       │                   │       ├── ClientCertificateConfiguration.java
│       │                   │       ├── CodeScanPathCollector.java
│       │                   │       ├── HTTPHeaderConfiguration.java
│       │                   │       ├── JSONConverter.java
│       │                   │       ├── JSONConverterException.java
│       │                   │       ├── JSONValidatable.java
│       │                   │       ├── JSONValidationException.java
│       │                   │       ├── JSONable.java
│       │                   │       ├── JsonMapperFactory.java
│       │                   │       ├── MetaDataModel.java
│       │                   │       ├── ModuleGroup.java
│       │                   │       ├── RemoteCredentialConfiguration.java
│       │                   │       ├── RemoteCredentialContainer.java
│       │                   │       ├── RemoteCredentialContainerFactory.java
│       │                   │       ├── RemoteCredentialData.java
│       │                   │       ├── ScanType.java
│       │                   │       ├── ScanTypeSummaryDetailData.java
│       │                   │       ├── ScanTypeSummaryFindingOverviewData.java
│       │                   │       ├── SecHubBinaryDataConfiguration.java
│       │                   │       ├── SecHubCodeCallStack.java
│       │                   │       ├── SecHubCodeScanConfiguration.java
│       │                   │       ├── SecHubConfigurationMetaData.java
│       │                   │       ├── SecHubConfigurationModel.java
│       │                   │       ├── SecHubConfigurationModelReducedCloningSupport.java
│       │                   │       ├── SecHubConfigurationModelSupport.java
│       │                   │       ├── SecHubConfigurationModelValidationError.java
│       │                   │       ├── SecHubConfigurationModelValidationResult.java
│       │                   │       ├── SecHubConfigurationModelValidator.java
│       │                   │       ├── SecHubDataConfiguration.java
│       │                   │       ├── SecHubDataConfigurationObject.java
│       │                   │       ├── SecHubDataConfigurationObjectInfo.java
│       │                   │       ├── SecHubDataConfigurationObjectInfoFinder.java
│       │                   │       ├── SecHubDataConfigurationType.java
│       │                   │       ├── SecHubDataConfigurationTypeListParser.java
│       │                   │       ├── SecHubDataConfigurationUsageByName.java
│       │                   │       ├── SecHubDateTimeFormat.java
│       │                   │       ├── SecHubFileSystemConfiguration.java
│       │                   │       ├── SecHubFileSystemContainer.java
│       │                   │       ├── SecHubFinding.java
│       │                   │       ├── SecHubIacScanConfiguration.java
│       │                   │       ├── SecHubInfrastructureScanConfiguration.java
│       │                   │       ├── SecHubLicenseScanConfiguration.java
│       │                   │       ├── SecHubLocalDateTimeDeserializer.java
│       │                   │       ├── SecHubLocalDateTimeSerializer.java
│       │                   │       ├── SecHubMessage.java
│       │                   │       ├── SecHubMessageType.java
│       │                   │       ├── SecHubMessagesList.java
│       │                   │       ├── SecHubRemoteContainer.java
│       │                   │       ├── SecHubRemoteCredentialConfiguration.java
│       │                   │       ├── SecHubRemoteCredentialUserData.java
│       │                   │       ├── SecHubRemoteDataConfiguration.java
│       │                   │       ├── SecHubReportData.java
│       │                   │       ├── SecHubReportMetaData.java
│       │                   │       ├── SecHubReportModel.java
│       │                   │       ├── SecHubReportScanTypeSummary.java
│       │                   │       ├── SecHubReportSummary.java
│       │                   │       ├── SecHubReportVersion.java
│       │                   │       ├── SecHubResult.java
│       │                   │       ├── SecHubResultTrafficLightFilter.java
│       │                   │       ├── SecHubRevisionData.java
│       │                   │       ├── SecHubRuntimeException.java
│       │                   │       ├── SecHubScanConfiguration.java
│       │                   │       ├── SecHubSecretScanConfiguration.java
│       │                   │       ├── SecHubSourceDataConfiguration.java
│       │                   │       ├── SecHubStatus.java
│       │                   │       ├── SecHubTimeUnit.java
│       │                   │       ├── SecHubVersionControlData.java
│       │                   │       ├── SecHubWebScanApiConfiguration.java
│       │                   │       ├── SecHubWebScanApiType.java
│       │                   │       ├── SecHubWebScanConfiguration.java
│       │                   │       ├── Severities.java
│       │                   │       ├── Severity.java
│       │                   │       ├── TrafficLight.java
│       │                   │       ├── TrafficLightCalculator.java
│       │                   │       ├── TrafficLightSupport.java
│       │                   │       ├── TypeFilter.java
│       │                   │       ├── WebLogoutConfiguration.java
│       │                   │       ├── WebScanDurationConfiguration.java
│       │                   │       ├── job/
│       │                   │       │   ├── ExecutionResult.java
│       │                   │       │   ├── ExecutionState.java
│       │                   │       │   └── JobStatusInfo.java
│       │                   │       ├── login/
│       │                   │       │   ├── Action.java
│       │                   │       │   ├── ActionType.java
│       │                   │       │   ├── AutoDetectUserLoginConfiguration.java
│       │                   │       │   ├── BasicLoginConfiguration.java
│       │                   │       │   ├── EncodingType.java
│       │                   │       │   ├── FormLoginConfiguration.java
│       │                   │       │   ├── Page.java
│       │                   │       │   ├── Script.java
│       │                   │       │   ├── TOTPHashAlgorithm.java
│       │                   │       │   ├── WebLoginConfiguration.java
│       │                   │       │   ├── WebLoginTOTPConfiguration.java
│       │                   │       │   └── WebLoginVerificationConfiguration.java
│       │                   │       ├── template/
│       │                   │       │   ├── TemplateData.java
│       │                   │       │   ├── TemplateDataResolver.java
│       │                   │       │   ├── TemplateDefinition.java
│       │                   │       │   ├── TemplateIdenifierConstants.java
│       │                   │       │   ├── TemplateType.java
│       │                   │       │   └── TemplateUsageValidator.java
│       │                   │       └── web/
│       │                   │           ├── SecHubReportWeb.java
│       │                   │           ├── SecHubReportWebAttack.java
│       │                   │           ├── SecHubReportWebBody.java
│       │                   │           ├── SecHubReportWebBodyLocation.java
│       │                   │           ├── SecHubReportWebEvidence.java
│       │                   │           ├── SecHubReportWebRequest.java
│       │                   │           └── SecHubReportWebResponse.java
│       │                   └── sharedkernel/
│       │                       └── CountableInDaysTimeUnit.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── commons/
│           │                   ├── communication/
│           │                   │   ├── CommunicationDataConverterConfigTest.java
│           │                   │   └── CommunicationDataConverterTest.java
│           │                   ├── mapping/
│           │                   │   ├── MappingDataToNamePatternToIdEntryConverterTest.java
│           │                   │   ├── NamePatternIdProviderFactoryTest.java
│           │                   │   ├── NamePatternIdproviderTest.java
│           │                   │   └── NamePatternToIdEntryTest.java
│           │                   └── model/
│           │                       ├── AssertSecHubResult.java
│           │                       ├── ClientCertificateConfigurationTest.java
│           │                       ├── HTTPHeaderConfigurationTest.java
│           │                       ├── JSONConverterTest.java
│           │                       ├── JsonMapperFactoryTest.java
│           │                       ├── MetaDataModelTest.java
│           │                       ├── ModuleGroupTest.java
│           │                       ├── RemoteCredentialContainerFactoryTest.java
│           │                       ├── RemoteCredentialContainerTest.java
│           │                       ├── ScanTypeTest.java
│           │                       ├── SecHubBinaryDataConfigurationTest.java
│           │                       ├── SecHubConfigurationModelSupportTest.java
│           │                       ├── SecHubConfigurationModelTest.java
│           │                       ├── SecHubConfigurationModelValidationErrorTest.java
│           │                       ├── SecHubConfigurationModelValidationResultTest.java
│           │                       ├── SecHubConfigurationModelValidatorTest.java
│           │                       ├── SecHubDataConfigurationObjectInfoFinderTest.java
│           │                       ├── SecHubDataConfigurationTypeListParserTest.java
│           │                       ├── SecHubFindingTest.java
│           │                       ├── SecHubLicenseScanConfigurationTest.java
│           │                       ├── SecHubMessageTest.java
│           │                       ├── SecHubMessagesListTest.java
│           │                       ├── SecHubReportModelTest.java
│           │                       ├── SecHubReportScanTypeSummaryTest.java
│           │                       ├── SecHubReportSummaryTest.java
│           │                       ├── SecHubResultTest.java
│           │                       ├── SecHubScanConfigurationTest.java
│           │                       ├── SecHubSecretScanConfigurationTest.java
│           │                       ├── SecHubSourceDataConfigurationTest.java
│           │                       ├── SecHubTimeUnitTest.java
│           │                       ├── SecHubWebScanApiConfigurationTest.java
│           │                       ├── SeveritiesTest.java
│           │                       ├── TestJSONConverterEnum.java
│           │                       ├── TestJSONConverterObject.java
│           │                       ├── TrafficLightSupportTest.java
│           │                       ├── TrafficLightTest.java
│           │                       ├── job/
│           │                       │   ├── ExecutionResultTest.java
│           │                       │   └── ExecutionStateTest.java
│           │                       ├── login/
│           │                       │   ├── BasicLoginConfigurationTest.java
│           │                       │   ├── WebLoginTOTPConfigurationTest.java
│           │                       │   └── WebLoginVerificationConfigurationTest.java
│           │                       └── template/
│           │                           ├── TemplateDataResolverTest.java
│           │                           ├── TemplateDefinitionTest.java
│           │                           └── TemplateUsageValidatorTest.java
│           └── resources/
│               ├── communciation/
│               │   └── communication-key-converter-config1.json
│               ├── report/
│               │   ├── sechub-testreport1.json
│               │   ├── sechub-testreport2.json
│               │   ├── sechub-testreport3.json
│               │   ├── sechub-testreport4-multiple-web-findings.json
│               │   ├── sechub-testreport5-version-control-data.json
│               │   ├── sechub-testreport6-secret-scan-with-revision-data.json
│               │   └── sechub-testreport7-secret-scan-with-revision-data-and-metadata.json
│               ├── sechub_code_scan_config_binary_example.json
│               ├── sechub_code_scan_config_source_embedded_def_example.json
│               ├── sechub_code_scan_config_source_example.json
│               ├── sechub_config_example1.json
│               ├── sechub_config_example2.json
│               ├── sechub_config_example3.json
│               ├── sechub_config_web_scan_default_and_explicit_definitions_for_urls_for_header.json
│               ├── sechub_config_web_scan_duplicated_default.json
│               ├── sechub_config_web_scan_duplicated_default_with_upper_case.json
│               ├── sechub_config_web_scan_includes_excludes_with_wildcards.json
│               ├── sechub_config_web_scan_intersection_of_urls_of_same_header.json
│               ├── sechub_config_web_scan_intersection_of_urls_of_same_header_missing_slash.json
│               ├── sechub_config_web_scan_no_intersection_of_urls_of_same_header.json
│               ├── sechub_config_web_scan_not_duplicated_without_wildcard.json
│               ├── sechub_config_web_scan_valid_headers_mixed_upper_and_lower_case.json
│               ├── sechub_iac_scan_config_source_example.json
│               ├── sechub_license_and_code_scan_example1.json
│               ├── sechub_license_and_code_scan_example2.json
│               ├── sechub_license_and_code_scan_example3.json
│               ├── sechub_license_and_code_scan_example4.json
│               ├── sechub_license_scan_config_binary_example.json
│               ├── sechub_license_scan_config_source_and_binary_binary_used_example.json
│               ├── sechub_license_scan_config_source_and_binary_both_used_example.json
│               ├── sechub_license_scan_config_source_and_binary_source_used_example.json
│               ├── sechub_license_scan_config_source_example.json
│               ├── sechub_license_scan_non_existing_key.json
│               ├── sechub_remote_credentials_config.json
│               ├── sechub_remote_data_config_binary_code_scan_example.json
│               ├── sechub_remote_data_config_invalid_config_with_filesystem.json
│               ├── sechub_remote_data_config_invalid_credentials_empty.json
│               ├── sechub_remote_data_config_invalid_missing_location.json
│               ├── sechub_remote_data_config_invalid_multi_config.json
│               ├── sechub_remote_data_config_invalid_source_and_binaries.json
│               ├── sechub_remote_data_config_invalid_user_credential_missing_password.json
│               ├── sechub_remote_data_config_invalid_user_credential_missing_username.json
│               ├── sechub_remote_data_config_source_code_scan_example.json
│               ├── sechub_secret_scan_config_binary_example.json
│               ├── sechub_secret_scan_config_source_example.json
│               ├── sechub_unknown_scan_type.json
│               ├── sechub_web_scan_client_certificate_config_source_example.json
│               ├── sechub_web_scan_header_values_from_file_config_source_example.json
│               ├── sechub_web_scan_openapi_config_source_example.json
│               └── template/
│                   └── template-definition-example1.json
├── sechub-commons-model-testframework/
│   ├── README.md
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── commons/
│       │                       └── model/
│       │                           ├── TestSecHubConfigurationBuilder.java
│       │                           └── login/
│       │                               └── TestWebLoginConfigurationBuilder.java
│       └── test/
│           └── java/
│               └── com/
│                   └── mercedesbenz/
│                       └── sechub/
│                           └── commons/
│                               └── model/
│                                   └── SecHubConfigurationModelReducedCloningSupportTest.java
├── sechub-commons-pds/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── commons/
│       │                       └── pds/
│       │                           ├── AbstractPDSKey.java
│       │                           ├── DefaultProcessBuilderFactory.java
│       │                           ├── ExecutionPDSKey.java
│       │                           ├── PDSConfigDataKeyProvider.java
│       │                           ├── PDSDefaultParameterKeyConstants.java
│       │                           ├── PDSDefaultParameterValueConstants.java
│       │                           ├── PDSDefaultRuntimeKeyConstants.java
│       │                           ├── PDSKey.java
│       │                           ├── PDSKeyProvider.java
│       │                           ├── PDSLauncherScriptEnvironmentConstants.java
│       │                           ├── PDSMetaDataKeys.java
│       │                           ├── PDSProcessAdapterFactory.java
│       │                           ├── PDSSolutionVariableKey.java
│       │                           ├── PDSSolutionVariableType.java
│       │                           ├── PDSUserMessageSupport.java
│       │                           ├── ProcessAdapter.java
│       │                           ├── ProcessBuilderFactory.java
│       │                           ├── data/
│       │                           │   ├── PDSJobCreateResult.java
│       │                           │   ├── PDSJobData.java
│       │                           │   ├── PDSJobParameterEntry.java
│       │                           │   ├── PDSJobStatus.java
│       │                           │   ├── PDSJobStatusState.java
│       │                           │   └── PDSTemplateMetaData.java
│       │                           └── execution/
│       │                               ├── ExecutionEventData.java
│       │                               ├── ExecutionEventDetailIdentifier.java
│       │                               └── ExecutionEventType.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── commons/
│           │                   └── pds/
│           │                       ├── DefaultProcessBuilderFactoryTest.java
│           │                       ├── PDSConfigDataKeyProviderTest.java
│           │                       ├── PDSDefaultRuntimeKeyConstantsTest.java
│           │                       ├── PDSUserMessageSupportTest.java
│           │                       ├── ProcessAdapterTest.java
│           │                       └── data/
│           │                           └── PDSTemplateMetaDataTest.java
│           └── resources/
│               └── process-adapter-test.sh
├── sechub-commons-security-spring/
│   ├── build.gradle
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               └── spring/
│       │   │                   └── security/
│       │   │                       ├── AES256Encryption.java
│       │   │                       ├── AES256EncryptionException.java
│       │   │                       ├── AbstractSecurityConfiguration.java
│       │   │                       ├── ClassicAuthCredentialsCookieFilter.java
│       │   │                       ├── CookieHelper.java
│       │   │                       ├── DynamicBearerTokenResolver.java
│       │   │                       ├── JwtDecoderConfiguration.java
│       │   │                       ├── LoginClassicSuccessHandler.java
│       │   │                       ├── LoginController.java
│       │   │                       ├── LoginEnabledCondition.java
│       │   │                       ├── LoginModeOAuth2ActiveCondition.java
│       │   │                       ├── LoginOAuth2AccessTokenClient.java
│       │   │                       ├── LoginOAuth2SuccessHandler.java
│       │   │                       ├── LoginOAuth2TokenResponse.java
│       │   │                       ├── MissingAuthenticationEntryPointHandler.java
│       │   │                       ├── OAuth2JwtAuthenticationProvider.java
│       │   │                       ├── OAuth2OpaqueTokenIDPIntrospectionResponseFetcher.java
│       │   │                       ├── OAuth2OpaqueTokenIntrospectionResponse.java
│       │   │                       ├── OAuth2OpaqueTokenIntrospectionResponseCryptoAccessProvider.java
│       │   │                       ├── OAuth2OpaqueTokenIntrospector.java
│       │   │                       ├── OAuth2TokenExpirationCalculator.java
│       │   │                       ├── PortAccessGuard.java
│       │   │                       ├── RestTemplateOAuth2OpaqueTokenIDPIntrospectionResponseFetcher.java
│       │   │                       ├── SecHubSecurityProperties.java
│       │   │                       └── StatelessAuthorizationRequestRepository.java
│       │   └── resources/
│       │       ├── static/
│       │       │   └── login/
│       │       │       ├── css/
│       │       │       │   ├── login.css
│       │       │       │   └── main.css
│       │       │       ├── images/
│       │       │       │   └── background_image_login_metadata.xml
│       │       │       └── js/
│       │       │           └── login.js
│       │       └── templates/
│       │           └── login.html
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── spring/
│           │                   └── security/
│           │                       ├── AES256EncryptionTest.java
│           │                       ├── ClassicAuthCredentialsCookieFilterTest.java
│           │                       ├── CookieHelperTest.java
│           │                       ├── DynamicBearerTokenResolverTest.java
│           │                       ├── LoginClassicSuccessHandlerTest.java
│           │                       ├── LoginModeOAuth2ActiveConditionSpringBootTest.java
│           │                       ├── LoginModeOAuth2ActiveConditionTest.java
│           │                       ├── LoginOAuth2AccessTokenClientTest.java
│           │                       ├── LoginOAuth2SuccessHandlerTest.java
│           │                       ├── LoginOAuth2TokenResponseTest.java
│           │                       ├── OAuth2JwtIntegrationTest.java
│           │                       ├── OAuth2OpaqueTokenIntegrationTest.java
│           │                       ├── OAuth2OpaqueTokenIntrospectionResponseCryptoAccessProviderTest.java
│           │                       ├── OAuth2OpaqueTokenIntrospectionResponseTest.java
│           │                       ├── OAuth2OpaqueTokenIntrospectorTest.java
│           │                       ├── OAuth2TokenExpirationCalculatorTest.java
│           │                       ├── PortAccessGuardTest.java
│           │                       ├── RestTemplateOAuth2OpaqueTokenIDPIntrospectionResponseFetcherTest.java
│           │                       ├── SecHubSecurityPropertiesTest.java
│           │                       ├── SecurityConfigurationTest.java
│           │                       ├── StatelessAuthorizationRequestRepositoryTest.java
│           │                       ├── TestOAuth2JwtSecurityConfiguration.java
│           │                       ├── TestOAuth2OpaqueTokenSecurityConfiguration.java
│           │                       ├── TestRoles.java
│           │                       ├── TestSecurityConfiguration.java
│           │                       ├── TestSecurityController.java
│           │                       └── TestUserDetails.java
│           └── resources/
│               ├── application-jwt-test.yml
│               ├── application-login-mode-oauth2-active-condition-test.yaml
│               ├── application-opaque-token-test.yml
│               ├── application-security-properties-test.yaml
│               ├── oauth2-token-response.json
│               └── opaque-token-response.json
├── sechub-developertools/
│   ├── README.adoc
│   ├── build.gradle
│   ├── client-test/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   └── thc/
│   │       └── prod/
│   │           └── sechub-codescan-testproject1.json
│   ├── scripts/
│   │   ├── container/
│   │   │   ├── common-containerscript.sh
│   │   │   ├── keycloak/
│   │   │   │   ├── Dockerfile
│   │   │   │   ├── application-local_keycloak_gen_template.yaml
│   │   │   │   ├── run.sh
│   │   │   │   ├── sechub-int-keycloak-realm.json
│   │   │   │   ├── start.sh
│   │   │   │   └── stop.sh
│   │   │   └── postgres/
│   │   │       ├── Dockerfile
│   │   │       ├── pg_hba.conf
│   │   │       ├── postgresql.conf
│   │   │       ├── run.sh
│   │   │       ├── start.sh
│   │   │       └── stop.sh
│   │   ├── launch-developer-admin-ui
│   │   ├── pds-api.sh
│   │   ├── sdc.sh
│   │   └── sechub-api.sh
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               ├── developertools/
│       │   │               │   ├── DAUIApplication.java
│       │   │               │   ├── DAUICLIRunner.java
│       │   │               │   ├── JSONDeveloperHelper.java
│       │   │               │   ├── admin/
│       │   │               │   │   ├── ConfigProvider.java
│       │   │               │   │   ├── DeveloperAdministration.java
│       │   │               │   │   ├── DeveloperProjectDetailInformation.java
│       │   │               │   │   ├── ErrorHandler.java
│       │   │               │   │   ├── export/
│       │   │               │   │   │   ├── Grid.java
│       │   │               │   │   │   └── Row.java
│       │   │               │   │   ├── importer/
│       │   │               │   │   │   ├── AssignUserToProjectMassCSVImporter.java
│       │   │               │   │   │   ├── CSVColumn.java
│       │   │               │   │   │   ├── CSVRow.java
│       │   │               │   │   │   ├── CreateProjectMassCSVImporter.java
│       │   │               │   │   │   ├── CreateUserMassCSVImporter.java
│       │   │               │   │   │   ├── DeleteProjectMassCSVImporter.java
│       │   │               │   │   │   ├── MappingDataCSVSupport.java
│       │   │               │   │   │   ├── SimpleCSVExporter.java
│       │   │               │   │   │   ├── SimpleCSVImporter.java
│       │   │               │   │   │   └── UnassignUserToProjectMassCSVImporter.java
│       │   │               │   │   └── ui/
│       │   │               │   │       ├── AbstractListDialogUI.java
│       │   │               │   │       ├── ColouredComboBoxRenderer.java
│       │   │               │   │       ├── ComboxSelectionDialogUI.java
│       │   │               │   │       ├── CommandUI.java
│       │   │               │   │       ├── ConfigurationSetup.java
│       │   │               │   │       ├── CredentialUI.java
│       │   │               │   │       ├── DeveloperAdministrationUI.java
│       │   │               │   │       ├── DialogGridBagConstraintsFactory.java
│       │   │               │   │       ├── DialogUI.java
│       │   │               │   │       ├── GlassPaneUI.java
│       │   │               │   │       ├── IntegrationTestDataMenuAppender.java
│       │   │               │   │       ├── ManageAssetsDialogUI.java
│       │   │               │   │       ├── OutputUI.java
│       │   │               │   │       ├── PDSConfigurationUI.java
│       │   │               │   │       ├── ShowProductExecutorTemplatesDialogActionFactory.java
│       │   │               │   │       ├── SimpleEntry.java
│       │   │               │   │       ├── SimpleEntryListDialogUI.java
│       │   │               │   │       ├── TableRendersupport.java
│       │   │               │   │       ├── ThreeButtonDialogResult.java
│       │   │               │   │       ├── ThreeButtonDialogUI.java
│       │   │               │   │       ├── TrafficLightComponent.java
│       │   │               │   │       ├── UIContext.java
│       │   │               │   │       ├── action/
│       │   │               │   │       │   ├── AbstractUIAction.java
│       │   │               │   │       │   ├── ActionSupport.java
│       │   │               │   │       │   ├── FailsafeAction.java
│       │   │               │   │       │   ├── adapter/
│       │   │               │   │       │   │   ├── AbstractAdapterDialogAction.java
│       │   │               │   │       │   │   ├── AbstractAdapterDialogMappingAction.java
│       │   │               │   │       │   │   ├── CopyToClipboardAsPropertyEntryAction.java
│       │   │               │   │       │   │   ├── CreateExampleJSONAdapterDialogAction.java
│       │   │               │   │       │   │   ├── ExportJSONToCSVAdapterDialogAction.java
│       │   │               │   │       │   │   ├── ImportCSVToJSONAdapterDialogAction.java
│       │   │               │   │       │   │   ├── KeyValueUI.java
│       │   │               │   │       │   │   ├── LoadJSONAdapterDialogAction.java
│       │   │               │   │       │   │   ├── MappingUI.java
│       │   │               │   │       │   │   ├── ProductExecutorTemplatesDialogUI.java
│       │   │               │   │       │   │   ├── SaveJSONAdapterDialogAction.java
│       │   │               │   │       │   │   ├── ScanMappingConfigurationTestJSONasNamePatternDialogAction.java
│       │   │               │   │       │   │   ├── ShowProductExecutorTemplatesDialogAction.java
│       │   │               │   │       │   │   ├── TemplateDataUIPart.java
│       │   │               │   │       │   │   └── TemplatesDialogData.java
│       │   │               │   │       │   ├── asset/
│       │   │               │   │       │   │   └── ManageAssetsAction.java
│       │   │               │   │       │   ├── assistant/
│       │   │               │   │       │   │   └── AskAssistantAction.java
│       │   │               │   │       │   ├── client/
│       │   │               │   │       │   │   └── TriggerSecHubClientSynchronousScanAction.java
│       │   │               │   │       │   ├── config/
│       │   │               │   │       │   │   ├── ConfigureAutoCleanupAction.java
│       │   │               │   │       │   │   ├── ConfigurePDSAutoCleanupAction.java
│       │   │               │   │       │   │   ├── CreateExecutionProfileAction.java
│       │   │               │   │       │   │   ├── CreateExecutorConfigAction.java
│       │   │               │   │       │   │   ├── DeleteConfigurationAction.java
│       │   │               │   │       │   │   ├── DeleteProfileAction.java
│       │   │               │   │       │   │   ├── EditConfigurationAction.java
│       │   │               │   │       │   │   ├── EditExecutionProfileAction.java
│       │   │               │   │       │   │   ├── ExecutionProfileDialogUI.java
│       │   │               │   │       │   │   ├── ExecutorConfigDialogUI.java
│       │   │               │   │       │   │   ├── ListExecutionProfilesAction.java
│       │   │               │   │       │   │   ├── ListExecutionProfilesDialogUI.java
│       │   │               │   │       │   │   ├── ListExecutorConfigurationDialogUI.java
│       │   │               │   │       │   │   └── ListExecutorConfigurationsAction.java
│       │   │               │   │       │   ├── developerbatchops/
│       │   │               │   │       │   │   └── DeveloperBatchCreateCheckmarxTestSetupAction.java
│       │   │               │   │       │   ├── encryption/
│       │   │               │   │       │   │   ├── FetchSecHubEncryptionStatusAction.java
│       │   │               │   │       │   │   ├── RotateSecHubEncryptionAction.java
│       │   │               │   │       │   │   ├── SecretKeyGeneratorAction.java
│       │   │               │   │       │   │   └── TestDecryptToStringAction.java
│       │   │               │   │       │   ├── integrationtestserver/
│       │   │               │   │       │   │   ├── FetchMockMailsAction.java
│       │   │               │   │       │   │   ├── IntegrationTestAction.java
│       │   │               │   │       │   │   └── testdata/
│       │   │               │   │       │   │       ├── CreateScenario2TestDataAction.java
│       │   │               │   │       │   │       ├── CreateScenario3TestDataAction.java
│       │   │               │   │       │   │       ├── TriggerMassiveNewJobsScenario3User1Action.java
│       │   │               │   │       │   │       ├── TriggerNewCodeScanJobScenario3User1Action.java
│       │   │               │   │       │   │       ├── TriggerNewInfraScanJobScenario3User1Action.java
│       │   │               │   │       │   │       └── TriggerNewWebScanJobScenario3User1Action.java
│       │   │               │   │       │   ├── job/
│       │   │               │   │       │   │   ├── CancelJobAction.java
│       │   │               │   │       │   │   ├── DownloadFullscanDataForJobAction.java
│       │   │               │   │       │   │   ├── DownloadHTMLReportForJobAction.java
│       │   │               │   │       │   │   ├── DownloadJSONReportForJobAction.java
│       │   │               │   │       │   │   ├── GetJobInfoListForUserAction.java
│       │   │               │   │       │   │   ├── GetJobStatusAction.java
│       │   │               │   │       │   │   ├── RestartJobAction.java
│       │   │               │   │       │   │   ├── RestartJobHardAction.java
│       │   │               │   │       │   │   └── ShowRunningBatchJobsListAction.java
│       │   │               │   │       │   ├── other/
│       │   │               │   │       │   │   ├── CheckAliveAction.java
│       │   │               │   │       │   │   ├── FetchGlobalMappingAction.java
│       │   │               │   │       │   │   ├── FetchServerRuntimeData.java
│       │   │               │   │       │   │   └── UpdateGlobalMappingAction.java
│       │   │               │   │       │   ├── pds/
│       │   │               │   │       │   │   ├── AbstractCreatePDSExamplePropertiesAction.java
│       │   │               │   │       │   │   ├── AbstractPDSAction.java
│       │   │               │   │       │   │   ├── CheckPDSAliveAction.java
│       │   │               │   │       │   │   ├── CheckPDSJobResultOrErrorAction.java
│       │   │               │   │       │   │   ├── CheckPDSJobStatusAction.java
│       │   │               │   │       │   │   ├── CreateNewPDSExecutionConfigurationAction.java
│       │   │               │   │       │   │   ├── CreatePDSJobAction.java
│       │   │               │   │       │   │   ├── FetchLastStartedPDSJobStreamsAction.java
│       │   │               │   │       │   │   ├── FetchPDSConfigurationAction.java
│       │   │               │   │       │   │   ├── FetchPDSJobErrorStreamAction.java
│       │   │               │   │       │   │   ├── FetchPDSJobMessagesAction.java
│       │   │               │   │       │   │   ├── FetchPDSJobMetaDataAction.java
│       │   │               │   │       │   │   ├── FetchPDSJobOutputStreamAction.java
│       │   │               │   │       │   │   ├── FetchPDSJobParameterExampleAction.java
│       │   │               │   │       │   │   ├── FetchPDSMonitoringStatusAction.java
│       │   │               │   │       │   │   ├── MarkPDSJobReadyAction.java
│       │   │               │   │       │   │   ├── ShowPDSConfigurationDialogAction.java
│       │   │               │   │       │   │   └── UploadPDSJobFileAction.java
│       │   │               │   │       │   ├── project/
│       │   │               │   │       │   │   ├── AssignOwnerToProjectAction.java
│       │   │               │   │       │   │   ├── AssignProfileToAllProjectsAction.java
│       │   │               │   │       │   │   ├── AssignProfileToProjectsAction.java
│       │   │               │   │       │   │   ├── AssignUserToProjectAction.java
│       │   │               │   │       │   │   ├── AssignUserToProjectMassCSVImportAction.java
│       │   │               │   │       │   │   ├── ChangeProjectAccessLevelAction.java
│       │   │               │   │       │   │   ├── ChangeProjectAccessLevelDialogUI.java
│       │   │               │   │       │   │   ├── CreateOverviewCSVExportAction.java
│       │   │               │   │       │   │   ├── CreateProjectAction.java
│       │   │               │   │       │   │   ├── CreateProjectMassCSVImportAction.java
│       │   │               │   │       │   │   ├── DeleteProjectAction.java
│       │   │               │   │       │   │   ├── DeleteProjectMassCSVImportAction.java
│       │   │               │   │       │   │   ├── FetchProjectFalsePositiveConfigurationAction.java
│       │   │               │   │       │   │   ├── GetProjectMockConfigurationAction.java
│       │   │               │   │       │   │   ├── MarkProjectFalsePositiveAction.java
│       │   │               │   │       │   │   ├── SetProjectMockDataConfigurationAction.java
│       │   │               │   │       │   │   ├── ShowProjectDetailAction.java
│       │   │               │   │       │   │   ├── ShowProjectListAction.java
│       │   │               │   │       │   │   ├── ShowProjectsScanLogsAction.java
│       │   │               │   │       │   │   ├── UnassignProfileFromAllProjectsAction.java
│       │   │               │   │       │   │   ├── UnassignProfileFromProjectsAction.java
│       │   │               │   │       │   │   ├── UnassignUserFromProjectAction.java
│       │   │               │   │       │   │   ├── UnassignUserFromProjectMassCSVImportAction.java
│       │   │               │   │       │   │   ├── UnmarkProjectFalsePositiveAction.java
│       │   │               │   │       │   │   ├── UpdateProjectDescriptionAction.java
│       │   │               │   │       │   │   ├── UpdateProjectMetaDataAction.java
│       │   │               │   │       │   │   └── UpdateProjectWhitelistAction.java
│       │   │               │   │       │   ├── scheduler/
│       │   │               │   │       │   │   ├── DisableSchedulerJobProcessingAction.java
│       │   │               │   │       │   │   ├── EnableSchedulerJobProcessingAction.java
│       │   │               │   │       │   │   └── RefreshSchedulerStatusAction.java
│       │   │               │   │       │   ├── status/
│       │   │               │   │       │   │   ├── CheckStatusAction.java
│       │   │               │   │       │   │   └── ListStatusEntriesAction.java
│       │   │               │   │       │   ├── template/
│       │   │               │   │       │   │   ├── AssignTemplateToProjectAction.java
│       │   │               │   │       │   │   ├── CreateOrUpdateTemplateAction.java
│       │   │               │   │       │   │   ├── DeleteTemplateAction.java
│       │   │               │   │       │   │   ├── ExecuteTemplatesHealthcheckAction.java
│       │   │               │   │       │   │   ├── FetchAllTemplateIdentifiersAction.java
│       │   │               │   │       │   │   ├── ShowTemplatesOverviewAction.java
│       │   │               │   │       │   │   └── UnassignTemplateFromProjectAction.java
│       │   │               │   │       │   └── user/
│       │   │               │   │       │       ├── AcceptUserSignupAction.java
│       │   │               │   │       │       ├── AnonymousRequestNewAPITokenUserAction.java
│       │   │               │   │       │       ├── AnonymousSigninNewUserAction.java
│       │   │               │   │       │       ├── CreateUserMassCSVImportAction.java
│       │   │               │   │       │       ├── DeclineUserSignupAction.java
│       │   │               │   │       │       ├── DeleteUserAction.java
│       │   │               │   │       │       ├── ListSignupsAction.java
│       │   │               │   │       │       ├── ShowAdminListAction.java
│       │   │               │   │       │       ├── ShowUserDetailAction.java
│       │   │               │   │       │       ├── ShowUserDetailForEmailAddressAction.java
│       │   │               │   │       │       ├── ShowUserListAction.java
│       │   │               │   │       │       ├── UpdateUserEmailAction.java
│       │   │               │   │       │       └── privileges/
│       │   │               │   │       │           ├── GrantAdminRightsToUserAction.java
│       │   │               │   │       │           └── RevokeAdminRightsFromAdminAction.java
│       │   │               │   │       ├── cache/
│       │   │               │   │       │   ├── InputCache.java
│       │   │               │   │       │   └── InputCacheIdentifier.java
│       │   │               │   │       └── util/
│       │   │               │   │           ├── DataCollectorUtils.java
│       │   │               │   │           ├── SortedMapToTextConverter.java
│       │   │               │   │           └── TextToSortedMapConverter.java
│       │   │               │   └── container/
│       │   │               │       ├── AbstractTestContainer.java
│       │   │               │       ├── AbstractTestContainerStarter.java
│       │   │               │       ├── BashScriptContainerLaunchConfig.java
│       │   │               │       ├── BashScriptContainerLauncher.java
│       │   │               │       ├── ContainerPathUtils.java
│       │   │               │       ├── keycloak/
│       │   │               │       │   ├── KeycloakTestContainer.java
│       │   │               │       │   └── LocalTestKeycloakStarter.java
│       │   │               │       └── postgres/
│       │   │               │           ├── LocalTestPostgreSQLStarter.java
│       │   │               │           └── PostgreSQLTestContainer.java
│       │   │               └── domain/
│       │   │                   └── scan/
│       │   │                       └── config/
│       │   │                           └── DeveloperToolsScanMappingConfigurationService.java
│       │   └── resources/
│       │       ├── application.yaml
│       │       └── icons/
│       │           └── material-io/
│       │               └── README.md
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── developertools/
│           │                   ├── TestDeveloperToolsFileSupport.java
│           │                   └── admin/
│           │                       ├── export/
│           │                       │   └── GridTest.java
│           │                       ├── importer/
│           │                       │   ├── AssignUserToProjectMassCSVImporterTest.java
│           │                       │   ├── CreateProjectMassCSVImporterTest.java
│           │                       │   ├── DeleteProjectMassCSVImporterTest.java
│           │                       │   ├── MappingDataCSVSupportTest.java
│           │                       │   ├── SimpleCSVImporterTest.java
│           │                       │   └── UnassignUserFromProjectMassCSVImporterTest.java
│           │                       └── ui/
│           │                           └── util/
│           │                               ├── SortedMapToTextConverterTest.java
│           │                               └── TextToSortedMapConverterTest.java
│           └── resources/
│               └── csv/
│                   ├── example1-developer-admin-ui_mass-import_projects.csv
│                   ├── example2-developer-admin-ui_mass-import_delete_projects.csv
│                   ├── example3-developer-admin-ui_mass-import_user2projects.csv
│                   ├── example4-developer-admin-ui_mass-import_user2projects-unassign.csv
│                   ├── example5-developer-admin-ui_mass-import_users.csv
│                   ├── example6-developer-admin-ui_mass-import_projects-with-profiles.csv
│                   └── example7-developer-admin-ui_mass-import_projects-with-profiles.csv
├── sechub-doc/
│   ├── README.md
│   ├── build.gradle
│   ├── helperscripts/
│   │   ├── create-download-html.sh
│   │   └── publish+git-add-releasedocs.sh
│   └── src/
│       ├── docs/
│       │   └── asciidoc/
│       │       ├── diagrams/
│       │       │   ├── diagram_archive_support_overview.puml
│       │       │   ├── diagram_behind_the_scenes_sechub.plantuml
│       │       │   ├── diagram_business_context_overview.plantuml
│       │       │   ├── diagram_concept_pds_storage_example_different_nfs.puml
│       │       │   ├── diagram_concept_pds_storage_example_different_s3_buckets.puml
│       │       │   ├── diagram_concept_pds_storage_example_s3_and_nfs_mixed.puml
│       │       │   ├── diagram_concept_pds_storage_example_shared_nfs.puml
│       │       │   ├── diagram_concept_pds_storage_example_shared_s3_bucket.puml
│       │       │   ├── diagram_concept_product_delgation_server_bigpicture.puml
│       │       │   ├── diagram_concept_sechub_assistant-ai.puml
│       │       │   ├── diagram_concept_sechub_assistant-model.puml
│       │       │   ├── diagram_em_statistic.puml
│       │       │   ├── diagram_encryption_pds.puml
│       │       │   ├── diagram_encryption_sechub_config.puml
│       │       │   ├── diagram_encryption_sechub_use_of_commons.puml
│       │       │   ├── diagram_false_positive_concept_server_integration.puml
│       │       │   ├── diagram_falsepositives_definition_overview.puml
│       │       │   ├── diagram_falsepositives_runtime_overview.puml
│       │       │   ├── diagram_job_status_delivery.puml
│       │       │   ├── diagram_oauth2_opaque_token_caching_overview.puml
│       │       │   ├── diagram_overview_execution_profiles_and_config.puml
│       │       │   ├── diagram_pds_adapter_configuration_overview.puml
│       │       │   ├── diagram_pds_events_storage.puml
│       │       │   ├── diagram_pds_metadata.puml
│       │       │   ├── diagram_pds_overview_stream_access.puml
│       │       │   ├── diagram_pds_solution_checkmarx_overview.puml
│       │       │   ├── diagram_pds_solution_checkmarx_wrapper_overview.puml
│       │       │   ├── diagram_product_messages_pds_storage.puml
│       │       │   ├── diagram_product_messages_storage.puml
│       │       │   ├── diagram_product_messages_to_sereco_annotations.puml
│       │       │   ├── diagram_report_data_model.puml
│       │       │   ├── diagram_report_dataflow.plantuml
│       │       │   ├── diagram_report_delivery.plantuml
│       │       │   ├── diagram_roles_sechub.puml
│       │       │   ├── diagram_sechub_job_cancellation.puml
│       │       │   ├── diagram_sechub_job_restart_handling.puml
│       │       │   ├── diagram_sechub_resume_suspended_jobs.puml
│       │       │   ├── diagram_sechub_server.plantuml
│       │       │   ├── diagram_sechub_sigterm_handling.puml
│       │       │   ├── diagram_simple_resilience.plantuml
│       │       │   ├── diagram_statistic_events_overview.puml
│       │       │   ├── diagram_status_update_after_job_has_been_executed.puml
│       │       │   ├── diagram_target_architecture.plantuml
│       │       │   ├── diagram_technical_context_overview.plantuml
│       │       │   ├── diagram_technical_context_overview_with_pds.plantuml
│       │       │   ├── diagram_templates-and-assets-big-picture.puml
│       │       │   ├── diagram_templates-mapping-to-projects-events.puml
│       │       │   ├── diagram_templates-mapping-to-projects.puml
│       │       │   ├── diagram_tutorials_test_pds_solution_single.puml
│       │       │   ├── diagram_tutorials_test_pds_solution_with_sechub.puml
│       │       │   ├── module_pds_workspace_metadata.puml
│       │       │   ├── module_sechub_eventbus.puml
│       │       │   ├── module_sechub_job.puml
│       │       │   ├── module_sechub_messages.puml
│       │       │   ├── module_sechub_productresult.puml
│       │       │   ├── module_self_cleaning_cache.puml
│       │       │   └── module_spring_security_aes_encryption.puml
│       │       ├── documents/
│       │       │   ├── .gitignore
│       │       │   ├── architecture/
│       │       │   │   ├── 01_introduction_and_goals.adoc
│       │       │   │   ├── 02_architecture_constraints.adoc
│       │       │   │   ├── 03_system_scope_and_context.adoc
│       │       │   │   ├── 04_solution_strategy.adoc
│       │       │   │   ├── 05_building_block_view.adoc
│       │       │   │   ├── 06_runtime_view.adoc
│       │       │   │   ├── 07_deployment_view.adoc
│       │       │   │   ├── 08_concepts.adoc
│       │       │   │   ├── 09_design_decisions.adoc
│       │       │   │   ├── 10_quality_scenarios.adoc
│       │       │   │   ├── 11_technical_risks.adoc
│       │       │   │   ├── 12_glossary.adoc
│       │       │   │   └── about-arc42.adoc
│       │       │   ├── buildserver/
│       │       │   │   ├── example-sechub-client-released-pipeline.jenkins
│       │       │   │   ├── example-sechub-server-released-pipeline.jenkins
│       │       │   │   └── jenkins-pipeline.adoc
│       │       │   ├── client/
│       │       │   │   ├── 02_sechub_client.adoc
│       │       │   │   ├── sechub_client_falsepositive_list_example_unmark.json
│       │       │   │   ├── sechub_client_falsepositive_list_example_unmark_jobData+projectData.json
│       │       │   │   └── sechub_config_apiversion_example.json
│       │       │   ├── code2doc/
│       │       │   │   ├── README.md
│       │       │   │   └── usecases/
│       │       │   │       ├── admin/
│       │       │   │       │   ├── changeProjectAccessLevel.adoc
│       │       │   │       │   ├── deleteUser.adoc
│       │       │   │       │   ├── notification_about_scheduler_start.adoc
│       │       │   │       │   └── updateUserEmailAddress.adoc
│       │       │   │       ├── job/
│       │       │   │       │   ├── admin_lists_all_running_jobs.adoc
│       │       │   │       │   ├── admin_restarts_job.adoc
│       │       │   │       │   ├── admin_restarts_job_hard.adoc
│       │       │   │       │   ├── scheduler_starts_job.adoc
│       │       │   │       │   ├── scheduler_starts_job_tasklet.adoc
│       │       │   │       │   └── user_lists_jobs_for_project.adoc
│       │       │   │       ├── project/
│       │       │   │       │   ├── admin_creates_project.adoc
│       │       │   │       │   ├── admin_deletes_project.adoc
│       │       │   │       │   ├── get_project_data.adoc
│       │       │   │       │   ├── update_project_metadata.adoc
│       │       │   │       │   └── update_project_whitelist.adoc
│       │       │   │       └── user/
│       │       │   │           ├── approve_sechub_job_description.adoc
│       │       │   │           ├── check_sechub_job_state_description.adoc
│       │       │   │           ├── clicks_link_to_get_new_api_token.adoc
│       │       │   │           ├── create_sechub_job_description.adoc
│       │       │   │           ├── defines_mockdata_for_project.adoc
│       │       │   │           ├── download_sechub_job_report_description.adoc
│       │       │   │           ├── download_spdx_report_description.adoc
│       │       │   │           ├── fetch_false_positive_configuration_of_project.adoc
│       │       │   │           ├── mark_false_positives.adoc
│       │       │   │           ├── request_new_api_token_description.adoc
│       │       │   │           ├── retrieves_mockdata_for_project.adoc
│       │       │   │           ├── selfregistration_description.adoc
│       │       │   │           ├── start_scan_by_client_description.adoc
│       │       │   │           ├── unmark_false_positives_jobdata.adoc
│       │       │   │           ├── unmark_false_positives_projectdata.adoc
│       │       │   │           ├── upload_binaries_description.adoc
│       │       │   │           ├── upload_sourcecode_description.adoc
│       │       │   │           └── upload_sourcecode_for_sechub_job_description.adoc
│       │       │   ├── config.adoc
│       │       │   ├── gen/
│       │       │   │   ├── .gitignore
│       │       │   │   └── README.md
│       │       │   ├── operations/
│       │       │   │   ├── 01_sechub_server.adoc
│       │       │   │   ├── 02_security_products.adoc
│       │       │   │   ├── 03_onboarding.adoc
│       │       │   │   └── server/
│       │       │   │       ├── server_deployment.adoc
│       │       │   │       └── server_download.adoc
│       │       │   ├── pds/
│       │       │   │   ├── about_pds.adoc
│       │       │   │   ├── pds-autocleanup-example1.json
│       │       │   │   ├── pds-autocleanup-example2.json
│       │       │   │   ├── pds-job-messages-example1.json
│       │       │   │   ├── pds-metadata-file-example1.json
│       │       │   │   ├── pds-metadata-file-example2.json
│       │       │   │   ├── pds-monitoring-result-example1.json
│       │       │   │   ├── pds-server-config-example1.json
│       │       │   │   ├── pds_config.adoc
│       │       │   │   ├── pds_download.adoc
│       │       │   │   ├── pds_restapi.adoc
│       │       │   │   ├── pds_usecases.adoc
│       │       │   │   ├── product_delegation_job_config_example1.json
│       │       │   │   └── product_delegation_server_config_example1.json
│       │       │   ├── server/
│       │       │   │   └── 03_sechub_rest_api.adoc
│       │       │   ├── shared/
│       │       │   │   ├── about_documentation_all.adoc
│       │       │   │   ├── about_sechub.adoc
│       │       │   │   ├── adapter/
│       │       │   │   │   ├── checkmarx_adapter_flow.adoc
│       │       │   │   │   ├── nessus_adapter_flow.adoc
│       │       │   │   │   └── netsparker_adapter_flow.adoc
│       │       │   │   ├── concepts/
│       │       │   │   │   ├── concept_analytic.adoc
│       │       │   │   │   ├── concept_analytic_techdoc.adoc
│       │       │   │   │   ├── concept_archive_extraction.adoc
│       │       │   │   │   ├── concept_assistant.adoc
│       │       │   │   │   ├── concept_auto_clean.adoc
│       │       │   │   │   ├── concept_auto_cleanup_configuration_example.json
│       │       │   │   │   ├── concept_common_data_structure_tar_and_zip_files.adoc
│       │       │   │   │   ├── concept_falsepositive_handling.adoc
│       │       │   │   │   ├── concept_include_all.adoc
│       │       │   │   │   ├── concept_job_cancellation.adoc
│       │       │   │   │   ├── concept_job_status.adoc
│       │       │   │   │   ├── concept_mappings.adoc
│       │       │   │   │   ├── concept_modules_and_module_groups.adoc
│       │       │   │   │   ├── concept_oauth2_handling.adoc
│       │       │   │   │   ├── concept_pds.adoc
│       │       │   │   │   ├── concept_pds_adapter_configuration.adoc
│       │       │   │   │   ├── concept_pds_data_encryption.adoc
│       │       │   │   │   ├── concept_pds_deployment_with_running_jobs.adoc
│       │       │   │   │   ├── concept_pds_events_dataflow.adoc
│       │       │   │   │   ├── concept_pds_fetch_stream_of_running_job.adoc
│       │       │   │   │   ├── concept_pds_general.adoc
│       │       │   │   │   ├── concept_pds_handle_metadata.adoc
│       │       │   │   │   ├── concept_pds_handle_storage_parts_at_runtime.adoc
│       │       │   │   │   ├── concept_product_message_dataflow.adoc
│       │       │   │   │   ├── concept_product_message_pds_dataflow.adoc
│       │       │   │   │   ├── concept_product_results.adoc
│       │       │   │   │   ├── concept_project_administration.adoc
│       │       │   │   │   ├── concept_project_scan_configuration.adoc
│       │       │   │   │   ├── concept_report_dataflow.adoc
│       │       │   │   │   ├── concept_sechub_data_encryption.adoc
│       │       │   │   │   ├── concept_sechub_deployment_without_scheduler_stop.adoc
│       │       │   │   │   ├── concept_sechub_job_restart_handling.adoc
│       │       │   │   │   ├── concept_sechub_point_of_view_for_pds.adoc
│       │       │   │   │   ├── concept_simple_domain_driven_design.adoc
│       │       │   │   │   ├── concept_simple_resilience.adoc
│       │       │   │   │   ├── concept_statistic.adoc
│       │       │   │   │   ├── concept_statistic_techdoc.adoc
│       │       │   │   │   ├── concept_status_dataflow.adoc
│       │       │   │   │   ├── concept_status_fetching.adoc
│       │       │   │   │   ├── concept_targets.adoc
│       │       │   │   │   ├── concept_templates_and_assets.adoc
│       │       │   │   │   ├── execution-profiles/
│       │       │   │   │   │   └── concept_execution_profiles_and_config.adoc
│       │       │   │   │   ├── pds-solutions/
│       │       │   │   │   │   ├── concept_pds_solution.adoc
│       │       │   │   │   │   └── concept_pds_solution_checkmarx.adoc
│       │       │   │   │   └── project_whitelist.adoc
│       │       │   │   ├── configuration/
│       │       │   │   │   ├── eclipse-java-sechub-formatter-setup.adoc
│       │       │   │   │   ├── execution_profiles.adoc
│       │       │   │   │   ├── executor_config.adoc
│       │       │   │   │   ├── intelliJ-java-sechub-formatter-setup.adoc
│       │       │   │   │   ├── mapping.adoc
│       │       │   │   │   ├── mapping_example1.json
│       │       │   │   │   ├── mapping_json_syntax.json
│       │       │   │   │   ├── project_scan_config_technical-details.adoc
│       │       │   │   │   ├── scan_config.adoc
│       │       │   │   │   ├── scan_config_example1_checkmarx-preset-id.json
│       │       │   │   │   ├── scan_config_example2_checkmarx-team-id.json
│       │       │   │   │   ├── scan_config_namepattern_provider_example1.json
│       │       │   │   │   ├── sechub_config.adoc
│       │       │   │   │   ├── sechub_config_data_section_general_example1.json
│       │       │   │   │   ├── sechub_config_data_section_general_example2.json
│       │       │   │   │   ├── sechub_config_example10_license_scan_with_sources_data_reference.json
│       │       │   │   │   ├── sechub_config_example11_license_scan_and_code_scan_with_sources_data_reference.json
│       │       │   │   │   ├── sechub_config_example12_secret_scan_with_sources_data_reference.json
│       │       │   │   │   ├── sechub_config_example13_secret_scan_with_binaries_data_reference.json
│       │       │   │   │   ├── sechub_config_example14_secret_scan_and_code_scan_with_sources_data_reference.json
│       │       │   │   │   ├── sechub_config_example15_web_scan_header.json
│       │       │   │   │   ├── sechub_config_example16_webscan_client_certificate_with_openAPI.json
│       │       │   │   │   ├── sechub_config_example17_web_scan_header_value_from_data_section.json
│       │       │   │   │   ├── sechub_config_example18_remote_data_without_credentials_sources_codescan.json
│       │       │   │   │   ├── sechub_config_example19_remote_data_with_credentials_sources_codescan.json
│       │       │   │   │   ├── sechub_config_example1_sourcescan_data_section.json
│       │       │   │   │   ├── sechub_config_example1_sourcescan_filesystem.json
│       │       │   │   │   ├── sechub_config_example20_remote_data_with_credentials_binaries_licensescan.json
│       │       │   │   │   ├── sechub_config_example21_webscan_login_form_with_totp.json
│       │       │   │   │   ├── sechub_config_example22_webscan_with_template.json
│       │       │   │   │   ├── sechub_config_example23_headers_to_identify_webscans_in_logs.json
│       │       │   │   │   ├── sechub_config_example24_webscan_login_form_with_verification.json
│       │       │   │   │   ├── sechub_config_example25_logout_config.json
│       │       │   │   │   ├── sechub_config_example26_iacscan.json
│       │       │   │   │   ├── sechub_config_example2_webscan_anonymous.json
│       │       │   │   │   ├── sechub_config_example3_webscan_login_basicauth.json
│       │       │   │   │   ├── sechub_config_example4_webscan_login_clientcertificate.json
│       │       │   │   │   ├── sechub_config_example5_webscan_login_from_sript.json
│       │       │   │   │   ├── sechub_config_example6_infrascan_ip.json
│       │       │   │   │   ├── sechub_config_example7_infrascan_uri.json
│       │       │   │   │   ├── sechub_config_example8_web_scan_openapi_with_data_reference.json
│       │       │   │   │   ├── sechub_config_example9_license_scan_with_binaries_data_reference.json
│       │       │   │   │   └── sechub_config_metadata_example1.json
│       │       │   │   ├── domain_message_bus.adoc
│       │       │   │   ├── false-positives/
│       │       │   │   │   ├── FalsePositiveJavaApplication.java
│       │       │   │   │   ├── false-positives-REST-API-content-example1.json
│       │       │   │   │   ├── false-positives-REST-API-content-example2.json
│       │       │   │   │   ├── false-positives-howto-define-by-api.adoc
│       │       │   │   │   └── false-positives-technical-details.adoc
│       │       │   │   ├── hint_admin_access_profile.adoc
│       │       │   │   ├── hint_generated_mockadapterproperties.adoc
│       │       │   │   ├── hint_generated_schedule.adoc
│       │       │   │   ├── hint_generated_systemproperties.adoc
│       │       │   │   ├── infrastructure/
│       │       │   │   │   ├── infra_docker.adoc
│       │       │   │   │   ├── infra_kubernetes.adoc
│       │       │   │   │   ├── infra_localdevelopment.adoc
│       │       │   │   │   ├── infra_security_products.adoc
│       │       │   │   │   ├── infra_springboot.adoc
│       │       │   │   │   └── products/
│       │       │   │   │       ├── 07_03_01_infra_security_products_netsparker.adoc
│       │       │   │   │       ├── 07_03_02_infra_security_products_checkmarx.adoc
│       │       │   │   │       ├── 07_03_03_infra_security_products_nessus.adoc
│       │       │   │   │       ├── 07_03_98_infra_security_products_prepare.adoc
│       │       │   │   │       └── 07_03_99_infra_security_products_sereco.adoc
│       │       │   │   ├── launchconfig/
│       │       │   │   │   ├── launchconfig_common_dev_adminui_header.adoc
│       │       │   │   │   ├── launchconfig_common_server_header.adoc
│       │       │   │   │   ├── launchconfig_start_dev_server.adoc
│       │       │   │   │   ├── launchconfig_start_general_adminui.adoc
│       │       │   │   │   ├── launchconfig_start_integrationtest_dev_adminui.adoc
│       │       │   │   │   ├── launchconfig_start_integrationtest_server.adoc
│       │       │   │   │   └── launchconfig_start_prod_server.adoc
│       │       │   │   ├── pds_checkmarx_solution_configuration.adoc
│       │       │   │   ├── pds_hint_generated_systemproperties.adoc
│       │       │   │   ├── pds_options.adoc
│       │       │   │   ├── pds_solution_configurations.adoc
│       │       │   │   ├── pds_storage_configuration.adoc
│       │       │   │   ├── report/
│       │       │   │   │   ├── sechub_codescan_report_json_example_1.json
│       │       │   │   │   └── sechub_reporting.adoc
│       │       │   │   ├── sechub_mockoptions.adoc
│       │       │   │   ├── sechub_options.adoc
│       │       │   │   ├── sechub_user_roles.adoc
│       │       │   │   ├── sechub_versioning.adoc
│       │       │   │   ├── snippet/
│       │       │   │   │   ├── pds-param-template-metadata-example1.json
│       │       │   │   │   ├── pds-param-template-metadata-syntax.json
│       │       │   │   │   └── template-definition-syntax.json
│       │       │   │   ├── springboot_profiles.adoc
│       │       │   │   ├── springboot_security.adoc
│       │       │   │   ├── storage_configuration.adoc
│       │       │   │   └── systemtests/
│       │       │   │       └── systemtests.adoc
│       │       │   ├── techdoc/
│       │       │   │   ├── 01_development.adoc
│       │       │   │   ├── 02_security_in_development.adoc
│       │       │   │   ├── 03_coding_conventions.adoc
│       │       │   │   ├── 04_documentation.adoc
│       │       │   │   ├── 05_build.adoc
│       │       │   │   ├── 06_concepts_and_ddd.adoc
│       │       │   │   ├── 07_api.adoc
│       │       │   │   ├── 08_technical_debt.adoc
│       │       │   │   ├── 09_01_howto_integrate_a_new_product.adoc
│       │       │   │   ├── 09_02_howto_configure_mock_behaviours.adoc
│       │       │   │   ├── 09_03_howto_start_local_like_in_production.adoc
│       │       │   │   ├── 09_04_howto_quick_test_created_sechub_server_release_local.adoc
│       │       │   │   ├── 09_howtos.adoc
│       │       │   │   ├── mockdata_setup_example1.adoc
│       │       │   │   └── mockdata_setup_example1.json
│       │       │   └── tutorials/
│       │       │       ├── 01_tutorials.adoc
│       │       │       ├── 02_integrate_new_module.adoc
│       │       │       └── 03_create_new_pds_solution.adoc
│       │       ├── images/
│       │       │   ├── README.md
│       │       │   └── sechub-logo.png.license
│       │       ├── sechub-architecture.adoc
│       │       ├── sechub-client.adoc
│       │       ├── sechub-developer-quickstart-guide.adoc
│       │       ├── sechub-getting-started.adoc
│       │       ├── sechub-operations.adoc
│       │       ├── sechub-product-delegation-server.adoc
│       │       ├── sechub-restapi.adoc
│       │       ├── sechub-techdoc.adoc
│       │       └── sechub-tutorials.adoc
│       ├── main/
│       │   └── java/
│       │       └── com/
│       │           └── mercedesbenz/
│       │               └── sechub/
│       │                   └── docgen/
│       │                       ├── AsciidocGenerator.java
│       │                       ├── AsciidocUtil.java
│       │                       ├── ClientDocFilesGenerator.java
│       │                       ├── ConfigurationPropertiesData.java
│       │                       ├── DocAnnotationData.java
│       │                       ├── ExampleJSONGenerator.java
│       │                       ├── Generator.java
│       │                       ├── GeneratorConstants.java
│       │                       ├── ModuleDescriptionTableGenerator.java
│       │                       ├── ModuleGroupToModuleTableGenerator.java
│       │                       ├── ModuleToModuleGroupTableGenerator.java
│       │                       ├── MustBeDocumentedDataCollector.java
│       │                       ├── PDSExecutorConfigurationParameterDescriptionGenerator.java
│       │                       ├── PDSMustBeDocumentedDataCollector.java
│       │                       ├── RestDocResourceModel.java
│       │                       ├── SystemTestDocGenerator.java
│       │                       ├── adopt/
│       │                       │   ├── AdoptedSystemTestDefaultFallback.java
│       │                       │   └── AdoptedSystemTestRuntimeVariable.java
│       │                       ├── kubernetes/
│       │                       │   ├── KubernetesFiles.java
│       │                       │   └── KubernetesTemplateFilesGenerator.java
│       │                       ├── messaging/
│       │                       │   ├── DomainMessagingFilesGenerator.java
│       │                       │   ├── DomainMessagingModel.java
│       │                       │   ├── DomainMessagingModelDataCollector.java
│       │                       │   ├── DomainMessagingModelPlantUMLGenerator.java
│       │                       │   ├── DomainUtil.java
│       │                       │   ├── UseCaseEventMessageLinkAsciidocGenerator.java
│       │                       │   └── UseCaseEventOverviewPlantUmlGenerator.java
│       │                       ├── pds/
│       │                       │   ├── CheckmarxWrapperDocumentationGenerator.java
│       │                       │   └── PDSSolutionVariableContentGenerator.java
│       │                       ├── reflections/
│       │                       │   └── Reflections.java
│       │                       ├── spring/
│       │                       │   ├── ListedProfile.java
│       │                       │   ├── ListedProfileModel.java
│       │                       │   ├── MockPropertiesDescriptionGenerator.java
│       │                       │   ├── MockedAdaptersSpringValueDataCollector.java
│       │                       │   ├── ScheduleDescriptionGenerator.java
│       │                       │   ├── SpringProfilesPlantumlGenerator.java
│       │                       │   ├── SpringScheduleExtractor.java
│       │                       │   ├── SpringValueExtractor.java
│       │                       │   ├── SpringValueFilter.java
│       │                       │   ├── SystemPropertiesDescriptionGenerator.java
│       │                       │   └── SystemPropertiesJavaLaunchExampleGenerator.java
│       │                       ├── usecase/
│       │                       │   ├── PDSStepDataProvider.java
│       │                       │   ├── PDSUseCaseModelDataCollector.java
│       │                       │   ├── Role2UseCaseAsciiDocGenerator.java
│       │                       │   ├── SecHubStepDataProvider.java
│       │                       │   ├── StepDataProvider.java
│       │                       │   ├── UseCaseAsciiDocFactory.java
│       │                       │   ├── UseCaseAsciiDocGenerator.java
│       │                       │   ├── UseCaseModel.java
│       │                       │   ├── UseCaseModelDataCollector.java
│       │                       │   ├── UseCaseRestDocEntry.java
│       │                       │   ├── UseCaseRestDocModel.java
│       │                       │   ├── UseCaseRestDocModelAsciiDocGenerator.java
│       │                       │   └── UseCaseRestDocModelDataCollector.java
│       │                       └── util/
│       │                           ├── AnnotationDataLocationExtractor.java
│       │                           ├── ClasspathDataCollector.java
│       │                           ├── DocGenTextFileReader.java
│       │                           ├── DocGenTextFileWriter.java
│       │                           ├── DocGeneratorUtil.java
│       │                           ├── DocReflectionUtil.java
│       │                           ├── LicenseHeaderProvider.java
│       │                           ├── ReflectionsFactory.java
│       │                           └── RestDocFactory.java
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               ├── ExampleFilesValidTest.java
│           │               ├── TestPDSDataExampleFile.java
│           │               ├── TestSecHubConfigExampleFile.java
│           │               ├── docgen/
│           │               │   ├── AsciidocGeneratorManualTest.java
│           │               │   ├── AsciidocGeneratorTest.java
│           │               │   ├── AsciidocUtilTest.java
│           │               │   ├── MustBeDocumentedDataCollectorTest.java
│           │               │   ├── RestDocResourceModelTest.java
│           │               │   ├── UseCaseGroupTest.java
│           │               │   ├── adopt/
│           │               │   │   ├── AdoptedSystemTestDefaultFallbackTest.java
│           │               │   │   ├── AdoptedSystemTestRuntimeVariableTest.java
│           │               │   │   └── AdoptionChecker.java
│           │               │   ├── messaging/
│           │               │   │   ├── MessagingAnnotationsCorrectDefinedTest.java
│           │               │   │   ├── UseCaseEventMessageLinkAsciidocGeneratorManualTest.java
│           │               │   │   └── UseCaseEventOverviewPlantUmlGeneratorManualTest.java
│           │               │   ├── reflections/
│           │               │   │   ├── ReflectionsExampleClass1.java
│           │               │   │   ├── ReflectionsExampleClass2.java
│           │               │   │   ├── ReflectionsExampleDefinitionAnnotation.java
│           │               │   │   ├── ReflectionsExampleInterface.java
│           │               │   │   ├── ReflectionsExampleUsageAnnotation.java
│           │               │   │   └── ReflectionsTest.java
│           │               │   ├── spring/
│           │               │   │   ├── ListedProfileTest.java
│           │               │   │   ├── ScheduleDescriptionGeneratorIntTest.java
│           │               │   │   ├── ScheduleDescriptionGeneratorTest.java
│           │               │   │   ├── SpringScheduleExtractorTest.java
│           │               │   │   ├── SpringValueExtractorTest.java
│           │               │   │   └── SystemPropertiesDescriptionGeneratorTest.java
│           │               │   ├── usecase/
│           │               │   │   ├── UseCaseAsciiDocGeneratorTest.java
│           │               │   │   ├── UsecaseIdentifierUniqueUsageTest.java
│           │               │   │   └── UsecaseStepsWithRestDocAreDocumentedTest.java
│           │               │   └── util/
│           │               │       ├── AnnotationDataLocationExtractorTest.java
│           │               │       ├── ClasspathDataCollectorTest.java
│           │               │       ├── DocGenUtilTest.java
│           │               │       ├── DocGeneratorUtilTest.java
│           │               │       ├── LicenseHeaderProviderTest.java
│           │               │       ├── RestDocFactoryTest.java
│           │               │       ├── RestDocTestFileSupport.java
│           │               │       └── TextFileWriterTest.java
│           │               └── restdoc/
│           │                   ├── AdminShowsScanLogsForProjectRestDocTest.java
│           │                   ├── AnonymousCheckAliveRestDocTest.java
│           │                   ├── AnonymousSignupRestControllerRestDocTest.java
│           │                   ├── AnonymousUserControllerRestDocTest.java
│           │                   ├── AnonymousUserGetAPITokenByOneTimeTokenRestControllerRestDocTest.java
│           │                   ├── AnonymousUserRequestsNewApiTokenRestDocTest.java
│           │                   ├── AssetRestControllerRestDocTest.java
│           │                   ├── AssistantRestControllerRestDocTest.java
│           │                   ├── ConfigAdministrationRestControllerRestDocTest.java
│           │                   ├── DownloadsFullScanDataForJobRestDocTest.java
│           │                   ├── EncryptionAdministrationRestControllerRestDocTest.java
│           │                   ├── FalsePositiveRestControllerRestDocTest.java
│           │                   ├── JobAdministrationRestControllerRestDocTest.java
│           │                   ├── JobRestControllerRestDocTest.java
│           │                   ├── MappingAdministrationRestControllerRestDocTest.java
│           │                   ├── ProductExecutionProfileRestControllerRestDocTest.java
│           │                   ├── ProductExecutorConfigRestControllerRestDocTest.java
│           │                   ├── ProjectAdministrationRestControllerRestDocTest.java
│           │                   ├── ProjectManagementRestControllerRestDocTest.java
│           │                   ├── ProjectRestControllerRestDocTest.java
│           │                   ├── ProjectUpdateAdministrationRestControllerRestDocTest.java
│           │                   ├── RestDocSanityTest.java
│           │                   ├── RestDocumentationTest.java
│           │                   ├── ScanProjectMockDataRestControllerRestDocTest.java
│           │                   ├── ScanReportRestControllerRestDocTest.java
│           │                   ├── SchedulerAdministrationRestControllerRestDocTest.java
│           │                   ├── SchedulerRestControllerRestDocTest.java
│           │                   ├── ServerInfoAdministrationRestControllerRestDocTest.java
│           │                   ├── SignupAdministrationRestControllerRestDocTest.java
│           │                   ├── StatusAdministrationRestControllerRestDocTest.java
│           │                   ├── TemplateRestControllerRestDocTest.java
│           │                   ├── TestAuthenticationHelper.java
│           │                   ├── TestOpenApiSchema.java
│           │                   ├── TestRestDocSecurityConfiguration.java
│           │                   ├── UserAdministrationRestControllerRestDocTest.java
│           │                   └── UserRestControllerRestDocTest.java
│           └── resources/
│               ├── openapi/
│               │   └── tags.yaml
│               ├── restdoc/
│               │   └── test_resource_1.json
│               └── upload/
│                   └── .gitignore
├── sechub-examples/
│   ├── eclipse/
│   │   ├── ProductDelegationServerApplication_(INTEGRATION_TEST-H2).launch
│   │   └── SecHubServerApplication_(INTEGRATION_TEST-H2).launch
│   └── example-sechub-api-java/
│       ├── README.adoc
│       ├── build.gradle
│       └── src/
│           └── main/
│               └── java/
│                   └── com/
│                       └── mercedesbenz/
│                           └── sechub/
│                               └── api/
│                                   └── java/
│                                       └── demo/
│                                           ├── DemoUtils.java
│                                           ├── SecHubJavaApiDemoApplication.java
│                                           └── config/
│                                               ├── DemoCommandLineParser.java
│                                               ├── DemoCommandLineSettings.java
│                                               ├── DemoConfigurationProvider.java
│                                               ├── DemoEnvironmentVariableConstants.java
│                                               └── DemoEnvironmentVariableReader.java
├── sechub-integrationtest/
│   ├── README.md
│   ├── build.gradle
│   ├── ciphertest.sh
│   ├── integrationtest-pds.bat
│   ├── integrationtest-pds.sh
│   ├── integrationtest-server.bat
│   ├── integrationtest-server.sh
│   ├── pds/
│   │   └── product-scripts/
│   │       ├── integrationtest-analytics.sh
│   │       ├── integrationtest-checkmarx.sh
│   │       ├── integrationtest-codescan-sarif.sh
│   │       ├── integrationtest-codescan.sh
│   │       ├── integrationtest-infrascan.sh
│   │       ├── integrationtest-licensescan.sh
│   │       ├── integrationtest-pmd.sh
│   │       ├── integrationtest-prepare.sh
│   │       ├── integrationtest-secretscan.sh
│   │       ├── integrationtest-webscan-sarif.sh
│   │       ├── integrationtest-webscan.sh
│   │       ├── pds-solutions-checkmarx-mocked.sh
│   │       ├── pds-solutions-findsecuritybugs-mocked.sh
│   │       ├── pds-solutions-gitleaks-mocked.sh
│   │       ├── pds-solutions-gosec-mocked.sh
│   │       ├── pds-solutions-kics-mocked.sh
│   │       ├── pds-solutions-multi_bandit-mocked.sh
│   │       ├── pds-solutions-scancode_spdx_json-mocked.sh
│   │       ├── pds-solutions-tern-mocked.sh
│   │       ├── pds-solutions-xray_cyclonedx-mocked.sh
│   │       ├── pds-solutions-xray_spdx-mocked.sh
│   │       ├── pds-solutions-zap-mocked.sh
│   │       ├── shared/
│   │       │   ├── shared-constants.sh
│   │       │   ├── shared-events.sh
│   │       │   ├── shared-logging.sh
│   │       │   ├── shared-merging.sh
│   │       │   ├── shared-messaging-referenced-in-documentation-as-example-output.txt
│   │       │   ├── shared-messaging-referenced-in-documentation-as-example-usage.sh
│   │       │   ├── shared-messaging-referenced-in-documentation-as-example.sh
│   │       │   └── shared-test-variables.sh
│   │       ├── shared-functions.sh
│   │       ├── test_integrationtest-checkmarx.sh
│   │       ├── test_integrationtest-codescan.sh
│   │       └── test_shared-functions.sh
│   ├── send_curl_request.sh
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── com/
│       │   │       └── mercedesbenz/
│       │   │           └── sechub/
│       │   │               └── integrationtest/
│       │   │                   ├── CipherCheck.java
│       │   │                   ├── CipherTestData.java
│       │   │                   ├── IntegrationTestIsNecessaryForDocumentation.java
│       │   │                   ├── JSONTestSupport.java
│       │   │                   ├── SecurityTestHelper.java
│       │   │                   ├── api/
│       │   │                   │   ├── AbstractAssert.java
│       │   │                   │   ├── AbstractHttpStatusCodeExceptionTestValidator.java
│       │   │                   │   ├── AbstractTestExecutable.java
│       │   │                   │   ├── AnonymousTestUser.java
│       │   │                   │   ├── AsPDSUser.java
│       │   │                   │   ├── AsUser.java
│       │   │                   │   ├── AssertAutoCleanupInspections.java
│       │   │                   │   ├── AssertEncryptionStatus.java
│       │   │                   │   ├── AssertEventInspection.java
│       │   │                   │   ├── AssertExecutionProfile.java
│       │   │                   │   ├── AssertExecutionResult.java
│       │   │                   │   ├── AssertExecutorConfig.java
│       │   │                   │   ├── AssertFullScanData.java
│       │   │                   │   ├── AssertHTMLReport.java
│       │   │                   │   ├── AssertJSON.java
│       │   │                   │   ├── AssertJob.java
│       │   │                   │   ├── AssertJobInformationAdministration.java
│       │   │                   │   ├── AssertJobScheduler.java
│       │   │                   │   ├── AssertMail.java
│       │   │                   │   ├── AssertMapping.java
│       │   │                   │   ├── AssertMetaDataInspections.java
│       │   │                   │   ├── AssertPDSAutoCleanupInspections.java
│       │   │                   │   ├── AssertPDSCreateJobResult.java
│       │   │                   │   ├── AssertPDSJob.java
│       │   │                   │   ├── AssertPDSResult.java
│       │   │                   │   ├── AssertPDSStatus.java
│       │   │                   │   ├── AssertPDSWorkspace.java
│       │   │                   │   ├── AssertProject.java
│       │   │                   │   ├── AssertReport.java
│       │   │                   │   ├── AssertReportUnordered.java
│       │   │                   │   ├── AssertSecHubJobStatus.java
│       │   │                   │   ├── AssertSecurityLog.java
│       │   │                   │   ├── AssertSignup.java
│       │   │                   │   ├── AssertStatistic.java
│       │   │                   │   ├── AssertUser.java
│       │   │                   │   ├── AssertUserJobInfo.java
│       │   │                   │   ├── AutoDumpPDSOutputForPDSJobUUIDRunnable.java
│       │   │                   │   ├── AutoDumpPDSOutputForSecHubJobUUIDRunnable.java
│       │   │                   │   ├── ContainsExpectedContentHttpStatusExceptionTestValidator.java
│       │   │                   │   ├── CriticalTestProblemException.java
│       │   │                   │   ├── EventInspectionAPI.java
│       │   │                   │   ├── ExecutionConstants.java
│       │   │                   │   ├── FixedTestProject.java
│       │   │                   │   ├── FixedTestUser.java
│       │   │                   │   ├── HttpStatusCodeExceptionTestValidator.java
│       │   │                   │   ├── IntegrationTestExtension.java
│       │   │                   │   ├── IntegrationTestJSONLocation.java
│       │   │                   │   ├── IntegrationTestMockMode.java
│       │   │                   │   ├── IntegrationTestSetup.java
│       │   │                   │   ├── IntegrationTestSupport.java
│       │   │                   │   ├── InternalAccess.java
│       │   │                   │   ├── JSonMessageHttpStatusExceptionTestValidator.java
│       │   │                   │   ├── JsonErrorFieldNamesAvailableHttpStatusExceptionTestValidator.java
│       │   │                   │   ├── LocalDeveloperFileSetupSupport.java
│       │   │                   │   ├── MockEmailEntry.java
│       │   │                   │   ├── PDSIntTestProductIdentifier.java
│       │   │                   │   ├── TemplateData.java
│       │   │                   │   ├── TestAPI.java
│       │   │                   │   ├── TestDataConstants.java
│       │   │                   │   ├── TestExecutable.java
│       │   │                   │   ├── TestJobRunStatistic.java
│       │   │                   │   ├── TestJobRunStatisticData.java
│       │   │                   │   ├── TestJobStatistic.java
│       │   │                   │   ├── TestJobStatisticData.java
│       │   │                   │   ├── TestOutputOptions.java
│       │   │                   │   ├── TestProductExecutorIdentifier.java
│       │   │                   │   ├── TestProject.java
│       │   │                   │   ├── TestSecHubJobInfoForUser.java
│       │   │                   │   ├── TestSecHubJobInfoForUserListPage.java
│       │   │                   │   ├── TestSecHubJobStatus.java
│       │   │                   │   ├── TestUser.java
│       │   │                   │   ├── TestUserDetailInformation.java
│       │   │                   │   ├── TextSearchMode.java
│       │   │                   │   ├── UserContext.java
│       │   │                   │   ├── WithSecHubClient.java
│       │   │                   │   └── WithTestScenario.java
│       │   │                   ├── internal/
│       │   │                   │   ├── AbstractGrowingSecHubServerTestScenario.java
│       │   │                   │   ├── AbstractSecHubServerTestScenario.java
│       │   │                   │   ├── CleanScenario.java
│       │   │                   │   ├── DefaultTestExecutionProfile.java
│       │   │                   │   ├── GrowingScenario.java
│       │   │                   │   ├── IntegrationTestAdapter.java
│       │   │                   │   ├── IntegrationTestAdapterConfig.java
│       │   │                   │   ├── IntegrationTestAdapterConfigBuilder.java
│       │   │                   │   ├── IntegrationTestAdapterConfigInterface.java
│       │   │                   │   ├── IntegrationTestAdapterContextInterface.java
│       │   │                   │   ├── IntegrationTestAdapterInterface.java
│       │   │                   │   ├── IntegrationTestContext.java
│       │   │                   │   ├── IntegrationTestDataOverview.java
│       │   │                   │   ├── IntegrationTestDefaultExecutorConfigurations.java
│       │   │                   │   ├── IntegrationTestDefaultProfiles.java
│       │   │                   │   ├── IntegrationTestExampleConstants.java
│       │   │                   │   ├── IntegrationTestFileSupport.java
│       │   │                   │   ├── IntegrationTestPDSJobCreateResult.java
│       │   │                   │   ├── IntegrationTestPDSJobStatus.java
│       │   │                   │   ├── IntegrationTestRestHelper.java
│       │   │                   │   ├── IntegrationTestSecHubJobStatus.java
│       │   │                   │   ├── IntegrationTestTemplateFile.java
│       │   │                   │   ├── IntegrationTestTrustAllConfig.java
│       │   │                   │   ├── MockData.java
│       │   │                   │   ├── MockEmailAccess.java
│       │   │                   │   ├── MockedAdapterSetupAccess.java
│       │   │                   │   ├── NoSecHubSuperAdminNecessaryScenario.java
│       │   │                   │   ├── PDSTestScenario.java
│       │   │                   │   ├── PersistentScenarioTestDataProvider.java
│       │   │                   │   ├── RetryAssertionErrorRunner.java
│       │   │                   │   ├── ScenarioInitializer.java
│       │   │                   │   ├── SecHubClientExecutor.java
│       │   │                   │   ├── SecHubJobAutoDumper.java
│       │   │                   │   ├── SecHubReportFileNameFilter.java
│       │   │                   │   ├── SecHubServerTestScenario.java
│       │   │                   │   ├── SimpleTestStringList.java
│       │   │                   │   ├── StaticTestScenario.java
│       │   │                   │   ├── TestAutoCleanupData.java
│       │   │                   │   ├── TestJSONHelper.java
│       │   │                   │   ├── TestRestHelper.java
│       │   │                   │   ├── TestScenario.java
│       │   │                   │   ├── TestSecHubRestAPIClientHttpRequestInterceptor.java
│       │   │                   │   └── autoclean/
│       │   │                   │       ├── AbstractAssertAutoCleanupInspections.java
│       │   │                   │       ├── ActionState.java
│       │   │                   │       ├── AssertAutoCleanupAction.java
│       │   │                   │       ├── AssertAutoCleanupDeleteCountAction.java
│       │   │                   │       ├── AssertAutoCleanupDeleteCountAmountAction.java
│       │   │                   │       ├── AssertAutoCleanupDeleteCountFoundAction.java
│       │   │                   │       ├── AssertAutoCleanupNeverAnyDeleteCountFoundAction.java
│       │   │                   │       └── TestAutoCleanJsonDeleteCount.java
│       │   │                   ├── scenario1/
│       │   │                   │   └── Scenario1.java
│       │   │                   ├── scenario10/
│       │   │                   │   └── Scenario10.java
│       │   │                   ├── scenario11/
│       │   │                   │   └── Scenario11.java
│       │   │                   ├── scenario12/
│       │   │                   │   └── Scenario12.java
│       │   │                   ├── scenario13/
│       │   │                   │   └── Scenario13.java
│       │   │                   ├── scenario14/
│       │   │                   │   └── Scenario14.java
│       │   │                   ├── scenario15/
│       │   │                   │   └── Scenario15.java
│       │   │                   ├── scenario16/
│       │   │                   │   └── Scenario16.java
│       │   │                   ├── scenario17/
│       │   │                   │   └── Scenario17.java
│       │   │                   ├── scenario18/
│       │   │                   │   └── Scenario18.java
│       │   │                   ├── scenario19/
│       │   │                   │   └── Scenario19.java
│       │   │                   ├── scenario2/
│       │   │                   │   └── Scenario2.java
│       │   │                   ├── scenario20/
│       │   │                   │   └── Scenario20.java
│       │   │                   ├── scenario21/
│       │   │                   │   └── Scenario21.java
│       │   │                   ├── scenario22/
│       │   │                   │   └── Scenario22.java
│       │   │                   ├── scenario3/
│       │   │                   │   └── Scenario3.java
│       │   │                   ├── scenario4/
│       │   │                   │   └── Scenario4.java
│       │   │                   ├── scenario5/
│       │   │                   │   └── Scenario5.java
│       │   │                   ├── scenario6/
│       │   │                   │   └── Scenario6.java
│       │   │                   ├── scenario7/
│       │   │                   │   └── Scenario7.java
│       │   │                   ├── scenario8/
│       │   │                   │   └── Scenario8.java
│       │   │                   └── scenario9/
│       │   │                       └── Scenario9.java
│       │   └── resources/
│       │       └── pds-config-integrationtest.json
│       └── test/
│           ├── java/
│           │   └── com/
│           │       └── mercedesbenz/
│           │           └── sechub/
│           │               └── integrationtest/
│           │                   ├── SecurityTestHelperTest.java
│           │                   ├── api/
│           │                   │   ├── AssertUserTest.java
│           │                   │   ├── JsonErrorFieldNamesAvailableHttpStatusExceptionTestValidatorTest.java
│           │                   │   └── TestOnlyForRegularExecution.java
│           │                   ├── internal/
│           │                   │   ├── AbstractGrowingSecHubServerTestScenarioTest.java
│           │                   │   ├── MockDataTest.java
│           │                   │   ├── MockedAdapterSetupAccessTest.java
│           │                   │   ├── PersistentScenarioTestDataProviderTest.java
│           │                   │   ├── SecHubReportFileNameFilterTest.java
│           │                   │   └── SharedFunctionScriptTest.java
│           │                   ├── scenario1/
│           │                   │   ├── AssetScenario1IntTest.java
│           │                   │   ├── AutoCleanupEventTraceScenario1IntTest.java
│           │                   │   ├── AutoCleanupScenario1IntTest.java
│           │                   │   ├── CheckIsAliveScenario1IntTest.java
│           │                   │   ├── CheckProjectIdLengthScenario1IntTest.java
│           │                   │   ├── ExecutionProfileScenario1IntTest.java
│           │                   │   ├── GetServerInfoScenario1IntTest.java
│           │                   │   ├── MappingScenario1IntTest.java
│           │                   │   ├── OAuth2OpaqueTokenCacheScenario1IntTest.java
│           │                   │   ├── ProjectAdministrationScenario1IntTest.java
│           │                   │   ├── SchedulerEventTraceScenario1IntTest.java
│           │                   │   ├── TemplateScenario1IntTest.java
│           │                   │   └── UserRegistrationScenario1IntTest.java
│           │                   ├── scenario10/
│           │                   │   └── PDSCodeScanSarifJobScenario10IntTest.java
│           │                   ├── scenario11/
│           │                   │   └── SigTermSimulationJobScenario11IntTest.java
│           │                   ├── scenario12/
│           │                   │   └── PDSWebScanJobScenario12IntTest.java
│           │                   ├── scenario13/
│           │                   │   └── PDSLicenseScanJobScenario13IntTest.java
│           │                   ├── scenario14/
│           │                   │   └── PDSBinaryAndSourceCodeHandlingScenario14IntTest.java
│           │                   ├── scenario15/
│           │                   │   └── PDSIncludeExcludeScenario15IntTest.java
│           │                   ├── scenario16/
│           │                   │   └── PDSUseSecHubCentralMappingInJobScenario16IntTest.java
│           │                   ├── scenario17/
│           │                   │   └── PDSCheckmarxIntegrationScenario17IntTest.java
│           │                   ├── scenario18/
│           │                   │   └── PDSCancellationScenario18IntTest.java
│           │                   ├── scenario19/
│           │                   │   └── FetchJobInfoForUserIntTest.java
│           │                   ├── scenario2/
│           │                   │   ├── FileUploadSizeScenario2IntTest.java
│           │                   │   ├── JobScenario2IntTest.java
│           │                   │   ├── ProjectAdministrationScenario2IntTest.java
│           │                   │   ├── ProjectMockConfigurationScenario2IntTest.java
│           │                   │   ├── SchedulerDefaultStrategyScenario2IntTest.java
│           │                   │   ├── SchedulerFifoStrategyScenario2IntTest.java
│           │                   │   ├── SchedulerOnlyOneScanPerProjectStrategyScenario2IntTest.java
│           │                   │   ├── SecHubExecutionScenario2IntTest.java
│           │                   │   ├── SecHubExecutionScenario2SecHubClientIntTest.java
│           │                   │   ├── SwitchSchedulerJobProcessingScenario2IntTest.java
│           │                   │   ├── UserAdministrationScenario2IntTest.java
│           │                   │   ├── UserChangeMailScenario2IntTest.java
│           │                   │   ├── UserRequestsNewAPITokenIntTest.java
│           │                   │   └── UserUsecasesEventTraceScenario2IntTest.java
│           │                   ├── scenario20/
│           │                   │   └── PDSSecretScanJobScenario20IntTest.java
│           │                   ├── scenario21/
│           │                   │   └── PDSSolutionMockModeScenario21IntTest.java
│           │                   ├── scenario22/
│           │                   │   └── PDSPrepareIntegrationScenario22IntTest.java
│           │                   ├── scenario3/
│           │                   │   ├── FalsePositivesScenario3IntTest.java
│           │                   │   ├── FullScanDataScenario3SecHubClientIntTest.java
│           │                   │   ├── GetServerInfoScenario3IntTest.java
│           │                   │   ├── MappingScenario3IntTest.java
│           │                   │   ├── ProjectAdministrationScenario3IntTest.java
│           │                   │   ├── ProjectChangeAccessLevelScenario3IntTest.java
│           │                   │   ├── ProjectDeleteScenario3IntTest.java
│           │                   │   └── UserUsecasesEventTraceScenario3IntTest.java
│           │                   ├── scenario4/
│           │                   │   ├── CancelJobScenario4IntTest.java
│           │                   │   ├── JobUsecasesEventTraceScenario4IntTest.java
│           │                   │   ├── RestartJobScenario4IntTest.java
│           │                   │   └── SecHubConfigurationFailuresScenario4IntTest.java
│           │                   ├── scenario5/
│           │                   │   └── PDSCodeScanJobScenario5IntTest.java
│           │                   ├── scenario6/
│           │                   │   ├── DirectPDSAPIAutoCleanupScenario6IntTest.java
│           │                   │   ├── DirectPDSAPICheckAliveScenario6IntTest.java
│           │                   │   ├── DirectPDSAPICheckmarxWrapperScenario6IntTest.java
│           │                   │   ├── DirectPDSAPIConfigurationScenario6IntTest.java
│           │                   │   ├── DirectPDSAPIJobScenario6IntTest.java
│           │                   │   ├── DirectPDSAPIJobStreamDataScenario6IntTest.java
│           │                   │   └── DirectPDSAPIMonitoringStateScenario6IntTest.java
│           │                   ├── scenario7/
│           │                   │   ├── ProductExecutionProfileScenario7IntTest.java
│           │                   │   └── ProductExecutorConfigurationScenario7IntTest.java
│           │                   ├── scenario8/
│           │                   │   └── ProductExecutorConfigurationScenario8IntTest.java
│           │                   ├── scenario9/
│           │                   │   ├── PDSCodeScanSarifJobScenario9IntTest.java
│           │                   │   └── TemplateScenario9IntTest.java
│           │                   └── security/
│           │                       ├── PDSServerEncryptionIntTest.java
│           │                       ├── SSLContextSanityTest.java
│           │                       ├── ServerEncryptionIntTest.java
│           │                       └── ServerSecurityLogHandlingIntTest.java
│           └── resources/
│               ├── .gitignore
│               ├── asset/
│               │   ├── examples-1/
│               │   │   ├── asset1.txt
│               │   │   └── asset2.txt
│               │   └── examples-2/
│               │       └── asset2.txt
│               ├── checksum-testfiles/
│               │   ├── README.md
│               │   ├── exclude-me.txt
│               │   ├── not-excluded.txt
│               │   └── subfolder/
│               │       ├── exclude-me.txt
│               │       └── not-excluded-2.txt
│               ├── pds/
│               │   ├── analytics/
│               │   │   └── cloc-output-1.json
│               │   ├── checkmarx-wrapper/
│               │   │   └── checkmarx-pds-job1.json
│               │   ├── codescan/
│               │   │   └── upload/
│               │   │       ├── .gitignore
│               │   │       └── README.md
│               │   ├── secretscan/
│               │   │   └── upload/
│               │   │       └── __data__/
│               │   │           └── code/
│               │   │               └── gitleaks_sample_sarif.json
│               │   └── webscan/
│               │       ├── README.md
│               │       └── webscan-result-variant-b.sarif.json
│               ├── pds-webscan-data-ref-files/
│               │   ├── another-token.txt
│               │   ├── bearer-token.txt
│               │   ├── certificate.p12
│               │   └── openapi.json
│               ├── report/
│               │   ├── sechub_report_test_2a75aa71-79b1-4e27-bcfa-20705fee84dd.json
│               │   └── sechub_report_test_cb2e41ca-1363-47a4-8308-8c91cc022620.json
│               ├── scan-config/
│               │   ├── sechub_scan_config1.json
│               │   └── sechub_scan_config2.json
│               ├── sechub-integrationtest-client-infrascan.json
│               ├── sechub-integrationtest-client-sourcescan-excluded_some_files.json
│               ├── sechub-integrationtest-client-sourcescan-generic-template-no-data-section.json
│               ├── sechub-integrationtest-client-sourcescan-generic-template.json
│               ├── sechub-integrationtest-client-sourcescan-green-1-second.json
│               ├── sechub-integrationtest-client-sourcescan-green-extreme-big.json
│               ├── sechub-integrat
Download .txt
Showing preview only (2,524K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (23960 symbols across 3479 files)

FILE: buildSrc/src/main/groovy/IOUtil.java
  class IOUtil (line 9) | public class IOUtil {
    method createBackupFile (line 19) | public static final void createBackupFile(String filePath, String back...
    method restoreBackupFile (line 38) | public static final void restoreBackupFile(String filePath, String bac...
    method copyFile (line 53) | public static final void copyFile(String sourcePath, String targetPath...

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/MockedNessusAdapter.java
  class MockedNessusAdapter (line 11) | @Profile(AdapterProfiles.MOCKED_PRODUCTS)
    method executeMockSanityCheck (line 16) | protected void executeMockSanityCheck(NessusAdapterConfig config) {
    method getAdapterVersion (line 36) | @Override

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapter.java
  type NessusAdapter (line 6) | public interface NessusAdapter extends Adapter<NessusAdapterConfig> {

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterConfig.java
  type NessusAdapterConfig (line 6) | public interface NessusAdapterConfig extends InfraScanAdapterConfig {

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterContext.java
  type NessusAdapterContext (line 6) | public interface NessusAdapterContext extends AdapterContext<NessusAdapt...
    method getNessusPolicyUID (line 8) | String getNessusPolicyUID();
    method setNessusPolicyId (line 10) | void setNessusPolicyId(String nessusPolicyUID);
    method setNessusSessionToken (line 12) | void setNessusSessionToken(String token);
    method getNessusSessionToken (line 14) | String getNessusSessionToken();
    method setNessusScanId (line 16) | void setNessusScanId(Long scanId);
    method getNessusScanId (line 18) | Long getNessusScanId();
    method getHistoryId (line 20) | String getHistoryId();
    method setHistoryId (line 22) | void setHistoryId(String id);
    method getExportFileId (line 24) | String getExportFileId();

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterV1.java
  class NessusAdapterV1 (line 42) | @Component
    method execute (line 57) | @Override
    method getAdapterVersion (line 86) | @Override
    method updateContextWithNessusPolicyUUID (line 91) | private void updateContextWithNessusPolicyUUID(NessusContext context) ...
    method startExport (line 100) | private void startExport(NessusContext context) throws AdapterException {
    method ensureHistoryIdInContext (line 122) | protected String ensureHistoryIdInContext(NessusAdapterContext context...
    method resolveHistoryId (line 131) | private String resolveHistoryId(NessusAdapterContext context) throws A...
    method converToHttpStatus (line 148) | private HttpStatus converToHttpStatus(HttpStatusCode code) {
    method launchScan (line 152) | private void launchScan(NessusAdapterContext context) throws AdapterEx...
    method extractScanUUID (line 174) | String extractScanUUID(NessusAdapterContext context, String body) thro...
    method createGetHistoryInfoApiURL (line 180) | String createGetHistoryInfoApiURL(NessusAdapterContext context) {
    method createGetHistoryIdsApiURL (line 184) | String createGetHistoryIdsApiURL(NessusAdapterContext context) {
    method createLaunchApiURL (line 189) | String createLaunchApiURL(NessusAdapterContext context) {
    method createScanExportApiURL (line 194) | String createScanExportApiURL(NessusAdapterContext context) {
    method createScanExportStatusApiURL (line 199) | String createScanExportStatusApiURL(NessusAdapterContext context) {
    method createScanExportDownloadApiURL (line 204) | String createScanExportDownloadApiURL(NessusAdapterContext context) {
    method addNewScan (line 209) | void addNewScan(NessusAdapterContext context) throws AdapterException {
    method createNewScanJSON (line 234) | String createNewScanJSON(NessusAdapterContext context) {
    method createNewScanJSONBuilder (line 247) | NessusAdapterV1NewScanJSONBuilder createNewScanJSONBuilder() {
    method resolvePolicyUID (line 251) | private String resolvePolicyUID(NessusAdapterContext context) throws A...
    method resolvePolicyUIDByTitle (line 257) | String resolvePolicyUIDByTitle(String content, String searchedPolicyTi...
    method resolveHistoryIdByUUID (line 275) | String resolveHistoryIdByUUID(String content, NessusAdapterContext con...
    method loginAndFetchToken (line 290) | void loginAndFetchToken(NessusAdapterContext context) throws AdapterEx...
    method fetchPoliciesBody (line 324) | String fetchPoliciesBody(NessusAdapterContext context) throws AdapterE...
    method logout (line 343) | void logout(NessusAdapterContext context) {
    method createHeader (line 350) | private MultiValueMap<String, String> createHeader(NessusAdapterConfig...
    method getAPIPrefix (line 355) | @Override
    class NessusWaitForScanStateSupport (line 360) | private class NessusWaitForScanStateSupport extends WaitForStateSuppor...
      method NessusWaitForScanStateSupport (line 362) | public NessusWaitForScanStateSupport() {
      method isWaitingForOKWhenInState (line 366) | @Override
      method handleNoLongerWaitingState (line 371) | @Override
      method getCurrentState (line 386) | @Override
    class WaitForExportStatusSupport (line 409) | private class WaitForExportStatusSupport extends WaitForStateSupport<N...
      method WaitForExportStatusSupport (line 411) | public WaitForExportStatusSupport() {
      method isWaitingForOKWhenInState (line 415) | @Override
      method handleNoLongerWaitingState (line 420) | @Override
      method getCurrentState (line 435) | @Override

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterV1NewScanJSONBuilder.java
  class NessusAdapterV1NewScanJSONBuilder (line 13) | public class NessusAdapterV1NewScanJSONBuilder {
    method uuid (line 21) | public NessusAdapterV1NewScanJSONBuilder uuid(String uuid) {
    method name (line 26) | public NessusAdapterV1NewScanJSONBuilder name(String name) {
    method description (line 31) | public NessusAdapterV1NewScanJSONBuilder description(String descriptio...
    method targetsURIs (line 36) | public NessusAdapterV1NewScanJSONBuilder targetsURIs(Set<URI> targetUR...
    method targetIPs (line 44) | public NessusAdapterV1NewScanJSONBuilder targetIPs(Set<InetAddress> ta...
    method build (line 52) | public String build() {
    method buildTargetsCommaSeparated (line 68) | private String buildTargetsCommaSeparated() {

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusClientHttpRequestInterceptor.java
  class NessusClientHttpRequestInterceptor (line 13) | public class NessusClientHttpRequestInterceptor implements ClientHttpReq...
    method NessusClientHttpRequestInterceptor (line 17) | public NessusClientHttpRequestInterceptor(NessusContext context) {
    method intercept (line 21) | @Override

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusConfig.java
  class NessusConfig (line 7) | public class NessusConfig extends AbstractInfraScanAdapterConfig impleme...
    method NessusConfig (line 9) | private NessusConfig() {
    method builder (line 12) | public static NessusConfigBuilder builder() {
    class NessusConfigBuilder (line 16) | public static class NessusConfigBuilder extends AbstractInfraScanAdapt...
      method customBuild (line 18) | @Override
      method buildInitialConfig (line 23) | @Override
      method customValidate (line 28) | @Override

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusContext.java
  class NessusContext (line 15) | public class NessusContext extends AbstractSpringRestAdapterContext<Ness...
    method NessusContext (line 23) | public NessusContext(NessusAdapterConfig config, NessusAdapter adapter...
    method createInterceptorOrNull (line 27) | @Override
    method getNessusPolicyUID (line 32) | @Override
    method setNessusPolicyId (line 37) | @Override
    method setNessusSessionToken (line 42) | @Override
    method getNessusSessionToken (line 47) | public String getNessusSessionToken() {
    method setNessusScanId (line 51) | @Override
    method getNessusScanId (line 56) | @Override
    method getHistoryId (line 61) | @Override
    method setHistoryId (line 66) | @Override
    method setExportFileId (line 72) | public void setExportFileId(String fileId) {
    method getExportFileId (line 76) | public String getExportFileId() {

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusRESTFailureException.java
  class NessusRESTFailureException (line 6) | public class NessusRESTFailureException extends RuntimeException {
    method NessusRESTFailureException (line 11) | public NessusRESTFailureException(HttpStatus status, String body) {
    method getResponseBody (line 16) | public String getResponseBody() {
    method toString (line 20) | @Override

FILE: deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusState.java
  type NessusState (line 4) | public enum NessusState {
    method NessusState (line 9) | private NessusState(String id) {
    method isRepresentedBy (line 16) | public boolean isRepresentedBy(String state) {
    method isWellknown (line 23) | public static boolean isWellknown(String state) {

FILE: deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterV1NewScanJSONBuilderTest.java
  class NessusAdapterV1NewScanJSONBuilderTest (line 14) | public class NessusAdapterV1NewScanJSONBuilderTest {
    method before (line 18) | @Before
    method standard_setup_with_one_url_build_is_json_and_has_expected_content (line 23) | @Test
    method standard_setup_with_one_ip_build_is_json_and_has_expected_content (line 47) | @Test
    method standard_setup_with_one_url_and_another_IP_build_is_json_and_has_expected_content_uris_first (line 71) | @Test
    method nothing_set_results_simply_in_valid_json_but_without_any_text_targets_and_field_as_null (line 96) | @Test

FILE: deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterV1Test.java
  class NessusAdapterV1Test (line 18) | public class NessusAdapterV1Test {
    method beforeClass (line 23) | @BeforeClass
    method before (line 33) | @Before
    method a_scan_uuid_can_be_extracted (line 44) | @Test
    method when_context_has_scanid_123456_the_createLaunchApiURL_returns_host_slash_scans_slash_123456_slash_launch (line 56) | @Test
    method when_context_has_scanid_123456_the_createScanExportApiURL_returns_host_and_123456_export (line 69) | @Test
    method when_context_has_scanid_123456_fid_789_the_createScanExportStatusApiURL_returns_host_and_123456_export_789_status (line 82) | @Test
    method when_context_has_scanid_123456_fid_789_the_createScanExportDownloadApiURL_returns_host_and_123456_export_789_status (line 96) | @Test
    method when_context_has_scanid_123456_the_createGetHistoryIsApiURL_returns_host_and_123456 (line 110) | @Test
    method createScanJSON_creates_validJson (line 123) | @Test
    method adapter_has_no_api_prefix (line 137) | @Test
    method resolvePolicyUIDByTitle_null_throws_adapterexception (line 143) | @Test
    method resolveHistoryIdByUUID_no_uuid_set_illegal_state_is_thrown (line 155) | @Test
    method resolveHistoryIdByUUID_empty_obj_throws_adapterexception (line 168) | @Test
    method resolveHistoryIdByUUID_non_existing_uuid_throws_adapter_exception (line 181) | @Test
    method resolveHistoryIdByUUID__existing_uuid_myUUID_returns_history_id_666 (line 195) | @Test
    method resolvePolicyUIDByTitle_empty_throws_adapterexception (line 208) | @Test
    method resolvePolicyUIDByTitle_empty_obj_throws_adapterexception (line 220) | @Test
    method resolvePolicyUIDByTitle_origin_nessus_file_with_advanced_scan_title_returns_uuid (line 232) | @Test
    method resolvePolicyUIDByTitle_origin_nessus_file_with_not_existing_title_returns_null (line 243) | @Test

FILE: deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterV1WireMockTest.java
  class NessusAdapterV1WireMockTest (line 27) | public class NessusAdapterV1WireMockTest {
    method before (line 58) | @Before
    method start_scan_returns_result_when_using_agent (line 85) | @Test
    method simulateCheckScanState (line 280) | private void simulateCheckScanState(String sessionToken, int scanId, i...
    method simulateServerRepsonseForFileExportStatus (line 301) | private void simulateServerRepsonseForFileExportStatus(String sessionT...

FILE: deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusConfigBuilderTest.java
  class NessusConfigBuilderTest (line 19) | public class NessusConfigBuilderTest {
    method configBuilder_is_child_of_abstract_adapter_config_builder (line 21) | @Test
    method config_is_child_of_abstract_adapter_config (line 26) | @Test

FILE: deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusConfigTest.java
  class NessusConfigTest (line 12) | public class NessusConfigTest {
    method configBuilder_is_child_of_abstract_adapter_config_builder (line 13) | @Test
    method config_is_child_of_abstract_adapter_config (line 18) | @Test

FILE: deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusStateTest.java
  class NessusStateTest (line 8) | public class NessusStateTest {
    method is_wellknown_return_true_for_Completed (line 10) | @Test
    method is_wellknown_return_false_for_Unknown (line 15) | @Test

FILE: deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/TestNessusAdapterFileSupport.java
  class TestNessusAdapterFileSupport (line 7) | @SechubTestComponent
    method getTestfileSupport (line 11) | public static TestNessusAdapterFileSupport getTestfileSupport() {
    method TestNessusAdapterFileSupport (line 15) | TestNessusAdapterFileSupport() {

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/MockedNetsparkerAdapter.java
  class MockedNetsparkerAdapter (line 10) | @Profile(AdapterProfiles.MOCKED_PRODUCTS)
    method executeMockSanityCheck (line 14) | protected void executeMockSanityCheck(NetsparkerAdapterConfig config) {
    method getAdapterVersion (line 41) | @Override

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapter.java
  type NetsparkerAdapter (line 6) | public interface NetsparkerAdapter extends Adapter<NetsparkerAdapterConf...

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterConfig.java
  type NetsparkerAdapterConfig (line 7) | public interface NetsparkerAdapterConfig extends WebScanAdapterConfig {
    method getLicenseID (line 9) | String getLicenseID();
    method getWebsiteName (line 11) | String getWebsiteName();
    method getAgentName (line 13) | String getAgentName();
    method getAgentGroupName (line 15) | String getAgentGroupName();
    method getMaxScanDuration (line 17) | SecHubTimeUnitData getMaxScanDuration();
    method hasAgentGroup (line 19) | boolean hasAgentGroup();
    method hasMaxScanDuration (line 21) | boolean hasMaxScanDuration();

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterContext.java
  type NetsparkerAdapterContext (line 6) | public interface NetsparkerAdapterContext extends AdapterContext<Netspar...

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterV1.java
  class NetsparkerAdapterV1 (line 36) | @Component
    method execute (line 57) | @Override
    method getAdapterVersion (line 78) | @Override
    method getAPIPrefix (line 83) | @Override
    method extractIDFromScanResult (line 88) | String extractIDFromScanResult(String body, NetsparkerAdapterContext c...
    method createWebsite (line 92) | void createWebsite(NetsparkerContext context) throws AdapterException {
    method fetchReport (line 111) | void fetchReport(NetsparkerAdapterContext context) {
    method buildJsonForCreateWebsite (line 125) | String buildJsonForCreateWebsite(JSONAdapterSupport jsonAdapterSupport...
    method buildJsonForCreateNewScan (line 142) | String buildJsonForCreateNewScan(JSONAdapterSupport jsonAdapterSupport...
    method createNewScanAndFetchId (line 177) | private void createNewScanAndFetchId(NetsparkerContext context) throws...
    method ensureNetsparkerWebsiteConfigurationExists (line 204) | private void ensureNetsparkerWebsiteConfigurationExists(NetsparkerCont...
    method existsWebsiteInNetsparker (line 213) | private boolean existsWebsiteInNetsparker(NetsparkerContext context) {
    method createHeader (line 237) | private MultiValueMap<String, String> createHeader(NetsparkerAdapterCo...
    class NetsparkerWaitForStateSupport (line 242) | private class NetsparkerWaitForStateSupport extends WaitForStateSuppor...
      method NetsparkerWaitForStateSupport (line 244) | public NetsparkerWaitForStateSupport() {
      method isWaitingForOKWhenInState (line 248) | @Override
      method handleNoLongerWaitingState (line 253) | @Override
      method getCurrentState (line 272) | protected String getCurrentState(NetsparkerAdapterContext context) t...
    method converToHttpStatus (line 287) | private HttpStatus converToHttpStatus(HttpStatusCode code) {

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterWebLoginSupportV1.java
  class NetsparkerAdapterWebLoginSupportV1 (line 17) | public class NetsparkerAdapterWebLoginSupportV1 {
    method addAuthorizationInfo (line 19) | public void addAuthorizationInfo(WebScanAdapterConfig config, Map<Stri...
    method addFormScriptAuthorization (line 39) | private void addFormScriptAuthorization(LoginConfig config, Map<String...
    method generateCustomScripts (line 94) | private List<Map<String, String>> generateCustomScripts(List<LoginScri...
    method addBasicAuthorization (line 110) | private void addBasicAuthorization(LoginConfig config, Map<String, Obj...

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerClientHttpRequestInterceptor.java
  class NetsparkerClientHttpRequestInterceptor (line 13) | public class NetsparkerClientHttpRequestInterceptor implements ClientHtt...
    method NetsparkerClientHttpRequestInterceptor (line 17) | public NetsparkerClientHttpRequestInterceptor(NetsparkerAdapterConfig ...
    method intercept (line 21) | @Override

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerConfig.java
  class NetsparkerConfig (line 10) | public class NetsparkerConfig extends AbstractWebScanAdapterConfig imple...
    method getLicenseID (line 19) | @Override
    method getWebsiteName (line 24) | @Override
    method getAgentName (line 29) | @Override
    method getAgentGroupName (line 34) | @Override
    method hasAgentGroup (line 39) | @Override
    method NetsparkerConfig (line 44) | private NetsparkerConfig() {
    method builder (line 47) | public static NetsparkerConfigBuilder builder() {
    class NetsparkerConfigBuilder (line 51) | public static class NetsparkerConfigBuilder extends AbstractWebScanAda...
      method NetsparkerConfigBuilder (line 57) | private NetsparkerConfigBuilder() {
      method setAgentName (line 60) | public NetsparkerConfigBuilder setAgentName(String agentName) {
      method setAgentGroupName (line 65) | public NetsparkerConfigBuilder setAgentGroupName(String agentGroupNa...
      method setLicenseID (line 70) | public NetsparkerConfigBuilder setLicenseID(String licenseID) {
      method customBuild (line 75) | @Override
      method customValidate (line 107) | @Override
      method assertLicenseIDSet (line 115) | private void assertLicenseIDSet() {
      method buildInitialConfig (line 121) | @Override

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerContext.java
  class NetsparkerContext (line 15) | public class NetsparkerContext extends AbstractSpringRestAdapterContext<...
    method NetsparkerContext (line 17) | public NetsparkerContext(NetsparkerAdapterConfig config, NetsparkerAda...
    method createInterceptorOrNull (line 21) | @Override

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerLoginScriptGenerator.java
  class NetsparkerLoginScriptGenerator (line 11) | public class NetsparkerLoginScriptGenerator implements LoginScriptGenera...
    method generate (line 13) | public String generate(List<LoginScriptAction> steps) {
    method generate (line 21) | private void generate(List<LoginScriptAction> steps, StringBuilder sb) {
    method generateStep (line 53) | private void generateStep(LoginScriptAction previousStep, LoginScriptA...
    method addTimeoutCommand (line 100) | private void addTimeoutCommand(LoginScriptAction currentStep, LoginScr...
    method generateStepString (line 110) | private String generateStepString(String... parts) {
    method getWaitTimeInMilliseconds (line 120) | private Long getWaitTimeInMilliseconds(LoginScriptAction step) {

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerMetaDataID.java
  class NetsparkerMetaDataID (line 4) | public class NetsparkerMetaDataID {

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerRESTFailureException.java
  class NetsparkerRESTFailureException (line 6) | public class NetsparkerRESTFailureException extends RuntimeException {
    method NetsparkerRESTFailureException (line 11) | public NetsparkerRESTFailureException(HttpStatus status, String body) {
    method getResponseBody (line 16) | public String getResponseBody() {
    method toString (line 20) | @Override

FILE: deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerState.java
  type NetsparkerState (line 4) | public enum NetsparkerState {
    method NetsparkerState (line 13) | private NetsparkerState(String id) {
    method isRepresentedBy (line 20) | public boolean isRepresentedBy(String state) {
    method isWellknown (line 27) | public static boolean isWellknown(String state) {

FILE: deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterV1Test.java
  class NetsparkerAdapterV1Test (line 28) | public class NetsparkerAdapterV1Test {
    method before (line 36) | @Before
    method build_json_for_new_scan_with_basic_auth_contains_basic_login_parts (line 54) | @Test
    method build_json_for_new_scan_with_max_scan_duration_one_hour (line 75) | @Test
    method build_json_for_new_scan_with_max_scan_duration_5_minutes (line 96) | @Test
    method build_json_for_new_scan_with_max_scan_duration_129_minutes (line 118) | @Test
    method build_json_for_new_scan_with_max_scan_duration_180_minutes (line 138) | @Test
    method build_json_for_new_scan_with_form_auth_scripts (line 153) | @Test
    method a_fetch_report__triggers_rest_tempate_with_correct_params (line 260) | @Test
    method isAbleTo_extract_id_from_netsparker_v1_0_40_109_result_when_create_new_scan_triggered (line 276) | @Test
    method api_prefix_is_api_slash_1_0 (line 289) | @Test

FILE: deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterV1WireMockTest.java
  class NetsparkerAdapterV1WireMockTest (line 26) | public class NetsparkerAdapterV1WireMockTest {
    method before (line 55) | @Before
    method start_scan_returns_result_when_using_agentgroup (line 79) | @Test
    method start_scan_returns_result_when_using_agent (line 84) | @Test
    method common_start_scan_returns_result (line 89) | private void common_start_scan_returns_result(boolean configHasAgentGr...
    class SimpleTestConfiguration (line 194) | @TestConfiguration

FILE: deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerConfigBuilderTest.java
  class NetsparkerConfigBuilderTest (line 26) | public class NetsparkerConfigBuilderTest {
    method xxx_www_example_com__is_throwing_illegal_argument (line 31) | @Test
    method ftp_www_example_com_8080_is_not_throwing_illegal_argumentx (line 42) | @Test
    method http_www_example_com__is_websitename__www_example_com_underscore_default (line 61) | @Test
    method http_www_EXAMPLE_com__is_websitename__www_example_com_underscore_default (line 73) | @Test
    method https_www_example_com__is_websitename__www_example_com_underscore_default (line 85) | @Test
    method http_www_example_com_8080_is_websitename__www_example_com_underscore_8080 (line 97) | @Test
    method https_www_example_com_8443_is_websitename__www_example_com_underscore_8443 (line 109) | @Test
    method emptyAgentGroupSet_returns_has_agentgroup_false (line 121) | @Test
    method nullAgentGroupSet_returns_has_agentgroup_false (line 131) | @Test
    method agentGroupSet_returns_has_agentgroup_true (line 141) | @Test
    method getAgentGroup_returns_builder_value (line 151) | @Test
    method getAgent_returns_builder_value (line 161) | @Test
    method configBuilder_is_child_of_abstract_adapter_config_builder (line 171) | @Test
    method config_is_child_of_abstract_adapter_config (line 176) | @Test
    method getMaxScanDuration_returns_builder_value (line 181) | @Test
    method hasMaxScanDuration_returns_true (line 193) | @Test
    method hasMaxScanDuration_returns_false (line 205) | @Test
    method validConfigAnd (line 215) | private NetsparkerConfigBuilder validConfigAnd() {

FILE: deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerContextTest.java
  class NetsparkerContextTest (line 12) | public class NetsparkerContextTest {
    method before (line 18) | @Before
    method isTimeout_returns_false_when_timeout_is_1000_slept_none (line 31) | @Test
    method isTimeout_returns_true_when_timeout_is_1_and_slept_10_millisecond (line 40) | @Test

FILE: deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerLoginScriptGeneratorTest.java
  class NetsparkerLoginScriptGeneratorTest (line 17) | public class NetsparkerLoginScriptGeneratorTest {
    method before (line 21) | @Before
    method null_value_results_in_empty_string (line 26) | @Test
    method empty_list_results_in_empty_string (line 35) | @Test
    method one_list_entry_but_null_results_in_empty_string (line 44) | @Test
    method one_step (line 57) | @Test
    method two_steps (line 79) | @Test
    method input_usernamefield_input_passwordfield_click_buttonfield (line 109) | @Test
    method username_usernamefield_password_passwordfield_click_buttonfield (line 148) | @Test
    method input_username_input_password_wait_click_button (line 186) | @Test
    method input_username_input_password_click_button_wait (line 231) | @Test
    method wait_input_username_input_password_click_button (line 277) | @Test
    method input_username_input_email_input_password_click_button (line 322) | @Test
    method wait_wait_wait_wait (line 370) | @Test

FILE: deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerStateTest.java
  class NetsparkerStateTest (line 8) | public class NetsparkerStateTest {
    method is_wellknown_return_true_for_Cancelled (line 10) | @Test
    method is_wellknown_return_true_for_Failed (line 15) | @Test
    method is_wellknown_return_true_for_Complete (line 20) | @Test
    method is_wellknown_return_false_for_Unknown (line 25) | @Test

FILE: deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/TestNetsparkerAdapterApplication.java
  class TestNetsparkerAdapterApplication (line 24) | public class TestNetsparkerAdapterApplication {
    method main (line 26) | public static void main(String[] args) throws Exception {
    method handleFormAutodetect (line 87) | private static void handleFormAutodetect(NetsparkerConfigBuilder build...
    method handleFormScript (line 93) | private static void handleFormScript(NetsparkerConfigBuilder builder) ...
    method handleBasicLogin (line 116) | private static void handleBasicLogin(NetsparkerConfigBuilder builder) ...

FILE: deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/TestNetsparkerAdapterFileSupport.java
  class TestNetsparkerAdapterFileSupport (line 7) | @SechubTestComponent
    method getTestfileSupport (line 11) | public static TestNetsparkerAdapterFileSupport getTestfileSupport() {
    method TestNetsparkerAdapterFileSupport (line 15) | TestNetsparkerAdapterFileSupport() {

FILE: deprecated-sechub-scan-product-nessus/src/main/java/com/mercedesbenz/sechub/domain/scan/product/nessus/NessusConstants.java
  class NessusConstants (line 4) | public class NessusConstants {

FILE: deprecated-sechub-scan-product-nessus/src/main/java/com/mercedesbenz/sechub/domain/scan/product/nessus/NessusInstallSetup.java
  type NessusInstallSetup (line 7) | @Deprecated // will be removed in future
    method getDefaultPolicyId (line 10) | public String getDefaultPolicyId();

FILE: deprecated-sechub-scan-product-nessus/src/main/java/com/mercedesbenz/sechub/domain/scan/product/nessus/NessusInstallSetupImpl.java
  class NessusInstallSetupImpl (line 12) | @Component
    method getBaseURLWhenInternetTarget (line 48) | @Override
    method getDefaultPolicyId (line 53) | public String getDefaultPolicyId() {
    method getBaseURLWhenIntranetTarget (line 57) | @Override
    method getUsernameWhenInternetTarget (line 62) | @Override
    method getUsernameWhenIntranetTarget (line 67) | @Override
    method getPasswordWhenInternetTarget (line 72) | @Override
    method getPasswordWhenIntranetTarget (line 77) | @Override
    method getIdentifierWhenInternetTarget (line 82) | @Override
    method getIdentifierWhenIntranetTarget (line 87) | @Override
    method hasUntrustedCertificateWhenIntranetTarget (line 92) | @Override
    method hasUntrustedCertificateWhenInternetTarget (line 97) | @Override

FILE: deprecated-sechub-scan-product-nessus/src/main/java/com/mercedesbenz/sechub/domain/scan/product/nessus/NessusProductExecutor.java
  class NessusProductExecutor (line 33) | @Deprecated // will be removed in future
    method NessusProductExecutor (line 61) | public NessusProductExecutor() {
    method executeByAdapter (line 65) | @Override
    method customize (line 100) | @Override

FILE: deprecated-sechub-scan-product-netsparker/src/main/java/com/mercedesbenz/sechub/domain/scan/product/netsparker/NetsparkerConstants.java
  class NetsparkerConstants (line 4) | public class NetsparkerConstants {

FILE: deprecated-sechub-scan-product-netsparker/src/main/java/com/mercedesbenz/sechub/domain/scan/product/netsparker/NetsparkerInstallSetup.java
  type NetsparkerInstallSetup (line 6) | @Deprecated // will be removed in future
    method getScanResultCheckPeriodInMinutes (line 9) | public int getScanResultCheckPeriodInMinutes();
    method getScanResultCheckTimeOutInMinutes (line 11) | public int getScanResultCheckTimeOutInMinutes();
    method getAgentName (line 13) | public String getAgentName();
    method getDefaultPolicyId (line 15) | public String getDefaultPolicyId();
    method getInternetAgentGroupName (line 17) | public String getInternetAgentGroupName();
    method getIntranetAgentGroupName (line 19) | public String getIntranetAgentGroupName();
    method getNetsparkerLicenseId (line 21) | public String getNetsparkerLicenseId();

FILE: deprecated-sechub-scan-product-netsparker/src/main/java/com/mercedesbenz/sechub/domain/scan/product/netsparker/NetsparkerInstallSetupImpl.java
  class NetsparkerInstallSetupImpl (line 12) | @Deprecated // will be removed in future
    method getScanResultCheckPeriodInMinutes (line 60) | public int getScanResultCheckPeriodInMinutes() {
    method isTrustAllCertificatesNecessary (line 64) | public boolean isTrustAllCertificatesNecessary() {
    method getScanResultCheckTimeOutInMinutes (line 68) | public int getScanResultCheckTimeOutInMinutes() {
    method getAgentName (line 72) | public String getAgentName() {
    method getDefaultPolicyId (line 76) | public String getDefaultPolicyId() {
    method getInternetAgentGroupName (line 80) | public String getInternetAgentGroupName() {
    method getIntranetAgentGroupName (line 84) | public String getIntranetAgentGroupName() {
    method getNetsparkerLicenseId (line 88) | public String getNetsparkerLicenseId() {
    method getIdentifierWhenInternetTarget (line 92) | public String getIdentifierWhenInternetTarget() {
    method getIdentifierWhenIntranetTarget (line 96) | public String getIdentifierWhenIntranetTarget() {
    method getBaseURLWhenInternetTarget (line 100) | public String getBaseURLWhenInternetTarget() {
    method getBaseURLWhenIntranetTarget (line 104) | @Override
    method getUsernameWhenInternetTarget (line 109) | @Override
    method getUsernameWhenIntranetTarget (line 114) | @Override
    method getPasswordWhenInternetTarget (line 119) | @Override
    method getPasswordWhenIntranetTarget (line 124) | @Override
    method hasUntrustedCertificateWhenIntranetTarget (line 129) | @Override
    method hasUntrustedCertificateWhenInternetTarget (line 134) | @Override

FILE: deprecated-sechub-scan-product-netsparker/src/main/java/com/mercedesbenz/sechub/domain/scan/product/netsparker/NetsparkerProductExecutor.java
  class NetsparkerProductExecutor (line 33) | @Deprecated // will be removed in future
    method NetsparkerProductExecutor (line 48) | public NetsparkerProductExecutor() {
    method customize (line 52) | @Override
    method executeByAdapter (line 60) | @Override

FILE: docs/_nuxt/5c4pSGXq.js
  method setup (line 1) | setup(t){const r=t;return a({title:`${r.statusCode} - ${r.statusMessage}...

FILE: docs/_nuxt/BWjaZIcp.js
  method setup (line 1) | setup(t){const n=t;return i({title:`${n.statusCode} - ${n.statusMessage}...

FILE: docs/_nuxt/CCW46xiD.js
  function n (line 2) | function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s...
  function r (line 2) | function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}
  function Os (line 6) | function Os(e){const t=Object.create(null);for(const n of e.split(","))t...
  function yr (line 6) | function yr(e){if(G(e)){const t={};for(let n=0;n<e.length;n++){const r=e...
  function rc (line 6) | function rc(e){const t={};return e.replace(nc,"").split(ec).forEach(n=>{...
  function vr (line 6) | function vr(e){let t="";if(de(e))t=e;else if(G(e))for(let n=0;n<e.length...
  function sc (line 6) | function sc(e){if(!e)return null;let{class:t,style:n}=e;return t&&!de(t)...
  function Ni (line 6) | function Ni(e){return!!e||e===""}
  class Fi (line 10) | class Fi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=...
    method constructor (line 10) | constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this...
    method active (line 10) | get active(){return this._active}
    method pause (line 10) | pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(...
    method resume (line 10) | resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if...
    method run (line 10) | run(t){if(this._active){const n=He;try{return He=this,t()}finally{He=n}}}
    method on (line 10) | on(){He=this}
    method off (line 10) | off(){He=this.parent}
    method stop (line 10) | stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effect...
  function lc (line 10) | function lc(e){return new Fi(e)}
  function Ui (line 10) | function Ui(){return He}
  class Bi (line 10) | class Bi{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,...
    method constructor (line 10) | constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.fl...
    method pause (line 10) | pause(){this.flags|=64}
    method resume (line 10) | resume(){this.flags&64&&(this.flags&=-65,Fr.has(this)&&(Fr.delete(this...
    method notify (line 10) | notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Wi(this)}
    method run (line 10) | run(){if(!(this.flags&1))return this.fn();this.flags|=2,_o(this),Ki(th...
    method stop (line 10) | stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ds(t);this.d...
    method trigger (line 10) | trigger(){this.flags&64?Fr.add(this):this.scheduler?this.scheduler():t...
    method runIfDirty (line 10) | runIfDirty(){rs(this)&&this.run()}
    method dirty (line 10) | get dirty(){return rs(this)}
  function Wi (line 10) | function Wi(e,t=!1){if(e.flags|=8,t){e.next=an,an=e;return}e.next=ln,ln=e}
  function Ns (line 10) | function Ns(){Vi++}
  function js (line 10) | function js(){if(--Vi>0)return;if(an){let t=an;for(an=void 0;t;){const n...
  function Ki (line 10) | function Ki(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveL...
  function qi (line 10) | function qi(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.versi...
  function rs (line 10) | function rs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.versi...
  function Gi (line 10) | function Gi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersio...
  function Ds (line 10) | function Ds(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=...
  function ac (line 10) | function ac(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=vo...
  function _t (line 10) | function _t(){zi.push(Ve),Ve=!1}
  function wt (line 10) | function wt(){const e=zi.pop();Ve=e===void 0?!0:e}
  function _o (line 10) | function _o(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=le;le=v...
  class cc (line 10) | class cc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,t...
    method constructor (line 10) | constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nex...
  class Fs (line 10) | class Fs{constructor(t){this.computed=t,this.version=0,this.activeLink=v...
    method constructor (line 10) | constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,t...
    method track (line 10) | track(t){if(!le||!Ve||le===this.computed)return;let n=this.activeLink;...
    method trigger (line 10) | trigger(t){this.version++,pn++,this.notify(t)}
    method notify (line 10) | notify(t){Ns();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n...
  function Zi (line 10) | function Zi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&...
  function Te (line 10) | function Te(e,t,n){if(Ve&&le){let r=Qn.get(e);r||Qn.set(e,r=new Map);let...
  function st (line 10) | function st(e,t,n,r,s,o){const i=Qn.get(e);if(!i){pn++;return}const l=a=...
  function uc (line 10) | function uc(e,t){const n=Qn.get(e);return n&&n.get(t)}
  function Nt (line 10) | function Nt(e){const t=ee(e);return t===e?t:(Te(t,"iterate",hn),Fe(e)?t:...
  function br (line 10) | function br(e){return Te(e=ee(e),"iterate",hn),e}
  method [Symbol.iterator] (line 10) | [Symbol.iterator](){return Ur(this,Symbol.iterator,Ee)}
  method concat (line 10) | concat(...e){return Nt(this).concat(...e.map(t=>G(t)?Nt(t):t))}
  method entries (line 10) | entries(){return Ur(this,"entries",e=>(e[1]=Ee(e[1]),e))}
  method every (line 10) | every(e,t){return tt(this,"every",e,t,void 0,arguments)}
  method filter (line 10) | filter(e,t){return tt(this,"filter",e,t,n=>n.map(Ee),arguments)}
  method find (line 10) | find(e,t){return tt(this,"find",e,t,Ee,arguments)}
  method findIndex (line 10) | findIndex(e,t){return tt(this,"findIndex",e,t,void 0,arguments)}
  method findLast (line 10) | findLast(e,t){return tt(this,"findLast",e,t,Ee,arguments)}
  method findLastIndex (line 10) | findLastIndex(e,t){return tt(this,"findLastIndex",e,t,void 0,arguments)}
  method forEach (line 10) | forEach(e,t){return tt(this,"forEach",e,t,void 0,arguments)}
  method includes (line 10) | includes(...e){return Br(this,"includes",e)}
  method indexOf (line 10) | indexOf(...e){return Br(this,"indexOf",e)}
  method join (line 10) | join(e){return Nt(this).join(e)}
  method lastIndexOf (line 10) | lastIndexOf(...e){return Br(this,"lastIndexOf",e)}
  method map (line 10) | map(e,t){return tt(this,"map",e,t,void 0,arguments)}
  method pop (line 10) | pop(){return nn(this,"pop")}
  method push (line 10) | push(...e){return nn(this,"push",e)}
  method reduce (line 10) | reduce(e,...t){return wo(this,"reduce",e,t)}
  method reduceRight (line 10) | reduceRight(e,...t){return wo(this,"reduceRight",e,t)}
  method shift (line 10) | shift(){return nn(this,"shift")}
  method some (line 10) | some(e,t){return tt(this,"some",e,t,void 0,arguments)}
  method splice (line 10) | splice(...e){return nn(this,"splice",e)}
  method toReversed (line 10) | toReversed(){return Nt(this).toReversed()}
  method toSorted (line 10) | toSorted(e){return Nt(this).toSorted(e)}
  method toSpliced (line 10) | toSpliced(...e){return Nt(this).toSpliced(...e)}
  method unshift (line 10) | unshift(...e){return nn(this,"unshift",e)}
  method values (line 10) | values(){return Ur(this,"values",Ee)}
  function Ur (line 10) | function Ur(e,t,n){const r=br(e),s=r[t]();return r!==e&&!Fe(e)&&(s._next...
  function tt (line 10) | function tt(e,t,n,r,s,o){const i=br(e),l=i!==e&&!Fe(e),a=i[t];if(a!==dc[...
  function wo (line 10) | function wo(e,t,n,r){const s=br(e);let o=n;return s!==e&&(Fe(e)?n.length...
  function Br (line 10) | function Br(e,t,n){const r=ee(e);Te(r,"iterate",hn);const s=r[t](...n);r...
  function nn (line 10) | function nn(e,t,n=[]){_t(),Ns();const r=ee(e)[t].apply(e,n);return js(),...
  function hc (line 10) | function hc(e){bt(e)||(e=String(e));const t=ee(this);return Te(t,"has",e...
  class Yi (line 10) | class Yi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get...
    method constructor (line 10) | constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}
    method get (line 10) | get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonl...
  class Qi (line 10) | class Qi extends Yi{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n...
    method constructor (line 10) | constructor(t=!1){super(!1,t)}
    method set (line 10) | set(t,n,r,s){let o=t[n];if(!this._isShallow){const a=vt(o);if(!Fe(r)&&...
    method deleteProperty (line 10) | deleteProperty(t,n){const r=ne(t,n);t[n];const s=Reflect.deletePropert...
    method has (line 10) | has(t,n){const r=Reflect.has(t,n);return(!bt(n)||!Ji.has(n))&&Te(t,"ha...
    method ownKeys (line 10) | ownKeys(t){return Te(t,"iterate",G(t)?"length":Mt),Reflect.ownKeys(t)}
  class gc (line 10) | class gc extends Yi{constructor(t=!1){super(!0,t)}set(t,n){return!0}dele...
    method constructor (line 10) | constructor(t=!1){super(!0,t)}
    method set (line 10) | set(t,n){return!0}
    method deleteProperty (line 10) | deleteProperty(t,n){return!0}
  function bc (line 10) | function bc(e,t,n){return function(...r){const s=this.__v_raw,o=ee(s),i=...
  function Hn (line 10) | function Hn(e){return function(...t){return e==="delete"?!1:e==="clear"?...
  function _c (line 10) | function _c(e,t){const n={get(s){const o=this.__v_raw,i=ee(o),l=ee(s);e|...
  function Us (line 10) | function Us(e,t){const n=_c(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:...
  function Ec (line 10) | function Ec(e){switch(e){case"Object":case"Array":return 1;case"Map":cas...
  function Cc (line 10) | function Cc(e){return e.__v_skip||!Object.isExtensible(e)?0:Ec(Ja(e))}
  function yt (line 10) | function yt(e){return vt(e)?e:Bs(e,!1,mc,wc,Xi)}
  function Ft (line 10) | function Ft(e){return Bs(e,!1,vc,xc,el)}
  function nl (line 10) | function nl(e){return Bs(e,!0,yc,Sc,tl)}
  function Bs (line 10) | function Bs(e,t,n,r,s){if(!ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))retu...
  function It (line 10) | function It(e){return vt(e)?It(e.__v_raw):!!(e&&e.__v_isReactive)}
  function vt (line 10) | function vt(e){return!!(e&&e.__v_isReadonly)}
  function Fe (line 10) | function Fe(e){return!!(e&&e.__v_isShallow)}
  function Vs (line 10) | function Vs(e){return e?!!e.__v_raw:!1}
  function ee (line 10) | function ee(e){const t=e&&e.__v_raw;return t?ee(t):e}
  function Ac (line 10) | function Ac(e){return!ne(e,"__v_skip")&&Object.isExtensible(e)&&Li(e,"__...
  function ve (line 10) | function ve(e){return e?e.__v_isRef===!0:!1}
  function ue (line 10) | function ue(e){return rl(e,!1)}
  function xo (line 10) | function xo(e){return rl(e,!0)}
  function rl (line 10) | function rl(e,t){return ve(e)?e:new Pc(e,t)}
  class Pc (line 10) | class Pc{constructor(t,n){this.dep=new Fs,this.__v_isRef=!0,this.__v_isS...
    method constructor (line 10) | constructor(t,n){this.dep=new Fs,this.__v_isRef=!0,this.__v_isShallow=...
    method value (line 10) | get value(){return this.dep.track(),this._value}
    method value (line 10) | set value(t){const n=this._rawValue,r=this.__v_isShallow||Fe(t)||vt(t)...
  function Y (line 10) | function Y(e){return ve(e)?e.value:e}
  function Rc (line 10) | function Rc(e){return q(e)?e():Y(e)}
  function sl (line 10) | function sl(e){return It(e)?e:new Proxy(e,kc)}
  class Mc (line 10) | class Mc{constructor(t,n,r){this._object=t,this._key=n,this._defaultValu...
    method constructor (line 10) | constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,thi...
    method value (line 10) | get value(){const t=this._object[this._key];return this._value=t===voi...
    method value (line 10) | set value(t){this._object[this._key]=t}
    method dep (line 10) | get dep(){return uc(ee(this._object),this._key)}
  class Ic (line 10) | class Ic{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isRead...
    method constructor (line 10) | constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0...
    method value (line 10) | get value(){return this._value=this._getter()}
  function Oc (line 10) | function Oc(e,t,n){return ve(e)?e:q(e)?new Ic(e):ce(e)&&arguments.length...
  function Hc (line 10) | function Hc(e,t,n){const r=e[t];return ve(r)?r:new Mc(e,t,n)}
  class Lc (line 10) | class Lc{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,t...
    method constructor (line 10) | constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep...
    method notify (line 10) | notify(){if(this.flags|=16,!(this.flags&8)&&le!==this)return Wi(this,!...
    method value (line 10) | get value(){const t=this.dep.track();return Gi(this),t&&(t.version=thi...
    method value (line 10) | set value(t){this.setter&&this.setter(t)}
  function $c (line 10) | function $c(e,t,n=!1){let r,s;return q(e)?r=e:(r=e.get,s=e.set),new Lc(r...
  function Nc (line 10) | function Nc(e,t=!1,n=Rt){if(n){let r=Xn.get(n);r||Xn.set(n,r=[]),r.push(...
  function jc (line 10) | function jc(e,t,n=ae){const{immediate:r,deep:s,once:o,scheduler:i,augmen...
  function gt (line 10) | function gt(e,t=1/0,n){if(t<=0||!ce(e)||e.__v_skip||(n=n||new Set,n.has(...
  function En (line 14) | function En(e,t,n,r){try{return r?e(...r):e()}catch(s){Qt(s,t,n)}}
  function We (line 14) | function We(e,t,n,r){if(q(e)){const s=En(e,t,n,r);return s&&Ii(s)&&s.cat...
  function Qt (line 14) | function Qt(e,t,n,r=!0){const s=t?t.vnode:null,{errorHandler:o,throwUnha...
  function Dc (line 14) | function Dc(e,t,n,r=!0,s=!1){if(s)throw e;console.error(e)}
  function Qe (line 14) | function Qe(e){const t=er||ol;return e?t.then(this?e.bind(this):e):t}
  function Fc (line 14) | function Fc(e){let t=ze+1,n=Ae.length;for(;t<n;){const r=t+n>>>1,s=Ae[r]...
  function Ws (line 14) | function Ws(e){if(!(e.flags&1)){const t=gn(e),n=Ae[Ae.length-1];!n||!(e....
  function il (line 14) | function il(){er||(er=ol.then(ll))}
  function ls (line 14) | function ls(e){G(e)?qt.push(...e):ft&&e.id===-1?ft.splice(Dt+1,0,e):e.fl...
  function So (line 14) | function So(e,t,n=ze+1){for(;n<Ae.length;n++){const r=Ae[n];if(r&&r.flag...
  function tr (line 14) | function tr(e){if(qt.length){const t=[...new Set(qt)].sort((n,r)=>gn(n)-...
  function ll (line 14) | function ll(e){try{for(ze=0;ze<Ae.length;ze++){const t=Ae[ze];t&&!(t.fla...
  function nr (line 14) | function nr(e){const t=$e;return $e=e,al=e&&e.type.__scopeId||null,t}
  function se (line 14) | function se(e,t=$e,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&jo(-1)...
  function Ze (line 14) | function Ze(e,t,n,r){const s=e.dirs,o=t&&t.dirs;for(let i=0;i<s.length;i...
  function Bc (line 14) | function Bc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leaving...
  method setup (line 14) | setup(e,{slots:t}){const n=Er(),r=Bc();return()=>{const s=t.default&&hl(...
  function dl (line 14) | function dl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Pe...
  function pl (line 14) | function pl(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||...
  function as (line 14) | function as(e,t,n,r,s){const{appear:o,mode:i,persisted:l=!1,onBeforeEnte...
  function Vr (line 14) | function Vr(e){if(Cn(e))return e=lt(e),e.children=null,e}
  function To (line 14) | function To(e){if(!Cn(e))return cl(e.type)&&e.children?dl(e.children):e;...
  function mn (line 14) | function mn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,mn(e.compone...
  function hl (line 14) | function hl(e,t=!1,n){let r=[],s=0;for(let o=0;o<e.length;o++){let i=e[o...
  function Ke (line 14) | function Ke(e,t){return q(e)?be({name:e.name},t,{setup:e}):e}
  function Kc (line 14) | function Kc(){const e=Er();return e?(e.appContext.config.idPrefix||"v")+...
  function Ks (line 14) | function Ks(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}
  function yn (line 14) | function yn(e,t,n,r,s=!1){if(G(e)){e.forEach((p,h)=>yn(p,t&&(G(t)?t[h]:t...
  function zc (line 14) | function zc(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,...
  function jn (line 15) | function jn(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Co);)e=e.parent...
  function Jc (line 15) | function Jc(e,t){if(Ut(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;...
  function Ao (line 15) | function Ao(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,er...
  function Wr (line 15) | function Wr(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=D(e,r,s)...
  function gl (line 15) | function gl(e,t){yl(e,"a",t)}
  function ml (line 15) | function ml(e,t){yl(e,"da",t)}
  function yl (line 15) | function yl(e,t,n=ye){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if...
  function Yc (line 15) | function Yc(e,t,n,r){const s=_r(t,e,r,!0);qs(()=>{Ls(r[t],s)},n)}
  function _r (line 15) | function _r(e,t,n=ye,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t._...
  function vl (line 15) | function vl(e,t=ye){_r("ec",e,t)}
  function Po (line 15) | function Po(e,t){return xl(bl,e,!0,t)||e}
  function wl (line 15) | function wl(e){return de(e)?xl(bl,e,!1)||e:e||_l}
  function xl (line 15) | function xl(e,t,n=!0,r=!1){const s=$e||ye;if(s){const o=s.type;{const l=...
  function Ro (line 15) | function Ro(e,t){return e&&(e[t]||e[Ue(t)]||e[gr(Ue(t))])}
  function Bt (line 15) | function Bt(e,t,n,r){let s;const o=n,i=G(e);if(i||de(e)){const l=i&&It(e...
  method get (line 15) | get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,...
  method set (line 15) | set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Kr(s,t)?(s[t]=n...
  method has (line 15) | has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOption...
  method defineProperty (line 15) | defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ne(n,"valu...
  function ko (line 15) | function ko(e){return G(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}
  function ou (line 15) | function ou(e){const t=Tl(e),n=e.proxy,r=e.ctx;us=!1,t.beforeCreate&&Mo(...
  function iu (line 15) | function iu(e,t,n=Ye){G(e)&&(e=fs(e));for(const r in e){const s=e[r];let...
  function Mo (line 15) | function Mo(e,t,n){We(G(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}
  function Sl (line 15) | function Sl(e,t,n,r){let s=r.includes(".")?Dl(n,r):()=>n[r];if(de(e)){co...
  function Tl (line 15) | function Tl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCa...
  function rr (line 15) | function rr(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&rr(e,o,n,!0),s&&s...
  function Io (line 15) | function Io(e,t){return t?e?function(){return be(q(e)?e.call(this,this):...
  function au (line 15) | function au(e,t){return on(fs(e),fs(t))}
  function fs (line 15) | function fs(e){if(G(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[...
  function Ce (line 15) | function Ce(e,t){return e?[...new Set([].concat(e,t))]:t}
  function on (line 15) | function on(e,t){return e?be(Object.create(null),e,t):t}
  function Oo (line 15) | function Oo(e,t){return e?G(e)&&G(t)?[...new Set([...e,...t])]:be(Object...
  function cu (line 15) | function cu(e,t){if(!e)return t;if(!t)return e;const n=be(Object.create(...
  function El (line 15) | function El(){return{app:null,config:{isNativeTag:za,performance:!1,glob...
  function fu (line 15) | function fu(e,t){return function(r,s=null){q(r)||(r=be({},r)),s!=null&&!...
  function Pn (line 15) | function Pn(e,t){if(ye){let n=ye.provides;const r=ye.parent&&ye.parent.p...
  function Xe (line 15) | function Xe(e,t,n=!1){const r=ye||$e;if(r||Ot){const s=Ot?Ot._context.pr...
  function xr (line 15) | function xr(){return!!(ye||$e||Ot)}
  function du (line 15) | function du(e,t,n,r=!1){const s={},o=Al();e.propsDefaults=Object.create(...
  function pu (line 15) | function pu(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=ee(s...
  function Rl (line 15) | function Rl(e,t,n,r){const[s,o]=e.propsOptions;let i=!1,l;if(t)for(let a...
  function ds (line 15) | function ds(e,t,n,r,s,o){const i=e[n];if(i!=null){const l=ne(i,"default"...
  function kl (line 15) | function kl(e,t,n=!1){const r=n?hu:t.propsCache,s=r.get(e);if(s)return s...
  function Ho (line 15) | function Ho(e){return e[0]!=="$"&&!Kt(e)}
  function vu (line 15) | function vu(e){return Ll(e)}
  function bu (line 15) | function bu(e){return Ll(e,zc)}
  function Ll (line 15) | function Ll(e,t){const n=mr();n.__VUE__=!0;const{insert:r,remove:s,patch...
  function qr (line 15) | function qr({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n...
  function Et (line 15) | function Et({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33...
  function $l (line 15) | function $l(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}
  function Nl (line 15) | function Nl(e,t,n=!1){const r=e.children,s=t.children;if(G(r)&&G(s))for(...
  function _u (line 15) | function _u(e){const t=e.slice(),n=[0];let r,s,o,i,l;const a=e.length;fo...
  function jl (line 15) | function jl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.as...
  function Lo (line 15) | function Lo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}
  function Xt (line 15) | function Xt(e,t){return zs(e,null,t)}
  function Gr (line 15) | function Gr(e,t,n){return zs(e,t,n)}
  function zs (line 15) | function zs(e,t,n=ae){const{immediate:r,deep:s,flush:o,once:i}=n,l=be({}...
  function Su (line 15) | function Su(e,t,n){const r=this.proxy,s=de(e)?e.includes(".")?Dl(r,e):()...
  function Dl (line 15) | function Dl(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s<n...
  function Eu (line 15) | function Eu(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||ae;...
  function Fl (line 15) | function Fl(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)retu...
  function Sr (line 15) | function Sr(e,t){return!e||!Tn(t)?!1:(t=t.slice(2).replace(/Once$/,""),n...
  function zr (line 15) | function zr(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o]...
  function Cu (line 15) | function Cu(e,t=!0){let n;for(let r=0;r<e.length;r++){const s=e[r];if(bn...
  function Ru (line 15) | function Ru(e,t,n){const{props:r,children:s,component:o}=e,{props:i,chil...
  function $o (line 15) | function $o(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).l...
  function Tr (line 15) | function Tr({vnode:e,parent:t},n){for(;t;){const r=t.subTree;if(r.suspen...
  method process (line 15) | process(e,t,n,r,s,o,i,l,a,f){if(e==null)Iu(t,n,r,s,o,i,l,a,f);else{if(o&...
  function vn (line 15) | function vn(e,t){const n=e.props&&e.props[t];q(n)&&n()}
  function Iu (line 15) | function Iu(e,t,n,r,s,o,i,l,a){const{p:f,o:{createElement:c}}=a,u=c("div...
  function Ou (line 15) | function Ou(e,t,n,r,s,o,i,l,{p:a,um:f,o:{createElement:c}}){const u=t.su...
  function Bl (line 15) | function Bl(e,t,n,r,s,o,i,l,a,f,c=!1){const{p:u,m:d,um:m,n:p,o:{parentNo...
  function Hu (line 15) | function Hu(e,t,n,r,s,o,i,l,a){const f=t.suspense=Bl(t,r,n,e.parentNode,...
  function Lu (line 15) | function Lu(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=No(r?n...
  function No (line 15) | function No(e){let t;if(q(e)){const n=Zt&&e._c;n&&(e._d=!1,te()),e=e(),n...
  function Vl (line 15) | function Vl(e,t){t&&t.pendingBranch?G(e)?t.effects.push(...e):t.effects....
  function zt (line 15) | function zt(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let...
  function $u (line 15) | function $u(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}
  function te (line 15) | function te(e=!1){fn.push(Re=e?null:[])}
  function Wl (line 15) | function Wl(){fn.pop(),Re=fn[fn.length-1]||null}
  function jo (line 15) | function jo(e,t=!1){Zt+=e,e<0&&Re&&t&&(Re.hasOnce=!0)}
  function Kl (line 15) | function Kl(e){return e.dynamicChildren=Zt>0?Re||Vt:null,Wl(),Zt>0&&Re&&...
  function fe (line 15) | function fe(e,t,n,r,s,o){return Kl(N(e,t,n,r,s,o,!0))}
  function kt (line 15) | function kt(e,t,n,r,s){return Kl(D(e,t,n,r,s,!0))}
  function bn (line 15) | function bn(e){return e?e.__v_isVNode===!0:!1}
  function Je (line 15) | function Je(e,t){return e.type===t.type&&e.key===t.key}
  function N (line 15) | function N(e,t=null,n=null,r=0,s=null,o=e===he?0:1,i=!1,l=!1){const a={_...
  function Nu (line 15) | function Nu(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===_l)&&(e=Pe),bn(...
  function Gl (line 15) | function Gl(e){return e?Vs(e)||Pl(e)?be({},e):e:null}
  function lt (line 15) | function lt(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:l,tr...
  function xe (line 15) | function xe(e=" ",t=0){return D(Ht,null,e,t)}
  function Zs (line 15) | function Zs(e,t){const n=D(un,null,e);return n.staticCount=t,n}
  function Le (line 15) | function Le(e){return e==null||typeof e=="boolean"?D(Pe):G(e)?D(he,null,...
  function pt (line 15) | function pt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:lt(e)}
  function Js (line 15) | function Js(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(...
  function ju (line 15) | function ju(...e){const t={};for(let n=0;n<e.length;n++){const r=e[n];fo...
  function De (line 15) | function De(e,t,n,r=null){We(e,t,7,[n,r])}
  function Uu (line 15) | function Uu(e,t,n){const r=e.type,s=(t?t.appContext:e.appContext)||Du,o=...
  function zl (line 15) | function zl(e){return e.vnode.shapeFlag&4}
  function Bu (line 15) | function Bu(e,t=!1,n=!1){t&&hs(t);const{props:r,children:s}=e.vnode,o=zl...
  function Vu (line 15) | function Vu(e,t){const n=e.type;e.accessCache=Object.create(null),e.prox...
  function gs (line 15) | function gs(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=...
  function Zl (line 15) | function Zl(e,t,n){const r=e.type;e.render||(e.render=r.render||Ye);{con...
  method get (line 15) | get(e,t){return Te(e,"get",""),e[t]}
  function Ku (line 15) | function Ku(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.att...
  function Ys (line 15) | function Ys(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(...
  function qu (line 15) | function qu(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}
  function Gu (line 15) | function Gu(e){return q(e)&&"__vccOpts"in e}
  function _n (line 15) | function _n(e,t,n){const r=arguments.length;return r===2?ce(t)&&!G(t)?bn...
  method setScopeId (line 19) | setScopeId(e,t){e.setAttribute(t,"")}
  method insertStaticContent (line 19) | insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild...
  function ef (line 19) | function ef(e){const t={};for(const k in e)k in Yl||(t[k]=e[k]);if(e.css...
  function tf (line 19) | function tf(e){if(e==null)return null;if(ce(e))return[Zr(e.enter),Zr(e.l...
  function Zr (line 19) | function Zr(e){return $i(e)}
  function nt (line 19) | function nt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[wn]...
  function At (line 19) | function At(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));con...
  function Vo (line 19) | function Vo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}
  function Wo (line 19) | function Wo(e,t,n,r){const s=e._endId=++nf,o=()=>{s===e._endId&&r()};if(...
  function rf (line 19) | function rf(e,t){const n=window.getComputedStyle(e),r=p=>(n[p]||"").spli...
  function Ko (line 19) | function Ko(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(....
  function qo (line 19) | function qo(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",",".")...
  function Go (line 19) | function Go(){return document.body.offsetHeight}
  function sf (line 19) | function sf(e,t,n){const r=e[wn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t=...
  function cf (line 19) | function cf(e,t,n){const r=e.style,s=de(n);let o=!1;if(n&&!s){if(t)if(de...
  function Kn (line 19) | function Kn(e,t,n){if(G(n))n.forEach(r=>Kn(e,t,r));else if(n==null&&(n="...
  function uf (line 19) | function uf(e,t){const n=Jr[t];if(n)return n;let r=Ue(t);if(r!=="filter"...
  function Qo (line 19) | function Qo(e,t,n,r,s,o=ic(t)){r&&t.startsWith("xlink:")?n==null?e.remov...
  function Xo (line 19) | function Xo(e,t,n,r,s){if(t==="innerHTML"||t==="textContent"){n!=null&&(...
  function ff (line 19) | function ff(e,t,n,r){e.addEventListener(t,n,r)}
  function df (line 19) | function df(e,t,n,r){e.removeEventListener(t,n,r)}
  function pf (line 19) | function pf(e,t,n,r,s=null){const o=e[ei]||(e[ei]={}),i=o[t];if(r&&i)i.v...
  function hf (line 19) | function hf(e){let t;if(ti.test(e)){t={};let r;for(;r=e.match(ti);)e=e.s...
  function yf (line 19) | function yf(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts...
  function vf (line 19) | function vf(e,t){if(G(t)){const n=e.stopImmediatePropagation;return e.st...
  function _f (line 19) | function _f(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t...
  function wf (line 19) | function wf(){return dn||(dn=vu(Ql))}
  function xf (line 19) | function xf(){return dn=ri?dn:bu(Ql),ri=!0,dn}
  function Xl (line 19) | function Xl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLEl...
  function ea (line 19) | function ea(e){return de(e)?document.querySelector(e):e}
  function Pf (line 19) | function Pf(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="ob...
  function Rf (line 19) | function Rf(e){console.warn(`[destr] Dropping "${e}" key to prevent prot...
  function or (line 19) | function or(e,t={}){if(typeof e!="string")return e;const n=e.trim();if(e...
  function jf (line 19) | function jf(e){return encodeURI(""+e).replace($f,"|")}
  function ys (line 19) | function ys(e){return jf(typeof e=="string"?e:JSON.stringify(e)).replace...
  function Qr (line 19) | function Qr(e){return ys(e).replace(Of,"%3D")}
  function ir (line 19) | function ir(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}
  function Df (line 19) | function Df(e){return ir(e.replace(Qs," "))}
  function Ff (line 19) | function Ff(e){return ir(e.replace(Qs," "))}
  function Cr (line 19) | function Cr(e=""){const t={};e[0]==="?"&&(e=e.slice(1));for(const n of e...
  function Uf (line 19) | function Uf(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=Str...
  function ta (line 19) | function ta(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>Uf(...
  function xt (line 19) | function xt(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t...
  function zf (line 19) | function zf(e){return!!e&&Kf.test(e)}
  function vs (line 19) | function vs(e="",t){return t?qf.test(e):e.endsWith("/")}
  function Ar (line 19) | function Ar(e="",t){if(!t)return(vs(e)?e.slice(0,-1):e)||"/";if(!vs(e,!0...
  function lr (line 19) | function lr(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(vs(e,!0))ret...
  function Zf (line 19) | function Zf(e=""){return e.startsWith("/")}
  function si (line 19) | function si(e=""){return Zf(e)?e:"/"+e}
  function Jf (line 19) | function Jf(e,t){if(ra(t)||xt(e))return e;const n=Ar(t);return e.startsW...
  function Yf (line 19) | function Yf(e,t){if(ra(t))return e;const n=Ar(t);if(!e.startsWith(n))ret...
  function na (line 19) | function na(e,t){const n=ia(e),r={...Cr(n.search),...t};return n.search=...
  function ra (line 19) | function ra(e){return!e||e==="/"}
  function Qf (line 19) | function Qf(e){return e&&e!=="/"}
  function kn (line 19) | function kn(e,...t){let n=e||"";for(const r of t.filter(s=>Qf(s)))if(n){...
  function sa (line 19) | function sa(...e){var i,l,a,f;const t=/\/(?!\/)/,n=e.filter(Boolean),r=[...
  function Xf (line 19) | function Xf(e,t,n={}){return n.trailingSlash||(e=lr(e),t=lr(t)),n.leadin...
  function ia (line 19) | function ia(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vb...
  function oi (line 19) | function oi(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*...
  function la (line 19) | function la(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?...
  class ed (line 19) | class ed extends Error{constructor(t,n){super(t,n),this.name="FetchError...
    method constructor (line 19) | constructor(t,n){super(t,n),this.name="FetchError",n!=null&&n.cause&&!...
  function td (line 19) | function td(e){var a,f,c,u,d;const t=((a=e.error)==null?void 0:a.message...
  function ii (line 19) | function ii(e="GET"){return nd.has(e.toUpperCase())}
  function rd (line 19) | function rd(e){if(e===void 0)return!1;const t=typeof e;return t==="strin...
  function id (line 19) | function id(e=""){if(!e)return"json";const t=e.split(";").shift()||"";re...
  function ld (line 19) | function ld(e,t,n,r){const s=ad((t==null?void 0:t.headers)??(e==null?voi...
  function ad (line 19) | function ad(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const...
  function Dn (line 19) | async function Dn(e,t){if(t)if(Array.isArray(t))for(const n of t)await n...
  function aa (line 19) | function aa(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.He...
  function bs (line 19) | function bs(e,t={},n){for(const r in e){const s=e[r],o=n?`${n}:${r}`:r;t...
  function wd (line 19) | function wd(e,t){const n=t.shift(),r=ca(n);return e.reduce((s,o)=>s.then...
  function xd (line 19) | function xd(e,t){const n=t.shift(),r=ca(n);return Promise.all(e.map(s=>r...
  function Xr (line 19) | function Xr(e,t){for(const n of[...e])n(t)}
  class Sd (line 19) | class Sd{constructor(){this._hooks={},this._before=void 0,this._after=vo...
    method constructor (line 19) | constructor(){this._hooks={},this._before=void 0,this._after=void 0,th...
    method hook (line 19) | hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const s=t;let ...
    method hookOnce (line 19) | hookOnce(t,n){let r,s=(...o)=>(typeof r=="function"&&r(),r=void 0,s=vo...
    method removeHook (line 19) | removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r...
    method deprecateHook (line 19) | deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:...
    method deprecateHooks (line 19) | deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n i...
    method addHooks (line 19) | addHooks(t){const n=bs(t),r=Object.keys(n).map(s=>this.hook(s,n[s]));r...
    method removeHooks (line 19) | removeHooks(t){const n=bs(t);for(const r in n)this.removeHook(r,n[r])}
    method removeAllHooks (line 19) | removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}
    method callHook (line 19) | callHook(t,...n){return n.unshift(t),this.callHookWith(wd,t,...n)}
    method callHookParallel (line 19) | callHookParallel(t,...n){return n.unshift(t),this.callHookWith(xd,t,.....
    method callHookWith (line 19) | callHookWith(t,n,...r){const s=this._before||this._after?{name:n,args:...
    method beforeEach (line 19) | beforeEach(t){return this._before=this._before||[],this._before.push(t...
    method afterEach (line 19) | afterEach(t){return this._after=this._after||[],this._after.push(t),()...
  function ua (line 19) | function ua(){return new Sd}
  function Td (line 19) | function Td(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Co...
  function Ed (line 19) | function Ed(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Td({....
  function fa (line 19) | function fa(e){const t=[];for(const s of _s){const o=s();o&&t.push(o)}co...
  function pa (line 19) | function pa(e=da){return Ad(e,{asyncContext:!1})}
  function Od (line 19) | function Od(e){var s;let t=0;const n={_id:e.id||da||"nuxt-app",_scope:lc...
  function Hd (line 19) | function Hd(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}
  function Ld (line 19) | async function Ld(e,t){if(typeof t=="function"){const{provide:n}=await e...
  function $d (line 19) | async function $d(e,t){const n=[],r=[],s=[],o=[];let i=0;async function ...
  function St (line 19) | function St(e){if(typeof e=="function")return e;const t=e._name||e.name;...
  function ui (line 19) | function ui(e,t,n){const r=()=>t();return pa(e._id).set(e),e.vueApp.runW...
  function ha (line 19) | function ha(e){var n;let t;return xr()&&(t=(n=Er())==null?void 0:n.appCo...
  function ge (line 19) | function ge(e){const t=ha(e);if(!t)throw new Error("[nuxt] instance unav...
  function Yt (line 19) | function Yt(e){return ge().$config}
  function Fn (line 19) | function Fn(e,t,n){Object.defineProperty(e,t,{get:()=>n})}
  function Nd (line 19) | function Nd(e,t){return{ctx:{table:e},matchAll:n=>ma(n,e)}}
  function ga (line 19) | function ga(e){const t={};for(const n in e)t[n]=n==="dynamic"?new Map(Ob...
  function jd (line 19) | function jd(e){return Nd(ga(e))}
  function ma (line 19) | function ma(e,t,n){e.endsWith("/")&&(e=e.slice(0,-1)||"/");const r=[];fo...
  function fi (line 19) | function fi(e){return[...e.entries()].sort((t,n)=>t[0].length-n[0].length)}
  function es (line 19) | function es(e){if(e===null||typeof e!="object")return!1;const t=Object.g...
  function ws (line 19) | function ws(e,t,n=".",r){if(!es(t))return ws(e,{},n,r);const s=Object.as...
  function Dd (line 19) | function Dd(e){return(...t)=>t.reduce((n,r)=>ws(n,r,"",e),{})}
  function Ud (line 19) | function Ud(e,t){try{return t in e}catch{return!1}}
  class xs (line 19) | class xs extends Error{constructor(n,r={}){super(n,r);ct(this,"statusCod...
    method constructor (line 19) | constructor(n,r={}){super(n,r);ct(this,"statusCode",500);ct(this,"fata...
    method toJSON (line 19) | toJSON(){const n={message:this.message,statusCode:Ss(this.statusCode,5...
  function Bd (line 19) | function Bd(e){if(typeof e=="string")return new xs(e);if(Vd(e))return e;...
  function Vd (line 19) | function Vd(e){var t;return((t=e==null?void 0:e.constructor)==null?void ...
  function ya (line 19) | function ya(e=""){return e.replace(Wd,"")}
  function Ss (line 19) | function Ss(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e...
  function Ts (line 19) | function Ts(e){return na(e.path||"",e.query||{})+(e.hash||"")}
  function di (line 19) | function di(e){const t=Jd(e),n=new ArrayBuffer(t.length),r=new DataView(...
  function Jd (line 19) | function Jd(e){e.length%4===0&&(e=e.replace(/==?$/,""));let t="",n=0,r=0...
  function rp (line 19) | function rp(e,t){return sp(JSON.parse(e),t)}
  function sp (line 19) | function sp(e,t){if(typeof e=="number")return s(e,!0);if(!Array.isArray(...
  function it (line 19) | function it(e){const t=e.replace(/([A-Z])/g,"-$1").toLowerCase(),n=t.ind...
  function Sa (line 19) | function Sa(e){return Object.fromEntries(Object.entries(e).filter(([t,n]...
  function Es (line 19) | function Es(e){return Array.isArray(e)?e.map(Es):!e||typeof e!="object"?...
  function Ta (line 19) | function Ta(e,t={}){const{entrySeparator:n="",keyValueSeparator:r="",wra...
  function hi (line 19) | function hi(e,t){const n=Sa(t),r=it(e),s=Ea(r);if(!no.has(r))return[{[s]...
  function Ea (line 19) | function Ea(e){var r;if(((r=xa[e])==null?void 0:r.metaKey)==="http-equiv...
  function dp (line 19) | function dp(e){return fp[e]||it(e)}
  function pp (line 19) | function pp(e,t){var n;return t==="refresh"?`${e.seconds};url=${e.url}`:...
  function fr (line 19) | function fr(e){const t=[],n={};for(const[s,o]of Object.entries(e)){if(Ar...
  function Ca (line 19) | function Ca(e){const t=e.split(":")[1];return no.has(t)}
  function Cs (line 19) | function Cs(e){const{props:t,tag:n}=e;if(ap.has(n))return n;if(n==="link...
  function gi (line 19) | function gi(e){const t=e._h||e._d;if(t)return t;const n=e.textContent||e...
  function dr (line 19) | function dr(e,t,n){typeof e==="function"&&(!n||n!=="titleTemplate"&&!(n[...
  function mp (line 19) | function mp(e,t){const n=e==="style"?new Map:new Set;function r(s){const...
  function Aa (line 19) | function Aa(e,t){return e.props=e.props||{},t&&Object.entries(t).forEach...
  function yp (line 19) | function yp(e,t){const n=typeof t=="object"&&typeof t!="function"?t:{[e=...
  function vp (line 19) | function vp(e,t){if(!e)return[];typeof e=="function"&&(e=e());const n=(s...
  function wp (line 19) | function wp(e,t){var o;if(typeof t.tagPriority=="number")return t.tagPri...
  function vi (line 19) | function vi(e,t){const n=typeof t=="function"?t(e):t,r=n.key||String(e.p...
  function xp (line 19) | function xp(e={}){var l;const t=ua();t.addHooks(e.hooks||{});const n=!e....
  function Tp (line 19) | function Tp(e,t,n=!1){var s;let r;if(t==="s"||t==="pageTitle")r=e.pageTi...
  function Un (line 19) | function Un(e,t,n,r=!1){if(typeof e!="string"||!e.includes("%"))return e...
  function Ps (line 19) | async function Ps(e){if(typeof e==="function")return e;if(e instanceof P...
  function Ip (line 19) | function Ip(e){return{install(n){n.config.globalProperties.$unhead=e,n.c...
  function Pa (line 19) | function Pa(){if(xr()){const e=Xe(ro);if(!e)throw new Error("useHead() w...
  function Ra (line 19) | function Ra(e,t={}){const n=t.head||Pa();return n.ssr?n.push(e||{},t):Op...
  function Op (line 19) | function Op(e,t,n={}){const r=ue(!1);let s;return Xt(()=>{const i=r.valu...
  function Hp (line 19) | function Hp(e={},t={}){(t.head||Pa()).use(hp);const{title:r,titleTemplat...
  function ka (line 19) | function ka(e){var n;const t=e||ha();return((n=t==null?void 0:t.ssrConte...
  function Bg (line 19) | function Bg(e,t={}){const n=ka(t.nuxt);if(n)return Ra(e,{head:n,...t})}
  function Lp (line 19) | function Lp(e,t={}){const n=ka(t.nuxt);if(n)return Hp(e,{head:n,...t})}
  function o (line 19) | function o(i){const l=new Event("vite:preloadError",{cancelable:!0});if(...
  function jp (line 19) | function jp(){return qn=$fetch(Xs(`builds/meta/${Yt().app.buildId}.json`...
  function Rr (line 19) | function Rr(){return qn||jp()}
  function so (line 19) | async function so(e){const t=typeof e=="string"?e:e.path;if(await Rr(),!...
  function xi (line 19) | async function xi(e,t={}){const n=await Fp(e,t),r=ge(),s=r._payloadCache...
  function Fp (line 19) | async function Fp(e,t={}){const n=new URL(e,"http://localhost");if(n.hos...
  function Ma (line 19) | async function Ma(e){const t=fetch(e).then(n=>n.text().then(Oa));try{ret...
  function Ia (line 19) | async function Ia(e=ba().path){const t=ge();return e=Ar(e),(await Rr())....
  function Up (line 19) | async function Up(){var r;if(Pt)return Pt;const e=document.getElementByI...
  function Oa (line 19) | async function Oa(e){return await rp(e,ge()._payloadRevivers)}
  function Bp (line 19) | function Bp(e,t){ge()._payloadRevivers[e]=t}
  method setup (line 19) | async setup(e){let t,n;for(const[r,s]of Vp)Bp(r,s);Object.assign(e.paylo...
  function oo (line 19) | async function oo(e,t={}){const n=t.document||e.resolvedOptions.document...
  function Kp (line 19) | function Kp(e={}){var r,s,o;const t=((r=e.domOptions)==null?void 0:r.ren...
  function qp (line 19) | function qp(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}
  function Gp (line 19) | function Gp(e={}){const t=Kp({domOptions:{render:qp(()=>oo(t),Qe)},...e}...
  method setup (line 19) | setup(e){const t=Gp(zp);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1...
  function ts (line 19) | function ts(e){typeof e=="object"&&(e=la({pathname:e.path||"",search:ta(...
  method setup (line 19) | setup(e){const t=Yf(window.location.pathname,Yt().app.baseURL)+window.lo...
  method setup (line 19) | setup(e){et().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const...
  function n (line 19) | async function n(){const r=await Rr();t&&clearTimeout(t),t=setTimeout(n,...
  function rh (line 19) | function rh(e={}){const t=e.path||window.location.pathname;let n={};try{...
  method setup (line 19) | setup(e){const t=et(),n=Yt(),r=new Set;t.beforeEach(()=>{r.clear()}),e.h...
  function Ha (line 19) | async function Ha(e,t=et()){const{path:n,matched:r}=t.resolve(e);if(!r.l...
  function ah (line 19) | function ah(e){const t=e.componentName||"NuxtLink";function n(o){return ...
  function Si (line 19) | function Si(e,t){const n=t==="append"?lr:Ar;return xt(e)&&!e.startsWith(...
  function ch (line 19) | function ch(){const e=ge();if(e._observer)return e._observer;let t=null;...
  function fh (line 19) | function fh(){const e=navigator.connection;return!!(e&&(e.saveData||uh.t...
  function ao (line 19) | function ao(){return Xe(La,()=>`${++ph}`)()}
  function hh (line 19) | function hh(e){Pn(La,e)}
  function pe (line 19) | function pe(e){var t;if(e==null||e.value==null)return null;let n=(t=e.va...
  function Mr (line 19) | function Mr(e,t,...n){if(e in t){let s=t[e];return typeof s=="function"?...
  method constructor (line 19) | constructor(){Ti(this,"current",this.detect()),Ti(this,"currentId",0)}
  method set (line 19) | set(t){this.current!==t&&(this.currentId=0,this.current=t)}
  method reset (line 19) | reset(){this.set(this.detect())}
  method nextId (line 19) | nextId(){return++this.currentId}
  method isServer (line 19) | get isServer(){return this.current==="server"}
  method isClient (line 19) | get isClient(){return this.current==="client"}
  method detect (line 19) | detect(){return typeof window>"u"||typeof document>"u"?"server":"client"}
  function uo (line 19) | function uo(e){if(co.isServer)return null;if(e instanceof Node)return e....
  function $a (line 19) | function $a(e=document.body){return e==null?[]:Array.from(e.querySelecto...
  function po (line 19) | function po(e,t=0){var n;return e===((n=uo(e))==null?void 0:n.body)?!1:M...
  function Na (line 19) | function Na(e){let t=uo(e);Qe(()=>{t&&!po(t.activeElement,0)&&wh(e)})}
  function wh (line 19) | function wh(e){e==null||e.focus({preventScroll:!0})}
  function Sh (line 19) | function Sh(e){var t,n;return(n=(t=e==null?void 0:e.matches)==null?void ...
  function ja (line 19) | function ja(e,t=n=>n){return e.slice().sort((n,r)=>{let s=t(n),o=t(r);if...
  function Th (line 19) | function Th(e,t){return Eh($a(),t,{relativeTo:e})}
  function Eh (line 19) | function Eh(e,t,{sorted:n=!0,relativeTo:r=null,skipElements:s=[]}={}){va...
  function Ch (line 19) | function Ch(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi....
  function Ah (line 19) | function Ah(){return/Android/gi.test(window.navigator.userAgent)}
  function Ph (line 19) | function Ph(){return Ch()||Ah()}
  function Bn (line 19) | function Bn(e,t,n){co.isServer||Xt(r=>{document.addEventListener(e,t,n),...
  function Rh (line 19) | function Rh(e,t,n){co.isServer||Xt(r=>{window.addEventListener(e,t,n),r(...
  function kh (line 19) | function kh(e,t,n=me(()=>!0)){function r(o,i){if(!n.value||o.defaultPrev...
  function Ei (line 19) | function Ei(e,t){if(e)return e;let n=t??"button";if(typeof n=="string"&&...
  function Mh (line 19) | function Mh(e,t){let n=ue(Ei(e.value.type,e.value.as));return An(()=>{n....
  function Ci (line 19) | function Ci(e){return[e.screenX,e.screenY]}
  function Ih (line 19) | function Ih(){let e=ue([-1,-1]);return{wasMoved(t){let n=Ci(t);return e....
  function Oh (line 19) | function Oh({container:e,accept:t,walk:n,enabled:r}){Xt(()=>{let s=e.val...
  function Ir (line 19) | function Ir({visible:e=!0,features:t=0,ourProps:n,theirProps:r,...s}){va...
  function ns (line 19) | function ns({props:e,attrs:t,slots:n,slot:r,name:s}){var o,i;let{as:l,.....
  function Da (line 22) | function Da(e){return e.flatMap(t=>t.type===he?Da(t.children):[t])}
  function Fa (line 22) | function Fa(...e){if(e.length===0)return{};if(e.length===1)return e[0];l...
  function Lh (line 22) | function Lh(e,t=[]){let n=Object.assign({},e);for(let r of t)r in n&&del...
  function $h (line 22) | function $h(e){return e==null?!1:typeof e.type=="string"||typeof e.type=...
  function Nh (line 22) | function Nh(){return Xe(Ua,null)}
  function jh (line 22) | function jh(e){Pn(Ua,e)}
  function Dh (line 22) | function Dh(e){throw new Error("Unexpected object: "+e)}
  function Fh (line 22) | function Fh(e,t){let n=t.resolveItems();if(n.length<=0)return null;let r...
  function Pi (line 22) | function Pi(e){var t,n;let r=(t=e.innerText)!=null?t:"",s=e.cloneNode(!0...
  function Uh (line 22) | function Uh(e){let t=e.getAttribute("aria-label");if(typeof t=="string")...
  function Bh (line 22) | function Bh(e){let t=ue(""),n=ue("");return()=>{let r=pe(e);if(!r)return...
  function Kh (line 22) | function Kh(e){requestAnimationFrame(()=>requestAnimationFrame(e))}
  function Or (line 22) | function Or(e){let t=Xe(Ba,null);if(t===null){let n=new Error(`<${e} /> ...
  method setup (line 22) | setup(e,{slots:t,attrs:n}){let r=ue(1),s=ue(null),o=ue(null),i=ue([]),l=...
  method setup (line 22) | setup(e,{attrs:t,slots:n,expose:r}){var s;let o=(s=e.id)!=null?s:`headle...
  method setup (line 22) | setup(e,{attrs:t,slots:n,expose:r}){var s;let o=(s=e.id)!=null?s:`headle...
  method setup (line 22) | setup(e,{slots:t,attrs:n,expose:r}){var s;let o=(s=e.id)!=null?s:`headle...
  function qh (line 22) | function qh(e,t){return te(),fe("svg",{xmlns:"http://www.w3.org/2000/svg...
  function Gh (line 22) | function Gh(e,t){return te(),fe("svg",{xmlns:"http://www.w3.org/2000/svg...
  function zh (line 22) | function zh(e,t){return te(),fe("svg",{xmlns:"http://www.w3.org/2000/svg...
  function Va (line 22) | function Va(e,t){return te(),fe("svg",{xmlns:"http://www.w3.org/2000/svg...
  function Zh (line 22) | function Zh(e,t){return te(),fe("svg",{xmlns:"http://www.w3.org/2000/svg...
  function Jh (line 22) | function Jh(e,t){return te(),fe("svg",{xmlns:"http://www.w3.org/2000/svg...
  function Yh (line 22) | function Yh(e,t){return te(),fe("svg",{xmlns:"http://www.w3.org/2000/svg...
  function Qh (line 22) | function Qh(e,t){return te(),fe("svg",{xmlns:"http://www.w3.org/2000/svg...
  method setup (line 22) | setup(e){const t=[{title:"Getting Started",href:"https://mercedes-benz.g...
  function ug (line 22) | function ug(e,t){return te(),fe("div",cg,t[0]||(t[0]=[Zs('<svg viewBox="...
  method setup (line 22) | setup(e){return(t,n)=>{const r=fg;return te(),fe("section",dg,[N("div",p...
  method setup (line 22) | setup(e){const t=[{title:"API Orchestration",description:"SecHub orchest...
  function Eg (line 22) | function Eg(e,t){return te(),fe("div",Tg,t[0]||(t[0]=[Zs('<svg viewBox="...
  method setup (line 22) | setup(e){hh(()=>Kc());const t=[{name:"Client",href:"https://mercedes-ben...
  function $g (line 22) | function $g(e,t){const n=io;return te(),fe("footer",Ig,[N("div",Og,[N("d...
  method setup (line 22) | setup(e){return Lp({title:"SecHub | Your security guardian.",description...
  method setup (line 22) | setup(e){const n=e.error;n.stack&&n.stack.split(`
  method setup (line 24) | setup(e){const t=()=>null,n=ge(),r=n.deferHydration();if(n.isHydrating){...
  function o (line 24) | async function o(a){var f;await s.callHook("app:error",a),(f=s.payload)....

FILE: github-actions/scan/__test__/configuration-builder.test.ts
  function logDebug (line 11) | function logDebug(model: SecHubConfiguration){

FILE: github-actions/scan/__test__/integrationtest.test.ts
  function resolveFromEnv (line 91) | function resolveFromEnv(name: string, defaultValue: string): string {
  function initInputMap (line 95) | function initInputMap() {
  function assertActionIsMarkedAsFailed (line 414) | function assertActionIsMarkedAsFailed() {
  function assertActionIsNotMarkedAsFailed (line 418) | function assertActionIsNotMarkedAsFailed() {
  function assertLastClientExitCode (line 422) | function assertLastClientExitCode(context: LaunchContext, exitCode: numb...
  function assertTrafficLight (line 426) | function assertTrafficLight(context: LaunchContext, trafficLight: string) {
  function assertJsonReportContains (line 432) | function assertJsonReportContains(context: LaunchContext, textPart: stri...
  function assertUploadDone (line 437) | function assertUploadDone() {
  function loadHTMLReportAndAssertItContains (line 441) | function loadHTMLReportAndAssertItContains(context: LaunchContext, textP...
  function loadSpdxJsonReportAndAssertItContains (line 455) | function loadSpdxJsonReportAndAssertItContains(context: LaunchContext, t...
  function createDefineFalsePositivesFile (line 469) | function createDefineFalsePositivesFile(context: LaunchContext): string {
  function deleteFile (line 477) | function deleteFile(file: string) {

FILE: github-actions/scan/__test__/integrationtest/testframework.ts
  class IntegrationTestContext (line 5) | class IntegrationTestContext {
    method finish (line 13) | public finish() {

FILE: github-actions/scan/__test__/sechub-cli.test.ts
  function mockSpawn (line 47) | function mockSpawn(exitCode = 0, signal: NodeJS.Signals | null = null) {

FILE: github-actions/scan/src/action-helper.ts
  function failAction (line 9) | function failAction(exitCode: number): void {
  function handleError (line 17) | function handleError(error: string | Error): void {

FILE: github-actions/scan/src/client-download.ts
  function downloadClientRelease (line 17) | async function downloadClientRelease(context: LaunchContext): Promise<vo...

FILE: github-actions/scan/src/client-version-helper.ts
  function getClientVersion (line 7) | async function getClientVersion(clientVersion: string): Promise<string> {
  function isValidVersion (line 31) | function isValidVersion(version: string): boolean {
  function getRedirectUrl (line 39) | async function getRedirectUrl(url: string): Promise<string> {

FILE: github-actions/scan/src/configuration-builder.ts
  function createSecHubConfigJsonFile (line 14) | function createSecHubConfigJsonFile(secHubJsonTargetFilePath: string, da...
  function createSecHubConfigJsonString (line 28) | function createSecHubConfigJsonString(data: SecHubConfigurationModelBuil...
  class SecHubConfigurationModelBuilderData (line 34) | class SecHubConfigurationModelBuilderData {
  function createSecHubConfigurationModel (line 54) | function createSecHubConfigurationModel(builderData: SecHubConfiguration...
  function createSourceOrBinaryDataReference (line 96) | function createSourceOrBinaryDataReference(referenceName: string, builde...
  function isStringInArrayIgnoreCase (line 121) | function isStringInArrayIgnoreCase(target: string, array: string[]): boo...

FILE: github-actions/scan/src/configuration-model-customizer.ts
  constant ADDITIONAL_EXCLUDES (line 3) | const ADDITIONAL_EXCLUDES: string[] = ['**/.sechub-gha/**']
  function addAdditonalExcludes (line 14) | function addAdditonalExcludes(sechubConfigJson: any): void {
  function handleDataSection (line 19) | function handleDataSection(dataSection: any) {
  function handleLegacyCodeScanSection (line 39) | function handleLegacyCodeScanSection(codeScan: any){

FILE: github-actions/scan/src/content-type.ts
  class ContentType (line 5) | class ContentType {
    method isSource (line 10) | public static isSource(data: string | undefined): boolean {
    method isBinary (line 17) | public static isBinary(data: string | undefined): boolean {
    method safeAcceptedContentType (line 24) | static safeAcceptedContentType(contentType: string): string {

FILE: github-actions/scan/src/environment.ts
  function initEnvironmentVariables (line 10) | function initEnvironmentVariables(data: GitHubInputData, projectName: st...
  function getValueIfNotVariable (line 21) | function getValueIfNotVariable(valueOrEnvName: string): string | undefin...

FILE: github-actions/scan/src/exitcode.ts
  function logExitCode (line 27) | function logExitCode(code: number) {

FILE: github-actions/scan/src/fs-helper.ts
  function getWorkspaceDir (line 19) | function getWorkspaceDir(): string {
  function ensureDirectorySync (line 40) | function ensureDirectorySync(path: string) {
  function chmodSync (line 53) | function chmodSync(path: string) {
  function downloadFile (line 62) | async function downloadFile(url: string, dest: string) {
  function unzipFile (line 83) | async function unzipFile(zipPath: string, dest: string) {
  function getFiles (line 96) | function getFiles(pattern: string): string[] {
  function deleteDirectoryExceptGivenFile (line 116) | function deleteDirectoryExceptGivenFile(directoryToCleanUp: string, file...

FILE: github-actions/scan/src/fs-wrapper.ts
  function readFileSync (line 13) | function readFileSync(filePath: string, options:
  function openSync (line 26) | function openSync(path: fs.PathLike, flags: fs.OpenMode, mode?: fs.Mode ...
  function closeSync (line 34) | function closeSync(fd: number): void {
  function mkdtempSync (line 47) | function mkdtempSync(prefix: string, options?: fs.EncodingOption): string {

FILE: github-actions/scan/src/github-input.ts
  constant PARAM_CONFIG_PATH (line 5) | const PARAM_CONFIG_PATH = 'config-path';
  constant PARAM_SECHUB_SERVER_URL (line 6) | const PARAM_SECHUB_SERVER_URL = 'url';
  constant PARAM_API_TOKEN (line 7) | const PARAM_API_TOKEN = 'api-token';
  constant PARAM_SECHUB_USER (line 8) | const PARAM_SECHUB_USER = 'user';
  constant PARAM_PROJECT_NAME (line 9) | const PARAM_PROJECT_NAME = 'project-name';
  constant PARAM_CLIENT_VERSION (line 10) | const PARAM_CLIENT_VERSION = 'version';
  constant PARAM_ADD_SCM_HISTORY (line 11) | const PARAM_ADD_SCM_HISTORY = 'add-scm-history';
  constant PARAM_DEBUG (line 12) | const PARAM_DEBUG = 'debug';
  constant PARAM_INCLUDED_FOLDERS (line 13) | const PARAM_INCLUDED_FOLDERS = 'include-folders';
  constant PARAM_EXCLUDED_FOLDERS (line 14) | const PARAM_EXCLUDED_FOLDERS = 'exclude-folders';
  constant PARAM_REPORT_FORMATS (line 15) | const PARAM_REPORT_FORMATS = 'report-formats';
  constant PARAM_FAIL_JOB_ON_FINDING (line 16) | const PARAM_FAIL_JOB_ON_FINDING = 'fail-job-with-findings';
  constant PARAM_TRUST_ALL (line 17) | const PARAM_TRUST_ALL = 'trust-all';
  constant PARAM_SCAN_TYPES (line 19) | const PARAM_SCAN_TYPES = 'scan-types';
  constant PARAM_CONTENT_TYPE (line 20) | const PARAM_CONTENT_TYPE = 'content-type';
  constant PARAM_DEFINE_FALSE_POSITIVES (line 21) | const PARAM_DEFINE_FALSE_POSITIVES= 'define-false-positives';
  constant PARAM_CLIENT_BUILD_FOLDER (line 24) | const PARAM_CLIENT_BUILD_FOLDER = 'client-build-folder';
  type GitHubInputData (line 26) | interface GitHubInputData {
  constant INPUT_DATA_DEFAULTS (line 48) | const INPUT_DATA_DEFAULTS: GitHubInputData = {
  function resolveGitHubInputData (line 69) | function resolveGitHubInputData(): GitHubInputData {
  function getParam (line 98) | function getParam(param: string): string {

FILE: github-actions/scan/src/init-scan.ts
  function initSecHubJson (line 17) | function initSecHubJson(secHubJsonTargetFilePath: string, customSecHubCo...
  function initReportFormats (line 45) | function initReportFormats(reportFormats: string): string[] {
  function ensureJsonReportAtBeginning (line 61) | function ensureJsonReportAtBeginning(reportFormats: string[]): void {

FILE: github-actions/scan/src/input-helper.ts
  constant COMMA (line 7) | const COMMA = ',';
  function split (line 15) | function split(input: string): string[] {
  function safeAcceptedScanTypes (line 24) | function safeAcceptedScanTypes(data: string[]): string[] {
  function resolveProxyConfig (line 67) | function resolveProxyConfig(): URL | undefined {
  function equalIgnoreCase (line 83) | function equalIgnoreCase(string1: string, string2: string): boolean {

FILE: github-actions/scan/src/json-helper.ts
  function getFieldFromJson (line 11) | function getFieldFromJson(field: string, jsonData: any): any | undefined {

FILE: github-actions/scan/src/launcher.ts
  function launch (line 27) | async function launch(): Promise<LaunchContext> {
  type LaunchContext (line 47) | interface LaunchContext {
  constant LAUNCHER_CONTEXT_DEFAULTS (line 74) | const LAUNCHER_CONTEXT_DEFAULTS: LaunchContext = {
  function resolveClientDownloadFolder (line 96) | function resolveClientDownloadFolder(clientVersion: string, gitHubInputD...
  function createContext (line 116) | async function createContext(): Promise<LaunchContext> {
  function createSafeBuilderData (line 164) | function createSafeBuilderData(gitHubInputData: GitHubInputData) {
  function init (line 175) | async function init(context: LaunchContext) {
  function executeScan (line 186) | async function executeScan(context: LaunchContext) {
  function executeDefineFalsePositives (line 196) | function executeDefineFalsePositives(context: LaunchContext) {
  function postScan (line 202) | async function postScan(context: LaunchContext): Promise<void> {

FILE: github-actions/scan/src/main.ts
  function main (line 8) | async function main(): Promise<void> {

FILE: github-actions/scan/src/output-helper.ts
  function storeOutput (line 22) | function storeOutput(field: string, value: string) {

FILE: github-actions/scan/src/platform-helper.ts
  function getPlatform (line 5) | function getPlatform() {
  function getPlatformDirectory (line 9) | function getPlatformDirectory(): string {

FILE: github-actions/scan/src/post-scan.ts
  constant NEW_LINE_SEPARATOR (line 15) | const NEW_LINE_SEPARATOR = '\n';
  function collectReportData (line 20) | function collectReportData(context: LaunchContext) {
  function collectJsonReportData (line 29) | function collectJsonReportData(context: LaunchContext) {
  function downloadOtherReportsThanJson (line 52) | function downloadOtherReportsThanJson(context: LaunchContext) {
  function asJsonObject (line 73) | function asJsonObject(text: string): object | undefined {
  function uploadArtifact (line 88) | async function uploadArtifact(context: LaunchContext, name: string, file...
  function resolveReportNameForScanJob (line 125) | function resolveReportNameForScanJob(context: LaunchContext): string {
  function reportOutputs (line 159) | function reportOutputs(jsonData: any): string {
  function analyzeFindings (line 185) | function analyzeFindings(jsonData: any): { mediumCount: number; highCoun...
  function buildSummary (line 238) | function buildSummary(trafficLight: string, totalFindings: number, findi...
  function setOutput (line 279) | function setOutput(field: string, value: any, dataFormat: string) {

FILE: github-actions/scan/src/projectname-resolver.ts
  function resolveProjectName (line 12) | function resolveProjectName(gitHubInputData: GitHubInputData, configFile...
  function asJsonObject (line 39) | function asJsonObject(text: string): object | undefined {

FILE: github-actions/scan/src/report-formats.ts
  function getValidFormatsFromInput (line 11) | function getValidFormatsFromInput(inputFormats: string): string[] {

FILE: github-actions/scan/src/sechub-cli.ts
  function scan (line 16) | async function scan(context: LaunchContext) {
  function spawnAndWait (line 55) | function spawnAndWait(command: string, args: string[], options: SpawnOpt...
  function logAndCloseStdOutFile (line 84) | function logAndCloseStdOutFile(prefix: string, stdOutFd:number, stdOutFi...
  function extractJobUUID (line 95) | function extractJobUUID(output: string): string {
  function getReport (line 122) | function getReport(jobUUID: string, reportFormat: string, context: Launc...
  function defineFalsePositives (line 159) | function defineFalsePositives(context: LaunchContext) {

FILE: github-actions/scan/src/shell-arg-sanitizer.ts
  constant SHELL_ARGUMENT_CHARACTER_WHITELIST (line 6) | const SHELL_ARGUMENT_CHARACTER_WHITELIST = /^[a-zA-Z0-9._\-\/ ]+$/;
  constant FULL_WORD (line 7) | const FULL_WORD = /^[a-zA-Z]+$/;
  function sanitize (line 22) | function sanitize(arg: string): string {
  class CommandInjectionError (line 46) | class CommandInjectionError extends Error {
    method constructor (line 49) | constructor(msg: string) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/SecHubActivator.java
  class SecHubActivator (line 16) | public class SecHubActivator extends AbstractUIPlugin {
    method start (line 25) | @Override
    method stop (line 38) | @Override
    method getDefault (line 49) | public static SecHubActivator getDefault() {
    method getImporter (line 53) | public SecHubReportImporter getImporter() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/SecHubPerspective.java
  class SecHubPerspective (line 13) | public class SecHubPerspective implements IPerspectiveFactory {
    method createInitialLayout (line 15) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/SecHubWorkbenchListener.java
  class SecHubWorkbenchListener (line 13) | public class SecHubWorkbenchListener implements IWorkbenchListener {
    method preShutdown (line 15) | @Override
    method postShutdown (line 23) | @Override
    method storeCurrentSelectedProject (line 27) | private void storeCurrentSelectedProject() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/access/SecHubAccessFactory.java
  class SecHubAccessFactory (line 8) | public class SecHubAccessFactory {
    method create (line 10) | public static SecHubAccess create() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/callhierarchy/SecHubCallHierarchyView.java
  class SecHubCallHierarchyView (line 56) | public class SecHubCallHierarchyView extends ViewPart {
    method createPartControl (line 86) | @Override
    method createComponents (line 101) | private void createComponents(Composite parent) {
    method createContextMenu (line 184) | private void createContextMenu() {
    method setFocus (line 194) | @Override
    method createColumns (line 199) | private void createColumns() {
    method makeActions (line 203) | private void makeActions() {
    method contributeToActionBars (line 212) | private void contributeToActionBars() {
    method fillLocalToolBar (line 218) | private void fillLocalToolBar(IToolBarManager manager) {
    method fillLocalPullDown (line 227) | private void fillLocalPullDown(IMenuManager manager) {
    method createRightTreeColumns (line 236) | private void createRightTreeColumns() {
    method createTreeViewerColumn (line 252) | private TreeViewerColumn createTreeViewerColumn(TreeViewer viewer, Str...
    method hookSelectionListener (line 261) | private void hookSelectionListener() {
    method openFirstSelectionInTreeByEditor (line 289) | private void openFirstSelectionInTreeByEditor() {
    method searchInProjectsForFinding (line 303) | private void searchInProjectsForFinding(FindingNode finding) {
    method selectNodeOnRightTree (line 307) | private void selectNodeOnRightTree(FindingNode node) {
    method update (line 319) | public void update(FindingModel model) {
    class AbstractNodeSelectionAction (line 338) | private abstract class AbstractNodeSelectionAction extends Action {
      method run (line 340) | public final void run() {
      method calculateNextNodeToSelect (line 360) | protected abstract FindingNode calculateNextNodeToSelect(FindingNode...
    class MoveToFirstStepAction (line 363) | private class MoveToFirstStepAction extends AbstractNodeSelectionAction {
      method MoveToFirstStepAction (line 364) | public MoveToFirstStepAction() {
      method calculateNextNodeToSelect (line 370) | @Override
    class MoveToLastStepAction (line 379) | private class MoveToLastStepAction extends AbstractNodeSelectionAction {
      method MoveToLastStepAction (line 380) | public MoveToLastStepAction() {
      method calculateNextNodeToSelect (line 386) | @Override
    class MoveToStepBeforeAction (line 395) | private class MoveToStepBeforeAction extends AbstractNodeSelectionActi...
      method MoveToStepBeforeAction (line 396) | public MoveToStepBeforeAction() {
      method calculateNextNodeToSelect (line 402) | @Override
    class MoveToNextStepAction (line 412) | private class MoveToNextStepAction extends AbstractNodeSelectionAction {
      method MoveToNextStepAction (line 413) | public MoveToNextStepAction() {
      method calculateNextNodeToSelect (line 419) | @Override
    class OpenCallHierarchyEntryInEditor (line 431) | private class OpenCallHierarchyEntryInEditor extends Action{
      method OpenCallHierarchyEntryInEditor (line 432) | public OpenCallHierarchyEntryInEditor() {
      method run (line 437) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/component/DragAndDropCallback.java
  type DragAndDropCallback (line 4) | public interface DragAndDropCallback {
    method drop (line 6) | void drop(DragAndDropData data);

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/component/DragAndDropData.java
  class DragAndDropData (line 8) | public class DragAndDropData {
    method add (line 12) | public void add(File file) {
    method getFiles (line 16) | public List<File> getFiles() {
    method getFirstFileOrNull (line 20) | public File getFirstFileOrNull() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/component/DragAndDropSupport.java
  class DragAndDropSupport (line 29) | public class DragAndDropSupport {
    method enableDragAndDrop (line 31) | public void enableDragAndDrop(Control dropControl, DragAndDropCallback...

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/component/FileChooser.java
  class FileChooser (line 21) | public class FileChooser extends Composite {
    method FileChooser (line 27) | public FileChooser(Composite parent) {
    method createContent (line 32) | public void createContent() {
    method getText (line 69) | public String getText() {
    method getTextControl (line 73) | public Text getTextControl() {
    method getFile (line 77) | public File getFile() {
    method getTitle (line 89) | public String getTitle() {
    method setTitle (line 93) | public void setTitle(String title) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/component/ServerChooser.java
  class ServerChooser (line 14) | public class ServerChooser extends Composite {
    method ServerChooser (line 17) | public ServerChooser(Composite parent) {
    method createContent (line 22) | public void createContent() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/decorators/SecHubReportJSONFileDecorator.java
  class SecHubReportJSONFileDecorator (line 12) | public class SecHubReportJSONFileDecorator implements ILightweightLabelD...
    method decorate (line 19) | public void decorate(Object element, IDecoration decoration) {
    method addListener (line 33) | public void addListener(ILabelProviderListener listener) {
    method dispose (line 36) | public void dispose() {
    method isLabelProperty (line 39) | public boolean isLabelProperty(Object element, String property) {
    method removeListener (line 43) | public void removeListener(ILabelProviderListener listener) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/handlers/SecHubJobImportByContextMenuHandler.java
  class SecHubJobImportByContextMenuHandler (line 21) | public class SecHubJobImportByContextMenuHandler extends AbstractHandler {
    method execute (line 23) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/handlers/SecHubJobImportHandler.java
  class SecHubJobImportHandler (line 15) | public class SecHubJobImportHandler extends AbstractHandler {
    method execute (line 17) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/model/WorkspaceFindingNodeLocator.java
  class WorkspaceFindingNodeLocator (line 41) | public class WorkspaceFindingNodeLocator {
    method WorkspaceFindingNodeLocator (line 46) | public WorkspaceFindingNodeLocator(IWorkbench workbench) {
    method searchInProjectsForFindingAndShowInEditor (line 50) | public void searchInProjectsForFindingAndShowInEditor(FindingNode find...
    method searchInProjectsForFindingAndShowInEditorInternal (line 56) | private IStatus searchInProjectsForFindingAndShowInEditorInternal(Find...
    method searchForFindingInFile (line 137) | private FindingMatchType searchForFindingInFile(IFile file, FindingNod...
    method selectFindingInEditor (line 188) | private FindingMatchType selectFindingInEditor(FindingNode finding, IT...
    method getShell (line 213) | private Shell getShell() {
    type FindingMatchType (line 220) | private enum FindingMatchType {
    class FindingNodeLocatorJob (line 233) | private class FindingNodeLocatorJob extends UIJob {
      method FindingNodeLocatorJob (line 237) | public FindingNodeLocatorJob(FindingNode finding) {
      method runInUIThread (line 242) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/preferences/PreferenceIdConstants.java
  class PreferenceIdConstants (line 4) | public class PreferenceIdConstants {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/preferences/SecHubPreferences.java
  class SecHubPreferences (line 11) | public class SecHubPreferences {
    method SecHubPreferences (line 17) | private SecHubPreferences() {
    method get (line 21) | public static SecHubPreferences get() {
    method openServerPreferences (line 25) | public void openServerPreferences() {
    method openPreferencePage (line 29) | public void openPreferencePage(String id, boolean blockOnOpen) {
    method getServerURL (line 39) | public String getServerURL() {
    method getSecureStorageAccess (line 43) | public SecureStorageAccess getSecureStorageAccess() {
    method getScopedPreferenceStore (line 47) | public ScopedPreferenceStore getScopedPreferenceStore() {
    method getTrustAll (line 51) | public boolean getTrustAll() {
    method isUsingCustomWebUIUrl (line 55) | public boolean isUsingCustomWebUIUrl() {
    method getCustomWebUIUrl (line 59) | public String getCustomWebUIUrl() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/preferences/SechubPreferenceInitializer.java
  class SechubPreferenceInitializer (line 7) | public class SechubPreferenceInitializer extends AbstractPreferenceIniti...
    method initializeDefaultPreferences (line 9) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/preferences/SechubPreferencePage.java
  class SechubPreferencePage (line 25) | public class SechubPreferencePage extends FieldEditorPreferencePage impl...
    method SechubPreferencePage (line 43) | public SechubPreferencePage() {
    method init (line 47) | @Override
    method createFieldEditors (line 54) | @Override
    method updateCustomWebUIUrlField (line 96) | private void updateCustomWebUIUrlField() {
    method initialize (line 106) | @Override
    method performOk (line 123) | @Override
    method validateServerURL (line 176) | private void validateServerURL() throws URISyntaxException {
    method addHttpsProtocol (line 180) | private void addHttpsProtocol() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/preferences/SecureStorageAccess.java
  class SecureStorageAccess (line 8) | public class SecureStorageAccess {
    method SecureStorageAccess (line 15) | public SecureStorageAccess() {
    method getSecurePreferences (line 20) | public ISecurePreferences getSecurePreferences() {
    method storeSecureStorage (line 24) | public void storeSecureStorage(String username, String password) throw...
    method getUserId (line 29) | public String getUserId() throws StorageException {
    method getApiToken (line 34) | public String getApiToken() throws StorageException {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/CallHierarchyLabelProvider.java
  class CallHierarchyLabelProvider (line 14) | public class CallHierarchyLabelProvider extends LabelProvider implements...
    method CallHierarchyLabelProvider (line 18) | public CallHierarchyLabelProvider() {
    method getStyledText (line 22) | @Override
    method getImage (line 41) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/FindingModelTreeContentProvider.java
  class FindingModelTreeContentProvider (line 9) | public class FindingModelTreeContentProvider implements ITreeContentProv...
    method getElements (line 12) | @Override
    method getChildren (line 21) | @Override
    method getParent (line 30) | @Override
    method hasChildren (line 39) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/FirstFindingNodesOnlyFindingModelTreeContentProvider.java
  class FirstFindingNodesOnlyFindingModelTreeContentProvider (line 4) | public class FirstFindingNodesOnlyFindingModelTreeContentProvider extend...
    method hasChildren (line 6) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/OnlyInputElementItselfTreeContentProvider.java
  class OnlyInputElementItselfTreeContentProvider (line 6) | public class OnlyInputElementItselfTreeContentProvider implements ITreeC...
    method getElements (line 10) | @Override
    method getChildren (line 15) | @Override
    method getParent (line 20) | @Override
    method hasChildren (line 25) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/AbstractSecHubFindingNodeColumnLabelProvider.java
  class AbstractSecHubFindingNodeColumnLabelProvider (line 8) | abstract class AbstractSecHubFindingNodeColumnLabelProvider extends Colu...
    method getText (line 9) | @Override
    method getTextForNode (line 18) | protected abstract String getTextForNode(FindingNode element);
    method getTextForInteger (line 20) | protected String getTextForInteger(Integer integer) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/ColumnColumnLabelProvider.java
  class ColumnColumnLabelProvider (line 6) | final class ColumnColumnLabelProvider extends AbstractSecHubFindingNodeC...
    method getTextForNode (line 7) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/DescriptionColumnLabelProvider.java
  class DescriptionColumnLabelProvider (line 6) | final class DescriptionColumnLabelProvider extends AbstractSecHubFinding...
    method getTextForNode (line 7) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/FalsePositiveFindingNodeColumnLabelProvider.java
  class FalsePositiveFindingNodeColumnLabelProvider (line 13) | final class FalsePositiveFindingNodeColumnLabelProvider extends ColumnLa...
    method getImage (line 17) | @Override
    method getText (line 25) | @Override
    method getToolTipText (line 30) | @Override
    method getImageForNode (line 48) | private Image getImageForNode(FindingNode element) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/FileNameColumnLabelProvider.java
  class FileNameColumnLabelProvider (line 6) | final class FileNameColumnLabelProvider extends AbstractSecHubFindingNod...
    method getTextForNode (line 7) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/FindingNodeColumLabelProviderBundle.java
  class FindingNodeColumLabelProviderBundle (line 4) | public class FindingNodeColumLabelProviderBundle {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/IdColumnLabelProvider.java
  class IdColumnLabelProvider (line 6) | final class IdColumnLabelProvider extends AbstractSecHubFindingNodeColum...
    method getTextForNode (line 7) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/LineColumnLabelProvider.java
  class LineColumnLabelProvider (line 6) | final class LineColumnLabelProvider extends AbstractSecHubFindingNodeCol...
    method getTextForNode (line 7) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/LocationColumnLabelProvider.java
  class LocationColumnLabelProvider (line 6) | final class LocationColumnLabelProvider extends AbstractSecHubFindingNod...
    method getTextForNode (line 7) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/RelevantPartColumnLabelProvider.java
  class RelevantPartColumnLabelProvider (line 6) | final class RelevantPartColumnLabelProvider extends AbstractSecHubFindin...
    method getTextForNode (line 7) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/ScanTypeColumnLabelProvider.java
  class ScanTypeColumnLabelProvider (line 12) | final class ScanTypeColumnLabelProvider extends ColumnLabelProvider {
    method getToolTipText (line 15) | @Override
    method getText (line 31) | @Override
    method getImage (line 36) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/SeverityColumnLabelProvider.java
  class SeverityColumnLabelProvider (line 7) | final class SeverityColumnLabelProvider extends AbstractSecHubFindingNod...
    method getTextForNode (line 8) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/SourceColumnLabelProvider.java
  class SourceColumnLabelProvider (line 6) | final class SourceColumnLabelProvider extends AbstractSecHubFindingNodeC...
    method getTextForNode (line 7) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/findings/StepColumnLabelProvider.java
  class StepColumnLabelProvider (line 6) | final class StepColumnLabelProvider extends AbstractSecHubFindingNodeCol...
    method getTextForNode (line 7) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/joblist/DateTimeColumnLabelProvider.java
  class DateTimeColumnLabelProvider (line 11) | public class DateTimeColumnLabelProvider extends ColumnLabelProvider {
    method getText (line 15) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/joblist/ExecutedByColumnLabelProvider.java
  class ExecutedByColumnLabelProvider (line 8) | public class ExecutedByColumnLabelProvider extends ColumnLabelProvider {
    method getText (line 10) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/joblist/JobUUIDColumnLabelProvider.java
  class JobUUIDColumnLabelProvider (line 8) | public class JobUUIDColumnLabelProvider extends ColumnLabelProvider {
    method getText (line 10) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/joblist/ResultColumnLabelProvider.java
  class ResultColumnLabelProvider (line 9) | public class ResultColumnLabelProvider extends ColumnLabelProvider {
    method getText (line 11) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/joblist/StatusColumnLabelProvider.java
  class StatusColumnLabelProvider (line 9) | public class StatusColumnLabelProvider extends ColumnLabelProvider {
    method getText (line 11) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/provider/joblist/TrafficLightLabelProvider.java
  class TrafficLightLabelProvider (line 11) | public class TrafficLightLabelProvider extends ColumnLabelProvider {
    method getText (line 13) | @Override
    method getImage (line 18) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/DeleteFalsePositivesByReportViewAction.java
  class DeleteFalsePositivesByReportViewAction (line 18) | public class DeleteFalsePositivesByReportViewAction extends Action {
    method DeleteFalsePositivesByReportViewAction (line 23) | public DeleteFalsePositivesByReportViewAction(SecHubReportView secHubR...
    method run (line 32) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/MarkFalsePositivesAction.java
  class MarkFalsePositivesAction (line 19) | public class MarkFalsePositivesAction extends Action {
    method MarkFalsePositivesAction (line 24) | public MarkFalsePositivesAction(SecHubReportView secHubReportView) {
    method run (line 32) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/MarkJobFalsePositivesDialog.java
  class MarkJobFalsePositivesDialog (line 15) | public class MarkJobFalsePositivesDialog extends Dialog {
    method MarkJobFalsePositivesDialog (line 22) | public MarkJobFalsePositivesDialog(Shell parentShell, int amountOfFind...
    method configureShell (line 27) | @Override
    method createDialogArea (line 34) | @Override
    method createRadioButton (line 61) | private Button createRadioButton(String text, Composite group) {
    method okPressed (line 67) | @Override
    method getComment (line 87) | public String getComment() {
    method getShellStyle (line 91) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/ReportInfoAction.java
  class ReportInfoAction (line 11) | public class ReportInfoAction extends Action {
    method ReportInfoAction (line 17) | public ReportInfoAction(SecHubReportView view) {
    method run (line 25) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/ReportInfoDialog.java
  class ReportInfoDialog (line 22) | public class ReportInfoDialog extends Dialog {
    method ReportInfoDialog (line 27) | public ReportInfoDialog(Shell parentShell, SecHubReport report) {
    method configureShell (line 32) | @Override
    method createButtonsForButtonBar (line 39) | @Override
    method createDialogArea (line 45) | @Override
    method getShellStyle (line 89) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/SecHubReportImportDialog.java
  class SecHubReportImportDialog (line 21) | public class SecHubReportImportDialog extends Dialog {
    method SecHubReportImportDialog (line 25) | public SecHubReportImportDialog(Shell parentShell) {
    method createDialogArea (line 29) | @Override
    method configureShell (line 38) | @Override
    method isResizable (line 44) | @Override
    method createButtonsForButtonBar (line 49) | @Override
    method okPressed (line 55) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/SecHubReportImportWizard.java
  class SecHubReportImportWizard (line 13) | public class SecHubReportImportWizard extends Wizard implements IImportW...
    method SecHubReportImportWizard (line 17) | public SecHubReportImportWizard() {
    method performFinish (line 21) | public boolean performFinish() {
    method init (line 29) | public void init(IWorkbench workbench, IStructuredSelection selection) {
    method addPages (line 35) | public void addPages() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/SecHubReportImportWizardPage.java
  class SecHubReportImportWizardPage (line 19) | public class SecHubReportImportWizardPage extends WizardPage {
    method SecHubReportImportWizardPage (line 24) | public SecHubReportImportWizardPage(String pageName) {
    method createAdvancedControls (line 30) | protected void createAdvancedControls(Composite parent) {
    method createLinkTarget (line 35) | protected void createLinkTarget() {
    method getInitialContents (line 38) | protected InputStream getInitialContents() {
    method getNewFileLabel (line 46) | protected String getNewFileLabel() {
    method validateLinkedResource (line 50) | protected IStatus validateLinkedResource() {
    method createControl (line 54) | @Override
    method getFile (line 72) | protected File getFile() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/SecHubReportImporter.java
  class SecHubReportImporter (line 19) | public class SecHubReportImporter {
    method importAndDisplayReport (line 21) | public void importAndDisplayReport(File reportFile) {
    method importAndDisplayReport (line 25) | public void importAndDisplayReport(SecHubReport report, String project...
    method importByJob (line 29) | private void importByJob(Job job) {
    method importAndDisplayReportInsideJob (line 34) | private IStatus importAndDisplayReportInsideJob(File reportFile, IProg...
    method importAndDisplayReportInsideJob (line 66) | private IStatus importAndDisplayReportInsideJob(SecHubReport report, S...
    method importReportAndDisplay (line 75) | private void importReportAndDisplay(SecHubReport report, String projec...
    method isReadReportProblemExistingAndHandled (line 81) | private IStatus isReadReportProblemExistingAndHandled(File reportFile) {
    class SecHubReportFileImportJob (line 94) | private class SecHubReportFileImportJob extends Job {
      method SecHubReportFileImportJob (line 98) | public SecHubReportFileImportJob(File reportFile) {
      method run (line 103) | @Override
    class SecHubReportImportJob (line 110) | private class SecHubReportImportJob extends Job {
      method SecHubReportImportJob (line 115) | public SecHubReportImportJob(SecHubReport report, String projectId) {
      method run (line 121) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/SecHubReportView.java
  class SecHubReportView (line 67) | public class SecHubReportView extends ViewPart {
    method setFocus (line 103) | @Override
    method createPartControl (line 108) | @Override
    method getModel (line 159) | public FindingModel getModel() {
    method removeAllReportData (line 163) | protected void removeAllReportData() {
    method makeActions (line 167) | private void makeActions() {
    method contributeToActionBars (line 180) | private void contributeToActionBars() {
    method fillLocalToolBar (line 186) | private void fillLocalToolBar(IToolBarManager manager) {
    method fillLocalPullDown (line 197) | private void fillLocalPullDown(IMenuManager manager) {
    method createColumns (line 210) | private void createColumns() {
    method createTreeViewerColumn (line 236) | private TreeViewerColumn createTreeViewerColumn(String title, int widt...
    method hookDoubleClickAction (line 245) | private void hookDoubleClickAction() {
    method openDetailsForFirstSelectedElement (line 253) | protected void openDetailsForFirstSelectedElement() {
    method showFindingInDetailView (line 261) | private void showFindingInDetailView(FindingNode node) {
    method showFindingInCallHierarchyView (line 284) | private void showFindingInCallHierarchyView(FindingNode node) {
    method showFindingInWebFindingView (line 315) | private void showFindingInWebFindingView(FindingNode node) {
    method setReport (line 346) | public void setReport(SecHubReport report) {
    method rebuildFindingModelAndUpdateUI (line 353) | private void rebuildFindingModelAndUpdateUI(boolean selectFirstElement) {
    method importReport (line 386) | public void importReport() {
    method createContextMenu (line 391) | private void createContextMenu() {
    method recalculateActionsEnabledStateBySelection (line 414) | private void recalculateActionsEnabledStateBySelection() {
    method recalculateFalsePositives (line 438) | public void recalculateFalsePositives() {
    class OpenSecHubServerViewAction (line 445) | private class OpenSecHubServerViewAction extends Action {
      method OpenSecHubServerViewAction (line 446) | private OpenSecHubServerViewAction() {
      method run (line 452) | public void run() {
    class ImportSecHubReportAction (line 474) | private class ImportSecHubReportAction extends Action {
      method ImportSecHubReportAction (line 475) | private ImportSecHubReportAction() {
      method run (line 481) | public void run() {
    class RemoveAllReportDataAction (line 486) | private class RemoveAllReportDataAction extends Action {
      method RemoveAllReportDataAction (line 487) | private RemoveAllReportDataAction() {
      method run (line 493) | public void run() {
    method clear (line 498) | public static void clear() {
    method update (line 502) | public static void update(SecHubReport report, boolean activate) {
    method refreshFalsePositives (line 510) | public static void refreshFalsePositives() {
    method findReportViewOrNull (line 517) | private static SecHubReportView findReportViewOrNull(boolean activate) {
    method getCurrentReport (line 545) | public SecHubReport getCurrentReport() {
    method fetchSelectedFindingIds (line 549) | public List<Integer> fetchSelectedFindingIds() {
    class OpenFindingDetailsAction (line 568) | public class OpenFindingDetailsAction extends Action {
      method OpenFindingDetailsAction (line 570) | public OpenFindingDetailsAction() {
      method run (line 576) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/report/SecHubStandardReportNamePatternPropertyTester.java
  class SecHubStandardReportNamePatternPropertyTester (line 8) | public class SecHubStandardReportNamePatternPropertyTester extends Prope...
    method test (line 13) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/JobUUIDDialog.java
  class JobUUIDDialog (line 17) | public class JobUUIDDialog extends Dialog {
    method JobUUIDDialog (line 23) | public JobUUIDDialog(Shell parentShell, String projectId) {
    method configureShell (line 28) | @Override
    method createDialogArea (line 35) | @Override
    method okPressed (line 49) | @Override
    method getShellStyle (line 62) | @Override
    method getJobUUID (line 67) | public UUID getJobUUID() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/NextJobPageSecHubServerViewAction.java
  class NextJobPageSecHubServerViewAction (line 9) | public class NextJobPageSecHubServerViewAction extends Action {
    method NextJobPageSecHubServerViewAction (line 15) | public NextJobPageSecHubServerViewAction(SecHubServerView view) {
    method run (line 23) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/OpenProjectFalsePositivesDialogAction.java
  class OpenProjectFalsePositivesDialogAction (line 10) | public class OpenProjectFalsePositivesDialogAction extends Action {
    method OpenProjectFalsePositivesDialogAction (line 14) | public OpenProjectFalsePositivesDialogAction() {
    method run (line 20) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/OpenSecHubServerPreferencesAction.java
  class OpenSecHubServerPreferencesAction (line 10) | public class OpenSecHubServerPreferencesAction extends Action {
    method OpenSecHubServerPreferencesAction (line 14) | public OpenSecHubServerPreferencesAction() {
    method run (line 20) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/OpenWebUIServerViewAction.java
  class OpenWebUIServerViewAction (line 11) | public class OpenWebUIServerViewAction extends Action {
    method OpenWebUIServerViewAction (line 16) | public OpenWebUIServerViewAction(SecHubServerView view) {
    method run (line 23) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/PreviousJobPageSecHubServerViewAction.java
  class PreviousJobPageSecHubServerViewAction (line 9) | public class PreviousJobPageSecHubServerViewAction extends Action {
    method PreviousJobPageSecHubServerViewAction (line 15) | public PreviousJobPageSecHubServerViewAction(SecHubServerView view) {
    method run (line 23) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/ProjectFalsePositivesDialog.java
  class ProjectFalsePositivesDialog (line 54) | public class ProjectFalsePositivesDialog extends Dialog {
    method ProjectFalsePositivesDialog (line 70) | public ProjectFalsePositivesDialog(Shell parentShell) {
    method configureShell (line 74) | @Override
    method createDialogArea (line 82) | @Override
    method updateJsonViewByServerContext (line 140) | private void updateJsonViewByServerContext(SecHubServerContext instanc...
    method updateTreeViewByServerContext (line 149) | private void updateTreeViewByServerContext(SecHubServerContext instanc...
    method createToolbarAndMenu (line 158) | private void createToolbarAndMenu(Composite jobsComposite) {
    method fillToolbarAndMenu (line 169) | private void fillToolbarAndMenu() {
    method createActions (line 181) | private void createActions() {
    method createContextMenu (line 185) | private void createContextMenu() {
    method createButtonsForButtonBar (line 194) | @Override
    method getShellStyle (line 200) | @Override
    method createColumns (line 205) | private void createColumns() {
    method createTreeViewerColumn (line 227) | private TreeViewerColumn createTreeViewerColumn(TreeViewer treeViewer,...
    class DropdownContributionItem (line 236) | private class DropdownContributionItem extends ContributionItem {
      method DropdownContributionItem (line 241) | public DropdownContributionItem(Menu menu, ToolBar toolBar) {
      method fill (line 247) | @Override
    class DeleteFalsePositiveAction (line 262) | private class DeleteFalsePositiveAction extends Action {
      method DeleteFalsePositiveAction (line 264) | public DeleteFalsePositiveAction() {
      method run (line 270) | @Override
    class JobFalsePositiveInfoLabelProvider (line 327) | private class JobFalsePositiveInfoLabelProvider extends ColumnLabelPro...
      method getImage (line 331) | @Override
      method getText (line 339) | @Override
      method getToolTipText (line 344) | @Override
    class JobFalsePositiveIconLabelProvider (line 352) | private class JobFalsePositiveIconLabelProvider extends ColumnLabelPro...
      method getImage (line 356) | @Override
      method getText (line 364) | @Override
      method getToolTipText (line 369) | @Override
    class JobFalsePositiveLabelProvider (line 378) | private class JobFalsePositiveLabelProvider extends ColumnLabelProvider {
      method JobFalsePositiveLabelProvider (line 382) | private JobFalsePositiveLabelProvider(String type) {
      method getText (line 386) | @Override
    class FalsePositiveTreeContentProvider (line 428) | private class FalsePositiveTreeContentProvider implements ITreeContent...
      method getElements (line 432) | @Override
      method getChildren (line 441) | @Override
      method getParent (line 446) | @Override
      method hasChildren (line 451) | @Override
    class FalsePositivesViewerComparator (line 458) | private class FalsePositivesViewerComparator extends ViewerComparator {
      method compare (line 459) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/RefreshSecHubServerViewAction.java
  class RefreshSecHubServerViewAction (line 9) | public class RefreshSecHubServerViewAction extends Action {
    method RefreshSecHubServerViewAction (line 15) | public RefreshSecHubServerViewAction(SecHubServerView view) {
    method run (line 23) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/SearchJobDirectlyServerViewAction.java
  class SearchJobDirectlyServerViewAction (line 9) | public class SearchJobDirectlyServerViewAction extends Action {
    method SearchJobDirectlyServerViewAction (line 15) | public SearchJobDirectlyServerViewAction(SecHubServerView view) {
    method run (line 23) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/SecHubJobTreeViewContentProvider.java
  class SecHubJobTreeViewContentProvider (line 8) | public class SecHubJobTreeViewContentProvider implements ITreeContentPro...
    method getElements (line 12) | @Override
    method getChildren (line 21) | @Override
    method getParent (line 26) | @Override
    method hasChildren (line 31) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/SecHubProjectSelectionStorage.java
  class SecHubProjectSelectionStorage (line 9) | public class SecHubProjectSelectionStorage {
    method SecHubProjectSelectionStorage (line 15) | private SecHubProjectSelectionStorage() {
    method saveAsSelectedProjectId (line 19) | public static void saveAsSelectedProjectId(String projectId) {
    method loadSelectedProjectId (line 36) | public static String loadSelectedProjectId() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/SecHubServerTreeViewContentProvider.java
  class SecHubServerTreeViewContentProvider (line 9) | public class SecHubServerTreeViewContentProvider implements ITreeContent...
    method getElements (line 13) | @Override
    method getChildren (line 27) | @Override
    method getParent (line 32) | @Override
    method hasChildren (line 40) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/SecHubServerView.java
  class SecHubServerView (line 64) | public class SecHubServerView extends ViewPart {
    method createPartControl (line 97) | @Override
    method loadJobFromRemoteAndDisplay (line 210) | public static void loadJobFromRemoteAndDisplay(UUID jobUUID) {
    method internalLoadJobFromRemoteAndDisplay (line 214) | private static void internalLoadJobFromRemoteAndDisplay(UUID jobUUID) {
    method refreshJobTableForSelectedProject (line 232) | protected void refreshJobTableForSelectedProject() {
    method refreshJobTableByJob (line 238) | private void refreshJobTableByJob() {
    method resetJobTableAndPaging (line 268) | private void resetJobTableAndPaging() {
    method createContextMenu (line 277) | private void createContextMenu() {
    method contributeToActionBars (line 287) | private void contributeToActionBars() {
    method createJobColumns (line 325) | private void createJobColumns() {
    method createTreeViewerColumn (line 348) | private TreeViewerColumn createTreeViewerColumn(TreeViewer viewer, Str...
    method createActions (line 357) | private void createActions() {
    method setFocus (line 371) | @Override
    method refreshServerView (line 376) | public void refreshServerView() {
    method refreshFalsePositives (line 401) | private void refreshFalsePositives() {
    method initContext (line 406) | private void initContext() {
    method refreshProjectCombo (line 464) | private void refreshProjectCombo() {
    method nextPage (line 504) | public void nextPage() {
    method previousPage (line 510) | public void previousPage() {
    method isNextPageEnabled (line 516) | public boolean isNextPageEnabled() {
    method isPreviousPageEnabled (line 520) | public boolean isPreviousPageEnabled() {
    method getSelectedProjectId (line 524) | public String getSelectedProjectId() {
    method searchJobDirectly (line 528) | public void searchJobDirectly() {
    method openFirstSelectedJobInReportView (line 544) | private void openFirstSelectedJobInReportView() {
    class OpenJobInReportViewAction (line 563) | private class OpenJobInReportViewAction extends Action{
      method OpenJobInReportViewAction (line 564) | public OpenJobInReportViewAction() {
      method run (line 569) | @Override
    class RefreshServerJobTableViewJob (line 575) | private class RefreshServerJobTableViewJob extends UIJob {
      method RefreshServerJobTableViewJob (line 577) | public RefreshServerJobTableViewJob() {
      method runInUIThread (line 581) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/SechubServerTreeDecorator.java
  class SechubServerTreeDecorator (line 12) | public class SechubServerTreeDecorator implements ILightweightLabelDecor...
    method decorate (line 17) | @Override
    method addListener (line 33) | @Override
    method dispose (line 38) | @Override
    method isLabelProperty (line 43) | @Override
    method removeListener (line 48) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/server/SechubServerTreeLabelProvider.java
  class SechubServerTreeLabelProvider (line 14) | public class SechubServerTreeLabelProvider extends BaseLabelProvider imp...
    method getImage (line 17) | @Override
    method getStyledText (line 25) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/util/BrowserUtil.java
  class BrowserUtil (line 9) | public class BrowserUtil {
    method openInExternalBrowser (line 11) | public static void openInExternalBrowser(String target) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/util/CweLinkTextCreator.java
  class CweLinkTextCreator (line 7) | public class CweLinkTextCreator {
    method createCweLinkTextWithInfos (line 9) | public static String createCweLinkTextWithInfos(FindingNode node) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/util/EclipseIDELogger.java
  class EclipseIDELogger (line 4) | public class EclipseIDELogger implements IDELogger{
    method logError (line 6) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/util/EclipseUtil.java
  class EclipseUtil (line 39) | public class EclipseUtil {
    method toIFileOrNull (line 43) | public static IFile toIFileOrNull(java.nio.file.Path path) {
    method getImage (line 59) | public static Image getImage(String path, String pluginId) {
    method createImageDescriptor (line 76) | public static ImageDescriptor createImageDescriptor(String path) {
    method createImageDescriptor (line 80) | public static ImageDescriptor createImageDescriptor(String path, Strin...
    method getActiveWorkbenchShell (line 107) | public static Shell getActiveWorkbenchShell() {
    method getActiveWorkbenchWindow (line 120) | public static IWorkbenchWindow getActiveWorkbenchWindow() {
    method getWorkbench (line 141) | private static IWorkbench getWorkbench() {
    class WorkbenchWindowRunnable (line 149) | private static class WorkbenchWindowRunnable implements Runnable {
      method run (line 152) | @Override
    method toFileOrNull (line 163) | public static File toFileOrNull(IPath path) throws CoreException {
    method toFileOrNull (line 174) | public static File toFileOrNull(IResource resource) throws CoreExcepti...
    method toIFileOrNull (line 181) | public static IFile toIFileOrNull(File file) {
    method getSafeDisplay (line 192) | public static Display getSafeDisplay() {
    method safeAsyncExec (line 200) | public static void safeAsyncExec(Runnable runnable) {
    method getActivePage (line 209) | public static IWorkbenchPage getActivePage() {
    class EclipseSubContext (line 227) | private static class EclipseSubContext {
    method createDescriptor (line 232) | public static ImageDescriptor createDescriptor(String path) {
    method getImage (line 242) | public static Image getImage(String path) {
    method getSharedImage (line 261) | public static Image getSharedImage(String symbolicName) {
    method getSharedImageDescriptor (line 265) | public static ImageDescriptor getSharedImageDescriptor(String symbolic...
    method getImageRegistry (line 269) | private static ImageRegistry getImageRegistry() {
    method createErrorStatus (line 273) | public static IStatus createErrorStatus(String message) {
    method createErrorStatus (line 277) | public static IStatus createErrorStatus(String message, Throwable thro...
    method showErrorDialog (line 281) | public static void showErrorDialog(String message, Exception e) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/util/Logging.java
  class Logging (line 10) | public class Logging {
    method logInfo (line 12) | public static void logInfo(String info) {
    method logWarning (line 17) | public static void logWarning(String warning) {
    method logError (line 22) | public static void logError(String error) {
    method logError (line 27) | public static void logError(String error, Throwable throwable) {
    method getLog (line 32) | private static ILog getLog() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/util/ScanTypeImageResolver.java
  class ScanTypeImageResolver (line 8) | public class ScanTypeImageResolver {
    method resolveImage (line 10) | public static Image resolveImage(ScanType scanType) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/util/TrafficLightImageResolver.java
  class TrafficLightImageResolver (line 8) | public class TrafficLightImageResolver {
    method resolveImage (line 10) | public static Image resolveImage(TrafficLight trafficLight) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java-eclipse/com/mercedesbenz/sechub/webfinding/SecHubWebFindingView.java
  class SecHubWebFindingView (line 26) | public class SecHubWebFindingView extends ViewPart {
    method setFocus (line 37) | @Override
    method createPartControl (line 42) | @Override
    method makeActions (line 120) | private void makeActions() {
    method contributeToActionBars (line 123) | private void contributeToActionBars() {
    method update (line 126) | public void update(FindingModel model) {
    method clearDetails (line 151) | private void clearDetails() {
    method importReport (line 158) | public void importReport() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/access/SecHubAccess.java
  class SecHubAccess (line 26) | public class SecHubAccess {
    method SecHubAccess (line 32) | public SecHubAccess(String secHubServerUrl, String userId, String apiT...
    class ServerAccessStatus (line 36) | public class ServerAccessStatus {
      method isAlive (line 41) | public boolean isAlive() {
      method isLoginFaiure (line 45) | public boolean isLoginFaiure() {
      method getUserProjectIds (line 49) | public Set<String> getUserProjectIds() {
    method fetchServerAccessStatus (line 54) | public ServerAccessStatus fetchServerAccessStatus() {
    method initSecHubClient (line 69) | private void initSecHubClient(String secHubServerUrl, String userId, S...
    method isInputMissingOrEmpty (line 92) | private boolean isInputMissingOrEmpty(String secHubServerUrl, String u...
    method fetchProjectList (line 96) | public List<ProjectData> fetchProjectList() throws ApiException {
    method fetchJobInfoList (line 100) | public SecHubJobInfoForUserListPage fetchJobInfoList(String projectId,...
    method downloadJobReport (line 107) | public SecHubReport downloadJobReport(String projectId, UUID jobUUID) ...
    method fetchFalsePositiveProjectData (line 111) | public FalsePositiveProjectConfiguration fetchFalsePositiveProjectData...
    method markJobFalsePositives (line 115) | public void markJobFalsePositives(String projectId, UUID jobUUID, Stri...
    method unmarkJobFalsePositives (line 131) | public void unmarkJobFalsePositives(String projectId, UUID jobUUID, Li...

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/model/FalsePositiveEntriesToJobFindingMapTransformer.java
  class FalsePositiveEntriesToJobFindingMapTransformer (line 12) | public class FalsePositiveEntriesToJobFindingMapTransformer {
    method transform (line 15) | public Map<Integer, FindingNodeFalsePositiveInfo> transform(List<False...

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/model/FileLocationExplorer.java
  class FileLocationExplorer (line 18) | public class FileLocationExplorer {
    method getSearchFolders (line 24) | public List<Path> getSearchFolders() {
    method searchFor (line 36) | public List<Path> searchFor(String location) throws IOException {
    method convertLocationOSSpecificRegExp (line 65) | String convertLocationOSSpecificRegExp(String location, String separat...
    method searchFilesRecursive (line 82) | void searchFilesRecursive(PathMatcher matcher, Path searchFolder, List...
    method find (line 90) | protected static Collection<Path> find(Path searchDirectory, PathMatch...

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/model/FindingModel.java
  class FindingModel (line 11) | public class FindingModel {
    method FindingModel (line 20) | public FindingModel() {
    method getJobUUID (line 24) | public UUID getJobUUID() {
    method getReport (line 28) | public SecHubReport getReport() {
    method setReport (line 32) | public void setReport(SecHubReport report) {
    method setTrafficLight (line 36) | public void setTrafficLight(TrafficLight trafficLight) {
    method getTrafficLight (line 40) | public TrafficLight getTrafficLight() {
    method setJobUUID (line 44) | public void setJobUUID(UUID jobUUID) {
    method getFindingCount (line 48) | public int getFindingCount() {
    method getFindings (line 52) | public List<FindingNode> getFindings() {
    method getFirstFinding (line 56) | public FindingNode getFirstFinding() {
    method setStatus (line 63) | public void setStatus(String status) {
    method getStatus (line 67) | public String getStatus() {
    method setProjectId (line 71) | public void setProjectId(String projectId) {
    method getProjectId (line 75) | public String getProjectId() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/model/FindingNode.java
  class FindingNode (line 16) | public class FindingNode implements Comparable<FindingNode> {
    method FindingNode (line 36) | private FindingNode(UUID jobUUID, String description, String location,...
    class FindingNodeBuilder (line 47) | public static class FindingNodeBuilder {
      method FindingNodeBuilder (line 58) | private FindingNodeBuilder() {
      method setJobUUID (line 62) | public FindingNodeBuilder setJobUUID(UUID jobUUID) {
      method setDescription (line 67) | public FindingNodeBuilder setDescription(String description) {
      method setLocation (line 72) | public FindingNodeBuilder setLocation(String location) {
      method setLine (line 77) | public FindingNodeBuilder setLine(int line) {
      method setColumn (line 82) | public FindingNodeBuilder setColumn(int column) {
      method setCallStackStep (line 87) | public FindingNodeBuilder setCallStackStep(int callStackStep) {
      method setFinding (line 92) | public FindingNodeBuilder setFinding(SecHubFinding finding) {
      method setRelevantPart (line 97) | public FindingNodeBuilder setRelevantPart(String relevantPart) {
      method setSource (line 102) | public FindingNodeBuilder setSource(String source) {
      method build (line 107) | public FindingNode build() {
      method calculateFileNameAndPath (line 117) | private void calculateFileNameAndPath(FindingNode node) {
    method builder (line 138) | public static FindingNodeBuilder builder() {
    method getJobUUID (line 142) | public UUID getJobUUID() {
    method getParent (line 146) | public FindingNode getParent() {
    method addChild (line 150) | public boolean addChild(FindingNode finding) {
    method getChildren (line 159) | public List<FindingNode> getChildren() {
    method hasChildren (line 163) | public boolean hasChildren() {
    method getDescription (line 173) | public String getDescription() {
    method getLocation (line 177) | public String getLocation() {
    method getLine (line 181) | public Integer getLine() {
    method getColumn (line 185) | public Integer getColumn() {
    method getRelevantPart (line 189) | public String getRelevantPart() {
    method getSource (line 193) | public String getSource() {
    method getSeverity (line 197) | public Severity getSeverity() {
    method getId (line 204) | public int getId() {
    method getFinding (line 211) | public SecHubFinding getFinding() {
    method getCweId (line 215) | public Integer getCweId() {
    method getCallStackStep (line 219) | public int getCallStackStep() {
    method getFileName (line 223) | public String getFileName() {
    method getFilePath (line 227) | public String getFilePath() {
    method setCachedMetaData (line 231) | public void setCachedMetaData(String key, Object value) {
    method getCachedMetaData (line 240) | public Object getCachedMetaData(String key) {
    method getFalsePositiveInfo (line 249) | public FindingNodeFalsePositiveInfo getFalsePositiveInfo() {
    method isFalsePositive (line 253) | public boolean isFalsePositive() {
    method setFalsePositiveInfo (line 257) | public void setFalsePositiveInfo(FindingNodeFalsePositiveInfo value) {
    method toString (line 261) | @Override
    method compareTo (line 268) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/model/FindingNodeFalsePositiveInfo.java
  class FindingNodeFalsePositiveInfo (line 6) | public class FindingNodeFalsePositiveInfo {
    method getComment (line 18) | public String getComment() {
    method setComment (line 22) | public void setComment(String comment) {
    method getAuthor (line 26) | public String getAuthor() {
    method setAuthor (line 30) | public void setAuthor(String author) {
    method getCreated (line 34) | public String getCreated() {
    method setCreated (line 38) | public void setCreated(String created) {
    method getFindingId (line 42) | public Integer getFindingId() {
    method setFindingId (line 46) | public void setFindingId(Integer findingId) {
    method getJobUUID (line 50) | public UUID getJobUUID() {
    method setJobUUID (line 54) | public void setJobUUID(UUID jobUUID) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/model/SecHubReportToFindingModelTransformer.java
  class SecHubReportToFindingModelTransformer (line 25) | public class SecHubReportToFindingModelTransformer {
    method transform (line 33) | public FindingModel transform(SecHubReport report, String projectId) {
    method updateFalsePositiveInfo (line 58) | public void updateFalsePositiveInfo(FindingModel model) {
    method addNodesToMapForFinding (line 82) | private void addNodesToMapForFinding(Map<Severity, List<FindingNode>> ...
    method addNodesToModel (line 144) | private void addNodesToModel(FindingModel model, Map<Severity, List<Fi...
    method createFindingNodeList (line 161) | private static List<FindingNode> createFindingNodeList(Severity severi...

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/server/SecHubServerContext.java
  class SecHubServerContext (line 14) | public class SecHubServerContext {
    method SecHubServerContext (line 27) | private SecHubServerContext() {
    method reset (line 31) | public void reset() {
    method getModel (line 37) | public SecHubServerDataModel getModel() {
    method setAccess (line 41) | public void setAccess(SecHubAccess access) {
    method getAccessOrNull (line 45) | public SecHubAccess getAccessOrNull() {
    method setStatus (line 49) | public void setStatus(ServerAccessStatus status) {
    method isConnectedWithServer (line 53) | public boolean isConnectedWithServer() {
    method setSelectedProjectId (line 57) | public void setSelectedProjectId(String selectedProjectId) {
    method reloadFalsePositiveDataForCurrentProject (line 65) | public void reloadFalsePositiveDataForCurrentProject() {
    method getSelectedProjectId (line 85) | public String getSelectedProjectId() {
    method setCurrentJobPage (line 89) | public void setCurrentJobPage(SecHubJobInfoForUserListPage currentPage) {
    method getCurrentJobPage (line 93) | public SecHubJobInfoForUserListPage getCurrentJobPage() {
    method resetPages (line 97) | public void resetPages() {
    method incrementWantedPage (line 102) | public boolean incrementWantedPage() {
    method decrementWantedPage (line 110) | public boolean decrementWantedPage() {
    method canGoNextPage (line 118) | public boolean canGoNextPage() {
    method canGoPreviousPage (line 126) | public boolean canGoPreviousPage() {
    method setWantedPage (line 134) | public void setWantedPage(int wantedPage) {
    method getWantedPage (line 138) | public int getWantedPage() {
    method getShownTotalPages (line 142) | public int getShownTotalPages() {
    method getShownPage (line 154) | public int getShownPage() {
    method setFalsePositivesForSelectedProject (line 172) | public void setFalsePositivesForSelectedProject(FalsePositiveProjectCo...
    method getFalsepPositiveProjectConfiguration (line 176) | public FalsePositiveProjectConfiguration getFalsepPositiveProjectConfi...

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/server/data/SecHubServerDataModel.java
  class SecHubServerDataModel (line 10) | public class SecHubServerDataModel {
    class SecHubServerConnection (line 16) | public class SecHubServerConnection {
      method getModel (line 21) | public SecHubServerDataModel getModel() {
      method setUrl (line 25) | public void setUrl(String serverURL) {
      method getUrl (line 29) | public String getUrl() {
      method setAlive (line 33) | public void setAlive(boolean alive) {
      method isAlive (line 37) | public boolean isAlive() {
      method setLoginSuccessful (line 41) | public void setLoginSuccessful(boolean loginSuccessful) {
      method isLoginSuccessful (line 45) | public boolean isLoginSuccessful() {
    method setConnection (line 52) | public void setConnection(SecHubServerConnection connection) {
    method getConnection (line 56) | public SecHubServerConnection getConnection() {
    method setProjects (line 60) | public void setProjects(List<ProjectData> projects) {
    method getProjects (line 67) | public List<ProjectData> getProjects() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/util/FallbackIDELogger.java
  class FallbackIDELogger (line 4) | public class FallbackIDELogger implements IDELogger{
    method logError (line 6) | @Override

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/util/IDELogAdapter.java
  class IDELogAdapter (line 11) | public class IDELogAdapter {
    method use (line 17) | public static void use(IDELogger ideLogger) {
    method logError (line 21) | public static void logError(String message, Throwable t) {
    method getIdeLogger (line 25) | private static IDELogger getIdeLogger() {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/util/IDELogger.java
  type IDELogger (line 4) | public interface IDELogger {
    method logError (line 6) | void logError(String message, Throwable t);

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/main/java/com/mercedesbenz/sechub/util/SimpleStringUtil.java
  class SimpleStringUtil (line 8) | public class SimpleStringUtil {
    method removeAllSpaces (line 15) | public static String removeAllSpaces(String stringWithSpaces) {
    method stringOrUnknown (line 21) | public static String stringOrUnknown(String string) {
    method stringOrFallback (line 25) | public static String stringOrFallback(String string, String fallback) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/java/com/mercedesbenz/sechub/model/FalsePositiveEntriesToJobFindingMapTransformerTest.java
  class FalsePositiveEntriesToJobFindingMapTransformerTest (line 19) | public class FalsePositiveEntriesToJobFindingMapTransformerTest {
    method before (line 25) | @Before
    method a_finding_for_a_job_is_returned_in_map_with_finding_id_as_key_and_has_job_data_author_and_created (line 30) | @Test
    method multiple_findings_for_a_job_are_returned_in_map_with_finding_id_as_key_and_has_job_data (line 50) | @Test
    method a_finding_for_a_job_is_NOT_returned_in_map_for_other_job (line 80) | @Test
    method createEntry (line 98) | private FalsePositiveEntry createEntry(UUID jobUUID, int findingId) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/java/com/mercedesbenz/sechub/model/FileLocationExplorerTest.java
  class FileLocationExplorerTest (line 15) | public class FileLocationExplorerTest {
    method before (line 19) | @Before
    method path_contains_plusplus_is_correctly_handled (line 28) | @Test
    method location_converted_from_unix_to_windows_style_when_separator_is_backslash (line 42) | @Test
    method location_unconverted_from_unix_when_separator_is_slash (line 55) | @Test
    method scenario1_projects_TestMe_java_found (line 71) | @Test
    method scenario1_projects_example_TestMe_java_found (line 90) | @Test
    method scenario1_projects_source_TestMe_c_found (line 109) | @Test
    method scenario1_projects_TestMe_c_found (line 128) | @Test
    method scenario1_projects_com_example_TestMe_java_found (line 147) | @Test
    method scenario1_projects_SameName_java_found (line 166) | @Test
    method scenario2_projects_cpp_os_injection_cpp_found (line 189) | @Test

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/java/com/mercedesbenz/sechub/model/FindingNodeBuilderTest.java
  class FindingNodeBuilderTest (line 8) | public class FindingNodeBuilderTest {
    method location1_has_empty_filepath_and_as_filename_location1 (line 10) | @Test
    method a_slash_b_slash_location1_has_a_slash_b_as_filepath_and_as_filename_location1 (line 20) | @Test
    method slash_location1_has_empty__as_filepath_and_as_filename_location1 (line 30) | @Test
    method slash_a_slash_b_slash_has_slash_a_slash_b_as_file_path_but_empty_filename (line 40) | @Test
    method null_has_null_filepath_and_also_null_filename (line 50) | @Test

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/java/com/mercedesbenz/sechub/model/SecHubReportToSecHubNodeTransformerTest.java
  class SecHubReportToSecHubNodeTransformerTest (line 19) | public class SecHubReportToSecHubNodeTransformerTest {
    method before (line 23) | @Before
    method adding_one_finding_with_two_stacktraces_results_in_node_containing_one_child_having_another_one_with_expected_data (line 28) | @Test

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/java/com/mercedesbenz/sechub/model/TestResourceHelper.java
  class TestResourceHelper (line 7) | public class TestResourceHelper {
    method getEnsuredTestPath (line 18) | public static Path getEnsuredTestPath(String path) {
    method getEnsuredTestFile (line 22) | public static File getEnsuredTestFile(String path) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/java/com/mercedesbenz/sechub/util/SimpleStringUtilTest.java
  class SimpleStringUtilTest (line 9) | public class SimpleStringUtilTest {
    method removeAllSpaces_string_with_space_characters (line 11) | @Test

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/resources/SameName.java
  class SameName (line 2) | public class SameName {
    method main (line 3) | public static void main(String[] args) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/resources/explorer/scenario1/project1/src/main/java/com/example/SameName.java
  class SameName (line 4) | public class SameName {
    method main (line 5) | public static void main(String[] args) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/resources/explorer/scenario1/project1/src/main/java/com/example/TestMe.java
  class TestMe (line 4) | public class TestMe {
    method main (line 5) | public static void main(String[] args) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/resources/explorer/scenario1/project1/src/test/java/com/example/subpackage/SameName.java
  class SameName (line 4) | public class SameName {
    method main (line 5) | public static void main(String[] args) {

FILE: ide-plugins/eclipse/sechub-eclipse-plugin/src/test/resources/explorer/scenario1/project2/source/TestMe.c
  function main (line 4) | int main() {

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/IntellijComponentFactory.java
  class IntellijComponentFactory (line 9) | public class IntellijComponentFactory implements ComponentBuilder {
    method createScrollPane (line 10) | @Override

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/IntellijRenderDataProvider.java
  class IntellijRenderDataProvider (line 15) | public class IntellijRenderDataProvider implements FindingRenderDataProv...
    method getIconForScanType (line 17) | @Override

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/IntellijShowInEditorSupport.java
  class IntellijShowInEditorSupport (line 27) | public class IntellijShowInEditorSupport {
    method showInEditor (line 31) | public void showInEditor(ToolWindow toolWindow, FindingNode callStep) {

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/SecHubReportImporter.java
  class SecHubReportImporter (line 20) | public class SecHubReportImporter {
    method getInstance (line 27) | public static SecHubReportImporter getInstance() {
    method importAndDisplayReport (line 31) | public void importAndDisplayReport(File reportFile) throws IOException {
    method importAndDisplayReport (line 35) | public void importAndDisplayReport(File reportFile, @Nullable Progress...
    method getSecHubFindings (line 66) | private static @NotNull List<SecHubFinding> getSecHubFindings(SecHubRe...

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/SecHubReportRequestListener.java
  type SecHubReportRequestListener (line 6) | @FunctionalInterface
    method onReportRequested (line 8) | void onReportRequested(String projectId, UUID jobUUID);

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/SecHubReportViewUpdater.java
  class SecHubReportViewUpdater (line 14) | public class SecHubReportViewUpdater {
    method getInstance (line 19) | public static SecHubReportViewUpdater getInstance() {
    method SecHubReportViewUpdater (line 23) | private SecHubReportViewUpdater() {
    method updateReportViewInAWTThread (line 27) | public void updateReportViewInAWTThread(FindingModel model) {
    method internalUpdateReportView (line 32) | private void internalUpdateReportView(FindingModel model) {

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/SecHubSettingsDialogListener.java
  class SecHubSettingsDialogListener (line 9) | public class SecHubSettingsDialogListener {
    method SecHubSettingsDialogListener (line 14) | public SecHubSettingsDialogListener(Project project, String dialogName) {
    method onShowSettingsDialog (line 19) | public void onShowSettingsDialog() {

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/compatiblity/VirtualFileCompatibilityLayer.java
  class VirtualFileCompatibilityLayer (line 17) | public class VirtualFileCompatibilityLayer {
    method toNioPath (line 26) | public static @NotNull Path toNioPath(VirtualFile file) {

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/falsepositive/FalsePositive.java
  class FalsePositive (line 11) | public class FalsePositive {
    method FalsePositive (line 19) | @JsonCreator
    method getJobUUID (line 28) | public UUID getJobUUID() {
    method getFindingId (line 32) | public int getFindingId() {
    method getComment (line 36) | public String getComment() {
    method setComment (line 40) | public void setComment(String comment) {

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/falsepositive/FalsePositiveSyncStatus.java
  type FalsePositiveSyncStatus (line 4) | public enum FalsePositiveSyncStatus {

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/falsepositive/FalsePositivesCacheManager.java
  class FalsePositivesCacheManager (line 24) | public class FalsePositivesCacheManager {
    method FalsePositivesCacheManager (line 32) | private FalsePositivesCacheManager() {
    method getInstance (line 36) | public static FalsePositivesCacheManager getInstance() {
    method markFalsePositive (line 40) | public void markFalsePositive(UUID jobUUID, int findingId) {
    method unmarkFalsePositive (line 45) | public void unmarkFalsePositive(UUID jobUUID, int findingId) {
    method findFalsePositive (line 49) | public Optional<FalsePositive> findFalsePositive(UUID jobUUID, int fin...
    method hasMarkedFalsePositives (line 68) | public boolean hasMarkedFalsePositives(UUID jobUUID) {
    method syncFalsePositives (line 85) | public FalsePositiveSyncStatus syncFalsePositives(String projectId, UU...
    method syncFalsePositivesWithServer (line 129) | private FalsePositiveSyncStatus syncFalsePositivesWithServer(String pr...
    method secHubAccess (line 150) | private static SecHubAccess secHubAccess() {
    class Cache (line 154) | private static class Cache {
      method persist (line 162) | private void persist(UUID jobUUID) {
      method getEntry (line 184) | private Optional<FalsePositivesList> getEntry(UUID jobUUID) {
      method addEntry (line 196) | private void addEntry(UUID jobUUID, FalsePositive falsePositive) {
      method removeEntry (line 200) | private void removeEntry(UUID jobUUID, int findingId) {
      method loadFalsePositives (line 227) | private FalsePositivesList loadFalsePositives(UUID jobUUID) {
      method clear (line 252) | private void clear(UUID jobUUID) {

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/falsepositive/FalsePositivesList.java
  class FalsePositivesList (line 11) | public class FalsePositivesList {
    method FalsePositivesList (line 15) | @JsonCreator
    method getFalsePositives (line 21) | public List<FalsePositive> getFalsePositives() {
    method addFalsePositive (line 25) | public void addFalsePositive(FalsePositive falsePositive) {

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/sechubaccess/NoOpSecHubAccessClient.java
  class NoOpSecHubAccessClient (line 9) | class NoOpSecHubAccessClient implements SecHubAccess {
    method isSecHubServerAlive (line 11) | @Override
    method getSecHubProjects (line 16) | @Override
    method isProjectIdDeprecated (line 21) | @Override
    method getSecHubJobPage (line 26) | @Override
    method getSecHubReport (line 31) | @Override
    method getFalsePositiveProjectConfiguration (line 36) | @Override
    method markFalsePositive (line 41) | @Override
    method userRequestFindingExplanation (line 46) | @Override

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/sechubaccess/SecHubAccess.java
  type SecHubAccess (line 12) | public interface SecHubAccess {
    method isSecHubServerAlive (line 13) | boolean isSecHubServerAlive();
    method getSecHubProjects (line 15) | List<ProjectData> getSecHubProjects();
    method isProjectIdDeprecated (line 17) | boolean isProjectIdDeprecated(String projectId);
    method getSecHubJobPage (line 19) | SecHubJobInfoForUserListPage getSecHubJobPage(String projectId, int si...
    method getSecHubReport (line 21) | SecHubReport getSecHubReport(String projectId, UUID jobUUID);
    method getFalsePositiveProjectConfiguration (line 23) | FalsePositiveProjectConfiguration getFalsePositiveProjectConfiguration...
    method markFalsePositive (line 25) | void markFalsePositive(String projectId, FalsePositives falsePositives);
    method userRequestFindingExplanation (line 27) | SecHubExplanationResponse userRequestFindingExplanation(String project...

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/sechubaccess/SecHubAccessClient.java
  class SecHubAccessClient (line 18) | class SecHubAccessClient implements SecHubAccess {
    method SecHubAccessClient (line 23) | public SecHubAccessClient(String secHubServerUrl, String userId, Strin...
    method isSecHubServerAlive (line 27) | @Override
    method getSecHubProjects (line 37) | @Override
    method isProjectIdDeprecated (line 47) | @Override
    method getSecHubJobPage (line 53) | @Override
    method getSecHubReport (line 70) | @Override
    method getFalsePositiveProjectConfiguration (line 82) | @Override
    method markFalsePositive (line 93) | @Override
    method userRequestFindingExplanation (line 103) | @Override
    method initSecHubClient (line 113) | private void initSecHubClient(String secHubServerUrl, String userId, S...

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/sechubaccess/SecHubAccessFactory.java
  class SecHubAccessFactory (line 8) | public class SecHubAccessFactory {
    method create (line 9) | public static SecHubAccess create() {
    method isInvalidState (line 19) | private static boolean isInvalidState(SechubSettings.State state, Cred...

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/util/ErrorLogger.java
  class ErrorLogger (line 7) | public class ErrorLogger implements ErrorLog {
    method getInstance (line 12) | public static ErrorLogger getInstance() {
    method error (line 16) | public void error(String message, Throwable t) {

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/window/SecHubPanel.java
  type SecHubPanel (line 6) | public interface SecHubPanel {
    method getContent (line 7) | JPanel getContent();

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/window/SecHubReportPanel.java
  class SecHubReportPanel (line 51) | public class SecHubReportPanel implements SecHubPanel {
    method SecHubReportPanel (line 86) | public SecHubReportPanel(Project project, ToolWindow toolWindow) {
    method createComponents (line 101) | private void createComponents() {
    method createReportTablePanel (line 120) | private JPanel createReportTablePanel() {
    method createActionBarPanel (line 171) | @NotNull
    method createFindingPanel (line 215) | private JPanel createFindingPanel() {
    method createFindingNorthComponent (line 231) | private JComponent createFindingNorthComponent() {
    method prepareNonEditLargeTextArea (line 266) | private JBTextArea prepareNonEditLargeTextArea(JBTextArea textArea) {
    method createFindingSouthComponent (line 279) | private JComponent createFindingSouthComponent() {
    method createWebResponseComponents (line 291) | private void createWebResponseComponents() {
    method createWebRequestComponents (line 298) | private void createWebRequestComponents() {
    method createAttackComponents (line 305) | private void createAttackComponents() {
    method createCallHierachyComponents (line 312) | private void createCallHierachyComponents() {
    method customizeCallStepDetailsTable (line 344) | private void customizeCallStepDetailsTable() {
    method createAndInstallSupport (line 361) | private void createAndInstallSupport() {
    method installDragAndDrop (line 418) | private void installDragAndDrop() {
    method customizeCallHierarchyTree (line 428) | private void customizeCallHierarchyTree() {
    method registerInstance (line 454) | public static void registerInstance(SecHubReportPanel secHubToolWindow) {
    method getInstance (line 459) | public static SecHubReportPanel getInstance() {
    method showInEditor (line 463) | private void showInEditor(FindingNode callStep) {
    method getContent (line 473) | @Override
    method update (line 478) | public void update(FindingModel model) {
    method importReportFromDisk (line 511) | private void importReportFromDisk(Project currentProject) {
    method resetReport (line 529) | public void resetReport() {
    class TrafficLightIcon (line 538) | private static class TrafficLightIcon implements Icon {
      method TrafficLightIcon (line 541) | public TrafficLightIcon(TrafficLight trafficLight) {
      method paintIcon (line 550) | @Override
      method getIconWidth (line 558) | @Override
      method getIconHeight (line 563) | @Override
    class CheckmarkIcon (line 569) | private static class CheckmarkIcon implements Icon {
      method paintIcon (line 573) | @Override
      method getIconWidth (line 587) | @Override
      method getIconHeight (line 592) | @Override

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/window/SecHubReportTabSwitcher.java
  class SecHubReportTabSwitcher (line 20) | public class SecHubReportTabSwitcher implements SecHubReportRequestListe...
    method SecHubReportTabSwitcher (line 29) | public SecHubReportTabSwitcher(ContentManager contentManager, String r...
    method onReportRequested (line 34) | @Override
    method getContentByName (line 49) | private static Optional<Content> getContentByName(ContentManager conte...

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/window/SecHubServerPanel.java
  class SecHubServerPanel (line 52) | public class SecHubServerPanel implements SecHubPanel {
    method SecHubServerPanel (line 70) | public SecHubServerPanel(SecHubSettingsDialogListener settingsDialogLi...
    method registerInstance (line 78) | public static void registerInstance(SecHubServerPanel secHubToolWindow) {
    method getInstance (line 83) | public static SecHubServerPanel getInstance() {
    method getContent (line 87) | @Override
    method updateSettingsState (line 92) | public void updateSettingsState(SechubSettings.State state) {
    method createServerConfigurationChangeListener (line 100) | private void createServerConfigurationChangeListener() {
    method checkServerConnection (line 106) | private void checkServerConnection() {
    method createComponents (line 113) | private void createComponents() {
    method createActionBarPanel (line 136) | @NotNull
    method createServerConfigurationPanel (line 194) | @NotNull
    method updateServerConnectionLabel (line 256) | private void updateServerConnectionLabel(JLabel checkServerConnectionL...
    method createContentSeparator (line 264) | @NotNull
    method createProjectsPanel (line 272) | @NotNull
    method loadProjects (line 331) | private void loadProjects() {
    method createProjectsDropdown (line 339) | private void createProjectsDropdown(List<ProjectData> projects,
    method createJobsPanel (line 371) | private JPanel createJobsPanel() {
    method createJobPaginationPanel (line 460) | private JPanel createJobPaginationPanel() {
    method updatePageLabel (line 499) | private void updatePageLabel(JLabel pageLabel, Integer page, Integer t...
    method loadJobsTable (line 509) | private void loadJobsTable(DefaultTableModel model, List<SecHubJobInfo...
    method loadJobs (line 529) | private void loadJobs() {
    method createProjectsAndJobsSplitter (line 542) | @NotNull
    method secHubAccess (line 566) | @NotNull
    class ObservableSettingsState (line 571) | private static class ObservableSettingsState {
      method setValue (line 577) | public void setValue(SechubSettings.State newValue) {
      method getValue (line 583) | public SechubSettings.State getValue() {
      method addPropertyChangeListener (line 587) | public void addPropertyChangeListener(PropertyChangeListener listene...
      method getServerURL (line 591) | @NotNull
      method useCustomWebUiUrl (line 605) | private boolean useCustomWebUiUrl() {
      method getWebUiURL (line 612) | private String getWebUiURL() {
      method isSslTrustAll (line 619) | private boolean isSslTrustAll() {
      method createDefensiveCopy (line 626) | private SechubSettings.State createDefensiveCopy(SechubSettings.Stat...
    class ObservableServerConnection (line 639) | private static class ObservableServerConnection {
      method setValue (line 647) | public void setValue(boolean value) {
      method getValue (line 656) | public boolean getValue() {
      method addPropertyChangeListener (line 662) | public void addPropertyChangeListener(PropertyChangeListener listene...
    class ObservableCurrentProjectId (line 671) | private static class ObservableCurrentProjectId {
      method setValue (line 679) | public void setValue(String newValue) {
      method getValue (line 687) | public String getValue() {
      method addPropertyChangeListener (line 693) | public void addPropertyChangeListener(PropertyChangeListener listene...
    class ObservableProjects (line 698) | private static class ObservableProjects {
      method setValue (line 705) | public void setValue(List<ProjectData> newValue) {
      method getValue (line 713) | public List<ProjectData> getValue() {
      method addPropertyChangeListener (line 719) | public void addPropertyChangeListener(PropertyChangeListener listene...
      method createDefensiveCopy (line 723) | private List<ProjectData> createDefensiveCopy(List<ProjectData> orig...
    class ObservableJobPage (line 731) | private static class ObservableJobPage {
      method setValue (line 737) | public void setValue(SecHubJobInfoForUserListPage newValue) {
      method getValue (line 745) | @NotNull
      method addPropertyChangeListener (line 752) | public void addPropertyChangeListener(PropertyChangeListener listene...
      method previous (line 756) | public boolean previous() {
      method next (line 769) | public boolean next() {
      method getPage (line 784) | public int getPage() {
      method getTotalPages (line 792) | public int getTotalPages() {
      method reset (line 800) | public void reset() {
      method createDefensiveCopy (line 809) | private SecHubJobInfoForUserListPage createDefensiveCopy(SecHubJobIn...
    class TrafficLightRenderer (line 825) | static class TrafficLightRenderer extends DefaultTableCellRenderer {
      method getTableCellRendererComponent (line 827) | @Override
      class TrafficLightIcon (line 835) | static class TrafficLightIcon implements Icon {
        method TrafficLightIcon (line 838) | public TrafficLightIcon(Object status) {
        method paintIcon (line 842) | @Override
        method getIconWidth (line 860) | @Override
        method getIconHeight (line 865) | @Override

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/window/SecHubToolWindowFactory.java
  class SecHubToolWindowFactory (line 22) | public class SecHubToolWindowFactory implements ToolWindowFactory, DumbA...
    method createToolWindowContent (line 24) | @Override
    method addToolWindowTab (line 46) | private static void addToolWindowTab(@NotNull ToolWindow toolWindow, S...

FILE: ide-plugins/jetbrains/src/main/java-intellij/com/mercedesbenz/sechub/plugin/idea/window/SecHubToolWindowTransferSupport.java
  class SecHubToolWindowTransferSupport (line 16) | public class SecHubToolWindowTransferSupport extends TransferHandler {
    method SecHubToolWindowTransferSupport (line 19) | public SecHubToolWindowTransferSupport(ErrorLog errorLog) {
    method canImport (line 23) | public boolean canImport(TransferSupport support) {
    method importData (line 37) | public boolean importData(TransferSupport support) {

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/model/FileLocationExplorer.java
  class FileLocationExplorer (line 18) | public class FileLocationExplorer {
    method getSearchFolders (line 24) | public List<Path> getSearchFolders() {
    method searchFor (line 36) | public List<Path> searchFor(String location) throws IOException {
    method convertLocationOSSpecificRegExp (line 77) | String convertLocationOSSpecificRegExp(String location, String separat...
    method searchFilesRecursive (line 94) | void searchFilesRecursive(PathMatcher matcher, Path searchFolder, List...
    method find (line 102) | protected static Collection<Path> find(Path searchDirectory, PathMatch...

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/model/FindingModel.java
  class FindingModel (line 10) | public class FindingModel {
    method getProjectId (line 17) | public String getProjectId() {
    method setProjectId (line 21) | public void setProjectId(String projectId) {
    method getJobUUID (line 25) | public UUID getJobUUID() {
    method setTrafficLight (line 29) | public void setTrafficLight(TrafficLight trafficLight) {
    method getTrafficLight (line 33) | public TrafficLight getTrafficLight() {
    method setJobUUID (line 37) | public void setJobUUID(UUID jobUUID) {
    method getFindingCount (line 41) | public int getFindingCount() {
    method getFindings (line 45) | public List<FindingNode> getFindings() {
    method getFirstFinding (line 49) | public FindingNode getFirstFinding() {

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/model/FindingNode.java
  class FindingNode (line 16) | public class FindingNode implements Comparable<FindingNode> {
    method FindingNode (line 45) | private FindingNode() {
    class FindingNodeBuilder (line 48) | public static class FindingNodeBuilder {
      method FindingNodeBuilder (line 66) | private FindingNodeBuilder() {
      method setScanType (line 70) | public FindingNodeBuilder setScanType(ScanType scanType) {
      method setName (line 75) | public FindingNodeBuilder setName(String name) {
      method setIsMarkedAsFalsePositive (line 80) | public FindingNodeBuilder setIsMarkedAsFalsePositive(Boolean isMarke...
      method setDescription (line 85) | public FindingNodeBuilder setDescription(String description) {
      method setSolution (line 90) | public FindingNodeBuilder setSolution(String solution) {
      method setLocation (line 95) | public FindingNodeBuilder setLocation(String location) {
      method setLine (line 100) | public FindingNodeBuilder setLine(Integer line) {
      method setColumn (line 105) | public FindingNodeBuilder setColumn(Integer column) {
      method setCallStackStep (line 110) | public FindingNodeBuilder setCallStackStep(Integer callStackStep) {
      method setId (line 115) | public FindingNodeBuilder setId(Integer id) {
      method setRelevantPart (line 120) | public FindingNodeBuilder setRelevantPart(String relevantPart) {
      method setSource (line 125) | public FindingNodeBuilder setSource(String source) {
      method setSeverity (line 130) | public FindingNodeBuilder setSeverity(Severity severity) {
      method setCweId (line 135) | public FindingNodeBuilder setCweId(Integer cweId) {
      method setSecHubFinding (line 140) | public FindingNodeBuilder setSecHubFinding(SecHubFinding secHubFindi...
      method build (line 145) | public FindingNode build() {
      method calculateFileNameAndPath (line 168) | private void calculateFileNameAndPath(FindingNode node) {
    method builder (line 189) | public static FindingNodeBuilder builder() {
    method getParent (line 193) | public FindingNode getParent() {
    method addChild (line 197) | public boolean addChild(FindingNode finding) {
    method getChildren (line 206) | public List<FindingNode> getChildren() {
    method hasChildren (line 210) | public boolean hasChildren() {
    method getDescription (line 220) | public String getDescription() {
    method getSolution (line 224) | public String getSolution() {
    method getSecHubFinding (line 228) | public SecHubFinding getSecHubFinding() {
    method getLocation (line 232) | public String getLocation() {
    method getLine (line 236) | public Integer getLine() {
    method getColumn (line 240) | public Integer getColumn() {
    method getRelevantPart (line 244) | public String getRelevantPart() {
    method getSource (line 248) | public String getSource() {
    method getSeverity (line 252) | public Severity getSeverity() {
    method getId (line 256) | public int getId() {
    method getCweId (line 260) | public Integer getCweId() {
    method getCallStackStep (line 264) | public int getCallStackStep() {
    method getFileName (line 268) | public String getFileName() {
    method getFilePath (line 272) | public String getFilePath() {
    method setCachedMetaData (line 276) | public void setCachedMetaData(String key, Object value) {
    method getCachedMetaData (line 285) | public Object getCachedMetaData(String key) {
    method getName (line 294) | public String getName() {
    method isMarkedAsFalsePositive (line 298) | public boolean isMarkedAsFalsePositive() {
    method getScanType (line 302) | public ScanType getScanType() {
    method canBeShownInCallHierarchy (line 306) | public boolean canBeShownInCallHierarchy() {
    method canBeShownInWebRequest (line 317) | public boolean canBeShownInWebRequest() {
    method canBeShownInWebResponse (line 325) | public boolean canBeShownInWebResponse() {
    method canBeShownInAttack (line 333) | public boolean canBeShownInAttack() {
    method toString (line 341) | @Override
    method compareTo (line 348) | @Override

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/model/SecHubFindingToFindingModelTransformer.java
  class SecHubFindingToFindingModelTransformer (line 8) | public class SecHubFindingToFindingModelTransformer {
    method SecHubFindingToFindingModelTransformer (line 13) | private SecHubFindingToFindingModelTransformer() {
    method getInstance (line 17) | public static SecHubFindingToFindingModelTransformer getInstance() {
    method transform (line 21) | public FindingModel transform(List<SecHubFinding> findings, List<False...
    method addNodesToMapForFinding (line 32) | private void addNodesToMapForFinding(Map<Severity, List<FindingNode>> ...
    method createRootNodeWithChildren (line 107) | private FindingModel createRootNodeWithChildren(Map<Severity, List<Fin...
    method createFindingNodeList (line 126) | private static List<FindingNode> createFindingNodeList(Severity severi...
    method isMarkedAsFalsePositive (line 130) | private static boolean isMarkedAsFalsePositive(SecHubFinding finding, ...

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/model/SecHubFindingoWebScanDataProvider.java
  class SecHubFindingoWebScanDataProvider (line 8) | public class SecHubFindingoWebScanDataProvider {
    method getWebAttackDescription (line 10) | public String getWebAttackDescription(SecHubFinding secHubFinding) {
    method getWebRequestDescription (line 63) | public String getWebRequestDescription(SecHubFinding secHubFinding) {
    method getWebResponseDescription (line 114) | public String getWebResponseDescription(SecHubFinding secHubFinding) {

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/model/SecHubReportFindingModelService.java
  class SecHubReportFindingModelService (line 14) | public class SecHubReportFindingModelService {
    method SecHubReportFindingModelService (line 20) | private SecHubReportFindingModelService() {
    method getInstance (line 24) | public static SecHubReportFindingModelService getInstance() {
    method fetchAndBuildFindingModel (line 28) | public FindingModel fetchAndBuildFindingModel(String projectId, UUID j...

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/ui/ComponentBuilder.java
  type ComponentBuilder (line 6) | public interface ComponentBuilder {
    method createScrollPane (line 8) | public JScrollPane createScrollPane(JComponent component);

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/ui/FalsePositiveTableModel.java
  class FalsePositiveTableModel (line 8) | class FalsePositiveTableModel {
    method FalsePositiveTableModel (line 13) | public FalsePositiveTableModel(boolean isAlreadyMarkedAsFalsePositive,...
    method FalsePositiveTableModel (line 19) | public FalsePositiveTableModel(boolean isAlreadyMarkedAsFalsePositive,...
    method isChecked (line 25) | public boolean isChecked() {
    method setChecked (line 29) | public void setChecked(boolean selected) {
    method isAlreadyMarkedAsFalsePositive (line 36) | public boolean isAlreadyMarkedAsFalsePositive() {
    method setAlreadyMarkedAsFalsePositive (line 40) | public boolean setAlreadyMarkedAsFalsePositive(boolean alreadyMarkedAs...
    method getScanType (line 47) | public ScanType getScanType() {

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/ui/FindingRenderDataProvider.java
  type FindingRenderDataProvider (line 10) | public interface FindingRenderDataProvider {
    method getIconForScanType (line 12) | Icon getIconForScanType(ScanType scanType);
    method getTextForSeverity (line 14) | default String getTextForSeverity(Severity severity) {
    method getTextForScanType (line 39) | default String getTextForScanType(ScanType scanType) {

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/ui/SecHubRootTeeNode.java
  class SecHubRootTeeNode (line 6) | public class SecHubRootTeeNode extends SecHubTreeNode {
    method SecHubRootTeeNode (line 8) | public SecHubRootTeeNode() {

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/ui/SecHubTableModel.java
  class SecHubTableModel (line 9) | public class SecHubTableModel extends DefaultTableModel {
    method SecHubTableModel (line 14) | public SecHubTableModel(String... columnNames) {
    method isCellEditable (line 18) | @Override
    method setDataList (line 29) | public void setDataList(List<Object[]> rows) {
    method removeAllRows (line 37) | public void removeAllRows() {

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/ui/SecHubToolWindowUIContext.java
  class SecHubToolWindowUIContext (line 9) | public class SecHubToolWindowUIContext {

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/ui/SecHubToolWindowUISupport.java
  class SecHubToolWindowUISupport (line 49) | public class SecHubToolWindowUISupport {
    method SecHubToolWindowUISupport (line 84) | public SecHubToolWindowUISupport(SecHubToolWindowUIContext context) {
    method syncFalsePositives (line 96) | public void syncFalsePositives() {
    type CallStepChangeListener (line 169) | public interface CallStepChangeListener {
      method callStepChanged (line 170) | void callStepChanged(FindingNode callStep, boolean openInEditor);
    type ReportFindingSelectionChangeListener (line 173) | public interface ReportFindingSelectionChangeListener {
      method reportFindingSelectionChanged (line 174) | void reportFindingSelectionChanged(FindingNode callStep);
    method addCallStepChangeListener (line 177) | public void addCallStepChangeListener(CallStepChangeListener listener) {
    method addReportFindingSelectionChangeListener (line 181) | public void addReportFindingSelectionChangeListener(ReportFindingSelec...
    method initialize (line 185) | public void initialize() {
    method initCweIdLink (line 193) | private void initCweIdLink() {
    method initExplanationButton (line 219) | private void initExplanationButton() {
    method createMitreCweDescriptionLink (line 224) | @NotNull
    method initCallStepDetailTable (line 229) | private void initCallStepDetailTable() {
    method resetCallHierarchyStepTable (line 234) | public void resetCallHierarchyStepTable() {
    method getRenderDataProvider (line 243) | public FindingRenderDataProvider getRenderDataProvider() {
    method initCallHierarchyTree (line 247) | private void initCallHierarchyTree() {
    method initReportTable (line 279) | private void initReportTable() {
    method getCurrentCheckboxValue (line 359) | private @Nullable Boolean getCurrentCheckboxValue(int clickedRow, int ...
    method createMarkFalsePositiveColumnHeader (line 373) | private @NotNull JCheckBox createMarkFalsePositiveColumnHeader(TableCo...
    method initTableModelAndRowSorting (line 420) | private void initTableModelAndRowSorting() {
    method setReportTableElements (line 436) | private void setReportTableElements(List<Object[]> elements) {
    method resetTablePresentation (line 448) | public void resetTablePresentation() {
    method handleReportTableSelection (line 460) | private void handleReportTableSelection(boolean doubleClick) {
    method setCweId (line 487) | private void setCweId(Integer cweId) {
    method handleExplanation (line 498) | private void handleExplanation(FindingNode findingNode) {
    method showFindingNode (line 528) | public void showFindingNode(FindingNode findingNode, boolean openInEdi...
    method resetFindingNodeTabPane (line 541) | public void resetFindingNodeTabPane() {
    method resetDescriptionAndSolutionTabPane (line 546) | public void resetDescriptionAndSolutionTabPane(boolean visible) {
    method handleCallHierarchy (line 551) | private void handleCallHierarchy(FindingNode findingNode, boolean open...
    method handleWebRequest (line 559) | private void handleWebRequest(FindingNode findingNode) {
    method handleWebResponse (line 566) | private void handleWebResponse(FindingNode findingNode) {
    method handleAttack (line 574) | private void handleAttack(FindingNode findingNode) {
    method prepareCalHierarchyWhenNeccesary (line 584) | private void prepareCalHierarchyWhenNeccesary(FindingNode findingNode,...
    method handleCWEId (line 607) | private void handleCWEId(FindingNode findingNode) {
    method buildCallHierarchyTreeNodes (line 615) | private void buildCallHierarchyTreeNodes(SecHubTreeNode parent, Findin...
    method showCallStep (line 624) | private void showCallStep(FindingNode callStep, boolean openInEditor) {
    method setFindingModel (line 641) | public void setFindingModel(FindingModel findingModel) {
    method toMarkdownContent (line 668) | public String toMarkdownContent(SecHubExplanationResponse secHubExplan...
    method showMarkdownContentOnRightSide (line 731) | private static void showMarkdownContentOnRightSide(Integer currentSele...
    method secHubAccess (line 761) | private static @NotNull SecHubAccess secHubAccess() {
    class ReportScanTypeIconTableCellRenderer (line 765) | private class ReportScanTypeIconTableCellRenderer extends DefaultTable...
      method getTableCellRendererComponent (line 766) | @Override
    class ReportSeverityTableCellRenderer (line 785) | private class ReportSeverityTableCellRenderer extends DefaultTableCell...
      method getTableCellRendererComponent (line 786) | @Override
    class CenteredCheckBoxHeaderRenderer (line 804) | private static class CenteredCheckBoxHeaderRenderer implements TableCe...
      method CenteredCheckBoxHeaderRenderer (line 807) | public CenteredCheckBoxHeaderRenderer(JCheckBox checkBox) {
      method getTableCellRendererComponent (line 812) | @Override
    class FalsePositiveCellRenderer (line 822) | private static class FalsePositiveCellRenderer implements TableCellRen...
      method getTableCellRendererComponent (line 843) | @Override
    class FalsePositiveCellEditor (line 875) | private static class FalsePositiveCellEditor extends AbstractCellEdito...
      method FalsePositiveCellEditor (line 879) | public FalsePositiveCellEditor() {
      method getTableCellEditorComponent (line 896) | @Override
      method getCellEditorValue (line 904) | @Override
    class MarkFalsePositivesDialog (line 910) | private static class MarkFalsePositivesDialog extends DialogWrapper {
      method MarkFalsePositivesDialog (line 916) | private MarkFalsePositivesDialog() {
      method createCenterPanel (line 922) | @Nullable
      method getSelectedReason (line 928) | public String getSelectedReason() {
      method getComment (line 935) | public String getComment() {
      method createComponents (line 939) | private void createComponents() {
    class ProjectIdChooserDialog (line 970) | private static class ProjectIdChooserDialog extends DialogWrapper {
      method ProjectIdChooserDialog (line 973) | public ProjectIdChooserDialog(String[] projectIds) {
      method createCenterPanel (line 980) | @Nullable
      method getSelectedProjectId (line 989) | public String getSelectedProjectId() {

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/ui/SecHubToolWindowUISupportTestMain.java
  class SecHubToolWindowUISupportTestMain (line 25) | public class SecHubToolWindowUISupportTestMain {
    method main (line 27) | public static void main(String[] args) {
    class InternalUITest (line 31) | private static class InternalUITest {
      method start (line 36) | private void start() {
      method createTestModel (line 125) | private FindingModel createTestModel() {
      method append (line 139) | private void append(FindingModel model, String prefix, Severity seve...
      method generateDescription (line 202) | private String generateDescription(String prefix) {
      class SetNewModelAction (line 206) | private class SetNewModelAction extends AbstractAction {
        method SetNewModelAction (line 210) | private SetNewModelAction() {
        method actionPerformed (line 214) | @Override

FILE: ide-plugins/jetbrains/src/main/java/com/mercedesbenz/sechub/plugin/ui/SecHubTreeNode.java
  class SecHubTreeNode (line 10) | public class SecHubTreeNode extends DefaultMutableTreeNode {
    method SecHubTreeNode 
Copy disabled (too large) Download .json
Condensed preview — 5719 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (54,358K chars).
[
  {
    "path": ".gitattributes",
    "chars": 13,
    "preview": "*   text=auto"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 466,
    "preview": "# SPDX-License-Identifier: MIT\n# To get started with Dependabot version updates, you'll need to specify which\n# package "
  },
  {
    "path": ".github/workflows/_build+publish-pds-solution.yml",
    "chars": 3546,
    "preview": "# SPDX-License-Identifier: MIT\nname: Build and publish one single PDS solution\n\non:\n  workflow_dispatch:\n    inputs:\n   "
  },
  {
    "path": ".github/workflows/build+publish-all-pds-solutions.yml",
    "chars": 2895,
    "preview": "# SPDX-License-Identifier: MIT\nname: Build and publish all SecHub PDS solutions\n\non:\n  workflow_dispatch:\n    inputs:\n  "
  },
  {
    "path": ".github/workflows/documentation-build.yml",
    "chars": 5172,
    "preview": "# SPDX-License-Identifier: MIT\nname: Documentation build\n\non:\n  workflow_dispatch:\n    inputs:\n      publish-documentati"
  },
  {
    "path": ".github/workflows/github-action-scan.yml",
    "chars": 7447,
    "preview": "# SPDX-License-Identifier: MIT\nname: Build SecHub GHA (scan)\n\non:\n  push:\n    branches:\n      - 'develop'\n      - 'hotfi"
  },
  {
    "path": ".github/workflows/gradle.yml",
    "chars": 5475,
    "preview": "# SPDX-License-Identifier: MIT\nname: Java & Go CI\n\non:\n  push:\n    branches:\n      - 'develop'\n      - 'hotfix'\n      - "
  },
  {
    "path": ".github/workflows/release-client-server-pds.yml",
    "chars": 24983,
    "preview": "# SPDX-License-Identifier: MIT\nname: Release\n\non:\n  workflow_dispatch:\n    inputs:\n      actor-email:\n        descriptio"
  },
  {
    "path": ".github/workflows/release-github-action.yml",
    "chars": 8632,
    "preview": "# SPDX-License-Identifier: MIT\nname: Release Github Action\n\non:\n  workflow_dispatch:\n    inputs:\n      actor-email:\n    "
  },
  {
    "path": ".github/workflows/release-pds-tools.yml",
    "chars": 9394,
    "preview": "# SPDX-License-Identifier: MIT\nname: Release PDS-Tools\n\non:\n  workflow_dispatch:\n    inputs:\n      actor-email:\n        "
  },
  {
    "path": ".github/workflows/release-web-ui.yml",
    "chars": 9482,
    "preview": "# SPDX-License-Identifier: MIT\nname: Release Web UI\n\non:\n  workflow_dispatch:\n    inputs:\n      actor-email:\n        des"
  },
  {
    "path": ".github/workflows/release-wrapper-checkmarx.yml",
    "chars": 8996,
    "preview": "# SPDX-License-Identifier: MIT\nname: Release wrapper for Checkmarx\n\non:\n  workflow_dispatch:\n    inputs:\n      actor-ema"
  },
  {
    "path": ".github/workflows/release-wrapper-owaspzap.yml",
    "chars": 8962,
    "preview": "# SPDX-License-Identifier: MIT\nname: Release wrapper for OWASP-ZAP\n\non:\n  workflow_dispatch:\n    inputs:\n      actor-ema"
  },
  {
    "path": ".github/workflows/release-wrapper-prepare.yml",
    "chars": 8894,
    "preview": "# SPDX-License-Identifier: MIT\nname: Release wrapper for Prepare\n\non:\n  workflow_dispatch:\n    inputs:\n      actor-email"
  },
  {
    "path": ".github/workflows/release-wrapper-validation.yml",
    "chars": 9371,
    "preview": "# SPDX-License-Identifier: MIT\nname: Release Wrapper for Secret-Validation\n\non:\n  workflow_dispatch:\n    inputs:\n      a"
  },
  {
    "path": ".github/workflows/release-wrapper-xray.yml",
    "chars": 8762,
    "preview": "# SPDX-License-Identifier: MIT\nname: Release wrapper for Xray\n\non:\n  workflow_dispatch:\n    inputs:\n      actor-email:\n "
  },
  {
    "path": ".github/workflows/sechub-plugin-eclipse-gradle.yml",
    "chars": 1093,
    "preview": "# SPDX-License-Identifier: MIT\nname: SecHub eclipse plugin Java build\n\non:\n  push:\n    branches:\n      - 'develop'\n     "
  },
  {
    "path": ".github/workflows/sechub-plugin-jetbrains-gradle.yml",
    "chars": 1469,
    "preview": "# SPDX-License-Identifier: MIT\nname: SecHub Jetbrains plugin Java build\n\non:\n  push:\n    branches:\n      - 'develop'\n   "
  },
  {
    "path": ".github/workflows/sechub-plugin-vscode-ci.yml",
    "chars": 1212,
    "preview": "# SPDX-License-Identifier: MIT\nname: SecHub plugin vscode CI\non: \n  push:\n    branches:\n      - 'develop'\n      - 'hotfi"
  },
  {
    "path": ".github/workflows/sechub-plugin-vscode-release.yml",
    "chars": 3480,
    "preview": "# SPDX-License-Identifier: MIT\nname: Release Plugin for VSCode\n\non:\n  workflow_dispatch:\n    inputs:\n      milestone-num"
  },
  {
    "path": ".gitignore",
    "chars": 784,
    "preview": "# customization files\nbuild-custom.gradle\nbuild-custom-buildscript.gradle\nbuild-custom-allprojects.gradle\n\n# eclipse par"
  },
  {
    "path": "3RD_PARTY_LICENSES.txt",
    "chars": 385271,
    "preview": "Used 3rd party Licenses:\n\n- Components -\n\n@actions/artifact/1.1.1 : MIT License (MIT)\n@actions/core/1.10.1 : MIT License"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 4531,
    "preview": "<!-- SPDX-License-Identifier: MIT --->\n# Contributing\n\n_Contributions are highly welcome!_\n\nThis document explains how t"
  },
  {
    "path": "LICENSE",
    "chars": 1091,
    "preview": "MIT License\n\nCopyright (c) 2025 Mercedes-Benz Tech Innovation GmbH\n\nPermission is hereby granted, free of charge, to any"
  },
  {
    "path": "LICENSES/CC-BY-NC-ND-4.0.txt",
    "chars": 19123,
    "preview": "Attribution-NonCommercial-NoDerivatives 4.0 International\n\n============================================================="
  },
  {
    "path": "MAINTAINERS.md",
    "chars": 2985,
    "preview": "<!-- SPDX-License-Identifier: MIT --->\n# SecHub Maintainers\n\n## Maintainers\n\n| Maintainer       | Email                 "
  },
  {
    "path": "README.adoc",
    "chars": 17062,
    "preview": "// SPDX-License-Identifier: MIT\n:toc:\n:toclevels: 4\n:toc-placement!:\n\n[link=https://github.com/mercedes-benz/sechub/acti"
  },
  {
    "path": "SECURITY.md",
    "chars": 422,
    "preview": "<!-- SPDX-License-Identifier: MIT --->\nIt is Mercedes-Benz’s goal to offer its customers the best and most secure produc"
  },
  {
    "path": "apply-headers.sh",
    "chars": 4232,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\nSPDX_TEXT=\"SPDX-License-Identifier: MIT\"\n\n# List of files to exclude\nexclude"
  },
  {
    "path": "build.gradle",
    "chars": 4753,
    "preview": "// SPDX-License-Identifier: MIT\nbuildscript{\n\tapply from: \"${rootProject.projectDir}/gradle/libraries.gradle\"\n\tapply fro"
  },
  {
    "path": "buildDoc",
    "chars": 119,
    "preview": "#!/bin/bash\nset -e\ncd `dirname $0`\n\n# Build everything including documentation\nsechub-developertools/scripts/sdc.sh -b\n"
  },
  {
    "path": "buildExecutables",
    "chars": 368,
    "preview": "#!/bin/bash \ncd `dirname $0`\n\n# This script builds all executables: SecHub server, PDS and client\n# \n\necho \"************"
  },
  {
    "path": "buildSrc/src/main/groovy/CmdExecutor.groovy",
    "chars": 2330,
    "preview": "// SPDX-License-Identifier: MIT\nimport org.gradle.api.*\n\nclass CmdExecutor{\n    List<String> command = new ArrayList<Str"
  },
  {
    "path": "buildSrc/src/main/groovy/IOUtil.java",
    "chars": 2448,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\nimport java.nio.file.Path;\nimpo"
  },
  {
    "path": "buildSrc/src/main/groovy/JunitFilesToOneFileConverter.groovy",
    "chars": 1789,
    "preview": "// SPDX-License-Identifier: MIT\nimport java.io.BufferedWriter;\nimport java.io.IOException;\nimport java.nio.charset.Chars"
  },
  {
    "path": "buildSrc/src/main/groovy/MinGWConverter.groovy",
    "chars": 525,
    "preview": "// SPDX-License-Identifier: MIT\nclass MinGWConverter{\n    public String convert(String path){\n          if (path==null) "
  },
  {
    "path": "buildSrc/src/main/groovy/OSUtil.groovy",
    "chars": 218,
    "preview": "// SPDX-License-Identifier: MIT\nclass OSUtil{\n     public static final boolean isWindows(){\n          String osName = Sy"
  },
  {
    "path": "buildSrc/src/main/groovy/VersionData.groovy",
    "chars": 6091,
    "preview": "// SPDX-License-Identifier: MIT\nclass VersionData{\n\n    private static final String ID_CLIENT = \"client\"\n    private sta"
  },
  {
    "path": "continous-integration-multibranch-pipeline.jenkins",
    "chars": 12033,
    "preview": "// SPDX-License-Identifier: MIT\n\n// Continous integration build pipeline script for jenkins\n// -------------------------"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/README.md",
    "chars": 381,
    "preview": "<!-- SPDX-License-Identifier: MIT --->\nAbout this project\n==================\n\nThis an adapter project to access product "
  },
  {
    "path": "deprecated-sechub-adapter-nessus/build.gradle",
    "chars": 344,
    "preview": "// SPDX-License-Identifier: MIT\n /*============================================================================\n * Build"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/MockedNessusAdapter.java",
    "chars": 1682,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport org.springframework.context.anno"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapter.java",
    "chars": 202,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport com.mercedesbenz.sechub.adapter."
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterConfig.java",
    "chars": 217,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport com.mercedesbenz.sechub.adapter."
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterContext.java",
    "chars": 557,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport com.mercedesbenz.sechub.adapter."
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterV1.java",
    "chars": 19329,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport static org.springframework.http."
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterV1NewScanJSONBuilder.java",
    "chars": 2353,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport java.net.InetAddress;\nimport jav"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusClientHttpRequestInterceptor.java",
    "chars": 1237,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport java.io.IOException;\n\nimport org"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusConfig.java",
    "chars": 967,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport com.mercedesbenz.sechub.adapter."
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusContext.java",
    "chars": 1960,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport org.springframework.http.client."
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusRESTFailureException.java",
    "chars": 691,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport org.springframework.http.HttpSta"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/java/com/mercedesbenz/sechub/adapter/nessus/NessusState.java",
    "chars": 740,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\npublic enum NessusState {\n    COMPLETE("
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/resources/adapter/mockdata/MockedNessusAdapter/v1/green.xml",
    "chars": 327971,
    "preview": "<?xml version=\"1.0\" ?>\n<NessusClientData_v2>\n<Policy><policyName>DASPI</policyName>\n<Preferences><ServerPreferences><pre"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/resources/adapter/mockdata/MockedNessusAdapter/v1/red.xml",
    "chars": 374955,
    "preview": "<?xml version=\"1.0\" ?>\n<NessusClientData_v2>\n<Policy><policyName>DASPI</policyName>\n<Preferences><ServerPreferences><pre"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/main/resources/adapter/mockdata/MockedNessusAdapter/v1/yellow.xml",
    "chars": 374955,
    "preview": "<?xml version=\"1.0\" ?>\n<NessusClientData_v2>\n<Policy><policyName>DASPI</policyName>\n<Preferences><ServerPreferences><pre"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterV1NewScanJSONBuilderTest.java",
    "chars": 3619,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport static org.junit.Assert.*;\n\nimpo"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterV1Test.java",
    "chars": 8161,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport static org.junit.Assert.*;\nimpor"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusAdapterV1WireMockTest.java",
    "chars": 24071,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport static com.github.tomakehurst.wi"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusConfigBuilderTest.java",
    "chars": 908,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport static org.junit.Assert.*;\n\nimpo"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusConfigTest.java",
    "chars": 747,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport static org.junit.Assert.*;\n\nimpo"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/NessusStateTest.java",
    "chars": 439,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport static org.junit.Assert.*;\n\nimpo"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/test/java/com/mercedesbenz/sechub/adapter/nessus/TestNessusAdapterFileSupport.java",
    "chars": 617,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.nessus;\n\nimport com.mercedesbenz.sechub.test.Sec"
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/test/resources/README.md",
    "chars": 210,
    "preview": "<!-- SPDX-License-Identifier: MIT --->\nAbout this folder\n=================\nYou will find nessus outputs from real world "
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/test/resources/nessus_7.0.2.get_policies_result.json",
    "chars": 7103,
    "preview": "{\n\t\"templates\": [\n\t\t{\n\t\t\t\"unsupported\": false,\n\t\t\t\"desc\": \"Approved for quarterly external scanning as required by PCI.\""
  },
  {
    "path": "deprecated-sechub-adapter-nessus/src/test/resources/nessus_7.0.2.result.xml",
    "chars": 976534,
    "preview": "<?xml version=\"1.0\" ?>\n<NessusClientData_v2>\n<Policy><policyName>Advanced Scan</policyName>\n<Preferences><ServerPreferen"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/README.md",
    "chars": 468,
    "preview": "<!-- SPDX-License-Identifier: MIT --->\nAbout this project\n==================\nATTENTION: The netsparker product support i"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/build.gradle",
    "chars": 342,
    "preview": "// SPDX-License-Identifier: MIT\n /*============================================================================\n * Build"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/MockedNetsparkerAdapter.java",
    "chars": 2141,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport org.springframework.context."
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapter.java",
    "chars": 214,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport com.mercedesbenz.sechub.adap"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterConfig.java",
    "chars": 509,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport com.mercedesbenz.sechub.adap"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterContext.java",
    "chars": 235,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport com.mercedesbenz.sechub.adap"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterV1.java",
    "chars": 12941,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport static org.springframework.h"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterWebLoginSupportV1.java",
    "chars": 5567,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport static java.util.Objects.*;\n"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerClientHttpRequestInterceptor.java",
    "chars": 1280,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport java.io.IOException;\n\nimport"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerConfig.java",
    "chars": 3809,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport java.net.MalformedURLExcepti"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerContext.java",
    "chars": 899,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport org.springframework.http.cli"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerLoginScriptGenerator.java",
    "chars": 4307,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport java.util.Iterator;\nimport j"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerMetaDataID.java",
    "chars": 196,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\npublic class NetsparkerMetaDataID {"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerRESTFailureException.java",
    "chars": 703,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport org.springframework.http.Htt"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerState.java",
    "chars": 784,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\npublic enum NetsparkerState {\n    C"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/resources/adapter/mockdata/MockedNetsparkerAdapter/v1/green.xml",
    "chars": 7563,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<netsparker-cloud generated=\"26/01/2018 10:13\">\n    <target>\n        <scan-id>77"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/resources/adapter/mockdata/MockedNetsparkerAdapter/v1/red.xml",
    "chars": 291737,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<netsparker-cloud generated=\"13/10/2019 02:36 AM\">\n\t<target>\n\t\t<scan-id>c6f704d5"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/main/resources/adapter/mockdata/MockedNetsparkerAdapter/v1/yellow.xml",
    "chars": 103125,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<netsparker-cloud generated=\"13/10/2019 02:36 AM\">\n\t<target>\n\t\t<scan-id>c6f704d5"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterV1Test.java",
    "chars": 12579,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport static org.junit.Assert.*;\ni"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerAdapterV1WireMockTest.java",
    "chars": 10003,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport static com.github.tomakehurs"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerConfigBuilderTest.java",
    "chars": 7581,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport static org.junit.Assert.*;\n\n"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerContextTest.java",
    "chars": 1612,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport static org.junit.Assert.*;\ni"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerLoginScriptGeneratorTest.java",
    "chars": 15492,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport static org.junit.Assert.*;\ni"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/NetsparkerStateTest.java",
    "chars": 723,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport static org.junit.Assert.*;\n\n"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/TestNetsparkerAdapterApplication.java",
    "chars": 5543,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport static com.mercedesbenz.sech"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/java/com/mercedesbenz/sechub/adapter/netsparker/TestNetsparkerAdapterFileSupport.java",
    "chars": 645,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.adapter.netsparker;\n\nimport com.mercedesbenz.sechub.test"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/README.md",
    "chars": 214,
    "preview": "<!-- SPDX-License-Identifier: MIT --->\nAbout this folder\n=================\nYou will find netsparker outputs from real wo"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/json/basic_weblogin_expected1.json",
    "chars": 327,
    "preview": "{\"AgentName\":null,\"BasicAuthenticationApiModel\":{\"Credentials\":[{\"AuthenticationType\":\"Basic\",\"Domain\":\"www.example.com\""
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/json/form_auto_detect_weblogin.json",
    "chars": 331,
    "preview": "{\"AgentName\":null,\"ExcludeAuthenticationPages\":\"true\",\"FormAuthenticationSettingModel\":{\"DisableLogoutDetection\":true,\"I"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/json/form_scripts_weblogin.json",
    "chars": 769,
    "preview": "{\"AgentName\":null,\"ExcludeAuthenticationPages\":\"true\",\"FormAuthenticationSettingModel\":{\"CustomScripts\":[{\"Value\":\"netsp"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/json/max_duration_one_hour_expected.json",
    "chars": 107,
    "preview": "{\"AgentName\":null,\"ExcludeAuthenticationPages\":\"true\",\"MaxScanDuration\":1,\"PolicyId\":null,\"TargetUri\":null}"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/json/max_duration_three_hours_expected.json",
    "chars": 107,
    "preview": "{\"AgentName\":null,\"ExcludeAuthenticationPages\":\"true\",\"MaxScanDuration\":3,\"PolicyId\":null,\"TargetUri\":null}"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/json/max_duration_two_hours_expected.json",
    "chars": 107,
    "preview": "{\"AgentName\":null,\"ExcludeAuthenticationPages\":\"true\",\"MaxScanDuration\":2,\"PolicyId\":null,\"TargetUri\":null}"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/netsparker_v1.0.40.109_new_scan_output.json",
    "chars": 1810,
    "preview": "[{\"WebsiteUrl\":\"https://fscan.intranet.example.org/\",\"TargetPath\":\"/\",\"TargetUrl\":\"https://fscan.intranet.example.org/\","
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/netsparker_v1.0.40.109_scan_result_output_vulnerabilities.json",
    "chars": 19267,
    "preview": "{\n  \"Generated\": \"2018-02-13T15:50:49.6965442+00:00\",\n  \"Target\": {\n    \"ScanId\": \"93cc5894f38546f45f7aa8860366c07e\",\n  "
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/netsparker_v1.0.40.109_scan_result_output_vulnerabilities.xml",
    "chars": 19834,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<netsparker-cloud generated=\"13/02/2018 16:23\">\n\t<target>\n\t\t<scan-id>93cc5894f38"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/netsparker_v1.0.40.109_scan_state_complete.json",
    "chars": 91,
    "preview": "{\"State\":\"Complete\",\"EstimatedSteps\":5000,\"CompletedSteps\":5000,\"EstimatedLaunchTime\":null}"
  },
  {
    "path": "deprecated-sechub-adapter-netsparker/src/test/resources/netsparker_v1.0.40.109_scan_state_scanning.json",
    "chars": 89,
    "preview": "{\"State\":\"Scanning\",\"EstimatedSteps\":382,\"CompletedSteps\":244,\"EstimatedLaunchTime\":null}"
  },
  {
    "path": "deprecated-sechub-scan-product-nessus/README.md",
    "chars": 221,
    "preview": "<!-- SPDX-License-Identifier: MIT --->\nAbout this project\n==================\n\nATTENTION:\n----------\nThis is attic stuff."
  },
  {
    "path": "deprecated-sechub-scan-product-nessus/build.gradle",
    "chars": 473,
    "preview": "// SPDX-License-Identifier: MIT\n /*============================================================================\n * Build"
  },
  {
    "path": "deprecated-sechub-scan-product-nessus/src/main/java/com/mercedesbenz/sechub/domain/scan/product/nessus/NessusConstants.java",
    "chars": 184,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.domain.scan.product.nessus;\n\npublic class NessusConstant"
  },
  {
    "path": "deprecated-sechub-scan-product-nessus/src/main/java/com/mercedesbenz/sechub/domain/scan/product/nessus/NessusInstallSetup.java",
    "chars": 417,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.domain.scan.product.nessus;\n\nimport com.mercedesbenz.sec"
  },
  {
    "path": "deprecated-sechub-scan-product-nessus/src/main/java/com/mercedesbenz/sechub/domain/scan/product/nessus/NessusInstallSetupImpl.java",
    "chars": 3458,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.domain.scan.product.nessus;\n\nimport static com.mercedesb"
  },
  {
    "path": "deprecated-sechub-scan-product-nessus/src/main/java/com/mercedesbenz/sechub/domain/scan/product/nessus/NessusProductExecutor.java",
    "chars": 5150,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.domain.scan.product.nessus;\n\nimport static com.mercedesb"
  },
  {
    "path": "deprecated-sechub-scan-product-netsparker/build.gradle",
    "chars": 477,
    "preview": "// SPDX-License-Identifier: MIT\n /*============================================================================\n * Build"
  },
  {
    "path": "deprecated-sechub-scan-product-netsparker/src/main/java/com/mercedesbenz/sechub/domain/scan/product/netsparker/NetsparkerConstants.java",
    "chars": 200,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.domain.scan.product.netsparker;\n\npublic class Netsparker"
  },
  {
    "path": "deprecated-sechub-scan-product-netsparker/src/main/java/com/mercedesbenz/sechub/domain/scan/product/netsparker/NetsparkerInstallSetup.java",
    "chars": 638,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.domain.scan.product.netsparker;\n\nimport com.mercedesbenz"
  },
  {
    "path": "deprecated-sechub-scan-product-netsparker/src/main/java/com/mercedesbenz/sechub/domain/scan/product/netsparker/NetsparkerInstallSetupImpl.java",
    "chars": 5023,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.domain.scan.product.netsparker;\n\nimport static com.merce"
  },
  {
    "path": "deprecated-sechub-scan-product-netsparker/src/main/java/com/mercedesbenz/sechub/domain/scan/product/netsparker/NetsparkerProductExecutor.java",
    "chars": 4895,
    "preview": "// SPDX-License-Identifier: MIT\npackage com.mercedesbenz.sechub.domain.scan.product.netsparker;\n\nimport java.net.URI;\nim"
  },
  {
    "path": "docs/.gitignore",
    "chars": 7,
    "preview": "latest\n"
  },
  {
    "path": "docs/.nojekyll",
    "chars": 34,
    "preview": "no jekyll for gh-pages deployment\n"
  },
  {
    "path": "docs/200.html",
    "chars": 21598,
    "preview": "<!DOCTYPE html><html  lang=\"en\"><head><meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-"
  },
  {
    "path": "docs/404.html",
    "chars": 21598,
    "preview": "<!DOCTYPE html><html  lang=\"en\"><head><meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-"
  },
  {
    "path": "docs/README.md",
    "chars": 744,
    "preview": "<!-- SPDX-License-Identifier: MIT --->\n# About\n\n## What is this folder for?\nThis folder is used for [SecHub's GitHub Pag"
  },
  {
    "path": "docs/_nuxt/5c4pSGXq.js",
    "chars": 3388,
    "preview": "import{_ as s,u as a,c as i,o as u,a as e,t as o}from\"./CCW46xiD.js\";const l={class:\"antialiased bg-white dark:bg-black "
  },
  {
    "path": "docs/_nuxt/BWjaZIcp.js",
    "chars": 3731,
    "preview": "import{_ as a,u as i,c as u,o as c,a as e,t as r,b as l,w as d,d as p,e as f}from\"./CCW46xiD.js\";const m={class:\"antiali"
  },
  {
    "path": "docs/_nuxt/CCW46xiD.js",
    "chars": 180836,
    "preview": "const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[\"./BWjaZIcp.js\",\"./error-404.1I9kcRJA.css\",\"./5c4pSGXq.js\",\"./e"
  },
  {
    "path": "docs/_nuxt/builds/latest.json",
    "chars": 71,
    "preview": "{\"id\":\"be7dde3d-fd6e-4470-b969-cc011a87f1b7\",\"timestamp\":1756738384881}"
  },
  {
    "path": "docs/_nuxt/builds/meta/be7dde3d-fd6e-4470-b969-cc011a87f1b7.json",
    "chars": 142,
    "preview": "{\"id\":\"be7dde3d-fd6e-4470-b969-cc011a87f1b7\",\"timestamp\":1756738384881,\"matcher\":{\"static\":{},\"wildcard\":{},\"dynamic\":{}"
  },
  {
    "path": "docs/_nuxt/entry.CVHbRtC8.css",
    "chars": 2214,
    "preview": "html{scroll-behavior:smooth}.button{border-radius:.375rem;display:inline-flex;justify-content:center;width:100%;--tw-bg-"
  },
  {
    "path": "docs/_nuxt/error-404.1I9kcRJA.css",
    "chars": 3622,
    "preview": ".spotlight[data-v-c2c324f7]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);bottom:-30vh;filter:blur(20vh)"
  },
  {
    "path": "docs/_nuxt/error-500.D2gsH5Ap.css",
    "chars": 1950,
    "preview": ".spotlight[data-v-3726f659]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);filter:blur(20vh)}.fixed[data-"
  },
  {
    "path": "docs/_payload.json",
    "chars": 69,
    "preview": "[{\"data\":1,\"prerenderedAt\":3},[\"ShallowReactive\",2],{},1756738391366]"
  },
  {
    "path": "docs/favicon.ico.license",
    "chars": 105,
    "preview": "SPDX-License-Identifier: CC-BY-NC-ND-4.0\nSPDX-FileCopyrightText: 2022 Mercedes-Benz Tech Innovation GmbH\n"
  },
  {
    "path": "docs/index-old.html",
    "chars": 4963,
    "preview": "<!-- SPDX-License-Identifier: MIT -->\n<!DOCTYPE html>\n<html lang=\"en-US\">\n\n<head>\n  <meta charset='utf-8'>\n  <meta http-"
  },
  {
    "path": "docs/index.html",
    "chars": 37702,
    "preview": "<!DOCTYPE html><html  lang=\"en\"><head><meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-"
  },
  {
    "path": "docs/main.css",
    "chars": 1388,
    "preview": "/* SPDX-License-Identifier: MIT */\n\n:root {\n    --dark-color: #212121;\n    --light-color: #f2f2f2;\n    --max-width: 40re"
  },
  {
    "path": "github-actions/scan/.eslintrc.json",
    "chars": 620,
    "preview": "{\n    \"env\": {\n        \"browser\": true,\n        \"es2021\": true\n    },\n    \"extends\": [\n        \"eslint:recommended\",\n   "
  },
  {
    "path": "github-actions/scan/.gitignore",
    "chars": 14,
    "preview": "runtime/\ndist/"
  },
  {
    "path": "github-actions/scan/.prettierrc.json",
    "chars": 80,
    "preview": "{\n  \"printWidth\": 150,\n  \"semi\": true,\n  \"singleQuote\": true,\n  \"tabWidth\": 4\n}\n"
  },
  {
    "path": "github-actions/scan/README.adoc",
    "chars": 10769,
    "preview": "// SPDX-License-Identifier: MIT\n:toc:\n:toclevels: 5\n\n== GitHub Action for SecHub scan\n\nThis GitHub action uses the SecHu"
  },
  {
    "path": "github-actions/scan/__test__/client-version-helper.test.ts",
    "chars": 2885,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport { getClientVersion } from '../src/client-version-helper';\nimport axios from 'axi"
  },
  {
    "path": "github-actions/scan/__test__/configuration-builder.test.ts",
    "chars": 13207,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport * as configBuilder from '../src/configuration-builder';\nimport { ScanType, SecHu"
  },
  {
    "path": "github-actions/scan/__test__/configuration-model-customizer.test.ts",
    "chars": 6941,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport { addAdditonalExcludes } from \"../src/configuration-model-customizer\";\n\n\ndescrib"
  },
  {
    "path": "github-actions/scan/__test__/content-type.test.ts",
    "chars": 1006,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport { ContentType } from '../src/content-type';\n\njest.mock('@actions/core');\n\n\ndescr"
  },
  {
    "path": "github-actions/scan/__test__/data/delete-resources-1/folder-to-cleanup/file-to-delete.txt",
    "chars": 15,
    "preview": "file-to-delete\n"
  },
  {
    "path": "github-actions/scan/__test__/data/delete-resources-1/folder-to-cleanup/file-to-keep.txt",
    "chars": 12,
    "preview": "file-to-keep"
  },
  {
    "path": "github-actions/scan/__test__/data/delete-resources-1/folder-to-cleanup/folder-to-delete/file-to-delete.txt",
    "chars": 14,
    "preview": "file-to-delete"
  },
  {
    "path": "github-actions/scan/__test__/fs-helper.test.ts",
    "chars": 2847,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport * as fs_extra from 'fs-extra';\nimport { deleteDirectoryExceptGivenFile } from '."
  },
  {
    "path": "github-actions/scan/__test__/init-scan.test.ts",
    "chars": 3335,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport {initReportFormats, initSecHubJson} from '../src/init-scan';\n\njest.mock('./../sr"
  },
  {
    "path": "github-actions/scan/__test__/input-helper.test.ts",
    "chars": 8632,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport { resolveProxyConfig, split, safeAcceptedScanTypes } from '../src/input-helper';"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/01-start.sh",
    "chars": 6215,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\nset -e\n\n# Purpose for this script:\n# * Preparation for integration tests\n#\n#"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/03-init_sechub_data.sh",
    "chars": 2669,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\nset -e\nSCRIPT_DIR=\"$( cd -- \"$(dirname \"$0\")\" >/dev/null 2>&1 ; pwd -P )\" # "
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/05-stop.sh",
    "chars": 568,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\nset -e\n\n# Purpose for this script:\n# * Cleanup after integration tests\n# \n# "
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/start_pds.sh",
    "chars": 1544,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\nSERVER_PORT=$1\nPATH_TO_EXECUTABLE=$2\nPATH_TO_CERTIFICATE=$3\nPATH_TO_LOGFILE="
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/start_sechub_server.sh",
    "chars": 1428,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\nSERVER_PORT=$1\nPATH_TO_EXECUTABLE=$2\nPATH_TO_CERTIFICATE=$3\nPATH_TO_LOGFILE="
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/stop_pds.sh",
    "chars": 373,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\n# $1 = server port\nSERVER_PORT=$1\necho \"[ STOP  ] PDS\"\necho \"Shutdown PDS at"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/stop_sechub_server.sh",
    "chars": 386,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\n# $1 = server port\nSERVER_PORT=$1\necho \"[ STOP  ] SecHub\"\necho \"Shutdown Sec"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/executor-codescan-green.json",
    "chars": 1118,
    "preview": "{\n    \"name\": \"executor-codescan-green\",\n    \"productIdentifier\": \"PDS_CODESCAN\",\n    \"setup\": {\n        \"baseURL\": \"htt"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/executor-codescan-red-def-fp.json",
    "chars": 1128,
    "preview": "{\n    \"name\": \"executor-codescan-red-def-fp\",\n    \"productIdentifier\": \"PDS_CODESCAN\",\n    \"setup\": {\n        \"baseURL\":"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/executor-codescan-red.json",
    "chars": 1114,
    "preview": "{\n    \"name\": \"executor-codescan-red\",\n    \"productIdentifier\": \"PDS_CODESCAN\",\n    \"setup\": {\n        \"baseURL\": \"https"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/executor-codescan-yellow.json",
    "chars": 1120,
    "preview": "{\n    \"name\": \"executor-codescan-yellow\",\n    \"productIdentifier\": \"PDS_CODESCAN\",\n    \"setup\": {\n        \"baseURL\": \"ht"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/executor-iacscan-red.json",
    "chars": 1111,
    "preview": "{\n    \"name\": \"executor-iacscan-red\",\n    \"productIdentifier\": \"PDS_IACSCAN\",\n    \"setup\": {\n        \"baseURL\": \"https:/"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/executor-licensescan-green.json",
    "chars": 1127,
    "preview": "{\n    \"name\": \"executor-licensescan-green\",\n    \"productIdentifier\": \"PDS_LICENSESCAN\",\n    \"setup\": {\n        \"baseURL\""
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/executor-secretscan-yellow.json",
    "chars": 1126,
    "preview": "{\n    \"name\": \"executor-secretscan-yellow\",\n    \"productIdentifier\": \"PDS_SECRETSCAN\",\n    \"setup\": {\n        \"baseURL\":"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/executor-webscan-red.json",
    "chars": 1109,
    "preview": "{\n    \"name\": \"executor-webscan-red\",\n    \"productIdentifier\": \"PDS_WEBSCAN\",\n    \"setup\": {\n        \"baseURL\": \"https:/"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/gha_integrationtest_pds-config.json",
    "chars": 2474,
    "preview": "{\n  \"apiVersion\": \"1.0\",\n  \"serverId\": \"gha_integrationtest_server\",\n  \"products\": [\n    {\n      \"id\": \"codescan_demo_gr"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/sechub-config-iacscan-test-project-8.json",
    "chars": 397,
    "preview": "{\n  \"apiVersion\": \"1.0\",\n  \"project\" : \"test-project-8\",\n  \"data\": {\n    \"sources\": [\n      {\n        \"name\": \"reference"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/sechub-config-webscan-project-4-with-correct-project-name-inside.json",
    "chars": 144,
    "preview": "{\n\n    \"apiVersion\": \"1.0\",\n\n    \"project\" : \"test-project-4\",\n\n    \"webScan\"   : {\n        \"url\": \"https://vulnerable.d"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-config/sechub-config-webscan-project-4.json",
    "chars": 177,
    "preview": "{\n\n    \"apiVersion\": \"1.0\",\n\n    \"project\" : \"wrong-project-shall-be-overriden-by-env-in-test\",\n\n    \"webScan\"   : {\n   "
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-product-output/example-codescan-sarif-output-red.json",
    "chars": 1565,
    "preview": "{\n    \"version\": \"2.1.0\",\n    \"$schema\": \"http://json.schemastore.org/sarif-2.1.0-rtm.4\",\n    \"runs\": [\n      {\n        "
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-product-output/example-gitleaks-sarif-output-yellow.json",
    "chars": 45569,
    "preview": "{\n    \"$schema\": \"https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json\",\n    \"version\": \"2.1.0\",\n  "
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-product-output/example-iacscan-sarif-output-red.json",
    "chars": 25284,
    "preview": "{\n\t\"$schema\": \"https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json\",\n\t\"versio"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-product-output/example-owasp-zap-sarif-output-red.json",
    "chars": 56387,
    "preview": "{\n    \"runs\" : [ {\n      \"results\" : [ {\n        \"level\" : \"error\",\n        \"locations\" : [ {\n          \"physicalLocatio"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-product-output/example-scancode-spdx-output.json",
    "chars": 17889,
    "preview": "{\n  \"SPDXID\" : \"SPDXRef-DOCUMENT\",\n  \"spdxVersion\" : \"SPDX-2.2\",\n  \"creationInfo\" : {\n    \"created\" : \"2022-02-21T16:04:"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-scripts/pds-codescan-demo-green.sh",
    "chars": 126,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\necho \"#PDS_INTTEST_PRODUCT_CODESCAN\ninfo:result-green\" > \"${PDS_JOB_RESULT_F"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-scripts/pds-codescan-demo-red-define-false-positives.sh",
    "chars": 161,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\ncat \"__test__/integrationtest/test-product-output/example-codescan-sarif-out"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-scripts/pds-codescan-demo-red.sh",
    "chars": 124,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\necho \"#PDS_INTTEST_PRODUCT_CODESCAN\nhigh:result-red\" > \"${PDS_JOB_RESULT_FIL"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-scripts/pds-codescan-demo-yellow.sh",
    "chars": 129,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\necho \"#PDS_INTTEST_PRODUCT_CODESCAN\nmedium:result-yellow\" > \"${PDS_JOB_RESUL"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-scripts/pds-iacscan-demo-red.sh",
    "chars": 159,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\ncat \"__test__/integrationtest/test-product-output/example-iacscan-sarif-outp"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-scripts/pds-licensescan-demo-green.sh",
    "chars": 155,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\ncat \"__test__/integrationtest/test-product-output/example-scancode-spdx-outp"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-scripts/pds-secretscan-demo-yellow.sh",
    "chars": 163,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\ncat \"__test__/integrationtest/test-product-output/example-gitleaks-sarif-out"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-scripts/pds-webscan-demo-red.sh",
    "chars": 162,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\ncat \"__test__/integrationtest/test-product-output/example-owasp-zap-sarif-ou"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/test-sources/testdata.txt",
    "chars": 5,
    "preview": "dummy"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/testframework.ts",
    "chars": 498,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport * as shell from 'shelljs';\n\nexport class IntegrationTestContext {\n   \n    worksp"
  },
  {
    "path": "github-actions/scan/__test__/integrationtest/wait_server_alive.sh",
    "chars": 737,
    "preview": "#!/bin/bash\n# SPDX-License-Identifier: MIT\n\nSERVER_TYPE=$1\nCHECK_ALIVE_URL=$2\n\nif [ \"$CHECK_ALIVE_URL\" = \"\" ]; then\n    "
  },
  {
    "path": "github-actions/scan/__test__/integrationtest.test.ts",
    "chars": 18057,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport { create } from '@actions/artifact';\nimport { debug, error, getInput, info, isDe"
  },
  {
    "path": "github-actions/scan/__test__/log-helper.test.ts",
    "chars": 523,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport { logExitCode } from '../src/exitcode';\njest.mock('@actions/core');\nimport * as "
  },
  {
    "path": "github-actions/scan/__test__/output-helper.test.ts",
    "chars": 527,
    "preview": "// SPDX-License-Identifier: MIT\nimport * as outputHelper from '../src/output-helper';\nimport * as core from '@actions/co"
  },
  {
    "path": "github-actions/scan/__test__/post-scan.test.ts",
    "chars": 7915,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport * as core from '@actions/core';\nimport * as fs_wrapper from '../src/fs-wrapper';"
  },
  {
    "path": "github-actions/scan/__test__/projectname-resolver.test.ts",
    "chars": 1218,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport * as githubInput from '../src/github-input';\nimport { resolveProjectName } from "
  },
  {
    "path": "github-actions/scan/__test__/report-format.test.ts",
    "chars": 1566,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport {getValidFormatsFromInput} from '../src/report-formats';\n\ndescribe('getValidForm"
  },
  {
    "path": "github-actions/scan/__test__/sechub-cli.test.ts",
    "chars": 13233,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport { exec } from 'shelljs';\nimport { scan, extractJobUUID, defineFalsePositives, ge"
  },
  {
    "path": "github-actions/scan/__test__/shell-arg-sanitizer.test.ts",
    "chars": 2983,
    "preview": "/* eslint-disable indent */\n// SPDX-License-Identifier: MIT\n\nimport * as shellArgSanitizer from '../src/shell-arg-saniti"
  },
  {
    "path": "github-actions/scan/__test__/test-resources/test-config-with-project-name-inside.json",
    "chars": 81,
    "preview": "{\n\n    \"apiVersion\": \"1.0\",\n\n    \"project\" : \"the-project-name-from-configfile\"\n}"
  },
  {
    "path": "github-actions/scan/__test__/test-resources/test-config.json",
    "chars": 8,
    "preview": "{\n    \n}"
  },
  {
    "path": "github-actions/scan/action.yml",
    "chars": 6037,
    "preview": "# SPDX-License-Identifier: MIT\n\nname: sechub scan\ndescription: 'a GitHub actions wrapper for SecHub security scan.'\ninpu"
  },
  {
    "path": "github-actions/scan/jest.config.js",
    "chars": 156,
    "preview": "// SPDX-License-Identifier: MIT\n\n/** @type {import('ts-jest').JestConfigWithTsJest} */\nmodule.exports = {\n  preset: 'ts-"
  },
  {
    "path": "github-actions/scan/package.json",
    "chars": 1523,
    "preview": "{\n  \"name\": \"sechub-scan-action\",\n  \"version\": \"2.8.0\",\n  \"description\": \"GitHub Action for SecHub scan\",\n  \"main\": \"dis"
  },
  {
    "path": "github-actions/scan/src/action-helper.ts",
    "chars": 551,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport * as core from '@actions/core';\n\n/**\n * Marks the action as failed with given ex"
  },
  {
    "path": "github-actions/scan/src/client-download.ts",
    "chars": 2143,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport * as core from '@actions/core';\nimport * as fs from 'fs';\nimport * as path from "
  },
  {
    "path": "github-actions/scan/src/client-version-helper.ts",
    "chars": 2004,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport axios from 'axios';\nimport { load } from 'cheerio';\nimport * as core from '@acti"
  },
  {
    "path": "github-actions/scan/src/configuration-builder.ts",
    "chars": 4584,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport * as core from '@actions/core';\nimport * as shell from 'shelljs';\nimport { ScanT"
  },
  {
    "path": "github-actions/scan/src/configuration-model-customizer.ts",
    "chars": 1529,
    "preview": "// SPDX-License-Identifier: MIT\n\nconst ADDITIONAL_EXCLUDES: string[] = ['**/.sechub-gha/**']\n\n/**\n * Adds additional exc"
  },
  {
    "path": "github-actions/scan/src/content-type.ts",
    "chars": 872,
    "preview": "// SPDX-License-Identifier: MIT\n\nimport { SecHubConfigurationModelBuilderData } from './configuration-builder'\n\nexport c"
  }
]

// ... and 5519 more files (download for full content)

About this extraction

This page contains the full source code of the mercedes-benz/sechub GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 5719 files (48.8 MB), approximately 13.2M tokens, and a symbol index with 23960 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!