[AB-135] adding a template to describe the parameter validators for help texts, fixing assignable roles not available as module

This commit is contained in:
Sheldan
2020-10-12 11:52:28 +02:00
parent 36d11371cb
commit bc9afc9bfc
7 changed files with 49 additions and 7 deletions

View File

@@ -2,7 +2,9 @@ package dev.sheldan.abstracto.assignableroles.command;
import dev.sheldan.abstracto.core.command.config.ModuleInfo;
import dev.sheldan.abstracto.core.command.config.ModuleInterface;
import org.springframework.stereotype.Component;
@Component
public class AssignableRoleModule implements ModuleInterface {
public static final String ASSIGNABLE_ROLES = "assignableRoles";

View File

@@ -181,7 +181,7 @@ public class CommandReceivedHandler extends ListenerAdapter {
boolean validate = parameterValidator.validate(parameters.getParameters().get(i));
if(!validate) {
log.trace("Parameter {} in command {} failed to validate.", parameter.getName(), foundCommand.getConfiguration().getName());
throw new CommandParameterValidationException(parameterValidator.getParameters(), parameterValidator.getTemplateName(), parameter);
throw new CommandParameterValidationException(parameterValidator.getParameters(), parameterValidator.getExceptionTemplateName(), parameter);
}
}
}

View File

@@ -1,11 +1,12 @@
package dev.sheldan.abstracto.core.command.config;
import dev.sheldan.abstracto.core.command.config.validator.ValidatorParam;
import dev.sheldan.abstracto.templating.Templatable;
import java.util.List;
public interface ParameterValidator {
public interface ParameterValidator extends Templatable {
boolean validate(Object value);
List<ValidatorParam> getParameters();
String getTemplateName();
String getExceptionTemplateName();
}

View File

@@ -39,7 +39,17 @@ public class MaxIntegerValueValidator implements ParameterValidator {
}
@Override
public String getTemplateName() {
public String getExceptionTemplateName() {
return "command_parameter_validation_value_too_large";
}
@Override
public String getTemplateName() {
return "max_integer_value_validation_description";
}
@Override
public Object getTemplateModel() {
return getParameters().get(0);
}
}

View File

@@ -39,7 +39,7 @@ public class MaxStringLengthValidator implements ParameterValidator {
}
@Override
public String getTemplateName() {
public String getExceptionTemplateName() {
return "command_parameter_validation_string_too_long";
}
@@ -51,4 +51,13 @@ public class MaxStringLengthValidator implements ParameterValidator {
}
@Override
public String getTemplateName() {
return "max_string_length_validation_description";
}
@Override
public Object getTemplateModel() {
return getParameters().get(0);
}
}

View File

@@ -53,8 +53,18 @@ public class MinIntegerValueValidator implements ParameterValidator {
}
@Override
public String getTemplateName() {
public String getExceptionTemplateName() {
return "command_parameter_validation_value_too_small";
}
@Override
public String getTemplateName() {
return "min_integer_value_validation_description";
}
@Override
public Object getTemplateModel() {
return getParameters().get(0);
}
}

View File

@@ -39,7 +39,17 @@ public class MinStringLengthValidator implements ParameterValidator {
}
@Override
public String getTemplateName() {
public String getExceptionTemplateName() {
return "command_parameter_validation_string_too_short";
}
@Override
public String getTemplateName() {
return "min_string_length_validation_description";
}
@Override
public Object getTemplateModel() {
return getParameters().get(0);
}
}