@Override public void execute(ComputationStep.Context context) { List<ActiveRule> activeRules = new ArrayList<>(); try (CloseableIterator<ScannerReport.ActiveRule> batchActiveRules = batchReportReader.readActiveRules()) { while (batchActiveRules.hasNext()) { ScannerReport.ActiveRule scannerReportActiveRule = batchActiveRules.next(); Optional<Rule> rule = ruleRepository.findByKey(RuleKey.of(scannerReportActiveRule.getRuleRepository(), scannerReportActiveRule.getRuleKey())); if (rule.isPresent() && rule.get().getStatus() != RuleStatus.REMOVED && !rule.get().isExternal()) { activeRules.add(convert(scannerReportActiveRule, rule.get())); } } } activeRulesHolder.set(activeRules); }
private static ActiveRule convert(ScannerReport.ActiveRule input, Rule rule) { RuleKey key = RuleKey.of(input.getRuleRepository(), input.getRuleKey()); Map<String, String> params = new HashMap<>(input.getParamsByKeyMap()); long updatedAt = input.getUpdatedAt(); return new ActiveRule(key, input.getSeverity().name(), params, updatedAt == 0 ? input.getCreatedAt() : updatedAt, rule.getPluginKey(), emptyToNull(input.getQProfileKey())); } }
@Override public void execute() { List<ActiveRule> activeRules = new ArrayList<>(); try (CloseableIterator<ScannerReport.ActiveRule> batchActiveRules = batchReportReader.readActiveRules()) { while (batchActiveRules.hasNext()) { ScannerReport.ActiveRule scannerReportActiveRule = batchActiveRules.next(); Optional<Rule> rule = ruleRepository.findByKey(RuleKey.of(scannerReportActiveRule.getRuleRepository(), scannerReportActiveRule.getRuleKey())); if (rule.isPresent() && rule.get().getStatus() != RuleStatus.REMOVED && !rule.get().isExternal()) { ActiveRule activeRule = convert(scannerReportActiveRule, rule.get()); activeRules.add(activeRule); } } } activeRulesHolder.set(activeRules); }
private static ActiveRule convert(ScannerReport.ActiveRule input, Rule rule) { RuleKey key = RuleKey.of(input.getRuleRepository(), input.getRuleKey()); Map<String, String> params = new HashMap<>(input.getParamsByKeyMap()); return new ActiveRule(key, input.getSeverity().name(), params, input.getCreatedAt(), rule.getPluginKey()); } }