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
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
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.