You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/10/11 18:40:50 UTC
svn commit: r583874 -
/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java
Author: joakime
Date: Thu Oct 11 09:40:49 2007
New Revision: 583874
URL: http://svn.apache.org/viewvc?rev=583874&view=rev
Log:
Fixing Error 500 condition.
Modified:
maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java
Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java?rev=583874&r1=583873&r2=583874&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/tags/DownloadArtifact.java Thu Oct 11 09:40:49 2007
@@ -33,6 +33,11 @@
import org.apache.maven.archiva.database.ObjectNotFoundException;
import org.apache.maven.archiva.database.constraints.ArtifactsRelatedConstraint;
import org.apache.maven.archiva.model.ArchivaArtifact;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.RepositoryContentFactory;
+import org.apache.maven.archiva.repository.RepositoryException;
+import org.apache.maven.archiva.repository.RepositoryNotFoundException;
import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout;
import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory;
import org.apache.maven.archiva.repository.layout.LayoutException;
@@ -67,12 +72,7 @@
/**
* @plexus.requirement
*/
- private ArchivaConfiguration archivaConfiguration;
-
- /**
- * @plexus.requirement
- */
- private BidirectionalRepositoryLayoutFactory layoutFactory;
+ private RepositoryContentFactory repositoryFactory;
private HttpServletRequest req;
@@ -97,8 +97,8 @@
try
{
dao = (ArchivaDAO) PlexusTagUtil.lookup( pageContext, ArchivaDAO.ROLE, "jdo" );
- layoutFactory = (BidirectionalRepositoryLayoutFactory) PlexusTagUtil
- .lookup( pageContext, BidirectionalRepositoryLayoutFactory.class );
+ repositoryFactory = (RepositoryContentFactory) PlexusTagUtil.lookup( pageContext,
+ RepositoryContentFactory.class );
}
catch ( ComponentLookupException e )
{
@@ -113,23 +113,22 @@
try
{
Constraint constraint = new ArtifactsRelatedConstraint( groupId, artifactId, version );
- List relatedArtifacts = dao.getArtifactDAO().queryArtifacts( constraint );
+ List<ArchivaArtifact> relatedArtifacts = dao.getArtifactDAO().queryArtifacts( constraint );
if ( relatedArtifacts != null )
{
String repoId = ( (ArchivaArtifact) relatedArtifacts.get( 0 ) ).getModel().getRepositoryId();
- ManagedRepositoryConfiguration repo = findRepository( repoId );
- BidirectionalRepositoryLayout layout = layoutFactory.getLayout( repo.getLayout() );
+ ManagedRepositoryContent repo = repositoryFactory.getManagedRepositoryContent( repoId );
String prefix = req.getContextPath() + "/repository/" + repoId;
if ( mini )
{
- appendMini( sb, prefix, repo, layout, relatedArtifacts );
+ appendMini( sb, prefix, repo, relatedArtifacts );
}
else
{
- appendNormal( sb, prefix, repo, layout, relatedArtifacts );
+ appendNormal( sb, prefix, repo, relatedArtifacts );
}
}
}
@@ -141,9 +140,15 @@
{
appendError( sb, e );
}
- catch ( LayoutException e )
+ catch ( RepositoryNotFoundException e )
{
- appendError( sb, e );
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ catch ( RepositoryException e )
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
try
@@ -158,24 +163,19 @@
return super.end( writer, body );
}
- private ManagedRepositoryConfiguration findRepository( String repoId )
- {
- return archivaConfiguration.getConfiguration().findManagedRepositoryById( repoId );
- }
-
private void appendError( StringBuffer sb, Exception e )
{
/* do nothing */
}
- private void appendMini( StringBuffer sb, String prefix, ManagedRepositoryConfiguration repo,
- BidirectionalRepositoryLayout layout, List relatedArtifacts )
+ private void appendMini( StringBuffer sb, String prefix, ManagedRepositoryContent repo,
+ List<ArchivaArtifact> relatedArtifacts )
{
- /* do nothing */
+ // TODO: write 1 line download link for main artifact.
}
- private void appendNormal( StringBuffer sb, String prefix, ManagedRepositoryConfiguration repo,
- BidirectionalRepositoryLayout layout, List relatedArtifacts )
+ private void appendNormal( StringBuffer sb, String prefix, ManagedRepositoryContent repo,
+ List<ArchivaArtifact> relatedArtifacts )
{
/*
* <div class="download">
@@ -220,11 +220,11 @@
sb.append( "\n<tr>" );
sb.append( "<td class=\"icon\">" );
- appendImageLink( sb, prefix, layout, artifact );
+ appendImageLink( sb, prefix, repo, artifact );
sb.append( "</td>" );
sb.append( "<td class=\"type\">" );
- appendLink( sb, prefix, layout, artifact );
+ appendLink( sb, prefix, repo, artifact );
sb.append( "</td>" );
sb.append( "<td class=\"size\">" );
@@ -243,19 +243,26 @@
sb.append( "</div>" ); // close "download"
}
- private void appendImageLink( StringBuffer sb, String prefix, BidirectionalRepositoryLayout layout,
+ private void appendImageLink( StringBuffer sb, String prefix, ManagedRepositoryContent repo,
ArchivaArtifact artifact )
{
String type = artifact.getType();
String linkText = "<img src=\"" + req.getContextPath() + "/images/download-type-" + type + ".png\" />";
- appendLink( sb, prefix, layout, artifact, linkText );
+ appendLink( sb, prefix, repo, artifact, linkText );
}
- private static void appendLink( StringBuffer sb, String prefix, BidirectionalRepositoryLayout layout,
+ private static void appendLink( StringBuffer sb, String prefix, ManagedRepositoryContent repo,
ArchivaArtifact artifact, String linkText )
{
StringBuffer url = new StringBuffer();
- String path = layout.toPath( artifact );
+
+ ArtifactReference ref = new ArtifactReference();
+ ref.setGroupId( artifact.getGroupId() );
+ ref.setArtifactId( artifact.getArtifactId() );
+ ref.setVersion( artifact.getVersion() );
+ ref.setClassifier( artifact.getClassifier() );
+ ref.setType( artifact.getType() );
+ String path = repo.toPath( ref );
url.append( prefix );
url.append( "/" ).append( path );
@@ -271,13 +278,13 @@
sb.append( "</a>" );
}
- private void appendLink( StringBuffer sb, String prefix, BidirectionalRepositoryLayout layout,
+ private void appendLink( StringBuffer sb, String prefix, ManagedRepositoryContent repo,
ArchivaArtifact artifact )
{
String type = artifact.getType();
String linkText = StringUtils.capitalize( type );
- appendLink( sb, prefix, layout, artifact, linkText );
+ appendLink( sb, prefix, repo, artifact, linkText );
}
private void appendFilesize( StringBuffer sb, ArchivaArtifact artifact )