Author: vsiveton
Date: Mon Jul 14 15:22:34 2008
New Revision: 676753

URL: http://svn.apache.org/viewvc?rev=676753&view=rev
Log:
o moved code from ArtifactUtils to ProjectInfoReportUtils

Removed:
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/ArtifactUtils.java
Modified:
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginManagementReport.java
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginsReport.java
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectInfoReportUtils.java
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
    
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependencyManagementRenderer.java

Modified: 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginManagementReport.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginManagementReport.java?rev=676753&r1=676752&r2=676753&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginManagementReport.java
 (original)
+++ 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginManagementReport.java
 Mon Jul 14 15:22:34 2008
@@ -36,7 +36,6 @@
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.report.projectinfo.dependencies.ArtifactUtils;
 import org.apache.maven.reporting.AbstractMavenReportRenderer;
 import org.codehaus.plexus.i18n.I18N;
 import org.codehaus.plexus.util.StringUtils;
@@ -251,7 +250,7 @@
 
         private String[] getPluginRow( String groupId, String artifactId, 
String version, String link )
         {
-            artifactId = ArtifactUtils.getArtifactIdCell( artifactId, link );
+            artifactId = ProjectInfoReportUtils.getArtifactIdCell( artifactId, 
link );
             return new String[] { groupId, artifactId, version };
         }
 

Modified: 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginsReport.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginsReport.java?rev=676753&r1=676752&r2=676753&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginsReport.java
 (original)
+++ 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/PluginsReport.java
 Mon Jul 14 15:22:34 2008
@@ -36,7 +36,6 @@
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
-import org.apache.maven.report.projectinfo.dependencies.ArtifactUtils;
 import org.apache.maven.reporting.AbstractMavenReportRenderer;
 import org.codehaus.plexus.i18n.I18N;
 import org.codehaus.plexus.util.StringUtils;
@@ -275,7 +274,7 @@
 
         private String[] getPluginRow( String groupId, String artifactId, 
String version, String link )
         {
-            artifactId = ArtifactUtils.getArtifactIdCell( artifactId, link );
+            artifactId = ProjectInfoReportUtils.getArtifactIdCell( artifactId, 
link );
             return new String[] { groupId, artifactId, version };
         }
 

Modified: 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectInfoReportUtils.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectInfoReportUtils.java?rev=676753&r1=676752&r2=676753&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectInfoReportUtils.java
 (original)
+++ 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ProjectInfoReportUtils.java
 Mon Jul 14 15:22:34 2008
@@ -1,17 +1,5 @@
 package org.apache.maven.report.projectinfo;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.Authenticator;
-import java.net.PasswordAuthentication;
-import java.net.URL;
-import java.util.Properties;
-
-import org.apache.maven.settings.Proxy;
-import org.apache.maven.settings.Settings;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.StringUtils;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -31,6 +19,25 @@
  * under the License.
  */
 
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.Authenticator;
+import java.net.PasswordAuthentication;
+import java.net.URL;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.commons.validator.UrlValidator;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Settings;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+
 /**
  * Utilities methods.
  *
@@ -40,6 +47,8 @@
  */
 public class ProjectInfoReportUtils
 {
+    private static final UrlValidator URL_VALIDATOR = new UrlValidator( new 
String[] { "http", "https" } );
+
     /**
      * Get the input stream using ISO-8859-1 as charset from an URL.
      *
@@ -131,5 +140,68 @@
             IOUtil.close( in );
         }
     }
+
+    /**
+     * @param artifact not null
+     * @param mavenProjectBuilder not null
+     * @param remoteRepositories not null
+     * @param localRepository not null
+     * @return the artifact url or null if an error occurred.
+     */
+    public static String getArtifactUrl( Artifact artifact, 
MavenProjectBuilder mavenProjectBuilder,
+                                         List remoteRepositories, 
ArtifactRepository localRepository )
+    {
+        if ( Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) )
+        {
+            return null;
+        }
+
+        try
+        {
+            MavenProject pluginProject = 
mavenProjectBuilder.buildFromRepository( artifact, remoteRepositories,
+                                                                               
   localRepository );
+
+            if ( isArtifactUrlValid( pluginProject.getUrl() ) )
+            {
+                return pluginProject.getUrl();
+            }
+
+            return null;
+        }
+        catch ( ProjectBuildingException e )
+        {
+            return null;
+        }
+    }
+
+    /**
+     * @param artifactId not null
+     * @param link could be null
+     * @return the artifactId cell with or without a link pattern
+     * @see [EMAIL PROTECTED] 
AbstractMavenReportRenderer#linkPatternedText(String)}
+     */
+    public static String getArtifactIdCell( String artifactId, String link )
+    {
+        if ( StringUtils.isEmpty( link ) )
+        {
+            return artifactId;
+        }
+
+        return "{" + artifactId + "," + link + "}";
+    }
+
+    /**
+     * @param url not null
+     * @return <code>true</code> if the url is valid, <code>false</code> 
otherwise.
+     */
+    public static boolean isArtifactUrlValid( String url )
+    {
+        if ( StringUtils.isEmpty( url ) )
+        {
+            return false;
+        }
+
+        return URL_VALIDATOR.isValid( url );
+    }
 }
 

Modified: 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.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/DependenciesRenderer.java?rev=676753&r1=676752&r2=676753&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
 (original)
+++ 
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/dependencies/renderer/DependenciesRenderer.java
 Mon Jul 14 15:22:34 2008
@@ -52,7 +52,6 @@
 import org.apache.maven.report.projectinfo.ProjectInfoReportUtils;
 import org.apache.maven.report.projectinfo.dependencies.Dependencies;
 import 
org.apache.maven.report.projectinfo.dependencies.DependenciesReportConfiguration;
-import org.apache.maven.report.projectinfo.dependencies.ArtifactUtils;
 import org.apache.maven.report.projectinfo.dependencies.RepositoryUtils;
 import org.apache.maven.reporting.AbstractMavenReportRenderer;
 import org.apache.maven.settings.Settings;
@@ -155,6 +154,7 @@
      * @param locale
      * @param i18n
      * @param log
+     * @param settings
      * @param dependencies
      * @param dependencyTreeNode
      * @param config
@@ -957,8 +957,8 @@
         String isOptional = artifact.isOptional() ? getReportString( 
"report.dependencies.column.isOptional" )
             : getReportString( "report.dependencies.column.isNotOptional" );
 
-        String url = ArtifactUtils.getArtifactUrl( artifact, 
mavenProjectBuilder, remoteRepositories, localRepository );
-        String artifactIdCell = ArtifactUtils.getArtifactIdCell( 
artifact.getArtifactId(), url );
+        String url = ProjectInfoReportUtils.getArtifactUrl( artifact, 
mavenProjectBuilder, remoteRepositories, localRepository );
+        String artifactIdCell = ProjectInfoReportUtils.getArtifactIdCell( 
artifact.getArtifactId(), url );
 
         if ( withClassifier )
         {
@@ -1098,7 +1098,7 @@
                     sink.bold();
                     sink.text( getReportString( 
"report.dependencies.column.url" ) + ": " );
                     sink.bold_();
-                    if ( ArtifactUtils.isArtifactUrlValid( artifactUrl ) )
+                    if ( ProjectInfoReportUtils.isArtifactUrlValid( 
artifactUrl ) )
                     {
                         sink.link( artifactUrl );
                         sink.text( artifactUrl );

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=676753&r1=676752&r2=676753&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
 Mon Jul 14 15:22:34 2008
@@ -33,7 +33,7 @@
 import org.apache.maven.model.Dependency;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.report.projectinfo.dependencies.ArtifactUtils;
+import org.apache.maven.report.projectinfo.ProjectInfoReportUtils;
 import org.apache.maven.report.projectinfo.dependencies.ManagementDependencies;
 import org.apache.maven.reporting.AbstractMavenReportRenderer;
 import org.codehaus.plexus.i18n.I18N;
@@ -215,8 +215,8 @@
     {
         Artifact artifact = artifactFactory.createParentArtifact( 
dependency.getGroupId(), dependency.getArtifactId(),
                                                                   
dependency.getVersion() );
-        String url = ArtifactUtils.getArtifactUrl( artifact, 
mavenProjectBuilder, remoteRepositories, localRepository );
-        String artifactIdCell = ArtifactUtils.getArtifactIdCell( 
artifact.getArtifactId(), url );
+        String url = ProjectInfoReportUtils.getArtifactUrl( artifact, 
mavenProjectBuilder, remoteRepositories, localRepository );
+        String artifactIdCell = ProjectInfoReportUtils.getArtifactIdCell( 
artifact.getArtifactId(), url );
 
         if ( hasClassifier )
         {


Reply via email to