Author: brett
Date: Mon Mar 9 15:14:47 2009
New Revision: 751702
URL: http://svn.apache.org/viewvc?rev=751702&view=rev
Log:
[MRM-1081] fix download tag in light of multiple repositories offering the same
artifact
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java?rev=751702&r1=751701&r2=751702&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java
Mon Mar 9 15:14:47 2009
@@ -111,18 +111,15 @@
if ( relatedArtifacts != null && relatedArtifacts.size() > 0 )
{
- String repoId = ( (ArchivaArtifact) relatedArtifacts.get( 0 )
).getModel().getRepositoryId();
- ManagedRepositoryContent repo =
repositoryFactory.getManagedRepositoryContent( repoId );
-
- String prefix = req.getContextPath() + "/repository/" + repoId;
+ String prefix = req.getContextPath() + "/repository/";
if ( mini )
{
- appendMini( sb, prefix, repo, relatedArtifacts );
+ appendMini( sb, prefix, relatedArtifacts );
}
else
{
- appendNormal( sb, prefix, repo, relatedArtifacts );
+ appendNormal( sb, prefix, relatedArtifacts );
}
}
}
@@ -162,14 +159,13 @@
/* do nothing */
}
- private void appendMini( StringBuffer sb, String prefix,
ManagedRepositoryContent repo,
- List<ArchivaArtifact> relatedArtifacts )
+ private void appendMini( StringBuffer sb, String prefix,
List<ArchivaArtifact> relatedArtifacts )
{
// TODO: write 1 line download link for main artifact.
}
- private void appendNormal( StringBuffer sb, String prefix,
ManagedRepositoryContent repo,
- List<ArchivaArtifact> relatedArtifacts )
+ private void appendNormal( StringBuffer sb, String prefix,
List<ArchivaArtifact> relatedArtifacts )
+ throws RepositoryNotFoundException, RepositoryException
{
/*
* <div class="download">
@@ -209,14 +205,17 @@
sb.append( "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
);
for ( ArchivaArtifact artifact : relatedArtifacts )
{
+ String repoId = artifact.getModel().getRepositoryId();
+ ManagedRepositoryContent repo =
repositoryFactory.getManagedRepositoryContent( repoId );
+
sb.append( "\n<tr>" );
sb.append( "<td class=\"icon\">" );
- appendImageLink( sb, prefix, repo, artifact );
+ appendImageLink( sb, prefix + repoId, repo, artifact );
sb.append( "</td>" );
sb.append( "<td class=\"type\">" );
- appendLink( sb, prefix, repo, artifact );
+ appendLink( sb, prefix + repoId, repo, artifact );
sb.append( "</td>" );
sb.append( "<td class=\"size\">" );