package org.intellij.sonar.analysis;
import com.intellij.codeInspection.ProblemHighlightType;
import com.intellij.lang.annotation.HighlightSeverity;
import org.apache.commons.lang.StringUtils;
import org.intellij.sonar.SonarSeverity;
public class SonarToIjSeverityMapping {
public static HighlightSeverity toHighlightSeverity(String sonarSeverity) {
if (StringUtils.isBlank(sonarSeverity)) {
return HighlightSeverity.WARNING;
} else {
sonarSeverity = sonarSeverity.toUpperCase();
if (SonarSeverity.BLOCKER.toString().equals(sonarSeverity) || SonarSeverity.CRITICAL.toString()
.equals(sonarSeverity)) {
return HighlightSeverity.ERROR;
} else
if (SonarSeverity.MAJOR.toString().equals(sonarSeverity)) {
return HighlightSeverity.WARNING;
} else
if (SonarSeverity.INFO.toString().equals(sonarSeverity) || SonarSeverity.MINOR.toString()
.equals(sonarSeverity)) {
return HighlightSeverity.WEAK_WARNING;
} else {
return HighlightSeverity.WARNING;
}
}
}
public static ProblemHighlightType toProblemHighlightType(String sonarSeverity) {
if (StringUtils.isBlank(sonarSeverity)) {
return ProblemHighlightType.GENERIC_ERROR_OR_WARNING;
} else {
sonarSeverity = sonarSeverity.toUpperCase();
if (SonarSeverity.BLOCKER.toString().equals(sonarSeverity) || SonarSeverity.CRITICAL.toString()
.equals(sonarSeverity)) {
return ProblemHighlightType.ERROR;
} else
if (SonarSeverity.MAJOR.toString().equals(sonarSeverity)) {
return ProblemHighlightType.GENERIC_ERROR_OR_WARNING;
} else
if (SonarSeverity.INFO.toString().equals(sonarSeverity) || SonarSeverity.MINOR.toString()
.equals(sonarSeverity)) {
return ProblemHighlightType.WEAK_WARNING;
} else {
return ProblemHighlightType.GENERIC_ERROR_OR_WARNING;
}
}
}
}