ctf/src/main/java/com/alttd/ctf/json_config/ValidationUtil.java
Teriuihi 5a87784d71 Add JSON configuration support and new team management commands
Introduced JSON-based configuration handling for teams using Jackson and validation utilities. Added commands for reloading configurations and creating teams with support for saving and loading team data. Refactored related classes to integrate with the new system.
2025-01-24 20:12:27 +01:00

26 lines
997 B
Java

package com.alttd.ctf.json_config;
import jakarta.validation.ConstraintViolation;
import jakarta.validation.Validation;
import jakarta.validation.Validator;
import jakarta.validation.ValidatorFactory;
import java.util.Set;
public class ValidationUtil {
private static final ValidatorFactory VALIDATOR_FACTORY = Validation.buildDefaultValidatorFactory();
private static final Validator VALIDATOR = VALIDATOR_FACTORY.getValidator();
public static <T> void validate(T object) {
Set<ConstraintViolation<T>> violations = VALIDATOR.validate(object);
if (!violations.isEmpty()) {
StringBuilder errorMessage = new StringBuilder("Validation errors:\n");
for (ConstraintViolation<T> violation : violations) {
errorMessage.append("- ").append(violation.getPropertyPath()).append(": ").append(violation.getMessage()).append("\n");
}
throw new IllegalArgumentException(errorMessage.toString());
}
}
}