From cc2d715e54ec70091a0a276117749832a49387ae Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Tue, 29 May 2012 16:35:00 +0000 Subject: [PATCH] [MRM-1621] add download box in artifact detail for new ui. git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1343828 13f79535-47bb-0310-9956-ffa450edef68 --- .../rest/services/AbstractRestService.java | 10 +++++++++- .../rest/services/DefaultBrowseService.java | 2 +- .../src/main/webapp/js/archiva/search.js | 17 +++++++++++++++++ .../webapp/js/templates/archiva/search.html | 15 +++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java index 41f394403..9f76d191a 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/AbstractRestService.java @@ -23,6 +23,7 @@ import org.apache.archiva.admin.model.RepositoryAdminException; import org.apache.archiva.admin.model.admin.ArchivaAdministration; import org.apache.archiva.audit.AuditEvent; import org.apache.archiva.audit.AuditListener; +import org.apache.archiva.common.utils.VersionUtil; import org.apache.archiva.metadata.repository.RepositorySessionFactory; import org.apache.archiva.redback.rest.services.RedbackAuthenticationThreadLocal; import org.apache.archiva.redback.rest.services.RedbackRequestInformation; @@ -196,7 +197,14 @@ public abstract class AbstractRestService sb.append( '/' ).append( StringUtils.replaceChars( artifact.getGroupId(), '.', '/' ) ); sb.append( '/' ).append( artifact.getArtifactId() ); - sb.append( '/' ).append( artifact.getVersion() ); + if ( VersionUtil.isSnapshot( artifact.getVersion() ) ) + { + sb.append( '/' ).append( VersionUtil.getBaseVersion( artifact.getVersion() ) ); + } + else + { + sb.append( '/' ).append( artifact.getVersion() ); + } sb.append( '/' ).append( artifact.getArtifactId() ); sb.append( '-' ).append( artifact.getVersion() ); if ( StringUtils.isNotBlank( artifact.getClassifier() ) ) diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java index 611f25466..262bae592 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java @@ -688,7 +688,7 @@ public class DefaultBrowseService repositoryContentFactory.getManagedRepositoryContent( repoId ) ); Artifact art = builder.build(); - art.setUrl( getArtifactUrl( art, artifact.getVersion() ) ); + art.setUrl( getArtifactUrl( art, version ) ); artifactDownloadInfos.add( art ); } diff --git a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js index b2ca397ca..dd0ab4a7a 100644 --- a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js +++ b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js @@ -224,6 +224,7 @@ define("search",["jquery","i18n","jquery.tmpl","choosen","order!knockout","knock } }); } + return; } if ($(e.target).attr("href")=="#artifact-details-used-by-content") { var dependeesContentDiv=mainContent.find("#artifact-details-used-by-content" ); @@ -245,6 +246,7 @@ define("search",["jquery","i18n","jquery.tmpl","choosen","order!knockout","knock } }); } + return; } if ($(e.target).attr("href")=="#artifact-details-metadatas-content") { @@ -267,8 +269,23 @@ define("search",["jquery","i18n","jquery.tmpl","choosen","order!knockout","knock self.entries(entries); } }); + return; } + if ($(e.target).attr("href")=="#artifact-details-download-content") { + $.log("artifact metadata"); + // + mainContent.find("#artifact-details-download-content" ).html(smallSpinnerImg()); + var artifactDownloadInfosUrl = "restServices/archivaServices/browseService/artifactDownloadInfos/"+encodeURIComponent(self.groupId); + artifactDownloadInfosUrl+="/"+encodeURIComponent(self.artifactId)+"/"+encodeURIComponent(self.version); + artifactDownloadInfosUrl+="?repositoryId="+encodeURIComponent(getSelectedBrowsingRepository()); + $.get(artifactDownloadInfosUrl,function(data){ + $("#artifact-details-download-content" ).html($("#artifact-details-download-content_tmpl").tmpl({artifactDownloadInfos:data})); + }); + return; + } + + if ($(e.target).attr("href")=="#artifact-details-files-content") { mainContent.find("#artifact-details-files-content" ).html(smallSpinnerImg()); var artifactDownloadInfosUrl = "restServices/archivaServices/browseService/artifactDownloadInfos/"+encodeURIComponent(self.groupId); diff --git a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html index db94da2fe..ffd93c668 100644 --- a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html +++ b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html @@ -434,6 +434,9 @@
  • ${$.i18n.prop('artifact.detail.tab.header.file.content')}
  • +
  • + ${$.i18n.prop('artifact.detail.tab.header.file.download')} +
  • ${$.i18n.prop('artifact.detail.tab.header.used.by')}
  • @@ -628,7 +631,9 @@
    +
    +
    @@ -826,4 +831,14 @@
    
           
    + + + \ No newline at end of file -- 2.39.5