private long duration;
+ private String lastScanDate;
+
public ArchivaRepositoryStatistics()
{
// no op
return duration;
}
+ public String getLastScanDate()
+ {
+ return lastScanDate;
+ }
+
+ public void setLastScanDate( String lastScanDate )
+ {
+ this.lastScanDate = lastScanDate;
+ }
+
@Override
public String toString()
{
sb.append( ", totalGroupCount=" ).append( totalGroupCount );
sb.append( ", totalProjectCount=" ).append( totalProjectCount );
sb.append( ", newFileCount=" ).append( newFileCount );
+ sb.append( ", duration=" ).append( duration );
+ sb.append( ", lastScanDate='" ).append( lastScanDate ).append( '\'' );
sb.append( '}' );
return sb.toString();
}
Boolean fileLocationExists( @QueryParam( "fileLocation" ) String fileLocation )
throws ArchivaRestServiceException;
- @Path( "getManagedRepositoryStatistics/{repositoryId}" )
+ @Path( "getManagedRepositoryStatistics/{repositoryId}/{lang}" )
@GET
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
/**
* @since 1.4-M3
*/
- ArchivaRepositoryStatistics getManagedRepositoryStatistics( @PathParam( "repositoryId" ) String repositoryId )
+ ArchivaRepositoryStatistics getManagedRepositoryStatistics( @PathParam( "repositoryId" ) String repositoryId,
+ @PathParam( "lang" ) String lang )
throws ArchivaRestServiceException;
@Path( "getPomSnippet/{repositoryId}" )
@GET
- @Produces( { MediaType.TEXT_PLAIN} )
+ @Produces( { MediaType.TEXT_PLAIN } )
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
/**
* return a pom snippet to use this repository with entities escaped (< > )
import org.apache.archiva.admin.model.RepositoryCommonValidator;
import org.apache.archiva.admin.model.beans.ManagedRepository;
import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
-import org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.RepositorySession;
-import org.apache.archiva.metadata.repository.RepositorySessionFactory;
import org.apache.archiva.metadata.repository.stats.RepositoryStatistics;
import org.apache.archiva.metadata.repository.stats.RepositoryStatisticsManager;
import org.apache.archiva.rest.api.model.ArchivaRepositoryStatistics;
import org.springframework.stereotype.Service;
import javax.inject.Inject;
-import javax.inject.Named;
import java.io.File;
+import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.List;
+import java.util.Locale;
/**
* @author Olivier Lamy
return new File( location ).exists();
}
- public ArchivaRepositoryStatistics getManagedRepositoryStatistics( String repositoryId )
+ public ArchivaRepositoryStatistics getManagedRepositoryStatistics( String repositoryId, String lang )
throws ArchivaRestServiceException
{
RepositorySession repositorySession = repositorySessionFactory.createSession();
+ SimpleDateFormat sdf = new SimpleDateFormat( "EEE, d MMM yyyy HH:mm:ss Z", new Locale( lang ) );
try
{
MetadataRepository metadataRepository = repositorySession.getRepository();
new BeanReplicator().replicateBean( stats, ArchivaRepositoryStatistics.class );
archivaRepositoryStatistics.setDuration( archivaRepositoryStatistics.getScanEndTime().getTime()
- archivaRepositoryStatistics.getScanStartTime().getTime() );
+ archivaRepositoryStatistics.setLastScanDate(
+ sdf.format( archivaRepositoryStatistics.getScanEndTime() ) );
return archivaRepositoryStatistics;
}
displaySystemStatus();
return;
}
+ if (screen=='repositories-management'&& hasKarma('archiva-manage-configuration')){
+ displayRepositoriesGrid();
+ return;
+ }
}
// by default display search screen
}
ArchivaRepositoryStatistics=function(scanEndTime,scanStartTime,totalArtifactCount,totalArtifactFileSize,totalFileCount,
- totalGroupCount,totalProjectCount,newFileCount,duration,managedRepository){
+ totalGroupCount,totalProjectCount,newFileCount,duration,managedRepository,lastScanDate){
//private Date scanEndTime;
this.scanEndTime = ko.observable(scanEndTime);
this.duration = ko.observable(duration);
this.managedRepository = managedRepository;
+
+ this.lastScanDate=ko.observable(lastScanDate);
}
mapManagedRepositories=function(data){
}
return new ArchivaRepositoryStatistics(data.scanEndTime,data.scanStartTime,data.totalArtifactCount,data.totalArtifactFileSize,
data.totalFileCount,data.totalGroupCount,data.totalProjectCount,data.newFileCount,
- data.duration,data.managedRepository)
+ data.duration,data.managedRepository,data.lastScanDate)
}
ManagedRepositoryViewModel=function(managedRepository, update, managedRepositoriesViewModel){
}
var curRepo=managedRepository;
var url = "restServices/archivaServices/managedRepositoriesService/getManagedRepositoryStatistics/"+managedRepository.id();
+ url+="/"+encodeURIComponent(usedLang());
$.ajax(url,
{
type: "GET",
</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.endTime')}: ${lastScanDate()}</div>
<div>${$.i18n.prop('managedrepository.stats.duration')}: ${duration()}ms</div>
<div>${$.i18n.prop('managedrepository.stats.totalFileCount')}: ${totalFileCount()}</div>
<div>${$.i18n.prop('managedrepository.stats.newFileCount')}: ${newFileCount()}</div>