You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2020/04/15 10:56:53 UTC

[cxf] 02/02: Fixing STS EhCache IdentityCache issues

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

coheigea pushed a commit to branch CXF-7594
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 6f1fea379abf9d153647af85aaa84a47e2ed4200
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Wed Apr 15 11:53:27 2020 +0100

    Fixing STS EhCache IdentityCache issues
---
 .../main/java/org/apache/cxf/sts/cache/AbstractIdentityCache.java   | 6 +++++-
 .../java/org/apache/cxf/sts/cache/EhCacheIdentityCacheTest.java     | 1 -
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/cache/AbstractIdentityCache.java b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/cache/AbstractIdentityCache.java
index e17378c..ffc6bcf 100644
--- a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/cache/AbstractIdentityCache.java
+++ b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/cache/AbstractIdentityCache.java
@@ -91,7 +91,11 @@ public abstract class AbstractIdentityCache implements IdentityCache, IdentityMa
                     //Merge into identities object
                     this.mergeMap(identities, cachedItem);
                 }
-                this.add(targetPrincipal.getName(), targetRealm, identities);
+
+                // Update existing entries
+                for (Map.Entry<String, String> entry : identities.entrySet()) {
+                    this.add(entry.getValue(), entry.getKey(), identities);
+                }
             } else {
                 getStatistics().increaseCacheHit();
                 if (LOG.isLoggable(Level.INFO)) {
diff --git a/services/sts/sts-core/src/test/java/org/apache/cxf/sts/cache/EhCacheIdentityCacheTest.java b/services/sts/sts-core/src/test/java/org/apache/cxf/sts/cache/EhCacheIdentityCacheTest.java
index d8eb54c..e7948c9 100644
--- a/services/sts/sts-core/src/test/java/org/apache/cxf/sts/cache/EhCacheIdentityCacheTest.java
+++ b/services/sts/sts-core/src/test/java/org/apache/cxf/sts/cache/EhCacheIdentityCacheTest.java
@@ -24,7 +24,6 @@ import org.apache.cxf.sts.IdentityMapper;
 
 import org.junit.BeforeClass;
 
-@org.junit.Ignore
 public class EhCacheIdentityCacheTest extends MemoryIdentityCacheTest {
 
     @BeforeClass