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 ) {