Author: rfscholte
Date: Wed Mar 27 20:34:57 2013
New Revision: 1461843

URL: http://svn.apache.org/r1461843
Log:
Add isAggregator()

Modified:
    
maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java

Modified: 
maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java?rev=1461843&r1=1461842&r2=1461843&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java
 (original)
+++ 
maven/shared/trunk/maven-project-utils/src/main/java/org/apache/maven/shared/project/utils/ProjectUtils.java
 Wed Mar 27 20:34:57 2013
@@ -42,7 +42,6 @@ public final class ProjectUtils
         {
             MavenProject parent = project.getParent();
 
-            // Are collectedProject the resolved modules?
             @SuppressWarnings( "unchecked" )
             List<MavenProject> collectedProjects = (List<MavenProject>) 
parent.getCollectedProjects();
             
@@ -60,4 +59,35 @@ public final class ProjectUtils
             return true;
         }
     }
+    
+    /**
+     * Return {@code true} if this project has modules, but is 
<strong>never</strong> the parent of one of them.<br/>
+     * 
+     * Return {@code false} if this project has no modules, or if 1 or more 
modules have this project as its parent.
+     * 
+     * @param project
+     * @return {@code true} if project is an aggregator, {@code false} if 
project is standalone or hybrid 
+     */
+    public static boolean isAggregator( MavenProject project )
+    {
+        @SuppressWarnings( "unchecked" )
+        List<MavenProject> collectedProjects = (List<MavenProject>) 
project.getCollectedProjects();
+
+        if( collectedProjects.isEmpty() )
+        {
+            return false;
+        }
+        else
+        {
+            for ( MavenProject collectedProject : collectedProjects )
+            {
+                if( project.getId().equals( collectedProject.getId() ) )
+                {
+                    return false;
+                }
+            }
+            return true;
+        }
+        
+    }
 }


Reply via email to