Author: vsiveton
Date: Wed Jul  9 15:24:51 2008
New Revision: 675364

URL: http://svn.apache.org/viewvc?rev=675364&view=rev
Log:
MPIR-116: Make the classifier column optional in dependencies management report 

o classifier is now optional
o fixed test case

Modified:
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependencyManagementRenderer.java
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependencyManagementReportTest.java

Modified: 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependencyManagementRenderer.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependencyManagementRenderer.java?rev=675364&r1=675363&r2=675364&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependencyManagementRenderer.java
 (original)
+++ 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependencyManagementRenderer.java
 Wed Jul  9 15:24:51 2008
@@ -33,6 +33,7 @@
 import org.apache.maven.report.projectinfo.dependencies.ManagementDependencies;
 import org.apache.maven.reporting.AbstractMavenReportRenderer;
 import org.codehaus.plexus.i18n.I18N;
+import org.codehaus.plexus.util.StringUtils;
 
 /**
  * @author Nick Stolwijk
@@ -100,37 +101,30 @@
 
     private void renderSectionProjectDependencies()
     {
-        String[] tableHeader = getDependencyTableHeader();
-
         startSection( getTitle() );
 
         // collect dependencies by scope
         Map dependenciesByScope = dependencies.getDependenciesByScope();
 
-        renderDependenciesForAllScopes( tableHeader, dependenciesByScope );
+        renderDependenciesForAllScopes( dependenciesByScope );
 
         endSection();
     }
 
-    private void renderDependenciesForAllScopes( String[] tableHeader, Map 
dependenciesByScope )
+    private void renderDependenciesForAllScopes( Map dependenciesByScope )
     {
-        renderDependenciesForScope( Artifact.SCOPE_COMPILE, (List) 
dependenciesByScope.get( Artifact.SCOPE_COMPILE ),
-                                    tableHeader );
-        renderDependenciesForScope( Artifact.SCOPE_RUNTIME, (List) 
dependenciesByScope.get( Artifact.SCOPE_RUNTIME ),
-                                    tableHeader );
-        renderDependenciesForScope( Artifact.SCOPE_TEST, (List) 
dependenciesByScope.get( Artifact.SCOPE_TEST ),
-                                    tableHeader );
-        renderDependenciesForScope( Artifact.SCOPE_PROVIDED, (List) 
dependenciesByScope.get( Artifact.SCOPE_PROVIDED ),
-                                    tableHeader );
-        renderDependenciesForScope( Artifact.SCOPE_SYSTEM, (List) 
dependenciesByScope.get( Artifact.SCOPE_SYSTEM ),
-                                    tableHeader );
+        renderDependenciesForScope( Artifact.SCOPE_COMPILE, (List) 
dependenciesByScope.get( Artifact.SCOPE_COMPILE ) );
+        renderDependenciesForScope( Artifact.SCOPE_RUNTIME, (List) 
dependenciesByScope.get( Artifact.SCOPE_RUNTIME ) );
+        renderDependenciesForScope( Artifact.SCOPE_TEST, (List) 
dependenciesByScope.get( Artifact.SCOPE_TEST ) );
+        renderDependenciesForScope( Artifact.SCOPE_PROVIDED, (List) 
dependenciesByScope.get( Artifact.SCOPE_PROVIDED ) );
+        renderDependenciesForScope( Artifact.SCOPE_SYSTEM, (List) 
dependenciesByScope.get( Artifact.SCOPE_SYSTEM ) );
     }
 
     // ----------------------------------------------------------------------
     // Private methods
     // ----------------------------------------------------------------------
 
-    private String[] getDependencyTableHeader()
+    private static String[] getDependencyTableHeader( boolean hasClassifier )
     {
         String groupId = getReportString( 
"report.dependencyManagement.column.groupId" );
         String artifactId = getReportString( 
"report.dependencyManagement.column.artifactId" );
@@ -138,10 +132,15 @@
         String classifier = getReportString( 
"report.dependencyManagement.column.classifier" );
         String type = getReportString( 
"report.dependencyManagement.column.type" );
 
-        return new String[] { groupId, artifactId, version, classifier, type };
+        if ( hasClassifier )
+        {
+            return new String[] { groupId, artifactId, version, classifier, 
type };
+        }
+
+        return new String[] { groupId, artifactId, version, type };
     }
 
-    private void renderDependenciesForScope( String scope, List artifacts, 
String[] tableHeader )
+    private void renderDependenciesForScope( String scope, List artifacts )
     {
         if ( artifacts != null )
         {
@@ -152,12 +151,25 @@
 
             paragraph( getReportString( "report.dependencyManagement.intro." + 
scope ) );
             startTable();
+
+            boolean hasClassifier = false;
+            for ( Iterator iterator = artifacts.iterator(); 
iterator.hasNext(); )
+            {
+                Dependency dependency = (Dependency) iterator.next();
+                if ( StringUtils.isNotEmpty( dependency.getClassifier() ) )
+                {
+                    hasClassifier = true;
+                    break;
+                }
+            }
+
+            String[] tableHeader = getDependencyTableHeader( hasClassifier );
             tableHeader( tableHeader );
 
             for ( Iterator iterator = artifacts.iterator(); 
iterator.hasNext(); )
             {
                 Dependency dependency = (Dependency) iterator.next();
-                tableRow( getDependencyRow( dependency ) );
+                tableRow( getDependencyRow( dependency, hasClassifier ) );
             }
             endTable();
 
@@ -165,10 +177,16 @@
         }
     }
 
-    private String[] getDependencyRow( Dependency dependency )
+    private String[] getDependencyRow( Dependency dependency, boolean 
hasClassifier )
     {
+        if ( hasClassifier )
+        {
+            return new String[] { dependency.getGroupId(), 
dependency.getArtifactId(), dependency.getVersion(),
+                dependency.getClassifier(), dependency.getType() };
+        }
+
         return new String[] { dependency.getGroupId(), 
dependency.getArtifactId(), dependency.getVersion(),
-            dependency.getClassifier(), dependency.getType() };
+            dependency.getType() };
     }
 
     private Comparator getDependencyComparator()

Modified: 
maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependencyManagementReportTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependencyManagementReportTest.java?rev=675364&r1=675363&r2=675364&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependencyManagementReportTest.java
 (original)
+++ 
maven/plugins/trunk/maven-project-info-reports-plugin/src/test/java/org/apache/maven/report/projectinfo/DependencyManagementReportTest.java
 Wed Jul  9 15:24:51 2008
@@ -71,7 +71,7 @@
         WebTable[] webTables = response.getTables();
         assertEquals( webTables.length, 1 );
 
-        assertEquals( webTables[0].getColumnCount(), 5 );
+        assertEquals( webTables[0].getColumnCount(), 4 );
         assertEquals( webTables[0].getRowCount(),
                       1 + 
getTestMavenProject().getDependencyManagement().getDependencies().size() );
 


Reply via email to