.build(); context.getBuilder().addGroup(group);
/** * Converts a list of {@link JqassistantRules} to a rule set. * * @param rules * The {@link JqassistantRules}. * @throws RuleException * If rules are not consistent. */ private void convert(List<JqassistantRules> rules, RuleSource ruleSource, RuleSetBuilder builder) throws RuleException { for (JqassistantRules rule : rules) { List<SeverityRuleType> severityRuleTypes = rule.getConceptOrConstraintOrGroup(); for (SeverityRuleType severityRuleType : severityRuleTypes) { String id = severityRuleType.getId(); if (severityRuleType instanceof ConceptType) { Concept concept = createConcept(id, ruleSource, (ConceptType) severityRuleType); builder.addConcept(concept); } else if (severityRuleType instanceof ConstraintType) { Constraint constraint = createConstraint(id, ruleSource, (ConstraintType) severityRuleType); builder.addConstraint(constraint); } else if (severityRuleType instanceof GroupType) { Group group = createGroup(id, ruleSource, (GroupType) severityRuleType); builder.addGroup(group); } } } }
private void extractGroup(RuleSource ruleSource, AbstractBlock groupBlock, RuleSetBuilder ruleSetBuilder) throws RuleException { Attributes attributes = new Attributes(groupBlock.getAttributes()); Map<String, Severity> constraints = getGroupElements(attributes, INCLUDES_CONSTRAINTS); Map<String, Severity> concepts = getGroupElements(attributes, INCLUDES_CONCEPTS); Map<String, Severity> groups = getGroupElements(attributes, INCLUDES_GROUPS); Severity severity = getSeverity(attributes, getRuleConfiguration().getDefaultGroupSeverity()); Group group = Group.builder().id(groupBlock.id()).description(groupBlock.getTitle()).severity(severity).ruleSource(ruleSource).concepts(concepts) .constraints(constraints).groups(groups).build(); ruleSetBuilder.addGroup(group); }