func setMetrics()

in backend/plugins/sonarqube/tasks/shared.go [137:205]


func setMetrics(fileMetrics *models.SonarqubeFileMetrics, metricsList []Measure) errors.Error {
	var err errors.Error
	for _, v := range metricsList {
		switch v.Metric {
		case "sqale_index":
			fileMetrics.SqaleIndex, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "sqale_rating":
			fileMetrics.SqaleRating, err = errors.Convert01(strconv.ParseFloat(v.Value, 32))
			if err != nil {
				return err
			}
		case "reliability_rating":
			fileMetrics.ReliabilityRating = alphabetMap[v.Value]
		case "security_rating":
			fileMetrics.SecurityRating = alphabetMap[v.Value]
		case "security_review_rating":
			fileMetrics.SecurityReviewRating = alphabetMap[v.Value]
		case "ncloc":
			fileMetrics.Ncloc, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "code_smells":
			fileMetrics.CodeSmells, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "bugs":
			fileMetrics.Bugs, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "vulnerabilities":
			fileMetrics.Vulnerabilities, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "security_hotspots":
			fileMetrics.SecurityHotspots, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "security_hotspots_reviewed":
			fileMetrics.SecurityHotspotsReviewed, err = errors.Convert01(strconv.ParseFloat(v.Value, 32))
			if err != nil {
				return err
			}
		case "uncovered_lines":
			fileMetrics.UncoveredLines, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "lines_to_cover":
			fileMetrics.LinesToCover, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "coverage":
			fileMetrics.Coverage, err = errors.Convert01(strconv.ParseFloat(v.Value, 32))
			if err != nil {
				return err
			}
		}
	}
	return nil
}