21 package org.matsim.core.config.consistency;
23 import java.util.ArrayList;
24 import java.util.HashSet;
25 import java.util.List;
27 import java.util.stream.Collectors;
29 import jakarta.validation.ConstraintViolation;
30 import jakarta.validation.ConstraintViolationException;
31 import jakarta.validation.Validation;
32 import jakarta.validation.Validator;
41 private static final Validator
validator = Validation.buildDefaultValidatorFactory().getValidator();
45 Set<ConstraintViolation<ConfigGroup>> violations =
new HashSet<>();
46 List<String> messages =
new ArrayList<>();
49 Set<ConstraintViolation<ConfigGroup>> groupViolations = validator.validate(group);
50 violations.addAll(groupViolations);
51 for (ConstraintViolation<ConfigGroup> v : groupViolations) {
52 messages.add((messages.size() + 1)
54 + group.getClass().getName()
64 if (!violations.isEmpty()) {
65 String message = messages.size() +
" error(s) found in the config:\n" + messages.stream()
66 .collect(Collectors.joining(
"\n"));
67 throw new ConstraintViolationException(message, violations);
void checkConsistency(Config config)
static final Validator validator
final TreeMap< String, ConfigGroup > getModules()