You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2005/10/29 16:31:51 UTC
svn commit: r329419 - in /maven/components/trunk/maven-project/src:
main/java/org/apache/maven/project/validation/DefaultModelValidator.java
test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java
Author: jvanzyl
Date: Sat Oct 29 07:31:44 2005
New Revision: 329419
URL: http://svn.apache.org/viewcvs?rev=329419&view=rev
Log:
o http://jira.codehaus.org/browse/MNG-1361
When the version or type are missing from a dependency a g:a string will
be displayed so you can easily find the problematic dependency in question.
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java?rev=329419&r1=329418&r2=329419&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java Sat Oct 29 07:31:44 2005
@@ -65,9 +65,9 @@
validateId( "dependencies.dependency.groupId", result, d.getGroupId() );
- validateStringNotEmpty( "dependencies.dependency.type", result, d.getType() );
+ validateStringNotEmpty( "dependencies.dependency.type", result, d.getType(), dependencySourceHint( d ) );
- validateStringNotEmpty( "dependencies.dependency.version", result, d.getVersion() );
+ validateStringNotEmpty( "dependencies.dependency.version", result, d.getVersion(), dependencySourceHint( d ) );
if ( Artifact.SCOPE_SYSTEM.equals( d.getScope() ) && StringUtils.isEmpty( d.getSystemPath() ) )
{
@@ -212,8 +212,28 @@
}
}
- ///////////////////////////////////////////////////////////////////////////
- // Field validator
+
+ // ----------------------------------------------------------------------
+ // Field validation
+ // ----------------------------------------------------------------------
+
+ /**
+ * Create a hint string consisting of the groupId and artifactId for user validation
+ * messages. For example when the version or type information is missing from a
+ * dependency.
+ *
+ * @param d The dependency from which to make the hint.
+ * @return String of the form g:a.
+ */
+ private String dependencySourceHint( Dependency d )
+ {
+ return d.getGroupId() + ":" + d.getArtifactId();
+ }
+
+ private boolean validateStringNotEmpty( String fieldName, ModelValidationResult result, String string )
+ {
+ return validateStringNotEmpty( fieldName, result, string, null );
+ }
/**
* Asserts:
@@ -223,9 +243,9 @@
* <li><code>string.length > 0</code>
* </ul>
*/
- private boolean validateStringNotEmpty( String fieldName, ModelValidationResult result, String string )
+ private boolean validateStringNotEmpty( String fieldName, ModelValidationResult result, String string, String sourceHint )
{
- if ( !validateNotNull( fieldName, result, string ) )
+ if ( !validateNotNull( fieldName, result, string, sourceHint ) )
{
return false;
}
@@ -235,7 +255,15 @@
return true;
}
- result.addMessage( "'" + fieldName + "' is missing." );
+ if ( sourceHint != null )
+ {
+ result.addMessage( "'" + fieldName + "' is missing for " + sourceHint );
+ }
+ else
+ {
+ result.addMessage( "'" + fieldName + "' is missing." );
+ }
+
return false;
}
@@ -273,14 +301,21 @@
* <li><code>string != null</code>
* </ul>
*/
- private boolean validateNotNull( String fieldName, ModelValidationResult result, Object object )
+ private boolean validateNotNull( String fieldName, ModelValidationResult result, Object object, String sourceHint )
{
if ( object != null )
{
return true;
}
- result.addMessage( "'" + fieldName + "' is missing." );
+ if ( sourceHint != null )
+ {
+ result.addMessage( "'" + fieldName + "' is missing for " + sourceHint );
+ }
+ else
+ {
+ result.addMessage( "'" + fieldName + "' is missing." );
+ }
return false;
}
Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java?rev=329419&r1=329418&r2=329419&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java Sat Oct 29 07:31:44 2005
@@ -124,7 +124,7 @@
assertEquals( 1, result.getMessageCount() );
- assertTrue( result.getMessage( 0 ).indexOf( "'dependencies.dependency.version' is missing." ) > -1 );
+ assertTrue( result.getMessage( 0 ).indexOf( "'dependencies.dependency.version' is missing" ) > -1 );
}
public void testMissingDependencyManagementArtifactId()