diff --git a/CHANGELOG.md b/CHANGELOG.md index 24583d0..1c4c6e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm # Changelog for gCube Catalogue (gCat) Service -## [v2.2.0] +## [v2.2.0-SNAPSHOT] - Switched gcat credentials to new IAM authz [#21628][#22727] - Added support to manage configurations [#22658][#22742] diff --git a/pom.xml b/pom.xml index bd4bb0e..457ce8d 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.gcube.data-catalogue gcat war - 2.2.0 + 2.2.0-SNAPSHOT gCube Catalogue (gCat) Service This service allows any client to publish on the gCube Catalogue. diff --git a/src/main/java/org/gcube/gcat/configuration/CatalogueConfigurationFactory.java b/src/main/java/org/gcube/gcat/configuration/CatalogueConfigurationFactory.java index bef9571..866928c 100644 --- a/src/main/java/org/gcube/gcat/configuration/CatalogueConfigurationFactory.java +++ b/src/main/java/org/gcube/gcat/configuration/CatalogueConfigurationFactory.java @@ -56,7 +56,7 @@ public class CatalogueConfigurationFactory { // The supported organizations could be changed we need to empty the user cache for the context // to avoid to miss to add an user in an organization which has been added. - CKANUserCache.emptyUserCache(); + CKANUserCache.emptyUsersCache(); return catalogueConfiguration; } diff --git a/src/main/java/org/gcube/gcat/persistence/ckan/CKANUserCache.java b/src/main/java/org/gcube/gcat/persistence/ckan/CKANUserCache.java index 86924cf..98d8ac7 100644 --- a/src/main/java/org/gcube/gcat/persistence/ckan/CKANUserCache.java +++ b/src/main/java/org/gcube/gcat/persistence/ckan/CKANUserCache.java @@ -1,7 +1,5 @@ package org.gcube.gcat.persistence.ckan; -import java.util.HashMap; -import java.util.Map; import java.util.concurrent.TimeUnit; import javax.cache.Cache; @@ -24,8 +22,6 @@ public abstract class CKANUserCache { private static final MutableConfiguration userCacheConfiguration; - private static final Map> userCachePerContext; - static { CachingProvider provider = Caching.getCachingProvider(); cacheManager = provider.getCacheManager(); @@ -33,8 +29,6 @@ public abstract class CKANUserCache { userCacheConfiguration = new MutableConfiguration().setTypes(String.class, CKANUser.class) .setStoreByValue(false) .setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(TimeUnit.MINUTES, 15))); - - userCachePerContext = new HashMap>(); } private CKANUserCache() { @@ -43,10 +37,9 @@ public abstract class CKANUserCache { public synchronized static CKANUser getCurrrentCKANUser() { SecretManager secretManager = SecretManagerProvider.instance.get(); String context = secretManager.getContext(); - Cache userCache = userCachePerContext.get(context); + Cache userCache = cacheManager.getCache(context); if(userCache == null) { userCache = cacheManager.createCache(context, userCacheConfiguration); - userCachePerContext.put(context, userCache); } String gcubeUsername = secretManager.getUser().getUsername(); @@ -68,16 +61,16 @@ public abstract class CKANUserCache { public synchronized static void removeUserFromCache(String gcubeUsername) { SecretManager secretManager = SecretManagerProvider.instance.get(); String context = secretManager.getContext(); - Cache userCache = userCachePerContext.get(context); + Cache userCache = cacheManager.getCache(context); if(userCache != null) { userCache.remove(gcubeUsername); } } - public synchronized static void emptyUserCache() { + public synchronized static void emptyUsersCache() { SecretManager secretManager = SecretManagerProvider.instance.get(); String context = secretManager.getContext(); - userCachePerContext.remove(context); + cacheManager.destroyCache(context); } @Override