From 22516c9fa7af4071456758451725ab02be855b00 Mon Sep 17 00:00:00 2001 From: Benjamin Bentmann Date: Wed, 1 Jul 2009 11:56:44 +0000 Subject: [PATCH] o Extended model validation to support distinction between warnings and errors git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@790131 13f79535-47bb-0310-9956-ffa450edef68 --- .../validation/DefaultModelValidator.java | 2 +- .../validation/ModelValidationResult.java | 67 +++++++++++- .../project/AbstractMavenProjectTestCase.java | 10 +- .../maven/model/DefaultModelBuilder.java | 12 ++- .../validation/DefaultModelValidator.java | 102 ++++++++++-------- .../validation/ModelValidationResult.java | 85 +++++++-------- .../validation/DefaultModelValidatorTest.java | 78 +++++++------- 7 files changed, 220 insertions(+), 136 deletions(-) diff --git a/maven-compat/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java b/maven-compat/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java index f231874ca2..521a5bc171 100644 --- a/maven-compat/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java +++ b/maven-compat/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java @@ -44,7 +44,7 @@ public class DefaultModelValidator ModelBuildingRequest request = new DefaultModelBuildingRequest().setLenientValidation( false ); - for ( String message : modelValidator.validateEffectiveModel( model, request ).getMessages() ) + for ( String message : modelValidator.validateEffectiveModel( model, request ).getErrors() ) { result.addMessage( message ); } diff --git a/maven-compat/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java b/maven-compat/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java index 127387b2da..9ee0ca20f7 100644 --- a/maven-compat/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java +++ b/maven-compat/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java @@ -19,12 +19,77 @@ package org.apache.maven.project.validation; * under the License. */ +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + /** * @author Trygve Laugstøl * @version $Id$ */ public class ModelValidationResult - extends org.apache.maven.model.validation.ModelValidationResult { + /** */ + private final static String NEWLINE = System.getProperty( "line.separator" ); + + /** */ + private List messages; + + public ModelValidationResult() + { + messages = new ArrayList(); + } + + public int getMessageCount() + { + return messages.size(); + } + + public String getMessage( int i ) + { + return messages.get( i ); + } + + public List getMessages() + { + return Collections.unmodifiableList( messages ); + } + + public void addMessage( String message ) + { + messages.add( message ); + } + + public String toString() + { + return render( "" ); + } + + public String render( String indentation ) + { + if ( messages.size() == 0 ) + { + return indentation + "There were no validation errors."; + } + + StringBuffer message = new StringBuffer(); + +// if ( messages.size() == 1 ) +// { +// message.append( "There was 1 validation error: " ); +// } +// else +// { +// message.append( "There was " + messages.size() + " validation errors: " + NEWLINE ); +// } +// + for ( int i = 0; i < messages.size(); i++ ) + { + message.append( indentation + "[" + i + "] " + messages.get( i ).toString() + NEWLINE ); + } + + return message.toString(); + } + } diff --git a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java index 06d9a165df..ebf08b2e67 100644 --- a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java +++ b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java @@ -138,7 +138,15 @@ public abstract class AbstractMavenProjectTestCase if ( e instanceof InvalidProjectModelException ) { ModelValidationResult validationResult = ( (InvalidProjectModelException) e ).getValidationResult(); - String message = "In: " + pom + "(" + ( (ProjectBuildingException) e ).getProjectId() + ")\n\n" + validationResult.render( " " ); + String message = "In: " + pom + "(" + ( (ProjectBuildingException) e ).getProjectId() + ")\n\n"; + for ( String error : validationResult.getErrors() ) + { + message += " [ERROR] " + error + "\n"; + } + for ( String warning : validationResult.getWarnings() ) + { + message += " [WARNING] " + warning + "\n"; + } System.out.println( message ); fail( message ); } diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java index 63dbde462e..84b575adec 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java @@ -278,15 +278,21 @@ public class DefaultModelBuilder private void addProblems( Model model, ModelValidationResult result, List problems ) { - if ( result.getMessageCount() > 0 ) + if ( !result.getWarnings().isEmpty() || !result.getErrors().isEmpty() ) { String source = toSourceHint( model ); - for ( int i = 0; i < result.getMessageCount(); i++ ) + for ( String message : result.getWarnings() ) { - problems.add( new ModelProblem( "Invalid POM " + source + ": " + result.getMessage( i ), + problems.add( new ModelProblem( "Invalid POM " + source + ": " + message, ModelProblem.Severity.WARNING, source ) ); } + + for ( String message : result.getErrors() ) + { + problems.add( new ModelProblem( "Invalid POM " + source + ": " + message, ModelProblem.Severity.ERROR, + source ) ); + } } } diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java index 742a2c2e31..0be650e33a 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java @@ -57,16 +57,16 @@ public class DefaultModelValidator Parent parent = model.getParent(); if ( parent != null ) { - validateStringNotEmpty( "parent.groupId", result, parent.getGroupId() ); + validateStringNotEmpty( "parent.groupId", result, false, parent.getGroupId() ); - validateStringNotEmpty( "parent.artifactId", result, parent.getArtifactId() ); + validateStringNotEmpty( "parent.artifactId", result, false, parent.getArtifactId() ); - validateStringNotEmpty( "parent.version", result, parent.getVersion() ); + validateStringNotEmpty( "parent.version", result, false, parent.getVersion() ); if ( parent.getGroupId().equals( model.getGroupId() ) && parent.getArtifactId().equals( model.getArtifactId() ) ) { - result.addMessage( "The parent element cannot have the same ID as the project." ); + addViolation( result, false, "The parent element cannot have the same ID as the project." ); } } @@ -110,17 +110,17 @@ public class DefaultModelValidator { ModelValidationResult result = new ModelValidationResult(); - validateStringNotEmpty( "modelVersion", result, model.getModelVersion() ); + validateStringNotEmpty( "modelVersion", result, false, model.getModelVersion() ); validateId( "groupId", result, model.getGroupId() ); validateId( "artifactId", result, model.getArtifactId() ); - validateStringNotEmpty( "packaging", result, model.getPackaging() ); + validateStringNotEmpty( "packaging", result, false, model.getPackaging() ); if ( !model.getModules().isEmpty() && !"pom".equals( model.getPackaging() ) ) { - result.addMessage( "Packaging '" + model.getPackaging() + "' is invalid. Aggregator projects " + + addViolation( result, false, "Packaging '" + model.getPackaging() + "' is invalid. Aggregator projects " + "require 'pom' as packaging." ); } @@ -130,11 +130,11 @@ public class DefaultModelValidator if ( parent.getGroupId().equals( model.getGroupId() ) && parent.getArtifactId().equals( model.getArtifactId() ) ) { - result.addMessage( "The parent element cannot have the same ID as the project." ); + addViolation( result, false, "The parent element cannot have the same ID as the project." ); } } - validateStringNotEmpty( "version", result, model.getVersion() ); + validateStringNotEmpty( "version", result, false, model.getVersion() ); for ( Dependency d : model.getDependencies() ) { @@ -142,9 +142,9 @@ public class DefaultModelValidator validateId( "dependencies.dependency.groupId", result, d.getGroupId() ); - validateStringNotEmpty( "dependencies.dependency.type", result, d.getType(), d.getManagementKey() ); + validateStringNotEmpty( "dependencies.dependency.type", result, false, d.getType(), d.getManagementKey() ); - validateStringNotEmpty( "dependencies.dependency.version", result, d.getVersion(), + validateStringNotEmpty( "dependencies.dependency.version", result, false, d.getVersion(), d.getManagementKey() ); if ( "system".equals( d.getScope() ) ) @@ -153,20 +153,20 @@ public class DefaultModelValidator if ( StringUtils.isEmpty( systemPath ) ) { - result.addMessage( "For dependency " + d + ": system-scoped dependency must specify systemPath." ); + addViolation( result, false, "For dependency " + d + ": system-scoped dependency must specify systemPath." ); } else { if ( !new File( systemPath ).isAbsolute() ) { - result.addMessage( "For dependency " + d + ": system-scoped dependency must " + + addViolation( result, false, "For dependency " + d + ": system-scoped dependency must " + "specify an absolute path systemPath." ); } } } else if ( StringUtils.isNotEmpty( d.getSystemPath() ) ) { - result.addMessage( + addViolation( result, false, "For dependency " + d + ": only dependency with system scope can specify systemPath." ); } } @@ -188,21 +188,21 @@ public class DefaultModelValidator if ( StringUtils.isEmpty( systemPath ) ) { - result.addMessage( + addViolation( result, false, "For managed dependency " + d + ": system-scoped dependency must specify systemPath." ); } else { if ( !new File( systemPath ).isAbsolute() ) { - result.addMessage( "For managed dependency " + d + ": system-scoped dependency must " + + addViolation( result, false, "For managed dependency " + d + ": system-scoped dependency must " + "specify an absolute path systemPath." ); } } } else if ( StringUtils.isNotEmpty( d.getSystemPath() ) ) { - result.addMessage( + addViolation( result, false, "For managed dependency " + d + ": only dependency with system scope can specify systemPath." ); } } @@ -215,11 +215,11 @@ public class DefaultModelValidator { for ( Plugin p : build.getPlugins() ) { - validateStringNotEmpty( "build.plugins.plugin.artifactId", result, p.getArtifactId() ); + validateStringNotEmpty( "build.plugins.plugin.artifactId", result, false, p.getArtifactId() ); - validateStringNotEmpty( "build.plugins.plugin.groupId", result, p.getGroupId() ); + validateStringNotEmpty( "build.plugins.plugin.groupId", result, false, p.getGroupId() ); - validateStringNotEmpty( "build.plugins.plugin.version", result, p.getVersion(), p.getKey() ); + validateStringNotEmpty( "build.plugins.plugin.version", result, false, p.getVersion(), p.getKey() ); } validateResources( result, build.getResources(), "build.resources.resource" ); @@ -232,11 +232,11 @@ public class DefaultModelValidator { for ( ReportPlugin p : reporting.getPlugins() ) { - validateStringNotEmpty( "reporting.plugins.plugin.artifactId", result, p.getArtifactId() ); + validateStringNotEmpty( "reporting.plugins.plugin.artifactId", result, false, p.getArtifactId() ); - validateStringNotEmpty( "reporting.plugins.plugin.groupId", result, p.getGroupId() ); + validateStringNotEmpty( "reporting.plugins.plugin.groupId", result,false, p.getGroupId() ); - validateStringNotEmpty( "reporting.plugins.plugin.version", result, p.getVersion(), p.getKey() ); + validateStringNotEmpty( "reporting.plugins.plugin.version", result, false, p.getVersion(), p.getKey() ); } } @@ -248,7 +248,7 @@ public class DefaultModelValidator private boolean validateId( String fieldName, ModelValidationResult result, String id ) { - if ( !validateStringNotEmpty( fieldName, result, id ) ) + if ( !validateStringNotEmpty( fieldName, result, false, id ) ) { return false; } @@ -257,7 +257,7 @@ public class DefaultModelValidator boolean match = id.matches( ID_REGEX ); if ( !match ) { - result.addMessage( "'" + fieldName + "' with value '" + id + "' does not match a valid id pattern." ); + addViolation( result, false, "'" + fieldName + "' with value '" + id + "' does not match a valid id pattern." ); } return match; } @@ -275,7 +275,7 @@ public class DefaultModelValidator if ( existing != null ) { - result.addMessage( "'" + prefix + ".(groupId:artifactId:type:classifier)' must be unique: " + key + addViolation( result, false, "'" + prefix + ".(groupId:artifactId:type:classifier)' must be unique: " + key + " -> " + existing.getVersion() + " vs " + dependency.getVersion() ); } else @@ -291,9 +291,9 @@ public class DefaultModelValidator for ( Repository repository : repositories ) { - validateStringNotEmpty( prefix + ".id", result, repository.getId() ); + validateStringNotEmpty( prefix + ".id", result, false, repository.getId() ); - validateStringNotEmpty( prefix + ".url", result, repository.getUrl() ); + validateStringNotEmpty( prefix + ".url", result, false, repository.getUrl() ); String key = repository.getId(); @@ -301,7 +301,7 @@ public class DefaultModelValidator if ( existing != null ) { - result.addMessage( "'" + prefix + ".id' must be unique: " + repository.getId() + " -> " + addViolation( result, false, "'" + prefix + ".id' must be unique: " + repository.getId() + " -> " + existing.getUrl() + " vs " + repository.getUrl() ); } else @@ -315,7 +315,7 @@ public class DefaultModelValidator { for ( Resource resource : resources ) { - validateStringNotEmpty( prefix + ".directory", result, resource.getDirectory() ); + validateStringNotEmpty( prefix + ".directory", result, false, resource.getDirectory() ); } } @@ -338,7 +338,7 @@ public class DefaultModelValidator } catch ( IllegalStateException collisionException ) { - result.addMessage( collisionException.getMessage() ); + addViolation( result, false, collisionException.getMessage() ); } } } @@ -349,23 +349,23 @@ public class DefaultModelValidator // Field validation // ---------------------------------------------------------------------- - private boolean validateStringNotEmpty( String fieldName, ModelValidationResult result, String string ) + private boolean validateStringNotEmpty( String fieldName, ModelValidationResult result, boolean warning, String string ) { - return validateStringNotEmpty( fieldName, result, string, null ); + return validateStringNotEmpty( fieldName, result, warning, string, null ); } /** * Asserts: *

*

    - *
  • string.length != null + *
  • string != null *
  • string.length > 0 *
*/ - private boolean validateStringNotEmpty( String fieldName, ModelValidationResult result, String string, - String sourceHint ) + private boolean validateStringNotEmpty( String fieldName, ModelValidationResult result, boolean warning, + String string, String sourceHint ) { - if ( !validateNotNull( fieldName, result, string, sourceHint ) ) + if ( !validateNotNull( fieldName, result, warning, string, sourceHint ) ) { return false; } @@ -377,11 +377,11 @@ public class DefaultModelValidator if ( sourceHint != null ) { - result.addMessage( "'" + fieldName + "' is missing for " + sourceHint ); + addViolation( result, false, "'" + fieldName + "' is missing for " + sourceHint ); } else { - result.addMessage( "'" + fieldName + "' is missing." ); + addViolation( result, false, "'" + fieldName + "' is missing." ); } return false; @@ -391,7 +391,7 @@ public class DefaultModelValidator * Asserts: *

*

    - *
  • string.length != null + *
  • string != null *
  • string.length > 0 *
*/ @@ -408,7 +408,7 @@ public class DefaultModelValidator return true; } - result.addMessage( "In " + subElementInstance + ":\n\n -> '" + fieldName + "' is missing." ); + addViolation( result, false, "In " + subElementInstance + ":\n\n -> '" + fieldName + "' is missing." ); return false; } @@ -420,7 +420,7 @@ public class DefaultModelValidator *
  • string != null * */ - private boolean validateNotNull( String fieldName, ModelValidationResult result, Object object, String sourceHint ) + private boolean validateNotNull( String fieldName, ModelValidationResult result, boolean warning, Object object, String sourceHint ) { if ( object != null ) { @@ -429,11 +429,11 @@ public class DefaultModelValidator if ( sourceHint != null ) { - result.addMessage( "'" + fieldName + "' is missing for " + sourceHint ); + addViolation( result, warning, "'" + fieldName + "' is missing for " + sourceHint ); } else { - result.addMessage( "'" + fieldName + "' is missing." ); + addViolation( result, warning, "'" + fieldName + "' is missing." ); } return false; @@ -454,9 +454,21 @@ public class DefaultModelValidator return true; } - result.addMessage( "In " + subElementInstance + ":\n\n -> '" + fieldName + "' is missing." ); + addViolation( result, false, "In " + subElementInstance + ":\n\n -> '" + fieldName + "' is missing." ); return false; } + private void addViolation( ModelValidationResult result, boolean warning, String message ) + { + if ( warning ) + { + result.addWarning( message ); + } + else + { + result.addError( message ); + } + } + } diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidationResult.java b/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidationResult.java index 1dd677f1c7..678aa82b7c 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidationResult.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/validation/ModelValidationResult.java @@ -20,74 +20,67 @@ package org.apache.maven.model.validation; */ import java.util.ArrayList; -import java.util.Collections; import java.util.List; /** - * @author Trygve Laugstøl - * @version $Id$ + * Collects the warnings and errors from the model validator. + * + * @author Benjamin Bentmann */ public class ModelValidationResult { - /** */ - private final static String NEWLINE = System.getProperty( "line.separator" ); - /** */ - private List messages; + private List warnings; + private List errors; + + /** + * Creates a new validation result. + */ public ModelValidationResult() { - messages = new ArrayList(); + warnings = new ArrayList(); + errors = new ArrayList(); } - public int getMessageCount() + /** + * Gets the warnings from the validator. + * + * @return The warnings from the validator, can be empty but never {@code null}. + */ + public List getWarnings() { - return messages.size(); + return warnings; } - public String getMessage( int i ) + /** + * Records the specified warning. + * + * @param message The detail message about the validation warning. + */ + public void addWarning( String message ) { - return messages.get( i ); + warnings.add( message ); } - public List getMessages() + /** + * Gets the errors from the validator. + * + * @return The errors from the validator, can be empty but never {@code null}. + */ + public List getErrors() { - return Collections.unmodifiableList( messages ); + return errors; } - public void addMessage( String message ) + /** + * Records the specified error. + * + * @param message The detail message about the validation error. + */ + public void addError( String message ) { - messages.add( message ); + errors.add( message ); } - public String toString() - { - return render( "" ); - } - - public String render( String indentation ) - { - if ( messages.size() == 0 ) - { - return indentation + "There were no validation errors."; - } - - StringBuffer message = new StringBuffer(); - -// if ( messages.size() == 1 ) -// { -// message.append( "There was 1 validation error: " ); -// } -// else -// { -// message.append( "There was " + messages.size() + " validation errors: " + NEWLINE ); -// } -// - for ( int i = 0; i < messages.size(); i++ ) - { - message.append( indentation + "[" + i + "] " + messages.get( i ).toString() + NEWLINE ); - } - - return message.toString(); - } } diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java index a704bd36aa..c51179f2c5 100644 --- a/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java +++ b/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java @@ -90,9 +90,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-modelVersion-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertEquals( "'modelVersion' is missing.", result.getMessage( 0 ) ); + assertEquals( "'modelVersion' is missing.", result.getErrors().get( 0 ) ); } public void testMissingArtifactId() @@ -100,9 +100,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-artifactId-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertEquals( "'artifactId' is missing.", result.getMessage( 0 ) ); + assertEquals( "'artifactId' is missing.", result.getErrors().get( 0 ) ); } public void testMissingGroupId() @@ -110,9 +110,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-groupId-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertEquals( "'groupId' is missing.", result.getMessage( 0 ) ); + assertEquals( "'groupId' is missing.", result.getErrors().get( 0 ) ); } public void testInvalidIds() @@ -120,11 +120,11 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "invalid-ids-pom.xml" ); - assertEquals( 2, result.getMessageCount() ); + assertEquals( 2, result.getErrors().size() ); - assertEquals( "'groupId' with value 'o/a/m' does not match a valid id pattern.", result.getMessage( 0 ) ); + assertEquals( "'groupId' with value 'o/a/m' does not match a valid id pattern.", result.getErrors().get( 0 ) ); - assertEquals( "'artifactId' with value 'm$-do$' does not match a valid id pattern.", result.getMessage( 1 ) ); + assertEquals( "'artifactId' with value 'm$-do$' does not match a valid id pattern.", result.getErrors().get( 1 ) ); } public void testMissingType() @@ -132,9 +132,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-type-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertEquals( "'packaging' is missing.", result.getMessage( 0 ) ); + assertEquals( "'packaging' is missing.", result.getErrors().get( 0 ) ); } public void testMissingVersion() @@ -142,9 +142,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-version-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertEquals( "'version' is missing.", result.getMessage( 0 ) ); + assertEquals( "'version' is missing.", result.getErrors().get( 0 ) ); } public void testInvalidAggregatorPackaging() @@ -152,9 +152,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "invalid-aggregator-packaging-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertTrue( result.getMessage( 0 ).indexOf( "Aggregator projects require 'pom' as packaging." ) > -1 ); + assertTrue( result.getErrors().get( 0 ).indexOf( "Aggregator projects require 'pom' as packaging." ) > -1 ); } public void testMissingDependencyArtifactId() @@ -162,9 +162,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-dependency-artifactId-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertTrue( result.getMessage( 0 ).indexOf( "'dependencies.dependency.artifactId' is missing." ) > -1 ); + assertTrue( result.getErrors().get( 0 ).indexOf( "'dependencies.dependency.artifactId' is missing." ) > -1 ); } public void testMissingDependencyGroupId() @@ -172,9 +172,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-dependency-groupId-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertTrue( result.getMessage( 0 ).indexOf( "'dependencies.dependency.groupId' is missing." ) > -1 ); + assertTrue( result.getErrors().get( 0 ).indexOf( "'dependencies.dependency.groupId' is missing." ) > -1 ); } public void testMissingDependencyVersion() @@ -182,9 +182,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-dependency-version-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertTrue( result.getMessage( 0 ).indexOf( "'dependencies.dependency.version' is missing" ) > -1 ); + assertTrue( result.getErrors().get( 0 ).indexOf( "'dependencies.dependency.version' is missing" ) > -1 ); } public void testMissingDependencyManagementArtifactId() @@ -192,9 +192,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-dependency-mgmt-artifactId-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertTrue( result.getMessage( 0 ).indexOf( + assertTrue( result.getErrors().get( 0 ).indexOf( "'dependencyManagement.dependencies.dependency.artifactId' is missing." ) > -1 ); } @@ -203,9 +203,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-dependency-mgmt-groupId-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertTrue( result.getMessage( 0 ).indexOf( + assertTrue( result.getErrors().get( 0 ).indexOf( "'dependencyManagement.dependencies.dependency.groupId' is missing." ) > -1 ); } @@ -214,9 +214,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-1-pom.xml" ); - assertEquals( 4, result.getMessageCount() ); + assertEquals( 4, result.getErrors().size() ); - List messages = result.getMessages(); + List messages = result.getErrors(); assertTrue( messages.contains( "\'modelVersion\' is missing." ) ); assertTrue( messages.contains( "\'groupId\' is missing." ) ); @@ -230,9 +230,9 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-plugin-artifactId-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); - assertEquals( "'build.plugins.plugin.artifactId' is missing.", result.getMessage( 0 ) ); + assertEquals( "'build.plugins.plugin.artifactId' is missing.", result.getErrors().get( 0 ) ); } public void testMissingPluginVersion() @@ -240,10 +240,10 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-plugin-version-pom.xml" ); - assertEquals( 1, result.getMessageCount() ); + assertEquals( 1, result.getErrors().size() ); assertEquals( "'build.plugins.plugin.version' is missing for org.apache.maven.plugins:maven-it-plugin", - result.getMessage( 0 ) ); + result.getErrors().get( 0 ) ); } public void testMissingRepositoryId() @@ -251,15 +251,15 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-repository-id-pom.xml", true, false ); - assertEquals( 4, result.getMessageCount() ); + assertEquals( 4, result.getErrors().size() ); - assertEquals( "'repositories.repository.id' is missing.", result.getMessage( 0 ) ); + assertEquals( "'repositories.repository.id' is missing.", result.getErrors().get( 0 ) ); - assertEquals( "'repositories.repository.url' is missing.", result.getMessage( 1 ) ); + assertEquals( "'repositories.repository.url' is missing.", result.getErrors().get( 1 ) ); - assertEquals( "'pluginRepositories.pluginRepository.id' is missing.", result.getMessage( 2 ) ); + assertEquals( "'pluginRepositories.pluginRepository.id' is missing.", result.getErrors().get( 2 ) ); - assertEquals( "'pluginRepositories.pluginRepository.url' is missing.", result.getMessage( 3 ) ); + assertEquals( "'pluginRepositories.pluginRepository.url' is missing.", result.getErrors().get( 3 ) ); } public void testMissingResourceDirectory() @@ -267,11 +267,11 @@ public class DefaultModelValidatorTest { ModelValidationResult result = validate( "missing-resource-directory-pom.xml" ); - assertEquals( 2, result.getMessageCount() ); + assertEquals( 2, result.getErrors().size() ); - assertEquals( "'build.resources.resource.directory' is missing.", result.getMessage( 0 ) ); + assertEquals( "'build.resources.resource.directory' is missing.", result.getErrors().get( 0 ) ); - assertEquals( "'build.testResources.testResource.directory' is missing.", result.getMessage( 1 ) ); + assertEquals( "'build.testResources.testResource.directory' is missing.", result.getErrors().get( 1 ) ); } }