func setAdditionalMetrics()

in backend/plugins/sonarqube/tasks/shared.go [208:256]


func setAdditionalMetrics(fileMetrics *models.SonarqubeAdditionalFileMetrics, metricsList []Measure) errors.Error {
	var err errors.Error
	for _, v := range metricsList {
		switch v.Metric {
		case "duplicated_blocks":
			fileMetrics.DuplicatedBlocks, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "duplicated_lines":
			fileMetrics.DuplicatedLines, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "duplicated_files":
			fileMetrics.DuplicatedFiles, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "duplicated_lines_density":
			fileMetrics.DuplicatedLinesDensity, err = errors.Convert01(strconv.ParseFloat(v.Value, 32))
			if err != nil {
				return err
			}
		case "complexity":
			fileMetrics.Complexity, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "cognitive_complexity":
			fileMetrics.CognitiveComplexity, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "effort_to_reach_maintainability_rating_a":
			fileMetrics.EffortToReachMaintainabilityRatingA, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}
		case "lines":
			fileMetrics.NumOfLines, err = errors.Convert01(strconv.Atoi(v.Value))
			if err != nil {
				return err
			}

		}
	}
	return nil
}