From: Olivier Lamy Date: Mon, 12 Mar 2012 16:41:57 +0000 (+0000) Subject: more human readable format for the last scan date X-Git-Tag: archiva-1.4-M3~1049 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=be29e9e81cdc69ce1004222acefccb46a599a5a9;p=archiva.git more human readable format for the last scan date git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1299734 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/ArchivaRepositoryStatistics.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/ArchivaRepositoryStatistics.java index 0de6c7bc7..8bf3ddccf 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/ArchivaRepositoryStatistics.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/ArchivaRepositoryStatistics.java @@ -48,6 +48,8 @@ public class ArchivaRepositoryStatistics private long duration; + private String lastScanDate; + public ArchivaRepositoryStatistics() { // no op @@ -143,6 +145,16 @@ public class ArchivaRepositoryStatistics return duration; } + public String getLastScanDate() + { + return lastScanDate; + } + + public void setLastScanDate( String lastScanDate ) + { + this.lastScanDate = lastScanDate; + } + @Override public String toString() { @@ -156,6 +168,8 @@ public class ArchivaRepositoryStatistics 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(); } diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java index d41ef2281..e39b6c17f 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java @@ -91,19 +91,20 @@ public interface ManagedRepositoriesService 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 (< > ) diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java index 51dd403a5..e3a9460d8 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java @@ -23,11 +23,9 @@ import org.apache.archiva.admin.model.RepositoryAdminException; 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; @@ -38,10 +36,11 @@ import org.apache.commons.lang.StringUtils; 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 @@ -153,10 +152,11 @@ public class DefaultManagedRepositoriesService 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(); @@ -176,6 +176,8 @@ public class DefaultManagedRepositoriesService new BeanReplicator().replicateBean( stats, ArchivaRepositoryStatistics.class ); archivaRepositoryStatistics.setDuration( archivaRepositoryStatistics.getScanEndTime().getTime() - archivaRepositoryStatistics.getScanStartTime().getTime() ); + archivaRepositoryStatistics.setLastScanDate( + sdf.format( archivaRepositoryStatistics.getScanEndTime() ) ); return archivaRepositoryStatistics; } diff --git a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js index 1dc480c68..9d08d0905 100644 --- a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js +++ b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js @@ -106,6 +106,10 @@ $(function() { displaySystemStatus(); return; } + if (screen=='repositories-management'&& hasKarma('archiva-manage-configuration')){ + displayRepositoriesGrid(); + return; + } } // by default display search screen diff --git a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js index 76cc3f046..0a0e09e4c 100644 --- a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js +++ b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js @@ -109,7 +109,7 @@ $(function() { } 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); @@ -137,6 +137,8 @@ $(function() { this.duration = ko.observable(duration); this.managedRepository = managedRepository; + + this.lastScanDate=ko.observable(lastScanDate); } mapManagedRepositories=function(data){ @@ -162,7 +164,7 @@ $(function() { } 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){ @@ -421,6 +423,7 @@ $(function() { } var curRepo=managedRepository; var url = "restServices/archivaServices/managedRepositoriesService/getManagedRepositoryStatistics/"+managedRepository.id(); + url+="/"+encodeURIComponent(usedLang()); $.ajax(url, { type: "GET", diff --git a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html index f512431e0..4efb24d78 100644 --- a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html +++ b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html @@ -287,7 +287,7 @@