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;
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() ) )
repositoryContentFactory.getManagedRepositoryContent( repoId ) );
Artifact art = builder.build();
- art.setUrl( getArtifactUrl( art, artifact.getVersion() ) );
+ art.setUrl( getArtifactUrl( art, version ) );
artifactDownloadInfos.add( art );
}
}
});
}
+ return;
}
if ($(e.target).attr("href")=="#artifact-details-used-by-content") {
var dependeesContentDiv=mainContent.find("#artifact-details-used-by-content" );
}
});
}
+ return;
}
if ($(e.target).attr("href")=="#artifact-details-metadatas-content") {
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);
<li>
<a data-toggle="tab" href="#artifact-details-files-content">${$.i18n.prop('artifact.detail.tab.header.file.content')}</a>
</li>
+ <li>
+ <a data-toggle="tab" href="#artifact-details-download-content">${$.i18n.prop('artifact.detail.tab.header.file.download')}</a>
+ </li>
<li>
<a data-toggle="tab" href="#artifact-details-used-by-content">${$.i18n.prop('artifact.detail.tab.header.used.by')}</a>
</li>
</div>
<div id="artifact-details-files-content" class="tab-pane">
+ </div>
+ <div id="artifact-details-download-content" class="tab-pane">
</div>
<div id="artifact-details-used-by-content" class="tab-pane"></div>
<div class="source">
<pre class="prettyprint linenums" id="artifact-content-text"></pre>
</div>
+</script>
+
+<script id="artifact-details-download-content_tmpl" type="text/html">
+ <ul id="artifact-download-list-files">
+ {{each artifactDownloadInfos}}
+ <li>
+ <a href="${$value.url}">${$value.packaging}:${$value.version} - ${$value.size}</a>
+ </li>
+ {{/each}}
+ </ul>
</script>
\ No newline at end of file