Class DefaultModelValidator
- java.lang.Object
-
- org.apache.maven.model.validation.DefaultModelValidator
-
- All Implemented Interfaces:
ModelValidator
@Named @Singleton public class DefaultModelValidator extends java.lang.Object implements ModelValidator
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.Pattern
CI_FRIENDLY_EXPRESSION
private static java.util.List<java.lang.String>
CI_FRIENDLY_POSSIBLE_PROPERTY_NAMES
private static java.lang.String
EMPTY
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
private java.util.Set<java.lang.String>
validIds
-
Constructor Summary
Constructors Constructor Description DefaultModelValidator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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 int
compareModelVersions(java.lang.String first, java.lang.String second)
Compares two model versions.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 boolean
isValidId(java.lang.String id)
private boolean
isValidIdCharacter(char c)
private boolean
isValidIdWithWildCardCharacter(char c)
private boolean
isValidIdWithWildCards(java.lang.String id)
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, java.lang.String prefix2, ModelBuildingRequest request)
private void
validate20RawDependenciesSelfReferencing(ModelProblemCollector problems, Model m, 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, java.lang.String prefix2, 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, java.lang.String fieldName, ModelBuildingRequest request)
private boolean
validateBannedCharacters(java.lang.String prefix, 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 prefix, 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, Model m, 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 void
validateEffectiveModelAgainstDependency(java.lang.String prefix, ModelProblemCollector problems, Model m, Dependency d, ModelBuildingRequest request)
private boolean
validateEnum(java.lang.String prefix, 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 prefix, 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 prefix, java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String id, java.lang.String sourceHint, InputLocationTracker tracker)
private boolean
validateModelVersion(ModelProblemCollector problems, java.lang.String string, InputLocationTracker tracker, java.lang.String... validVersions)
private boolean
validateNotNull(java.lang.String prefix, java.lang.String prefix2, java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.Object object, java.lang.String sourceHint, InputLocationTracker tracker)
Asserts:private boolean
validateNotNull(java.lang.String prefix, java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.Object object, java.lang.String sourceHint, InputLocationTracker tracker)
Asserts: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, java.lang.String prefix2, 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 prefix, java.lang.String prefix2, java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker)
Asserts:private boolean
validateStringNotEmpty(java.lang.String prefix, java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker)
Asserts:private boolean
validateStringNotEmpty(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, InputLocationTracker tracker)
private boolean
validateVersion(java.lang.String prefix, 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)
-
-
-
Field Detail
-
CI_FRIENDLY_EXPRESSION
private static final java.util.regex.Pattern CI_FRIENDLY_EXPRESSION
-
CI_FRIENDLY_POSSIBLE_PROPERTY_NAMES
private static final java.util.List<java.lang.String> CI_FRIENDLY_POSSIBLE_PROPERTY_NAMES
-
ILLEGAL_FS_CHARS
private static final java.lang.String ILLEGAL_FS_CHARS
- See Also:
- Constant Field Values
-
ILLEGAL_VERSION_CHARS
private static final java.lang.String ILLEGAL_VERSION_CHARS
- See Also:
- Constant Field Values
-
ILLEGAL_REPO_ID_CHARS
private static final java.lang.String ILLEGAL_REPO_ID_CHARS
- See Also:
- Constant Field Values
-
EMPTY
private static final java.lang.String EMPTY
- See Also:
- Constant Field Values
-
validIds
private final java.util.Set<java.lang.String> validIds
-
-
Method Detail
-
validateRawModel
public void validateRawModel(Model m, ModelBuildingRequest request, ModelProblemCollector problems)
Description copied from interface:ModelValidator
Checks the specified (raw) model for missing or invalid values. The raw model is directly created from the POM file and has not been subjected to inheritance, interpolation or profile/default injection.- Specified by:
validateRawModel
in interfaceModelValidator
- Parameters:
m
- The model to validate, must not benull
.request
- The model building request that holds further settings, must not benull
.problems
- The container used to collect problems that were encountered, must not benull
.
-
validate30RawProfileActivation
private void validate30RawProfileActivation(ModelProblemCollector problems, Activation activation, java.lang.String sourceHint, java.lang.String prefix, java.lang.String fieldName, ModelBuildingRequest request)
-
validate20RawPlugins
private void validate20RawPlugins(ModelProblemCollector problems, java.util.List<Plugin> plugins, java.lang.String prefix, java.lang.String prefix2, ModelBuildingRequest request)
-
validateEffectiveModel
public void validateEffectiveModel(Model m, ModelBuildingRequest request, ModelProblemCollector problems)
Description copied from interface:ModelValidator
Checks the specified (effective) model for missing or invalid values. The effective model is fully assembled and has undergone inheritance, interpolation and other model operations.- Specified by:
validateEffectiveModel
in interfaceModelValidator
- Parameters:
m
- The model to validate, must not benull
.request
- The model building request that holds further settings, must not benull
.problems
- The container used to collect problems that were encountered, must not benull
.
-
validate20RawDependencies
private void validate20RawDependencies(ModelProblemCollector problems, java.util.List<Dependency> dependencies, java.lang.String prefix, java.lang.String prefix2, ModelBuildingRequest request)
-
validate20RawDependenciesSelfReferencing
private void validate20RawDependenciesSelfReferencing(ModelProblemCollector problems, Model m, java.util.List<Dependency> dependencies, java.lang.String prefix, ModelBuildingRequest request)
-
validateEffectiveDependencies
private void validateEffectiveDependencies(ModelProblemCollector problems, Model m, java.util.List<Dependency> dependencies, boolean management, ModelBuildingRequest request)
-
validateEffectiveModelAgainstDependency
private void validateEffectiveModelAgainstDependency(java.lang.String prefix, ModelProblemCollector problems, Model m, Dependency d, ModelBuildingRequest request)
-
validate20EffectivePluginDependencies
private void validate20EffectivePluginDependencies(ModelProblemCollector problems, Plugin plugin, ModelBuildingRequest request)
-
validateEffectiveDependency
private void validateEffectiveDependency(ModelProblemCollector problems, Dependency d, boolean management, java.lang.String prefix, ModelBuildingRequest request)
-
validateDependencyVersion
protected void validateDependencyVersion(ModelProblemCollector problems, Dependency d, java.lang.String prefix)
- Since:
- 3.2.4
-
validateRawRepositories
private void validateRawRepositories(ModelProblemCollector problems, java.util.List<Repository> repositories, java.lang.String prefix, java.lang.String prefix2, ModelBuildingRequest request)
-
validate20EffectiveRepository
private void validate20EffectiveRepository(ModelProblemCollector problems, Repository repository, java.lang.String prefix, ModelBuildingRequest request)
-
validate20RawResources
private void validate20RawResources(ModelProblemCollector problems, java.util.List<Resource> resources, java.lang.String prefix, ModelBuildingRequest request)
-
validateId
private boolean validateId(java.lang.String fieldName, ModelProblemCollector problems, java.lang.String id, InputLocationTracker tracker)
-
validateId
private boolean validateId(java.lang.String prefix, java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String id, java.lang.String sourceHint, InputLocationTracker tracker)
-
isValidId
private boolean isValidId(java.lang.String id)
-
isValidIdCharacter
private boolean isValidIdCharacter(char c)
-
validateIdWithWildcards
private boolean validateIdWithWildcards(java.lang.String prefix, java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String id, java.lang.String sourceHint, InputLocationTracker tracker)
-
isValidIdWithWildCards
private boolean isValidIdWithWildCards(java.lang.String id)
-
isValidIdWithWildCardCharacter
private boolean isValidIdWithWildCardCharacter(char c)
-
validateStringNoExpression
private boolean validateStringNoExpression(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, InputLocationTracker tracker)
-
validateVersionNoExpression
private boolean validateVersionNoExpression(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, InputLocationTracker tracker)
-
hasExpression
private boolean hasExpression(java.lang.String value)
-
hasProjectExpression
private boolean hasProjectExpression(java.lang.String value)
-
validateStringNotEmpty
private boolean validateStringNotEmpty(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, InputLocationTracker tracker)
-
validateStringNotEmpty
private boolean validateStringNotEmpty(java.lang.String prefix, java.lang.String prefix2, 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
-
validateStringNotEmpty
private boolean validateStringNotEmpty(java.lang.String prefix, 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
-
validateNotNull
private boolean validateNotNull(java.lang.String prefix, 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
-
validateNotNull
private boolean validateNotNull(java.lang.String prefix, java.lang.String prefix2, 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
-
validateBoolean
private boolean validateBoolean(java.lang.String prefix, java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker)
-
validateEnum
private boolean validateEnum(java.lang.String prefix, 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)
-
validateModelVersion
private boolean validateModelVersion(ModelProblemCollector problems, java.lang.String string, InputLocationTracker tracker, java.lang.String... validVersions)
-
compareModelVersions
private static int compareModelVersions(java.lang.String first, java.lang.String second)
Compares two model versions.- Parameters:
first
- the first version.second
- the second version.- Returns:
- negative if the first version is newer than the second version, zero if they are the same or positive if the second version is the newer.
-
validateBannedCharacters
private boolean validateBannedCharacters(java.lang.String prefix, 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)
-
validateVersion
private boolean validateVersion(java.lang.String prefix, java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker)
-
validate20ProperSnapshotVersion
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)
-
validate20PluginVersion
private boolean validate20PluginVersion(java.lang.String fieldName, ModelProblemCollector problems, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker, ModelBuildingRequest request)
-
addViolation
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)
-
getLocation
private static InputLocation getLocation(java.lang.String fieldName, InputLocationTracker tracker)
-
equals
private static boolean equals(java.lang.String s1, java.lang.String s2)
-
getSeverity
private static ModelProblem.Severity getSeverity(ModelBuildingRequest request, int errorThreshold)
-
getSeverity
private static ModelProblem.Severity getSeverity(int validationLevel, int errorThreshold)
-
-