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.PatternCI_FRIENDLY_EXPRESSIONprivate static java.util.List<java.lang.String>CI_FRIENDLY_POSSIBLE_PROPERTY_NAMESprivate static java.lang.StringEMPTYprivate static java.lang.StringILLEGAL_FS_CHARSprivate static java.lang.StringILLEGAL_REPO_ID_CHARSprivate static java.lang.StringILLEGAL_VERSION_CHARSprivate 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 voidaddViolation(ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String fieldName, java.lang.String sourceHint, java.lang.String message, InputLocationTracker tracker)private static intcompareModelVersions(java.lang.String first, java.lang.String second)Compares two model versions.private static booleanequals(java.lang.String s1, java.lang.String s2)private static InputLocationgetLocation(java.lang.String fieldName, InputLocationTracker tracker)private static ModelProblem.SeveritygetSeverity(int validationLevel, int errorThreshold)private static ModelProblem.SeveritygetSeverity(ModelBuildingRequest request, int errorThreshold)private booleanhasExpression(java.lang.String value)private booleanhasProjectExpression(java.lang.String value)private booleanisValidId(java.lang.String id)private booleanisValidIdCharacter(char c)private booleanisValidIdWithWildCardCharacter(char c)private booleanisValidIdWithWildCards(java.lang.String id)private voidvalidate20EffectivePluginDependencies(ModelProblemCollector problems, Plugin plugin, ModelBuildingRequest request)private voidvalidate20EffectiveRepository(ModelProblemCollector problems, Repository repository, java.lang.String prefix, ModelBuildingRequest request)private booleanvalidate20PluginVersion(java.lang.String fieldName, ModelProblemCollector problems, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker, ModelBuildingRequest request)private booleanvalidate20ProperSnapshotVersion(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, java.lang.String sourceHint, InputLocationTracker tracker)private voidvalidate20RawDependencies(ModelProblemCollector problems, java.util.List<Dependency> dependencies, java.lang.String prefix, java.lang.String prefix2, ModelBuildingRequest request)private voidvalidate20RawDependenciesSelfReferencing(ModelProblemCollector problems, Model m, java.util.List<Dependency> dependencies, java.lang.String prefix, ModelBuildingRequest request)private voidvalidate20RawPlugins(ModelProblemCollector problems, java.util.List<Plugin> plugins, java.lang.String prefix, java.lang.String prefix2, ModelBuildingRequest request)private voidvalidate20RawResources(ModelProblemCollector problems, java.util.List<Resource> resources, java.lang.String prefix, ModelBuildingRequest request)private voidvalidate30RawProfileActivation(ModelProblemCollector problems, Activation activation, java.lang.String sourceHint, java.lang.String prefix, java.lang.String fieldName, ModelBuildingRequest request)private booleanvalidateBannedCharacters(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 booleanvalidateBoolean(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 voidvalidateDependencyVersion(ModelProblemCollector problems, Dependency d, java.lang.String prefix)private voidvalidateEffectiveDependencies(ModelProblemCollector problems, Model m, java.util.List<Dependency> dependencies, boolean management, ModelBuildingRequest request)private voidvalidateEffectiveDependency(ModelProblemCollector problems, Dependency d, boolean management, java.lang.String prefix, ModelBuildingRequest request)voidvalidateEffectiveModel(Model m, ModelBuildingRequest request, ModelProblemCollector problems)Checks the specified (effective) model for missing or invalid values.private voidvalidateEffectiveModelAgainstDependency(java.lang.String prefix, ModelProblemCollector problems, Model m, Dependency d, ModelBuildingRequest request)private booleanvalidateEnum(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 booleanvalidateId(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 booleanvalidateId(java.lang.String fieldName, ModelProblemCollector problems, java.lang.String id, InputLocationTracker tracker)private booleanvalidateIdWithWildcards(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 booleanvalidateModelVersion(ModelProblemCollector problems, java.lang.String string, InputLocationTracker tracker, java.lang.String... validVersions)private booleanvalidateNotNull(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 booleanvalidateNotNull(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:voidvalidateRawModel(Model m, ModelBuildingRequest request, ModelProblemCollector problems)Checks the specified (raw) model for missing or invalid values.private voidvalidateRawRepositories(ModelProblemCollector problems, java.util.List<Repository> repositories, java.lang.String prefix, java.lang.String prefix2, ModelBuildingRequest request)private booleanvalidateStringNoExpression(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, InputLocationTracker tracker)private booleanvalidateStringNotEmpty(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 booleanvalidateStringNotEmpty(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 booleanvalidateStringNotEmpty(java.lang.String fieldName, ModelProblemCollector problems, ModelProblem.Severity severity, ModelProblem.Version version, java.lang.String string, InputLocationTracker tracker)private booleanvalidateVersion(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 booleanvalidateVersionNoExpression(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:ModelValidatorChecks 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:
validateRawModelin 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:ModelValidatorChecks 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:
validateEffectiveModelin 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 != nullstring.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 != nullstring.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)
-
-