private static BuiltInQProfile.Builder updateOrCreateBuilder(String language, @Nullable BuiltInQProfile.Builder existingBuilder, BuiltInQualityProfile builtInProfile, Map<RuleKey, RuleDefinitionDto> rulesByRuleKey) { BuiltInQProfile.Builder builder = createOrReuseBuilder(existingBuilder, language, builtInProfile); builder.setDeclaredDefault(builtInProfile.isDefault()); builtInProfile.rules().forEach(builtInActiveRule -> { RuleKey ruleKey = RuleKey.of(builtInActiveRule.repoKey(), builtInActiveRule.ruleKey()); RuleDefinitionDto ruleDefinition = rulesByRuleKey.get(ruleKey); checkState(ruleDefinition != null, "Rule with key '%s' not found", ruleKey); builder.addRule(builtInActiveRule, ruleDefinition.getId()); }); return builder; }
private static BuiltInQProfile.ActiveRule[] toActiveRules(List<BuiltInActiveRule> rules, RuleDefinitionDto[] dbRules) { Map<RuleKey, RuleDefinitionDto> dbRulesByRuleKey = Arrays.stream(dbRules) .collect(MoreCollectors.uniqueIndex(RuleDefinitionDto::getKey)); return rules.stream() .map(r -> { RuleKey ruleKey = RuleKey.of(r.repoKey(), r.ruleKey()); RuleDefinitionDto ruleDefinitionDto = dbRulesByRuleKey.get(ruleKey); checkState(ruleDefinitionDto != null, "Rule '%s' not found", ruleKey); return new BuiltInQProfile.ActiveRule(ruleDefinitionDto.getId(), r); }).toArray(BuiltInQProfile.ActiveRule[]::new); }
public BuiltInQProfile create(BuiltInQualityProfilesDefinition.BuiltInQualityProfile api, RuleDefinitionDto... rules) { BuiltInQProfile.Builder builder = new BuiltInQProfile.Builder() .setLanguage(api.language()) .setName(api.name()) .setDeclaredDefault(api.isDefault()); Map<RuleKey, RuleDefinitionDto> rulesByRuleKey = Arrays.stream(rules) .collect(MoreCollectors.uniqueIndex(RuleDefinitionDto::getKey)); api.rules().forEach(rule -> { RuleKey ruleKey = RuleKey.of(rule.repoKey(), rule.ruleKey()); RuleDefinitionDto ruleDefinition = rulesByRuleKey.get(ruleKey); Preconditions.checkState(ruleDefinition != null, "Rule '%s' not found", ruleKey); builder.addRule(rule, ruleDefinition.getId()); }); return builder .build(); } }
public RuleKey getRuleKey() { return RuleKey.of(builtIn.repoKey(), builtIn.ruleKey()); }
private static BuiltInQProfile.Builder updateOrCreateBuilder(String language, @Nullable BuiltInQProfile.Builder existingBuilder, BuiltInQualityProfile builtInProfile, Map<RuleKey, RuleDefinitionDto> rulesByRuleKey) { BuiltInQProfile.Builder builder = createOrReuseBuilder(existingBuilder, language, builtInProfile); builder.setDeclaredDefault(builtInProfile.isDefault()); builtInProfile.rules().forEach(builtInActiveRule -> { RuleKey ruleKey = RuleKey.of(builtInActiveRule.repoKey(), builtInActiveRule.ruleKey()); RuleDefinitionDto ruleDefinition = rulesByRuleKey.get(ruleKey); checkState(ruleDefinition != null, "Rule with key '%s' not found", ruleKey); builder.addRule(builtInActiveRule, ruleDefinition.getId()); }); return builder; }
public RuleKey getRuleKey() { return RuleKey.of(builtIn.repoKey(), builtIn.ruleKey()); }