This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva-redback-core.git


The following commit(s) were added to refs/heads/master by this push:
     new 942e173  Switching to new ehcache version
942e173 is described below

commit 942e173d4b21c613f468fe9dfe48547e5b6c424e
Author: Martin Schreier <[email protected]>
AuthorDate: Wed Jan 5 18:12:26 2022 +0100

    Switching to new ehcache version
---
 pom.xml                                              |  7 +------
 .../src/main/resources/META-INF/spring-context.xml   |  2 +-
 .../redback-common-integrations/pom.xml              |  2 +-
 .../redback/integration/mail/MailGeneratorTest.java  |  2 --
 .../redback-rest/redback-rest-services/pom.xml       |  2 +-
 .../redback/rest/services/DefaultUserService.java    | 12 ------------
 .../redback/rest/services/v2/DefaultUserService.java | 11 -----------
 .../redback-keys-cached/pom.xml                      |  2 +-
 .../redback/keys/cached/CachedKeyManager.java        | 10 ++++++++++
 .../redback/keys/cached/CachedKeyManagerTest.java    |  2 --
 .../redback-rbac-cached/pom.xml                      |  2 +-
 .../redback/rbac/cached/CachedRbacManager.java       | 14 ++++++++++++--
 .../redback/rbac/cached/CachedRbacManagerTest.java   |  8 ++------
 .../archiva/redback/rbac/jpa/JpaRbacManagerTest.java |  3 ---
 .../redback-rbac-providers/redback-rbac-ldap/pom.xml |  2 +-
 .../redback/rbac/ldap/LdapRbacManagerTest.java       | 17 ++++++++++++++---
 redback-rbac/redback-rbac-role-manager/pom.xml       |  2 +-
 .../apache/archiva/redback/role/RoleManagerTest.java |  2 --
 redback-rbac/redback-rbac-tests/pom.xml              |  2 +-
 .../redback/tests/AbstractRbacManagerTestCase.java   | 20 ++++++--------------
 .../redback-users-cached/pom.xml                     |  2 +-
 .../redback/users/cached/CachedUserManager.java      | 13 +++++++++++++
 .../redback/users/cached/CachedUserManagerTest.java  |  9 +--------
 23 files changed, 68 insertions(+), 80 deletions(-)

diff --git a/pom.xml b/pom.xml
index e61d523..4b6875d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -357,7 +357,7 @@
         <version>${archiva.comp.version}</version>
       </dependency>
       <dependency>
-        <groupId>net.sf.ehcache</groupId>
+        <groupId>org.ehcache</groupId>
         <artifactId>ehcache</artifactId>
         <version>${ehcache.version}</version>
       </dependency>
@@ -388,11 +388,6 @@
         <version>${commons.lang3.version}</version>
       </dependency>
       <dependency>
-        <groupId>commons-digester</groupId>
-        <artifactId>commons-digester</artifactId>
-        <version>${commons.digester.version}</version>
-      </dependency>
-      <dependency>
         <groupId>commons-io</groupId>
         <artifactId>commons-io</artifactId>
         <version>${commons.io.version}</version>
diff --git 
a/redback-common/redback-common-ldap/src/main/resources/META-INF/spring-context.xml
 
b/redback-common/redback-common-ldap/src/main/resources/META-INF/spring-context.xml
index 04312f9..724f18a 100644
--- 
a/redback-common/redback-common-ldap/src/main/resources/META-INF/spring-context.xml
+++ 
b/redback-common/redback-common-ldap/src/main/resources/META-INF/spring-context.xml
@@ -28,6 +28,6 @@
        default-lazy-init="true">
 
   <context:annotation-config />
-  <context:component-scan 
base-package="org.apache.archiva.redback.common.ldap,org.apache.archiva.redback.common.ldap.connection"/>
+  <context:component-scan 
base-package="org.apache.archiva.redback.common.ldap,org.apache.archiva.redback.common.ldap.connection,org.apache.archiva.redback.common.ldap.role"/>
  
 </beans>
\ No newline at end of file
diff --git a/redback-integrations/redback-common-integrations/pom.xml 
b/redback-integrations/redback-common-integrations/pom.xml
index f37fa12..275018b 100644
--- a/redback-integrations/redback-common-integrations/pom.xml
+++ b/redback-integrations/redback-common-integrations/pom.xml
@@ -125,7 +125,7 @@
     </dependency>
 
     <dependency>
-      <groupId>net.sf.ehcache</groupId>
+      <groupId>org.ehcache</groupId>
       <artifactId>ehcache</artifactId>
       <scope>runtime</scope>
     </dependency>
diff --git 
a/redback-integrations/redback-common-integrations/src/test/java/org/apache/archiva/redback/integration/mail/MailGeneratorTest.java
 
b/redback-integrations/redback-common-integrations/src/test/java/org/apache/archiva/redback/integration/mail/MailGeneratorTest.java
index 3b10691..5037500 100644
--- 
a/redback-integrations/redback-common-integrations/src/test/java/org/apache/archiva/redback/integration/mail/MailGeneratorTest.java
+++ 
b/redback-integrations/redback-common-integrations/src/test/java/org/apache/archiva/redback/integration/mail/MailGeneratorTest.java
@@ -20,7 +20,6 @@ package org.apache.archiva.redback.integration.mail;
  */
 
 import junit.framework.TestCase;
-import net.sf.ehcache.CacheManager;
 import org.apache.archiva.redback.keys.AuthenticationKey;
 import org.apache.archiva.redback.keys.KeyManager;
 import org.apache.archiva.redback.keys.KeyManagerException;
@@ -68,7 +67,6 @@ public class MailGeneratorTest
     public void setUp()
         throws Exception
     {
-        CacheManager.getInstance().clearAll();
         super.setUp();
 
         
diff --git a/redback-integrations/redback-rest/redback-rest-services/pom.xml 
b/redback-integrations/redback-rest/redback-rest-services/pom.xml
index 93bf9f7..0bd1ace 100644
--- a/redback-integrations/redback-rest/redback-rest-services/pom.xml
+++ b/redback-integrations/redback-rest/redback-rest-services/pom.xml
@@ -118,7 +118,7 @@
       <artifactId>spring-context</artifactId>
     </dependency>
     <dependency>
-      <groupId>net.sf.ehcache</groupId>
+      <groupId>org.ehcache</groupId>
       <artifactId>ehcache</artifactId>
     </dependency>
 
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
index da26a8b..c08f562 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java
@@ -19,7 +19,6 @@ package org.apache.archiva.redback.rest.services;
  * under the License.
  */
 
-import net.sf.ehcache.CacheManager;
 import org.apache.archiva.components.cache.Cache;
 import org.apache.archiva.redback.authentication.AuthenticationException;
 import 
org.apache.archiva.redback.authentication.TokenBasedAuthenticationDataSource;
@@ -39,7 +38,6 @@ import org.apache.archiva.redback.policy.UserSecurityPolicy;
 import org.apache.archiva.redback.rbac.RBACManager;
 import org.apache.archiva.redback.rbac.RbacManagerException;
 import org.apache.archiva.redback.rbac.UserAssignment;
-import org.apache.archiva.redback.rest.api.model.ActionStatus;
 import org.apache.archiva.redback.rest.api.model.ErrorMessage;
 import org.apache.archiva.redback.rest.api.model.Operation;
 import org.apache.archiva.redback.rest.api.model.Permission;
@@ -423,16 +421,6 @@ public class DefaultUserService
             usersCache.remove( userName );
         }
 
-        CacheManager cacheManager = CacheManager.getInstance();
-        String[] caches = cacheManager.getCacheNames();
-        for ( String cacheName : caches )
-        {
-            if ( StringUtils.startsWith( cacheName, 
"org.apache.archiva.redback.rbac.jdo" ) )
-            {
-                cacheManager.getCache( cacheName ).removeAll();
-            }
-        }
-
         return -1;
     }
 
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultUserService.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultUserService.java
index 46061eb..810542f 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultUserService.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultUserService.java
@@ -19,7 +19,6 @@ package org.apache.archiva.redback.rest.services.v2;
  * under the License.
  */
 
-import net.sf.ehcache.CacheManager;
 import org.apache.archiva.components.cache.Cache;
 import org.apache.archiva.components.rest.model.PagedResult;
 import org.apache.archiva.redback.authentication.AuthenticationException;
@@ -518,16 +517,6 @@ public class DefaultUserService extends BaseRedbackService
             usersCache.remove( userId );
         }
 
-        CacheManager cacheManager = CacheManager.getInstance( );
-        String[] caches = cacheManager.getCacheNames( );
-        for ( String cacheName : caches )
-        {
-            if ( StringUtils.startsWith( cacheName, 
"org.apache.archiva.redback.rbac.jdo" ) )
-            {
-                cacheManager.getCache( cacheName ).removeAll( );
-            }
-        }
-
         return Response.ok( ).build( );
     }
 
diff --git a/redback-keys/redback-keys-providers/redback-keys-cached/pom.xml 
b/redback-keys/redback-keys-providers/redback-keys-cached/pom.xml
index da42b3e..ae78cac 100644
--- a/redback-keys/redback-keys-providers/redback-keys-cached/pom.xml
+++ b/redback-keys/redback-keys-providers/redback-keys-cached/pom.xml
@@ -59,7 +59,7 @@
 
 
     <dependency>
-      <groupId>net.sf.ehcache</groupId>
+      <groupId>org.ehcache</groupId>
       <artifactId>ehcache</artifactId>
       <scope>runtime</scope>
     </dependency>
diff --git 
a/redback-keys/redback-keys-providers/redback-keys-cached/src/main/java/org/apache/archiva/redback/keys/cached/CachedKeyManager.java
 
b/redback-keys/redback-keys-providers/redback-keys-cached/src/main/java/org/apache/archiva/redback/keys/cached/CachedKeyManager.java
index bd0fa6e..706bf5f 100644
--- 
a/redback-keys/redback-keys-providers/redback-keys-cached/src/main/java/org/apache/archiva/redback/keys/cached/CachedKeyManager.java
+++ 
b/redback-keys/redback-keys-providers/redback-keys-cached/src/main/java/org/apache/archiva/redback/keys/cached/CachedKeyManager.java
@@ -27,6 +27,7 @@ import org.apache.archiva.redback.keys.KeyManagerException;
 import org.apache.archiva.redback.keys.KeyNotFoundException;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Named;
 import java.util.List;
@@ -149,4 +150,13 @@ public class CachedKeyManager
     {
         this.keysCache = keysCache;
     }
+
+    public void clearCache() {
+        keysCache.clear();
+    }
+
+    @PreDestroy
+    void shutdown() {
+        clearCache( );
+    }
 }
diff --git 
a/redback-keys/redback-keys-providers/redback-keys-cached/src/test/java/org/apache/archiva/redback/keys/cached/CachedKeyManagerTest.java
 
b/redback-keys/redback-keys-providers/redback-keys-cached/src/test/java/org/apache/archiva/redback/keys/cached/CachedKeyManagerTest.java
index 7624cb6..953b295 100644
--- 
a/redback-keys/redback-keys-providers/redback-keys-cached/src/test/java/org/apache/archiva/redback/keys/cached/CachedKeyManagerTest.java
+++ 
b/redback-keys/redback-keys-providers/redback-keys-cached/src/test/java/org/apache/archiva/redback/keys/cached/CachedKeyManagerTest.java
@@ -19,7 +19,6 @@ package org.apache.archiva.redback.keys.cached;
  * under the License.
  */
 
-import net.sf.ehcache.CacheManager;
 import org.apache.archiva.redback.keys.KeyManager;
 import org.apache.archiva.redback.keys.KeyManagerTestCase;
 import org.junit.Before;
@@ -55,7 +54,6 @@ public class CachedKeyManagerTest
     protected void tearDown()
         throws Exception
     {
-        CacheManager.getInstance().removeAllCaches();
         super.tearDown();
     }
 }
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-cached/pom.xml 
b/redback-rbac/redback-rbac-providers/redback-rbac-cached/pom.xml
index 071b5dc..5b656fb 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-cached/pom.xml
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-cached/pom.xml
@@ -45,7 +45,7 @@
 
 
     <dependency>
-      <groupId>net.sf.ehcache</groupId>
+      <groupId>org.ehcache</groupId>
       <artifactId>ehcache</artifactId>
     </dependency>     
     <dependency>
diff --git 
a/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/main/java/org/apache/archiva/redback/rbac/cached/CachedRbacManager.java
 
b/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/main/java/org/apache/archiva/redback/rbac/cached/CachedRbacManager.java
index 9a6258c..8ad19df 100644
--- 
a/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/main/java/org/apache/archiva/redback/rbac/cached/CachedRbacManager.java
+++ 
b/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/main/java/org/apache/archiva/redback/rbac/cached/CachedRbacManager.java
@@ -34,6 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Named;
 import java.util.Collection;
@@ -187,8 +188,7 @@ public class CachedRbacManager
         }
         finally
         {
-            // FIXME cleanup
-            //EhcacheUtils.clearAllCaches( log() );
+            clearCache();
         }
     }
 
@@ -548,6 +548,11 @@ public class CachedRbacManager
             ( (RBACManagerListener) this.rbacImpl ).rbacInit( freshdb );
         }
         // lookup all Cache and clear all ?
+        clearCache( );
+    }
+
+    public void clearCache( )
+    {
         this.resourcesCache.clear();
         this.operationsCache.clear();
         this.permissionsCache.clear();
@@ -1054,4 +1059,9 @@ public class CachedRbacManager
     {
         return false;
     }
+
+    @PreDestroy
+    void shutdown() {
+        clearCache( );
+    }
 }
diff --git 
a/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/test/java/org/apache/archiva/redback/rbac/cached/CachedRbacManagerTest.java
 
b/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/test/java/org/apache/archiva/redback/rbac/cached/CachedRbacManagerTest.java
index 79a80ac..5592e4b 100644
--- 
a/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/test/java/org/apache/archiva/redback/rbac/cached/CachedRbacManagerTest.java
+++ 
b/redback-rbac/redback-rbac-providers/redback-rbac-cached/src/test/java/org/apache/archiva/redback/rbac/cached/CachedRbacManagerTest.java
@@ -19,16 +19,14 @@ package org.apache.archiva.redback.rbac.cached;
  * under the License.
  */
 
-import net.sf.ehcache.CacheManager;
 import org.apache.archiva.redback.rbac.RBACManager;
 import org.apache.archiva.redback.tests.AbstractRbacManagerTestCase;
+import org.junit.After;
 import org.junit.Before;
+import org.springframework.test.annotation.DirtiesContext;
 
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.junit.After;
-import org.junit.BeforeClass;
-import org.springframework.test.annotation.DirtiesContext;
 
 @DirtiesContext( classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD )
 public class CachedRbacManagerTest
@@ -59,7 +57,6 @@ public class CachedRbacManagerTest
         throws Exception
     {
         super.setUp();
-        CacheManager.getInstance().clearAll();
         setRbacManager( rbacManager );
 
         assertTrue( getRbacManager() instanceof CachedRbacManager );       
@@ -76,7 +73,6 @@ public class CachedRbacManagerTest
     public void testStoreInitialization()
         throws Exception
     {
-        CacheManager.getInstance().clearAll();
         rbacManager.eraseDatabase();
         super.testStoreInitialization();
     }          
diff --git 
a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/test/java/org/apache/archiva/redback/rbac/jpa/JpaRbacManagerTest.java
 
b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/test/java/org/apache/archiva/redback/rbac/jpa/JpaRbacManagerTest.java
index 89bcf1b..5634e75 100644
--- 
a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/test/java/org/apache/archiva/redback/rbac/jpa/JpaRbacManagerTest.java
+++ 
b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/test/java/org/apache/archiva/redback/rbac/jpa/JpaRbacManagerTest.java
@@ -107,7 +107,6 @@ public class JpaRbacManagerTest
     public void testLargeApplicationInit()
         throws RbacManagerException
     {
-        this.clearCache();
         super.testLargeApplicationInit();
     }
 
@@ -115,7 +114,6 @@ public class JpaRbacManagerTest
     public void testGetRolesDeep()
         throws RbacManagerException
     {
-        this.clearCache();
         super.testGetRolesDeep();
     }
 
@@ -124,7 +122,6 @@ public class JpaRbacManagerTest
     public void testStoreInitialization()
         throws Exception
     {
-        this.clearCache();
         rbacManager.eraseDatabase();
         eventTracker.rbacInit( true );
         super.testStoreInitialization();
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/pom.xml 
b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/pom.xml
index e7094e8..c7a22bb 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/pom.xml
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/pom.xml
@@ -93,7 +93,7 @@
       <scope>runtime</scope>
     </dependency>
     <dependency>
-      <groupId>net.sf.ehcache</groupId>
+      <groupId>org.ehcache</groupId>
       <artifactId>ehcache</artifactId>
       <scope>runtime</scope>
     </dependency>
diff --git 
a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManagerTest.java
 
b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManagerTest.java
index 4d14226..840cf15 100644
--- 
a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManagerTest.java
+++ 
b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManagerTest.java
@@ -22,7 +22,10 @@ package org.apache.archiva.redback.rbac.ldap;
 import org.apache.archiva.components.apacheds.ApacheDs;
 import org.apache.archiva.redback.policy.PasswordEncoder;
 import org.apache.archiva.redback.policy.encoders.SHA1PasswordEncoder;
+import org.apache.archiva.redback.rbac.RbacManagerException;
+import org.apache.archiva.redback.rbac.RbacPermanentException;
 import org.apache.archiva.redback.rbac.Role;
+import org.apache.archiva.redback.rbac.memory.MemoryRole;
 import org.apache.archiva.redback.tests.AbstractRbacManagerTestCase;
 import org.junit.After;
 import org.junit.Before;
@@ -76,7 +79,6 @@ public class LdapRbacManagerTest
         throws Exception
     {
         super.setUp();
-        this.clearCache();
         setRbacManager( rbacManager );
 
         assertTrue( getRbacManager() instanceof LdapRbacManager );
@@ -263,11 +265,20 @@ public class LdapRbacManagerTest
     public void testStoreInitialization()
         throws Exception
     {
-        this.clearCache();
         for ( Role role : rbacManager.getAllRoles() )
         {
-            rbacManager.removeRole( role );
+            try
+            {
+                log.info( "permanent: {}, {}", role.isPermanent( ), 
role.getClass( ).getName( ) );
+                // Workaround to avoid exception because of permanent role.
+                MemoryRole rRole = new MemoryRole( );
+                rRole.setName( role.getName( ) );
+                rbacManager.removeRole( rRole );
+            } catch ( RbacPermanentException ex ) {
+                // Ignore this
+            }
         }
+        log.info( "Roles {}", rbacManager.getAllRoles( ).size( ) );
         eventTracker.clear();
         super.testStoreInitialization();
     }
diff --git a/redback-rbac/redback-rbac-role-manager/pom.xml 
b/redback-rbac/redback-rbac-role-manager/pom.xml
index 04529b4..6e4c803 100644
--- a/redback-rbac/redback-rbac-role-manager/pom.xml
+++ b/redback-rbac/redback-rbac-role-manager/pom.xml
@@ -81,7 +81,7 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>net.sf.ehcache</groupId>
+      <groupId>org.ehcache</groupId>
       <artifactId>ehcache</artifactId>
       <scope>test</scope>
     </dependency>
diff --git 
a/redback-rbac/redback-rbac-role-manager/src/test/java/org/apache/archiva/redback/role/RoleManagerTest.java
 
b/redback-rbac/redback-rbac-role-manager/src/test/java/org/apache/archiva/redback/role/RoleManagerTest.java
index 2b5d6d4..a4d8256 100644
--- 
a/redback-rbac/redback-rbac-role-manager/src/test/java/org/apache/archiva/redback/role/RoleManagerTest.java
+++ 
b/redback-rbac/redback-rbac-role-manager/src/test/java/org/apache/archiva/redback/role/RoleManagerTest.java
@@ -19,7 +19,6 @@ package org.apache.archiva.redback.role;
  * under the License.
  */
 
-import net.sf.ehcache.CacheManager;
 import org.apache.archiva.redback.rbac.RBACManager;
 import org.junit.Before;
 
@@ -47,7 +46,6 @@ public class RoleManagerTest
     public void setUp()
         throws Exception
     {
-        CacheManager.getInstance().clearAll();
         super.setUp();
 
         rbacManager = rbacManagerMemory;
diff --git a/redback-rbac/redback-rbac-tests/pom.xml 
b/redback-rbac/redback-rbac-tests/pom.xml
index 66b6b58..7bb9b61 100644
--- a/redback-rbac/redback-rbac-tests/pom.xml
+++ b/redback-rbac/redback-rbac-tests/pom.xml
@@ -45,7 +45,7 @@
     </dependency>
 
     <dependency>
-      <groupId>net.sf.ehcache</groupId>
+      <groupId>org.ehcache</groupId>
       <artifactId>ehcache</artifactId>
     </dependency>
 
diff --git 
a/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/AbstractRbacManagerTestCase.java
 
b/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/AbstractRbacManagerTestCase.java
index 4994e21..fc00cf5 100644
--- 
a/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/AbstractRbacManagerTestCase.java
+++ 
b/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/AbstractRbacManagerTestCase.java
@@ -17,7 +17,6 @@ package org.apache.archiva.redback.tests;
  */
 
 import junit.framework.TestCase;
-import net.sf.ehcache.CacheManager;
 import org.apache.archiva.redback.rbac.Operation;
 import org.apache.archiva.redback.rbac.Permission;
 import org.apache.archiva.redback.rbac.RBACManager;
@@ -146,10 +145,10 @@ public abstract class AbstractRbacManagerTestCase
         {
             assertEventCount();
         }
-        assertEquals( addedRoleNameCount, eventTracker.addedRoleNames.size() );
-        assertEquals( removedRoleNameCount, 
eventTracker.removedRoleNames.size() );
-        assertEquals( addedPermissionNames, 
eventTracker.addedPermissionNames.size() );
-        assertEquals( removedPermissionNames, 
eventTracker.removedPermissionNames.size() );
+        assertEquals( "Wrong number of added roles", addedRoleNameCount, 
eventTracker.addedRoleNames.size() );
+        assertEquals( "Wrong number of removed roles", removedRoleNameCount, 
eventTracker.removedRoleNames.size() );
+        assertEquals( "Wrong number of added permissions", 
addedPermissionNames, eventTracker.addedPermissionNames.size() );
+        assertEquals( "Wrong number of removed permissions", 
removedPermissionNames, eventTracker.removedPermissionNames.size() );
         if ( freshness )
         {
             assertTrue( eventTracker.lastDbFreshness.booleanValue() );
@@ -169,7 +168,7 @@ public abstract class AbstractRbacManagerTestCase
 
         Role added = rbacManager.saveRole( role );
 
-        assertEquals( 1, rbacManager.getAllRoles().size() );
+        assertEquals("Wrong number of roles in the rbac manager", 1, 
rbacManager.getAllRoles().size() );
 
         assertNotNull( added );
 
@@ -842,7 +841,7 @@ public abstract class AbstractRbacManagerTestCase
     public void testGetAssignedPermissionsDeep()
         throws RbacManagerException
     {
-        this.clearCache();
+
         assertNotNull( rbacManager );
         rbacManager.eraseDatabase();
         rbacDefaults.createDefaults();
@@ -1008,11 +1007,4 @@ public abstract class AbstractRbacManagerTestCase
         // do nothing
     }
 
-    protected void clearCache()
-    {
-        for ( String cacheName : CacheManager.getInstance().getCacheNames() )
-        {
-            CacheManager.getInstance().getCache( cacheName ).removeAll();
-        }
-    }
 }
diff --git a/redback-users/redback-users-providers/redback-users-cached/pom.xml 
b/redback-users/redback-users-providers/redback-users-cached/pom.xml
index 4fa5108..12344a1 100644
--- a/redback-users/redback-users-providers/redback-users-cached/pom.xml
+++ b/redback-users/redback-users-providers/redback-users-cached/pom.xml
@@ -71,7 +71,7 @@
 
 
     <dependency>
-      <groupId>net.sf.ehcache</groupId>
+      <groupId>org.ehcache</groupId>
       <artifactId>ehcache</artifactId>
       <scope>runtime</scope>
     </dependency>
diff --git 
a/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java
 
b/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java
index ebf4238..86f957c 100644
--- 
a/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java
+++ 
b/redback-users/redback-users-providers/redback-users-cached/src/main/java/org/apache/archiva/redback/users/cached/CachedUserManager.java
@@ -30,6 +30,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Named;
 import java.util.List;
@@ -358,4 +359,16 @@ public class CachedUserManager
     {
         return "archiva.redback.usermanager.cached";
     }
+
+    /**
+     * Clears the users cache
+     */
+    public void clearCache() {
+        usersCache.clear( );
+    }
+
+    @PreDestroy
+    public void shutdown() {
+        this.clearCache( );
+    }
 }
diff --git 
a/redback-users/redback-users-providers/redback-users-cached/src/test/java/org/apache/archiva/redback/users/cached/CachedUserManagerTest.java
 
b/redback-users/redback-users-providers/redback-users-cached/src/test/java/org/apache/archiva/redback/users/cached/CachedUserManagerTest.java
index 0ea7c41..9290348 100644
--- 
a/redback-users/redback-users-providers/redback-users-cached/src/test/java/org/apache/archiva/redback/users/cached/CachedUserManagerTest.java
+++ 
b/redback-users/redback-users-providers/redback-users-cached/src/test/java/org/apache/archiva/redback/users/cached/CachedUserManagerTest.java
@@ -19,10 +19,7 @@ package org.apache.archiva.redback.users.cached;
  * under the License.
  */
 
-import net.sf.ehcache.CacheManager;
-
 import org.apache.archiva.redback.users.UserManager;
-import org.apache.archiva.redback.users.cached.CachedUserManager;
 import 
org.apache.archiva.redback.users.provider.test.AbstractUserManagerTestCase;
 import org.junit.After;
 import org.junit.AfterClass;
@@ -63,9 +60,5 @@ public class CachedUserManagerTest
         super.tearDown();
     }
 
-    @AfterClass
-    public static void cleanCache()
-    {
-        CacheManager.getInstance().removeAllCaches();
-    }
+
 }

Reply via email to