public DefaultActiveRules(Collection<NewActiveRule> newActiveRules) { ImmutableListMultimap.Builder<String, ActiveRule> repoBuilder = ImmutableListMultimap.builder(); ImmutableListMultimap.Builder<String, ActiveRule> langBuilder = ImmutableListMultimap.builder(); for (NewActiveRule newAR : newActiveRules) { DefaultActiveRule ar = new DefaultActiveRule(newAR); String repo = ar.ruleKey().repository(); repoBuilder.put(repo, ar); if (ar.language() != null) { langBuilder.put(ar.language(), ar); } activeRulesByRepositoryAndKey.computeIfAbsent(repo, r -> new HashMap<>()).put(ar.ruleKey().rule(), ar); String internalKey = ar.internalKey(); if (internalKey != null) { activeRulesByRepositoryAndInternalKey.computeIfAbsent(repo, r -> new HashMap<>()).put(internalKey, ar); } } activeRulesByRepository = repoBuilder.build(); activeRulesByLanguage = langBuilder.build(); }
@Override public void publish(ScannerReportWriter writer) { final ScannerReport.ActiveRule.Builder builder = ScannerReport.ActiveRule.newBuilder(); writer.writeActiveRules(activeRules.findAll().stream() .map(DefaultActiveRule.class::cast) .map(input -> { builder.clear(); builder.setRuleRepository(input.ruleKey().repository()); builder.setRuleKey(input.ruleKey().rule()); builder.setSeverity(Constants.Severity.valueOf(input.severity())); builder.setCreatedAt(input.createdAt()); builder.setUpdatedAt(input.updatedAt()); builder.setQProfileKey(input.qpKey()); builder.getMutableParamsByKey().putAll(input.params()); return builder.build(); }).collect(toList())); }
public DefaultActiveRules(Collection<NewActiveRule> newActiveRules) { ImmutableListMultimap.Builder<String, ActiveRule> repoBuilder = ImmutableListMultimap.builder(); ImmutableListMultimap.Builder<String, ActiveRule> langBuilder = ImmutableListMultimap.builder(); for (NewActiveRule newAR : newActiveRules) { DefaultActiveRule ar = new DefaultActiveRule(newAR); repoBuilder.put(ar.ruleKey().repository(), ar); if (ar.language() != null) { langBuilder.put(ar.language(), ar); } if (!activeRulesByRepositoryAndKey.containsKey(ar.ruleKey().repository())) { activeRulesByRepositoryAndKey.put(ar.ruleKey().repository(), new HashMap<String, ActiveRule>()); activeRulesByRepositoryAndInternalKey.put(ar.ruleKey().repository(), new HashMap<String, ActiveRule>()); } activeRulesByRepositoryAndKey.get(ar.ruleKey().repository()).put(ar.ruleKey().rule(), ar); String internalKey = ar.internalKey(); if (internalKey != null) { activeRulesByRepositoryAndInternalKey.get(ar.ruleKey().repository()).put(internalKey, ar); } } activeRulesByRepository = repoBuilder.build(); activeRulesByLanguage = langBuilder.build(); }
@Override public void publish(ScannerReportWriter writer) { final ScannerReport.ActiveRule.Builder builder = ScannerReport.ActiveRule.newBuilder(); writer.writeActiveRules(activeRules.findAll().stream() .map(DefaultActiveRule.class::cast) .map(input -> { builder.clear(); builder.setRuleRepository(input.ruleKey().repository()); builder.setRuleKey(input.ruleKey().rule()); builder.setSeverity(Constants.Severity.valueOf(input.severity())); builder.setCreatedAt(input.createdAt()); builder.setUpdatedAt(input.updatedAt()); builder.setQProfileKey(input.qpKey()); builder.getMutableParamsByKey().putAll(input.params()); return builder.build(); }).collect(toList())); }
public DefaultActiveRules(Collection<NewActiveRule> newActiveRules) { ImmutableListMultimap.Builder<String, ActiveRule> repoBuilder = ImmutableListMultimap.builder(); ImmutableListMultimap.Builder<String, ActiveRule> langBuilder = ImmutableListMultimap.builder(); for (NewActiveRule newAR : newActiveRules) { DefaultActiveRule ar = new DefaultActiveRule(newAR); String repo = ar.ruleKey().repository(); repoBuilder.put(repo, ar); if (ar.language() != null) { langBuilder.put(ar.language(), ar); } activeRulesByRepositoryAndKey.computeIfAbsent(repo, r -> new HashMap<>()).put(ar.ruleKey().rule(), ar); String internalKey = ar.internalKey(); if (internalKey != null) { activeRulesByRepositoryAndInternalKey.computeIfAbsent(repo, r -> new HashMap<>()).put(internalKey, ar); } } activeRulesByRepository = repoBuilder.build(); activeRulesByLanguage = langBuilder.build(); }