You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/03/12 15:30:09 UTC

svn commit: r1299684 - in /archiva/trunk/archiva-modules/archiva-web: archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/ archiva-web-commo...

Author: olamy
Date: Mon Mar 12 14:30:09 2012
New Revision: 1299684

URL: http://svn.apache.org/viewvc?rev=1299684&view=rev
Log:
[MRM-1580] system status page flush cache link.

Added:
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/images/user-trash-full.png   (with props)
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/images/user-trash.png   (with props)
Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java
    archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java
    archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/general-admin.html

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java?rev=1299684&r1=1299683&r2=1299684&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/SystemStatusService.java Mon Mar 12 14:30:09 2012
@@ -65,4 +65,11 @@ public interface SystemStatusService
     List<CacheEntry> getCacheEntries()
         throws ArchivaRestServiceException;
 
+    @Path( "clearCache/{key}" )
+    @GET
+    @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
+    @RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
+    Boolean clearCache( @PathParam( "key" ) String cacheKey )
+        throws ArchivaRestServiceException;
+
 }

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java?rev=1299684&r1=1299683&r2=1299684&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSystemStatusService.java Mon Mar 12 14:30:09 2012
@@ -126,4 +126,18 @@ public class DefaultSystemStatusService
 
         return cacheEntries;
     }
+
+    public Boolean clearCache( String cacheKey )
+        throws ArchivaRestServiceException
+    {
+        Cache cache = caches.get( cacheKey );
+        if ( cache == null )
+        {
+            throw new ArchivaRestServiceException( "no cache for key: " + cacheKey,
+                                                   Response.Status.BAD_REQUEST.getStatusCode() );
+        }
+
+        cache.clear();
+        return Boolean.TRUE;
+    }
 }

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties?rev=1299684&r1=1299683&r2=1299684&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties Mon Mar 12 14:30:09 2012
@@ -298,6 +298,14 @@ system-status.header.scanning.inprogress
 system-status.queues.grid.header.key=Queue
 system-status.queues.grid.header.number=Size
 system-status.header.main=System Status
+system-status.caches.grid.header.cacheHits=Hits
+system-status.queues.grid.header.size=Size
+system-status.caches.grid.header.cacheMiss=Misses
+system-status.caches.grid.header.cacheHitRate=Hit Ratio
+system-status.caches.grid.header.flush=Flush
+system-status.caches.grid.header.key=Cache
+system-status.caches.flushed=Cache {0} flushed.
+system-status.caches.grid.header.size=Size
 
 
 

Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/images/user-trash-full.png
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/images/user-trash-full.png?rev=1299684&view=auto
==============================================================================
Binary file - no diff available.

Propchange: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/images/user-trash-full.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/images/user-trash.png
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/images/user-trash.png?rev=1299684&view=auto
==============================================================================
Binary file - no diff available.

Propchange: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/images/user-trash.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js?rev=1299684&r1=1299683&r2=1299684&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/general-admin.js Mon Mar 12 14:30:09 2012
@@ -603,6 +603,18 @@ $(function() {
     });
   }
 
+  flushCache=function(key){
+    clearUserMessages();
+    $("#main-content #status_caches").html(smallSpinnerImg());
+    $.ajax("restServices/archivaServices/systemStatusService/clearCache/"+encodeURIComponent(key), {
+        type: "GET",
+        success: function(data){
+          displaySuccessMessage( $.i18n.prop("system-status.caches.flushed",key));
+          displayCacheEntries();
+        }
+    });
+  }
+
   displaySystemStatus=function(){
     screenChange();
     var mainContent=$("#main-content");

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/general-admin.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/general-admin.html?rev=1299684&r1=1299683&r2=1299684&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/general-admin.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/general-admin.html Mon Mar 12 14:30:09 2012
@@ -367,6 +367,7 @@
         <th>${$.i18n.prop('system-status.caches.grid.header.cacheHits')}</th>
         <th>${$.i18n.prop('system-status.caches.grid.header.cacheMiss')}</th>
         <th>${$.i18n.prop('system-status.caches.grid.header.cacheHitRate')}</th>
+        <th>${$.i18n.prop('system-status.caches.grid.header.flush')}</th>
       </tr>
     </thead>
     <tbody>
@@ -377,6 +378,15 @@
         <td>${cacheEntry.cacheHits}</td>
         <td>${cacheEntry.cacheMiss}</td>
         <td>${cacheEntry.cacheHitRate}</td>
+        <td>
+          <a href="#" onclick="flushCache('${cacheEntry.key}')">
+            {{if  cacheEntry.size > 0 }}
+              <img src="images/user-trash-full.png"/>
+            {{else}}
+              <img src="images/user-trash.png"/>
+            {{/if}}
+          </a>
+        </td>
       </tr>
     {{/each}}
     </tbody>