mirror of https://github.com/apache/archiva.git
[MRM-1574] display repo stats
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1233596 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
5e0f500e7f
commit
317cf9e4ce
|
@ -44,6 +44,8 @@ public class ArchivaRepositoryStatistics
|
||||||
|
|
||||||
private long newFileCount;
|
private long newFileCount;
|
||||||
|
|
||||||
|
private long duration;
|
||||||
|
|
||||||
public ArchivaRepositoryStatistics()
|
public ArchivaRepositoryStatistics()
|
||||||
{
|
{
|
||||||
// no op
|
// no op
|
||||||
|
@ -129,6 +131,16 @@ public class ArchivaRepositoryStatistics
|
||||||
this.newFileCount = newFileCount;
|
this.newFileCount = newFileCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDuration( long duration )
|
||||||
|
{
|
||||||
|
this.duration = duration;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getDuration()
|
||||||
|
{
|
||||||
|
return duration;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
|
|
|
@ -181,7 +181,8 @@ public class DefaultManagedRepositoriesService
|
||||||
{
|
{
|
||||||
ArchivaRepositoryStatistics archivaRepositoryStatistics =
|
ArchivaRepositoryStatistics archivaRepositoryStatistics =
|
||||||
new BeanReplicator().replicateBean( stats, ArchivaRepositoryStatistics.class );
|
new BeanReplicator().replicateBean( stats, ArchivaRepositoryStatistics.class );
|
||||||
|
archivaRepositoryStatistics.setDuration( archivaRepositoryStatistics.getScanEndTime().getTime()
|
||||||
|
- archivaRepositoryStatistics.getScanStartTime().getTime() );
|
||||||
return archivaRepositoryStatistics;
|
return archivaRepositoryStatistics;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 611 B |
|
@ -92,6 +92,37 @@ $(function() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ArchivaRepositoryStatistics=function(scanEndTime,scanStartTime,totalArtifactCount,totalArtifactFileSize,totalFileCount,
|
||||||
|
totalGroupCount,totalProjectCount,newFileCount,duration,managedRepository){
|
||||||
|
//private Date scanEndTime;
|
||||||
|
this.scanEndTime = ko.observable(scanEndTime);
|
||||||
|
|
||||||
|
//private Date scanStartTime;
|
||||||
|
this.scanStartTime = ko.observable(scanStartTime);
|
||||||
|
|
||||||
|
//private long totalArtifactCount;
|
||||||
|
this.totalArtifactCount = ko.observable(totalArtifactCount);
|
||||||
|
|
||||||
|
//private long totalArtifactFileSize;
|
||||||
|
this.totalArtifactFileSize = ko.observable(totalArtifactFileSize);
|
||||||
|
|
||||||
|
//private long totalFileCount;
|
||||||
|
this.totalFileCount = ko.observable(totalFileCount);
|
||||||
|
|
||||||
|
//private long totalGroupCount;
|
||||||
|
this.totalGroupCount = ko.observable(totalGroupCount);
|
||||||
|
|
||||||
|
//private long totalProjectCount;
|
||||||
|
this.totalProjectCount = ko.observable(totalProjectCount);
|
||||||
|
|
||||||
|
//private long newFileCount;
|
||||||
|
this.newFileCount = ko.observable(newFileCount);
|
||||||
|
|
||||||
|
this.duration = ko.observable(duration);
|
||||||
|
|
||||||
|
this.managedRepository = managedRepository;
|
||||||
|
}
|
||||||
|
|
||||||
ManagedRepositoryViewModel=function(managedRepository, update, managedRepositoriesViewModel){
|
ManagedRepositoryViewModel=function(managedRepository, update, managedRepositoriesViewModel){
|
||||||
this.managedRepository=managedRepository;
|
this.managedRepository=managedRepository;
|
||||||
this.managedRepositoriesViewModel = managedRepositoriesViewModel;
|
this.managedRepositoriesViewModel = managedRepositoriesViewModel;
|
||||||
|
@ -296,7 +327,53 @@ $(function() {
|
||||||
$("#managed-repository-delete-warning-tmpl").tmpl(managedRepository));
|
$("#managed-repository-delete-warning-tmpl").tmpl(managedRepository));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
showStats=function(managedRepository){
|
||||||
|
if ($(calculatePopoverId(managedRepository)).html()){
|
||||||
|
// we ask stats all the time ? if yes uncomment return
|
||||||
|
return;
|
||||||
|
//$(calculatePopoverId(managedRepository)).html("");
|
||||||
|
}
|
||||||
|
var curRepo=managedRepository;
|
||||||
|
var url = "restServices/archivaServices/managedRepositoriesService/getManagedRepositoryStatistics/"+managedRepository.id();
|
||||||
|
$.ajax(url,
|
||||||
|
{
|
||||||
|
type: "GET",
|
||||||
|
dataType: 'json',
|
||||||
|
success: function(data) {
|
||||||
|
if (data.archivaRepositoryStatistics==null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var archivaRepositoryStatistics=mapArchivaRepositoryStatistics(data.archivaRepositoryStatistics);
|
||||||
|
archivaRepositoryStatistics.managedRepository=curRepo;
|
||||||
|
$("#managedrepository-stats-"+curRepo.id()).append($("#managed-repository-stats-tmpl").tmpl(archivaRepositoryStatistics));
|
||||||
|
$("#managedrepository-stats-img-"+curRepo.id()).attr("data-content",$(calculatePopoverId(curRepo)).html());
|
||||||
|
$("#managedrepository-stats-img-"+curRepo.id()).popover(
|
||||||
|
{
|
||||||
|
placement: "left",
|
||||||
|
html: true
|
||||||
|
}
|
||||||
|
);
|
||||||
|
//$(calculatePopoverId(managedRepository)).show();
|
||||||
|
$("#managedrepository-stats-img-"+curRepo.id()).popover('show')
|
||||||
|
|
||||||
|
},
|
||||||
|
error: function(data) {
|
||||||
|
var res = $.parseJSON(data.responseText);
|
||||||
|
displayRestError(res);
|
||||||
|
},
|
||||||
|
complete: function(){
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
hideStats=function(managedRepository){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
calculatePopoverId=function(managedRepository){
|
||||||
|
return "#managedrepository-stats-"+managedRepository.id() + " #managedrepository-stats-"+managedRepository.id()+"-popover";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,12 +446,23 @@ $(function() {
|
||||||
return mappedManagedRepositories;
|
return mappedManagedRepositories;
|
||||||
}
|
}
|
||||||
mapManagedRepository=function(data){
|
mapManagedRepository=function(data){
|
||||||
|
if (data==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return new ManagedRepository(data.id,data.name,data.layout,data.indexDirectory,data.location,data.snapshots,data.releases,
|
return new ManagedRepository(data.id,data.name,data.layout,data.indexDirectory,data.location,data.snapshots,data.releases,
|
||||||
data.blockRedeployments,data.cronExpression,
|
data.blockRedeployments,data.cronExpression,
|
||||||
data.scanned,data.daysOlder,data.retentionCount,data.deleteReleasedSnapshots,data.stageRepoNeeded);
|
data.scanned,data.daysOlder,data.retentionCount,data.deleteReleasedSnapshots,data.stageRepoNeeded);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mapArchivaRepositoryStatistics=function(data){
|
||||||
|
if (data==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return new ArchivaRepositoryStatistics(data.scanEndTime,data.scanStartTime,data.totalArtifactCount,data.totalArtifactFileSize,
|
||||||
|
data.totalFileCount,data.totalGroupCount,data.totalProjectCount,data.newFileCount,
|
||||||
|
data.duration,data.managedRepository)
|
||||||
|
}
|
||||||
|
|
||||||
activateManagedRepositoriesGridTab=function(){
|
activateManagedRepositoriesGridTab=function(){
|
||||||
$("#main-content #managed-repository-edit-li").removeClass("active");
|
$("#main-content #managed-repository-edit-li").removeClass("active");
|
||||||
$("#main-content #managed-repository-edit").removeClass("active");
|
$("#main-content #managed-repository-edit").removeClass("active");
|
||||||
|
|
|
@ -67,6 +67,7 @@
|
||||||
<th>Releases</th>
|
<th>Releases</th>
|
||||||
<th>Snapshots</th>
|
<th>Snapshots</th>
|
||||||
<th>Scan</th>
|
<th>Scan</th>
|
||||||
|
<th>Stats</th>
|
||||||
<th>${$.i18n.prop('edit')}</th>
|
<th>${$.i18n.prop('edit')}</th>
|
||||||
<th>${$.i18n.prop('delete')}</th>
|
<th>${$.i18n.prop('delete')}</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -97,6 +98,11 @@
|
||||||
<img src="images/view-refresh.png" title="${$.i18n.prop('managedrepository.scan.now')}"/>
|
<img src="images/view-refresh.png" title="${$.i18n.prop('managedrepository.scan.now')}"/>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td id="managedrepository-stats-${row.id()}">
|
||||||
|
<img src="images/utilities-system-monitor.png" title="${$.i18n.prop('managedrepository.stats')}"
|
||||||
|
data-bind="event: { mouseover: function(){ showStats(row) }, mouseout: function(){ hideStats(row) },}"
|
||||||
|
id="managedrepository-stats-img-${row.id()}"/>
|
||||||
|
</td>
|
||||||
<td><a href="#" data-bind="click: function(){ editManagedRepository(row) }">${$.i18n.prop('edit')}</a></td>
|
<td><a href="#" data-bind="click: function(){ editManagedRepository(row) }">${$.i18n.prop('edit')}</a></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="#" data-bind="click: function(){ removeManagedRepository(row) }">
|
<a href="#" data-bind="click: function(){ removeManagedRepository(row) }">
|
||||||
|
@ -247,5 +253,12 @@
|
||||||
<div>
|
<div>
|
||||||
${$.i18n.prop('managedrepository.scan.all')}: <input type="checkbox" id="managed-repository-scan-now-all">
|
${$.i18n.prop('managedrepository.scan.all')}: <input type="checkbox" id="managed-repository-scan-now-all">
|
||||||
</div>
|
</div>
|
||||||
|
</script>
|
||||||
|
<script id="managed-repository-stats-tmpl" type='text/x-jquery-tmpl'>
|
||||||
|
<div id="managedrepository-stats-${managedRepository.id()}-popover" style="display:none">
|
||||||
|
<div>${$.i18n.prop('managedrepository.stats.endTime')}: ${scanEndTime()}</div>
|
||||||
|
<div>${$.i18n.prop('managedrepository.stats.duration')}: ${duration()}</div>
|
||||||
|
<div>${$.i18n.prop('managedrepository.stats.totalFileCount')}: ${totalFileCount()}</div>
|
||||||
|
<div>${$.i18n.prop('managedrepository.stats.newFileCount')}: ${newFileCount()}</div>
|
||||||
|
</div>
|
||||||
</script>
|
</script>
|
Loading…
Reference in New Issue