@Component(role=ModelValidator.class) public class DefaultModelValidator extends java.lang.Object implements ModelValidator
Modifier and Type | Field and Description |
---|---|
private static java.util.regex.Pattern |
ID_REGEX |
private static java.util.regex.Pattern |
ID_WITH_WILDCARDS_REGEX |
private static java.lang.String |
ILLEGAL_FS_CHARS |
private static java.lang.String |
ILLEGAL_REPO_ID_CHARS |
private static java.lang.String |
ILLEGAL_VERSION_CHARS |
Constructor and Description |
---|
DefaultModelValidator() |
Modifier and Type | Method and Description |
---|---|
private static void |
addViolation(ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String fieldName,
java.lang.String sourceHint,
java.lang.String message,
InputLocationTracker tracker) |
private static boolean |
equals(java.lang.String s1,
java.lang.String s2) |
private static InputLocation |
getLocation(java.lang.String fieldName,
InputLocationTracker tracker) |
private static ModelProblem.Severity |
getSeverity(int validationLevel,
int errorThreshold) |
private static ModelProblem.Severity |
getSeverity(ModelBuildingRequest request,
int errorThreshold) |
private boolean |
hasExpression(java.lang.String value) |
private boolean |
hasProjectExpression(java.lang.String value) |
private void |
validate20EffectivePluginDependencies(ModelProblemCollector problems,
Plugin plugin,
ModelBuildingRequest request) |
private void |
validate20EffectiveRepository(ModelProblemCollector problems,
Repository repository,
java.lang.String prefix,
ModelBuildingRequest request) |
private boolean |
validate20PluginVersion(java.lang.String fieldName,
ModelProblemCollector problems,
java.lang.String string,
java.lang.String sourceHint,
InputLocationTracker tracker,
ModelBuildingRequest request) |
private boolean |
validate20ProperSnapshotVersion(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String string,
java.lang.String sourceHint,
InputLocationTracker tracker) |
private void |
validate20RawDependencies(ModelProblemCollector problems,
java.util.List<Dependency> dependencies,
java.lang.String prefix,
ModelBuildingRequest request) |
private void |
validate20RawPlugins(ModelProblemCollector problems,
java.util.List<Plugin> plugins,
java.lang.String prefix,
ModelBuildingRequest request) |
private void |
validate20RawResources(ModelProblemCollector problems,
java.util.List<Resource> resources,
java.lang.String prefix,
ModelBuildingRequest request) |
private void |
validate30RawProfileActivation(ModelProblemCollector problems,
Activation activation,
java.lang.String sourceHint,
java.lang.String prefix,
ModelBuildingRequest request) |
private boolean |
validateBannedCharacters(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String string,
java.lang.String sourceHint,
InputLocationTracker tracker,
java.lang.String banned) |
private boolean |
validateBoolean(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String string,
java.lang.String sourceHint,
InputLocationTracker tracker) |
protected void |
validateDependencyVersion(ModelProblemCollector problems,
Dependency d,
java.lang.String prefix) |
private void |
validateEffectiveDependencies(ModelProblemCollector problems,
java.util.List<Dependency> dependencies,
boolean management,
ModelBuildingRequest request) |
private void |
validateEffectiveDependency(ModelProblemCollector problems,
Dependency d,
boolean management,
java.lang.String prefix,
ModelBuildingRequest request) |
void |
validateEffectiveModel(Model m,
ModelBuildingRequest request,
ModelProblemCollector problems)
Checks the specified (effective) model for missing or invalid values.
|
private boolean |
validateEnum(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String string,
java.lang.String sourceHint,
InputLocationTracker tracker,
java.lang.String... validValues) |
private boolean |
validateId(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String id,
java.lang.String sourceHint,
InputLocationTracker tracker) |
private boolean |
validateId(java.lang.String fieldName,
ModelProblemCollector problems,
java.lang.String id,
InputLocationTracker tracker) |
private boolean |
validateIdWithWildcards(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String id,
java.lang.String sourceHint,
InputLocationTracker tracker) |
private boolean |
validateNotNull(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.Object object,
java.lang.String sourceHint,
InputLocationTracker tracker)
Asserts:
string != null
|
void |
validateRawModel(Model m,
ModelBuildingRequest request,
ModelProblemCollector problems)
Checks the specified (raw) model for missing or invalid values.
|
private void |
validateRawRepositories(ModelProblemCollector problems,
java.util.List<Repository> repositories,
java.lang.String prefix,
ModelBuildingRequest request) |
private boolean |
validateStringNoExpression(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String string,
InputLocationTracker tracker) |
private boolean |
validateStringNotEmpty(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String string,
InputLocationTracker tracker) |
private boolean |
validateStringNotEmpty(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String string,
java.lang.String sourceHint,
InputLocationTracker tracker)
Asserts:
string != null
string.length > 0
|
private boolean |
validateVersion(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String string,
java.lang.String sourceHint,
InputLocationTracker tracker) |
private boolean |
validateVersionNoExpression(java.lang.String fieldName,
ModelProblemCollector problems,
ModelProblem.Severity severity,
ModelProblem.Version version,
java.lang.String string,
InputLocationTracker tracker) |
private static final java.util.regex.Pattern ID_REGEX
private static final java.util.regex.Pattern ID_WITH_WILDCARDS_REGEX
private static final java.lang.String ILLEGAL_FS_CHARS
private static final java.lang.String ILLEGAL_VERSION_CHARS
private static final java.lang.String ILLEGAL_REPO_ID_CHARS
public void validateRawModel(Model m, ModelBuildingRequest request, ModelProblemCollector problems)
ModelValidator
validateRawModel
in interface ModelValidator
m
- The model to validate, must not be null
.request
- The model building request that holds further settings, must not be null
.problems
- The container used to collect problems that were encountered, must not be null
.private void validate30RawProfileActivation(ModelProblemCollector problems, Activation activation, java.lang.String sourceHint, java.lang.String prefix, ModelBuildingRequest request)
private void validate20RawPlugins(ModelProblemCollector problems, java.util.List<Plugin> plugins, java.lang.String prefix, ModelBuildingRequest request)
public void validateEffectiveModel(Model m, ModelBuildingRequest request, ModelProblemCollector problems)
ModelValidator
validateEffectiveModel
in interface ModelValidator
m
- The model to validate, must not be null
.request
- The model building request that holds further settings, must not be null
.problems
- The container used to collect problems that were encountered, must not be null
.private void validate20RawDependencies(ModelProblemCollector problems, java.util.List<Dependency> dependencies, java.lang.String prefix, ModelBuildingRequest request)
private void validateEffectiveDependencies(ModelProblemCollector problems, java.util.List<Dependency> dependencies, boolean management, ModelBuildingRequest request)
private void validate20EffectivePluginDependencies(ModelProblemCollector problems, Plugin plugin, ModelBuildingRequest request)
private void validateEffectiveDependency(ModelProblemCollector problems, Dependency d, boolean management, java.lang.String prefix, ModelBuildingRequest request)
protected void validateDependencyVersion(ModelProblemCollector problems, Dependency d, java.lang.String prefix)
private void validateRawRepositories(ModelProblemCollector problems, java.util.List<Repository> repositories, java.lang.String prefix, ModelBuildingRequest request)
private void validate20EffectiveRepository(ModelProblemCollector problems, Repository repository, java.lang.String prefix, ModelBuildingRequest request)
private void validate20RawResources(ModelProblemCollector problems, java.util.List<Resource> resources, java.lang.String prefix, ModelBuildingRequest request)
private boolean validateId(java.lang.String fieldName, ModelProblemCollector problems, java.lang.String id, InputLocationTracker tracker)
private boolean validateId(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String id, java.lang.String sourceHint, InputLocationTracker tracker)
private boolean validateIdWithWildcards(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String id, java.lang.String sourceHint, InputLocationTracker tracker)
private boolean validateStringNoExpression(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, InputLocationTracker tracker)
private boolean validateVersionNoExpression(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, InputLocationTracker tracker)
private boolean hasExpression(java.lang.String value)
private boolean hasProjectExpression(java.lang.String value)
private boolean validateStringNotEmpty(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, InputLocationTracker tracker)
private boolean validateStringNotEmpty(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker)
string != null
string.length > 0
private boolean validateNotNull(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.Object object, java.lang.String sourceHint, InputLocationTracker tracker)
string != null
private boolean validateBoolean(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker)
private boolean validateEnum(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker, java.lang.String... validValues)
private boolean validateBannedCharacters(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker, java.lang.String banned)
private boolean validateVersion(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker)
private boolean validate20ProperSnapshotVersion(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker)
private boolean validate20PluginVersion(java.lang.String fieldName, ModelProblemCollector problems, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker, ModelBuildingRequest request)
private static void addViolation(ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String fieldName, java.lang.String sourceHint, java.lang.String message, InputLocationTracker tracker)
private static InputLocation getLocation(java.lang.String fieldName, InputLocationTracker tracker)
private static boolean equals(java.lang.String s1, java.lang.String s2)
private static ModelProblem.Severity getSeverity(ModelBuildingRequest request, int errorThreshold)
private static ModelProblem.Severity getSeverity(int validationLevel, int errorThreshold)