]> source.dussan.org Git - archiva.git/commitdiff
more human readable format for the last scan date
authorOlivier Lamy <olamy@apache.org>
Mon, 12 Mar 2012 16:41:57 +0000 (16:41 +0000)
committerOlivier Lamy <olamy@apache.org>
Mon, 12 Mar 2012 16:41:57 +0000 (16:41 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1299734 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/ArchivaRepositoryStatistics.java
archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repositories.html

index 0de6c7bc719cbe81f2fdf0ab7f2c46d80893933b..8bf3ddccfacf88b1cf5e541653fadbae5646d85b 100644 (file)
@@ -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();
     }
index d41ef22818f3019ce632bdbd674ca3937184fbdf..e39b6c17fe0285f6594bc75438bf0387b1967e83 100644 (file)
@@ -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 (< > )
index 51dd403a578cd6a804c9c8467ed96fb9d314e9d5..e3a9460d8f5343b36a719e734ad2fa1e30ded801 100644 (file)
@@ -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;
             }
 
index 1dc480c687b19e1f52b504764f27af76d183148f..9d08d0905f9e4d09f7604770067c6eda6518c0ef 100644 (file)
@@ -106,6 +106,10 @@ $(function() {
         displaySystemStatus();
         return;
       }
+      if (screen=='repositories-management'&& hasKarma('archiva-manage-configuration')){
+        displayRepositoriesGrid();
+        return;
+      }
     }
 
     // by default display search screen
index 76cc3f046521d974ea9732861ae193fe168e5e21..0a0e09e4c0dd420890c49240c82d9f9f16b16550 100644 (file)
@@ -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",
index f512431e080e375f6d63888d9f253351cdf3d6c8..4efb24d78a5f43b0aacdc2456559cedec4af5d29 100644 (file)
 </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>