Ver código fonte

SONAR-20023 Keep support for the old severity filter if provided in the URL

tags/10.2.0.77647
7PH 9 meses atrás
pai
commit
a071713469

+ 2
- 3
server/sonar-web/src/main/js/apps/coding-rules/query.ts Ver arquivo

@@ -24,7 +24,6 @@ import {
parseAsOptionalBoolean,
parseAsOptionalString,
parseAsString,
parseImpactSeverityQuery,
queriesEqual,
serializeDateShort,
serializeOptionalBoolean,
@@ -93,7 +92,7 @@ export function parseQuery(query: RawQuery): Query {
),
compareToProfile: parseAsOptionalString(query.compareToProfile),
cwe: parseAsArray(query.cwe, parseAsString),
impactSeverities: parseImpactSeverityQuery(query.impactSeverities, query.severities),
impactSeverities: parseAsArray<SoftwareImpactSeverity>(query.impactSeverities, parseAsString),
impactSoftwareQualities: parseAsArray<SoftwareQuality>(
query.impactSoftwareQualities,
parseAsString
@@ -133,7 +132,7 @@ export function serializeQuery(query: Query): RawQuery {
qprofile: serializeString(query.profile),
repositories: serializeStringArray(query.repositories),
rule_key: serializeString(query.ruleKey),
severities: undefined,
severities: serializeStringArray(query.severities),
sonarsourceSecurity: serializeStringArray(query.sonarsourceSecurity),
statuses: serializeStringArray(query.statuses),
tags: serializeStringArray(query.tags),

+ 3
- 6
server/sonar-web/src/main/js/apps/issues/__tests__/utils-test.ts Ver arquivo

@@ -102,6 +102,7 @@ describe('serialize/deserialize', () => {
s: 'rules',
scopes: 'a,b',
inNewCodePeriod: 'true',
severities: 'a,b',
sonarsourceSecurity: 'a,b',
statuses: 'a,b',
tags: 'a,b',
@@ -133,11 +134,7 @@ describe('serialize/deserialize', () => {
cwe: [],
directories: [],
files: [],
impactSeverities: [
SoftwareImpactSeverity.Low,
SoftwareImpactSeverity.High,
SoftwareImpactSeverity.Medium,
],
impactSeverities: [SoftwareImpactSeverity.Low],
impactSoftwareQualities: [SoftwareQuality.Maintainability],
inNewCodePeriod: false,
issues: [],
@@ -153,7 +150,7 @@ describe('serialize/deserialize', () => {
resolved: true,
rules: [],
scopes: [],
severities: [],
severities: ['CRITICAL', 'MAJOR'],
sonarsourceSecurity: [],
sort: '',
statuses: [],

+ 3
- 4
server/sonar-web/src/main/js/apps/issues/utils.ts Ver arquivo

@@ -26,7 +26,6 @@ import {
parseAsBoolean,
parseAsDate,
parseAsString,
parseImpactSeverityQuery,
queriesEqual,
serializeDateShort,
serializeString,
@@ -106,7 +105,7 @@ export function parseQuery(query: RawQuery): Query {
cwe: parseAsArray(query.cwe, parseAsString),
directories: parseAsArray(query.directories, parseAsString),
files: parseAsArray(query.files, parseAsString),
impactSeverities: parseImpactSeverityQuery(query.impactSeverities, query.severities),
impactSeverities: parseAsArray<SoftwareImpactSeverity>(query.impactSeverities, parseAsString),
impactSoftwareQualities: parseAsArray<SoftwareQuality>(
query.impactSoftwareQualities,
parseAsString
@@ -125,7 +124,7 @@ export function parseQuery(query: RawQuery): Query {
resolved: parseAsBoolean(query.resolved),
rules: parseAsArray(query.rules, parseAsString),
scopes: parseAsArray(query.scopes, parseAsString),
severities: [],
severities: parseAsArray(query.severities, parseAsString),
sonarsourceSecurity: parseAsArray(query.sonarsourceSecurity, parseAsString),
sort: parseAsSort(query.s),
statuses: parseAsArray(query.statuses, parseAsString),
@@ -173,7 +172,7 @@ export function serializeQuery(query: Query): RawQuery {
rules: serializeStringArray(query.rules),
s: serializeString(query.sort),
scopes: serializeStringArray(query.scopes),
severities: undefined,
severities: serializeStringArray(query.severities),
impactSeverities: serializeStringArray(query.impactSeverities),
impactSoftwareQualities: serializeStringArray(query.impactSoftwareQualities),
inNewCodePeriod: query.inNewCodePeriod ? 'true' : undefined,

+ 1
- 25
server/sonar-web/src/main/js/helpers/query.ts Ver arquivo

@@ -17,8 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { compact, isEqual, isNil, omitBy, uniq } from 'lodash';
import { SoftwareImpactSeverity } from '../types/clean-code-taxonomy';
import { isEqual, isNil, omitBy } from 'lodash';
import { RawQuery } from '../types/types';
import { isValidDate, parseDate, toISO8601WithOffsetString, toShortISO8601String } from './dates';

@@ -126,26 +125,3 @@ export function serializeOptionalBoolean(value: boolean | undefined): string | u
}
return undefined;
}

export function parseImpactSeverityQuery(
newSeverities: string,
oldSeverities?: string
): SoftwareImpactSeverity[] {
const OLD_TO_NEW_MAPPER = {
BLOCKER: SoftwareImpactSeverity.High,
CRITICAL: SoftwareImpactSeverity.High,
MAJOR: SoftwareImpactSeverity.Medium,
MINOR: SoftwareImpactSeverity.Low,
INFO: SoftwareImpactSeverity.Low,
};

// Merging new and old severities includes mapping for old to new
return compact(
uniq([
...parseAsArray<SoftwareImpactSeverity>(newSeverities, parseAsString),
...parseAsArray(oldSeverities, parseAsString).map(
(oldSeverity: string) => OLD_TO_NEW_MAPPER[oldSeverity as keyof typeof OLD_TO_NEW_MAPPER]
),
])
);
}

Carregando…
Cancelar
Salvar