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>