You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ab...@apache.org on 2023/02/09 06:55:09 UTC
[incubator-devlake] branch main updated: fix(sonarqube): fix issues from first review (#4367)
This is an automated email from the ASF dual-hosted git repository.
abeizn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/main by this push:
new 3377487c9 fix(sonarqube): fix issues from first review (#4367)
3377487c9 is described below
commit 3377487c93e021ef7bcca23750e9ea248e271f70
Author: Warren Chen <yi...@merico.dev>
AuthorDate: Thu Feb 9 14:55:04 2023 +0800
fix(sonarqube): fix issues from first review (#4367)
---
.../models/domainlayer/securitytesting/st_file_metrics.go | 3 +--
backend/core/models/domainlayer/securitytesting/st_issues.go | 2 +-
.../core/models/domainlayer/securitytesting/st_projects.go | 2 +-
.../models/migrationscripts/20230208_add_security_testing.go | 2 +-
.../core/models/migrationscripts/archived/st_file_metrics.go | 3 +--
backend/core/models/migrationscripts/archived/st_issues.go | 2 +-
backend/core/models/migrationscripts/archived/st_projects.go | 2 +-
backend/plugins/sonarqube/api/blueprint_v200.go | 4 ++--
backend/plugins/sonarqube/api/blueprint_v200_test.go | 2 +-
backend/plugins/sonarqube/api/connection.go | 10 ++++++++++
.../models/migrationscripts/20230111_add_init_tables.go | 2 +-
.../migrationscripts/archived/sonarqube_file_metrics.go | 4 ++--
.../models/migrationscripts/archived/sonarqube_hotspot.go | 4 ++--
.../models/migrationscripts/archived/sonarqube_issue.go | 4 ++--
.../models/migrationscripts/archived/sonarqube_project.go | 2 +-
backend/plugins/sonarqube/models/sonarqube_file_metrics.go | 4 ++--
backend/plugins/sonarqube/models/sonarqube_hotspot.go | 4 ++--
backend/plugins/sonarqube/models/sonarqube_issue.go | 4 ++--
backend/plugins/sonarqube/models/sonarqube_project.go | 2 +-
backend/plugins/sonarqube/tasks/filemetrics_convertor.go | 7 +++----
backend/plugins/sonarqube/tasks/filemetrics_extractor.go | 12 ++++++------
backend/plugins/sonarqube/tasks/hotspots_convertor.go | 6 +++---
.../plugins/sonarqube/tasks/issue_code_blocks_convertor.go | 4 ++--
backend/plugins/sonarqube/tasks/issues_convertor.go | 6 +++---
backend/plugins/sonarqube/tasks/issues_extractor.go | 6 +++---
backend/plugins/sonarqube/tasks/projects_convertor.go | 6 +++---
26 files changed, 58 insertions(+), 51 deletions(-)
diff --git a/backend/core/models/domainlayer/securitytesting/st_file_metrics.go b/backend/core/models/domainlayer/securitytesting/st_file_metrics.go
index 66513d3c5..7f4ed32ab 100644
--- a/backend/core/models/domainlayer/securitytesting/st_file_metrics.go
+++ b/backend/core/models/domainlayer/securitytesting/st_file_metrics.go
@@ -23,8 +23,7 @@ import (
type StFileMetrics struct {
domainlayer.DomainEntity
- ComponentKey string
- Project string `gorm:"index;type:varchar(255)"` //domain project key
+ ProjectKey string `gorm:"index;type:varchar(255)"` //domain project key
BatchID string `json:"batch_id"`
FileName string `json:"file_name"`
FilePath string `json:"file_path"`
diff --git a/backend/core/models/domainlayer/securitytesting/st_issues.go b/backend/core/models/domainlayer/securitytesting/st_issues.go
index 6cfb2d0f7..6a9fc1fd5 100644
--- a/backend/core/models/domainlayer/securitytesting/st_issues.go
+++ b/backend/core/models/domainlayer/securitytesting/st_issues.go
@@ -27,7 +27,7 @@ type StIssue struct {
Rule string `json:"rule" gorm:"type:varchar(255)"`
Severity string `json:"severity" gorm:"type:varchar(255)"`
Component string `json:"component" gorm:"type:varchar(255)"`
- Project string `gorm:"index;type:varchar(255)"` //domain project key
+ ProjectKey string `gorm:"index;type:varchar(255)"` //domain project key
BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Line int `json:"line"`
Status string `json:"status" gorm:"type:varchar(255)"`
diff --git a/backend/core/models/domainlayer/securitytesting/st_projects.go b/backend/core/models/domainlayer/securitytesting/st_projects.go
index e08286352..8f004cd50 100644
--- a/backend/core/models/domainlayer/securitytesting/st_projects.go
+++ b/backend/core/models/domainlayer/securitytesting/st_projects.go
@@ -31,7 +31,7 @@ type StProject struct {
Qualifier string `json:"qualifier" gorm:"type:varchar(255)"`
Visibility string `json:"visibility" gorm:"type:varchar(64)"`
LastAnalysisDate *api.Iso8601Time `json:"lastAnalysisDate"`
- Revision string `json:"revision" gorm:"type:varchar(128)"`
+ CommitSha string `json:"revision" gorm:"type:varchar(128)"`
}
func (StProject) TableName() string {
diff --git a/backend/core/models/migrationscripts/20230208_add_security_testing.go b/backend/core/models/migrationscripts/20230208_add_security_testing.go
index a4780ad13..c5add37cb 100644
--- a/backend/core/models/migrationscripts/20230208_add_security_testing.go
+++ b/backend/core/models/migrationscripts/20230208_add_security_testing.go
@@ -37,7 +37,7 @@ func (u *addSecurityTesting) Up(basicRes context.BasicRes) errors.Error {
}
func (*addSecurityTesting) Version() uint64 {
- return 20230208000013
+ return 20230208000015
}
func (*addSecurityTesting) Name() string {
diff --git a/backend/core/models/migrationscripts/archived/st_file_metrics.go b/backend/core/models/migrationscripts/archived/st_file_metrics.go
index bf81ea6ff..307c93b69 100644
--- a/backend/core/models/migrationscripts/archived/st_file_metrics.go
+++ b/backend/core/models/migrationscripts/archived/st_file_metrics.go
@@ -19,8 +19,7 @@ package archived
type StFileMetrics struct {
DomainEntity
- ComponentKey string
- Project string `gorm:"index;type:varchar(255)"` //domain project key
+ ProjectKey string `gorm:"index;type:varchar(255)"` //domain project key
BatchID string `json:"batch_id"`
FileName string `json:"file_name"`
FilePath string `json:"file_path"`
diff --git a/backend/core/models/migrationscripts/archived/st_issues.go b/backend/core/models/migrationscripts/archived/st_issues.go
index 7d5c3f0dc..55f7493a3 100644
--- a/backend/core/models/migrationscripts/archived/st_issues.go
+++ b/backend/core/models/migrationscripts/archived/st_issues.go
@@ -26,7 +26,7 @@ type StIssue struct {
Rule string `json:"rule" gorm:"type:varchar(255)"`
Severity string `json:"severity" gorm:"type:varchar(255)"`
Component string `json:"component" gorm:"type:varchar(255)"`
- Project string `gorm:"index;type:varchar(255)"` //domain project key
+ ProjectKey string `gorm:"index;type:varchar(255)"` //domain project key
BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Line int `json:"line"`
Status string `json:"status" gorm:"type:varchar(255)"`
diff --git a/backend/core/models/migrationscripts/archived/st_projects.go b/backend/core/models/migrationscripts/archived/st_projects.go
index 6fbcfd5a1..ebd8f10ec 100644
--- a/backend/core/models/migrationscripts/archived/st_projects.go
+++ b/backend/core/models/migrationscripts/archived/st_projects.go
@@ -27,7 +27,7 @@ type StProject struct {
Qualifier string `json:"qualifier" gorm:"type:varchar(255)"`
Visibility string `json:"visibility" gorm:"type:varchar(64)"`
LastAnalysisDate *api.Iso8601Time `json:"lastAnalysisDate"`
- Revision string `json:"revision" gorm:"type:varchar(128)"`
+ CommitSha string `gorm:"type:varchar(128)"`
}
func (StProject) TableName() string {
diff --git a/backend/plugins/sonarqube/api/blueprint_v200.go b/backend/plugins/sonarqube/api/blueprint_v200.go
index 2f684c911..33fa3bdc6 100644
--- a/backend/plugins/sonarqube/api/blueprint_v200.go
+++ b/backend/plugins/sonarqube/api/blueprint_v200.go
@@ -86,7 +86,7 @@ func makeScopesV200(bpScopes []*plugin.BlueprintScopeV200, connectionId uint64)
sonarqubeProject := &models.SonarqubeProject{}
// get repo from db
err := basicRes.GetDal().First(sonarqubeProject,
- dal.Where("connection_id = ? and `key` = ?",
+ dal.Where("connection_id = ? and project_key = ?",
connectionId, bpScope.Id))
if err != nil {
return nil, errors.Default.Wrap(err, fmt.Sprintf("fail to find sonarqube project %s", bpScope.Id))
@@ -95,7 +95,7 @@ func makeScopesV200(bpScopes []*plugin.BlueprintScopeV200, connectionId uint64)
if utils.StringsContains(bpScope.Entities, plugin.DOMAIN_TYPE_SECURITY_TESTING) {
stProject := &securitytesting.StProject{
DomainEntity: domainlayer.DomainEntity{
- Id: didgen.NewDomainIdGenerator(&models.SonarqubeProject{}).Generate(sonarqubeProject.ConnectionId, sonarqubeProject.Key),
+ Id: didgen.NewDomainIdGenerator(&models.SonarqubeProject{}).Generate(sonarqubeProject.ConnectionId, sonarqubeProject.ProjectKey),
},
Name: sonarqubeProject.Name,
}
diff --git a/backend/plugins/sonarqube/api/blueprint_v200_test.go b/backend/plugins/sonarqube/api/blueprint_v200_test.go
index ccfbe6bde..02cfef76e 100644
--- a/backend/plugins/sonarqube/api/blueprint_v200_test.go
+++ b/backend/plugins/sonarqube/api/blueprint_v200_test.go
@@ -79,7 +79,7 @@ func TestMakeDataSourcePipelinePlanV200(t *testing.T) {
func NewMockBasicRes() *mockcontext.BasicRes {
sonarqubeProject := &models.SonarqubeProject{
ConnectionId: 1,
- Key: "f5a50c63-2e8f-4107-9014-853f6f467757",
+ ProjectKey: "f5a50c63-2e8f-4107-9014-853f6f467757",
Name: "aerosolve",
}
diff --git a/backend/plugins/sonarqube/api/connection.go b/backend/plugins/sonarqube/api/connection.go
index dc861ece0..aa0b80fa5 100644
--- a/backend/plugins/sonarqube/api/connection.go
+++ b/backend/plugins/sonarqube/api/connection.go
@@ -30,6 +30,16 @@ type validation struct {
Valid bool `json:"valid"`
}
+/*
+@Summary test sonarqube connection
+@Description Test sonarqube Connection
+@Tags plugins/sonarqube
+@Param body body models.SonarqubeConn true "json body"
+@Success 200 {object} shared.ApiBody "Success"
+@Failure 400 {string} errcode.Error "Bad Request"
+@Failure 500 {string} errcode.Error "Internal Error"
+@Router /plugins/sonarqube/test [POST]
+*/
func TestConnection(input *plugin.ApiResourceInput) (*plugin.ApiResourceOutput, errors.Error) {
// decode
var err errors.Error
diff --git a/backend/plugins/sonarqube/models/migrationscripts/20230111_add_init_tables.go b/backend/plugins/sonarqube/models/migrationscripts/20230111_add_init_tables.go
index 09b682b50..3ed9ccda5 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/20230111_add_init_tables.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/20230111_add_init_tables.go
@@ -40,7 +40,7 @@ func (*addInitTables) Up(basicRes context.BasicRes) errors.Error {
}
func (*addInitTables) Version() uint64 {
- return 20230207220022
+ return 20230207220025
}
func (*addInitTables) Name() string {
diff --git a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_file_metrics.go b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_file_metrics.go
index 1466425c1..9d1ee07aa 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_file_metrics.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_file_metrics.go
@@ -23,8 +23,8 @@ import (
type SonarqubeFileMetrics struct {
ConnectionId uint64 `gorm:"primaryKey"`
- ComponentKey string `json:"component_key" gorm:"primaryKey"`
- Project string `json:"project" gorm:"index"`
+ FileMetricsKey string `json:"component_key" gorm:"primaryKey"`
+ ProjectKey string `json:"project" gorm:"index"`
BatchID string `json:"batch_id"`
FileName string `json:"file_name"`
FilePath string `json:"file_path"`
diff --git a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_hotspot.go b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_hotspot.go
index 3347f0936..89ea9efe3 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_hotspot.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_hotspot.go
@@ -24,10 +24,10 @@ import (
type SonarqubeHotspot struct {
ConnectionId uint64 `gorm:"primaryKey"`
- Key string `json:"key" gorm:"primaryKey"`
+ HotspotKey string `json:"key" gorm:"primaryKey"`
RuleKey string `json:"ruleKey"`
Component string `json:"component" gorm:"index"`
- Project string `json:"project" gorm:"index"`
+ ProjectKey string `json:"project" gorm:"index"`
BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Line int `json:"line"`
Status string `json:"status"`
diff --git a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue.go b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue.go
index 0b2c0f148..a12e1a434 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_issue.go
@@ -24,11 +24,11 @@ import (
type SonarqubeIssue struct {
ConnectionId uint64 `gorm:"primaryKey"`
- Key string `json:"key" gorm:"primaryKey"`
+ IssueKey string `json:"key" gorm:"primaryKey"`
Rule string `json:"rule" gorm:"type:varchar(255)"`
Severity string `json:"severity" gorm:"type:varchar(255)"`
Component string `json:"component" gorm:"type:varchar(255)"`
- Project string `gorm:"index;type:varchar(255)"` //domain project key
+ ProjectKey string `gorm:"index;type:varchar(255)"` //domain project key
BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Line int `json:"line"`
Status string `json:"status"`
diff --git a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_project.go b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_project.go
index 5d1a2e466..210619981 100644
--- a/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_project.go
+++ b/backend/plugins/sonarqube/models/migrationscripts/archived/sonarqube_project.go
@@ -24,7 +24,7 @@ import (
type SonarqubeProject struct {
ConnectionId uint64 `gorm:"primaryKey"`
- Key string `json:"key" gorm:"type:varchar(64);primaryKey"`
+ ProjectKey string `json:"key" gorm:"type:varchar(64);primaryKey"`
Name string `json:"name" gorm:"type:varchar(255)"`
Qualifier string `json:"qualifier" gorm:"type:varchar(255)"`
Visibility string `json:"visibility" gorm:"type:varchar(64)"`
diff --git a/backend/plugins/sonarqube/models/sonarqube_file_metrics.go b/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
index 773dc7c58..10b0292c0 100644
--- a/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
+++ b/backend/plugins/sonarqube/models/sonarqube_file_metrics.go
@@ -23,8 +23,8 @@ import (
type SonarqubeFileMetrics struct {
ConnectionId uint64 `gorm:"primaryKey"`
- ComponentKey string `json:"component_key" gorm:"primaryKey"`
- Project string `json:"project" gorm:"index"`
+ FileMetricsKey string `json:"component_key" gorm:"primaryKey"`
+ ProjectKey string `json:"project" gorm:"index"`
BatchID string `json:"batch_id"`
FileName string `json:"file_name"`
FilePath string `json:"file_path"`
diff --git a/backend/plugins/sonarqube/models/sonarqube_hotspot.go b/backend/plugins/sonarqube/models/sonarqube_hotspot.go
index 8e085515e..e72acf190 100644
--- a/backend/plugins/sonarqube/models/sonarqube_hotspot.go
+++ b/backend/plugins/sonarqube/models/sonarqube_hotspot.go
@@ -24,10 +24,10 @@ import (
type SonarqubeHotspot struct {
ConnectionId uint64 `gorm:"primaryKey"`
- Key string `json:"key" gorm:"primaryKey"`
+ HotspotKey string `json:"key" gorm:"primaryKey"`
RuleKey string `json:"ruleKey"`
Component string `json:"component" gorm:"index"`
- Project string `json:"project" gorm:"index"`
+ ProjectKey string `json:"project" gorm:"index"`
BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Line int `json:"line"`
Status string `json:"status"`
diff --git a/backend/plugins/sonarqube/models/sonarqube_issue.go b/backend/plugins/sonarqube/models/sonarqube_issue.go
index b089b5b8e..91233aa03 100644
--- a/backend/plugins/sonarqube/models/sonarqube_issue.go
+++ b/backend/plugins/sonarqube/models/sonarqube_issue.go
@@ -24,11 +24,11 @@ import (
type SonarqubeIssue struct {
ConnectionId uint64 `gorm:"primaryKey"`
- Key string `json:"key" gorm:"primaryKey"`
+ IssueKey string `json:"key" gorm:"primaryKey"`
Rule string `json:"rule" gorm:"type:varchar(255)"`
Severity string `json:"severity" gorm:"type:varchar(255)"`
Component string `json:"component" gorm:"type:varchar(255)"`
- Project string `gorm:"index;type:varchar(255)"` //domain project key
+ ProjectKey string `gorm:"index;type:varchar(255)"` //domain project key
BatchId string `json:"batchId" gorm:"type:varchar(100)"` // from collection time
Line int `json:"line"`
Status string `json:"status"`
diff --git a/backend/plugins/sonarqube/models/sonarqube_project.go b/backend/plugins/sonarqube/models/sonarqube_project.go
index 0fdc7f978..2a817c5a8 100644
--- a/backend/plugins/sonarqube/models/sonarqube_project.go
+++ b/backend/plugins/sonarqube/models/sonarqube_project.go
@@ -25,7 +25,7 @@ import (
type SonarqubeProject struct {
common.NoPKModel
ConnectionId uint64 `gorm:"primaryKey"`
- Key string `json:"key" gorm:"type:varchar(64);primaryKey"`
+ ProjectKey string `json:"key" gorm:"type:varchar(64);primaryKey"`
Name string `json:"name" gorm:"type:varchar(255)"`
Qualifier string `json:"qualifier" gorm:"type:varchar(255)"`
Visibility string `json:"visibility" gorm:"type:varchar(64)"`
diff --git a/backend/plugins/sonarqube/tasks/filemetrics_convertor.go b/backend/plugins/sonarqube/tasks/filemetrics_convertor.go
index bd0a24af9..3e8e6c593 100644
--- a/backend/plugins/sonarqube/tasks/filemetrics_convertor.go
+++ b/backend/plugins/sonarqube/tasks/filemetrics_convertor.go
@@ -41,7 +41,7 @@ func ConvertFileMetrics(taskCtx plugin.SubTaskContext) errors.Error {
db := taskCtx.GetDal()
rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx, RAW_PROJECTS_TABLE)
cursor, err := db.Cursor(dal.From(sonarqubeModels.SonarqubeFileMetrics{}),
- dal.Where("connection_id = ? and project = ?", data.Options.ConnectionId, data.Options.ProjectKey))
+ dal.Where("connection_id = ? and project_key = ?", data.Options.ConnectionId, data.Options.ProjectKey))
if err != nil {
return err
}
@@ -56,12 +56,11 @@ func ConvertFileMetrics(taskCtx plugin.SubTaskContext) errors.Error {
Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
sonarqubeFileMetric := inputRow.(*sonarqubeModels.SonarqubeFileMetrics)
domainFileMetric := &securitytesting.StFileMetrics{
- DomainEntity: domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeFileMetric.ComponentKey)},
- ComponentKey: sonarqubeFileMetric.ComponentKey,
+ DomainEntity: domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeFileMetric.FileMetricsKey)},
FileName: sonarqubeFileMetric.FileName,
FilePath: sonarqubeFileMetric.FilePath,
FileLanguage: sonarqubeFileMetric.FileLanguage,
- Project: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeFileMetric.Project),
+ ProjectKey: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeFileMetric.ProjectKey),
//BatchID: sonarqubeFileMetric.BatchID,
CodeSmells: sonarqubeFileMetric.CodeSmells,
SqaleIndex: sonarqubeFileMetric.SqaleIndex,
diff --git a/backend/plugins/sonarqube/tasks/filemetrics_extractor.go b/backend/plugins/sonarqube/tasks/filemetrics_extractor.go
index 6b70b399f..16d39a194 100644
--- a/backend/plugins/sonarqube/tasks/filemetrics_extractor.go
+++ b/backend/plugins/sonarqube/tasks/filemetrics_extractor.go
@@ -41,12 +41,12 @@ func ExtractFilemetrics(taskCtx plugin.SubTaskContext) errors.Error {
return nil, err
}
fileMetrics := &models.SonarqubeFileMetrics{
- ConnectionId: data.Options.ConnectionId,
- ComponentKey: body.Key,
- FileName: body.Name,
- FilePath: body.Path,
- FileLanguage: body.Language,
- Project: data.Options.ProjectKey,
+ ConnectionId: data.Options.ConnectionId,
+ FileMetricsKey: body.Key,
+ FileName: body.Name,
+ FilePath: body.Path,
+ FileLanguage: body.Language,
+ ProjectKey: data.Options.ProjectKey,
//BatchID: "",
}
alphabetMap := map[string]string{
diff --git a/backend/plugins/sonarqube/tasks/hotspots_convertor.go b/backend/plugins/sonarqube/tasks/hotspots_convertor.go
index 50cb77c5f..20d9ded8d 100644
--- a/backend/plugins/sonarqube/tasks/hotspots_convertor.go
+++ b/backend/plugins/sonarqube/tasks/hotspots_convertor.go
@@ -41,7 +41,7 @@ func ConvertHotspots(taskCtx plugin.SubTaskContext) errors.Error {
db := taskCtx.GetDal()
rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx, RAW_PROJECTS_TABLE)
cursor, err := db.Cursor(dal.From(sonarqubeModels.SonarqubeHotspot{}),
- dal.Where("connection_id = ? and project = ?", data.Options.ConnectionId, data.Options.ProjectKey))
+ dal.Where("connection_id = ? and project_key = ?", data.Options.ConnectionId, data.Options.ProjectKey))
if err != nil {
return err
}
@@ -56,10 +56,10 @@ func ConvertHotspots(taskCtx plugin.SubTaskContext) errors.Error {
Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
sonarqubeHotspot := inputRow.(*sonarqubeModels.SonarqubeHotspot)
domainHotspot := &securitytesting.StIssue{
- DomainEntity: domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeHotspot.Key)},
+ DomainEntity: domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeHotspot.HotspotKey)},
BatchId: sonarqubeHotspot.BatchId,
Component: sonarqubeHotspot.Component,
- Project: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeHotspot.Project),
+ ProjectKey: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeHotspot.ProjectKey),
Line: sonarqubeHotspot.Line,
StartLine: sonarqubeHotspot.Line,
Status: sonarqubeHotspot.Status,
diff --git a/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go b/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go
index 1676e3002..f2175feef 100644
--- a/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go
+++ b/backend/plugins/sonarqube/tasks/issue_code_blocks_convertor.go
@@ -37,8 +37,8 @@ func ConvertIssueCodeBlocks(taskCtx plugin.SubTaskContext) errors.Error {
cursor, err := db.Cursor(
dal.From("_tool_sonarqube_issue_code_blocks icb"),
- dal.Join("left join _tool_sonarqube_issues i on i.`key` = icb.issue_key"),
- dal.Where("icb.connection_id = ? and project = ?", data.Options.ConnectionId, data.Options.ProjectKey))
+ dal.Join("left join _tool_sonarqube_issues i on i.project_key = icb.issue_key"),
+ dal.Where("icb.connection_id = ? and project_key = ?", data.Options.ConnectionId, data.Options.ProjectKey))
if err != nil {
return err
}
diff --git a/backend/plugins/sonarqube/tasks/issues_convertor.go b/backend/plugins/sonarqube/tasks/issues_convertor.go
index 7c0c850d5..ed0861341 100644
--- a/backend/plugins/sonarqube/tasks/issues_convertor.go
+++ b/backend/plugins/sonarqube/tasks/issues_convertor.go
@@ -42,7 +42,7 @@ func ConvertIssues(taskCtx plugin.SubTaskContext) errors.Error {
db := taskCtx.GetDal()
rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx, RAW_PROJECTS_TABLE)
cursor, err := db.Cursor(dal.From(sonarqubeModels.SonarqubeIssue{}),
- dal.Where("connection_id = ? and project = ?", data.Options.ConnectionId, data.Options.ProjectKey))
+ dal.Where("connection_id = ? and project_key = ?", data.Options.ConnectionId, data.Options.ProjectKey))
if err != nil {
return err
}
@@ -57,12 +57,12 @@ func ConvertIssues(taskCtx plugin.SubTaskContext) errors.Error {
Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
sonarqubeIssue := inputRow.(*sonarqubeModels.SonarqubeIssue)
domainIssue := &securitytesting.StIssue{
- DomainEntity: domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeIssue.Key)},
+ DomainEntity: domainlayer.DomainEntity{Id: issueIdGen.Generate(data.Options.ConnectionId, sonarqubeIssue.IssueKey)},
BatchId: sonarqubeIssue.BatchId,
Rule: sonarqubeIssue.Rule,
Severity: sonarqubeIssue.Severity,
Component: sonarqubeIssue.Component,
- Project: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeIssue.Project),
+ ProjectKey: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeIssue.ProjectKey),
Line: sonarqubeIssue.Line,
Status: sonarqubeIssue.Status,
Message: sonarqubeIssue.Message,
diff --git a/backend/plugins/sonarqube/tasks/issues_extractor.go b/backend/plugins/sonarqube/tasks/issues_extractor.go
index d659c0117..382cb118f 100644
--- a/backend/plugins/sonarqube/tasks/issues_extractor.go
+++ b/backend/plugins/sonarqube/tasks/issues_extractor.go
@@ -48,12 +48,12 @@ func ExtractIssues(taskCtx plugin.SubTaskContext) errors.Error {
sonarqubeIssue := &models.SonarqubeIssue{
ConnectionId: data.Options.ConnectionId,
- Key: body.Key,
+ IssueKey: body.Key,
// BatchId string `json:"batchId" gorm:"primaryKey"`
Rule: body.Rule,
Severity: body.Severity,
Component: body.Component,
- Project: body.Project,
+ ProjectKey: body.Project,
Line: body.Line,
Status: body.Status,
Message: body.Message,
@@ -80,7 +80,7 @@ func ExtractIssues(taskCtx plugin.SubTaskContext) errors.Error {
for _, location := range v.Locations {
codeBlock := &models.SonarqubeIssueCodeBlock{
ConnectionId: data.Options.ConnectionId,
- IssueKey: sonarqubeIssue.Key,
+ IssueKey: sonarqubeIssue.IssueKey,
Component: location.Component,
Msg: location.Msg,
StartLine: location.TextRange.StartLine,
diff --git a/backend/plugins/sonarqube/tasks/projects_convertor.go b/backend/plugins/sonarqube/tasks/projects_convertor.go
index 6e4ff757e..796971a83 100644
--- a/backend/plugins/sonarqube/tasks/projects_convertor.go
+++ b/backend/plugins/sonarqube/tasks/projects_convertor.go
@@ -42,7 +42,7 @@ func ConvertProjects(taskCtx plugin.SubTaskContext) errors.Error {
db := taskCtx.GetDal()
rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx, RAW_PROJECTS_TABLE)
cursor, err := db.Cursor(dal.From(sonarqubeModels.SonarqubeProject{}),
- dal.Where("connection_id = ? and `key` = ?", data.Options.ConnectionId, data.Options.ProjectKey))
+ dal.Where("connection_id = ? and project_key = ?", data.Options.ConnectionId, data.Options.ProjectKey))
if err != nil {
return err
}
@@ -56,12 +56,12 @@ func ConvertProjects(taskCtx plugin.SubTaskContext) errors.Error {
Convert: func(inputRow interface{}) ([]interface{}, errors.Error) {
sonarqubeProject := inputRow.(*sonarqubeModels.SonarqubeProject)
domainProject := &securitytesting.StProject{
- DomainEntity: domainlayer.DomainEntity{Id: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeProject.Key)},
+ DomainEntity: domainlayer.DomainEntity{Id: projectIdGen.Generate(data.Options.ConnectionId, sonarqubeProject.ProjectKey)},
Name: sonarqubeProject.Name,
Qualifier: sonarqubeProject.Qualifier,
Visibility: sonarqubeProject.Visibility,
LastAnalysisDate: sonarqubeProject.LastAnalysisDate,
- Revision: sonarqubeProject.Revision,
+ CommitSha: sonarqubeProject.Revision,
}
return []interface{}{
domainProject,