Author: bentmann
Date: Wed Aug 17 11:02:03 2011
New Revision: 1158623

URL: http://svn.apache.org/viewvc?rev=1158623&view=rev
Log:
[MNG-5157] NPE stemming from DefaultModelBuilder.containsCoordinates

Modified:
    
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
    
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java

Modified: 
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java?rev=1158623&r1=1158622&r2=1158623&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
 (original)
+++ 
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
 Wed Aug 17 11:02:03 2011
@@ -909,6 +909,13 @@ public class DefaultModelBuilder
             String artifactId = dependency.getArtifactId();
             String version = dependency.getVersion();
 
+            if ( version == null || version.length() <= 0 )
+            {
+                problems.add( Severity.ERROR, 
"'dependencyManagement.dependencies.dependency.version' for "
+                    + dependency.getManagementKey() + " is missing.", 
dependency.getLocation( "" ), null );
+                continue;
+            }
+
             String imported = groupId + ':' + artifactId + ':' + version;
 
             if ( importIds.contains( imported ) )
@@ -1045,8 +1052,9 @@ public class DefaultModelBuilder
 
     private boolean containsCoordinates( String message, String groupId, 
String artifactId, String version )
     {
-        return message != null && message.contains( groupId ) && 
message.contains( artifactId )
-            && message.contains( version );
+        return message != null && ( groupId == null || message.contains( 
groupId ) )
+            && ( artifactId == null || message.contains( artifactId ) )
+            && ( version == null || message.contains( version ) );
     }
 
 }

Modified: 
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
URL: 
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java?rev=1158623&r1=1158622&r2=1158623&view=diff
==============================================================================
--- 
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
 (original)
+++ 
maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
 Wed Aug 17 11:02:03 2011
@@ -356,6 +356,12 @@ public class DefaultModelValidator
         {
             String key = dependency.getManagementKey();
 
+            validateStringNotEmpty( prefix + ".groupId", problems, 
Severity.ERROR, dependency.getGroupId(), key,
+                                    dependency );
+
+            validateStringNotEmpty( prefix + ".artifactId", problems, 
Severity.ERROR, dependency.getArtifactId(), key,
+                                    dependency );
+
             if ( "import".equals( dependency.getScope() ) )
             {
                 if ( !"pom".equals( dependency.getType() ) )


Reply via email to