diff --git a/Jenkinsfile b/Jenkinsfile
index 7555af91..c3345b66 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -3,14 +3,7 @@ def kubeLabel = getKubeLabel()
pipeline {
- agent {
- kubernetes {
- label "${kubeLabel}"
- cloud 'Kube mwdevel'
- defaultContainer 'runner'
- inheritFrom 'ci-template'
- }
- }
+ agent none
parameters {
booleanParam(name: 'BUILD_DOCKER_IMAGES', defaultValue: false,
@@ -27,6 +20,7 @@ pipeline {
stages{
stage('build') {
+ agent { label 'java11' }
steps {
git(url: 'https://github.com/italiangrid/voms-admin-server.git', branch: env.BRANCH_NAME)
sh 'mvn -B -U -P prod,EMI clean package'
@@ -34,6 +28,7 @@ pipeline {
}
stage('build-docker-images') {
+ agent { label 'docker' }
when {
expression { return params.BUILD_DOCKER_IMAGES }
}
diff --git a/pom.xml b/pom.xml
index 47934cdc..4e32eedc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
voms-admin-parent
- 3.8.1
+ 3.9.0
pom
VOMS Admin Parent POM
diff --git a/voms-admin-api/pom.xml b/voms-admin-api/pom.xml
index deabe256..879c0149 100644
--- a/voms-admin-api/pom.xml
+++ b/voms-admin-api/pom.xml
@@ -5,7 +5,7 @@
org.italiangrid
voms-admin-parent
- 3.8.1
+ 3.9.0
voms-admin-api
diff --git a/voms-admin-server/pom.xml b/voms-admin-server/pom.xml
index ed0b8667..c05ff6b2 100644
--- a/voms-admin-server/pom.xml
+++ b/voms-admin-server/pom.xml
@@ -26,7 +26,7 @@
org.italiangrid
voms-admin-parent
- 3.8.1
+ 3.9.0
voms-admin-server
@@ -38,7 +38,7 @@
${project.version}
2.0.2
- 2.5.26
+ 2.5.33
2.5.2
4.0.3
5.2.17.Final
@@ -316,7 +316,7 @@
org.apache.commons
commons-email
- 1.1
+ 1.5
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/configuration/VOMSConfiguration.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/configuration/VOMSConfiguration.java
index f6c781d2..7ef85ff0 100644
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/configuration/VOMSConfiguration.java
+++ b/voms-admin-server/src/main/java/org/glite/security/voms/admin/configuration/VOMSConfiguration.java
@@ -15,7 +15,6 @@
*/
package org.glite.security.voms.admin.configuration;
-import static org.glite.security.voms.admin.configuration.VOMSConfigurationConstants.PERMISSION_CACHE_DISABLE;
import static org.glite.security.voms.admin.configuration.VOMSConfigurationConstants.PI_REQUIRED_FIELDS;
import static org.glite.security.voms.admin.util.SysconfigUtil.SYSCONFIG_CONF_DIR;
import static org.glite.security.voms.admin.util.SysconfigUtil.SYSCONFIG_DEFAULT_FILE_PATH;
@@ -1039,10 +1038,6 @@ public PEMCredential getServiceCredential() {
return serviceCredential;
}
- public boolean permissionCacheDisabled() {
- return config.getBoolean(PERMISSION_CACHE_DISABLE, false);
- }
-
public Set getRequiredPersonalInfoFields() {
String requiredFields =
config.getString(PI_REQUIRED_FIELDS, VOMSConfigurationConstants.PI_REQUIRED_FIELDS_DEFAULT);
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/configuration/VOMSConfigurationConstants.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/configuration/VOMSConfigurationConstants.java
index 4fbc7bcd..cd01ce14 100644
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/configuration/VOMSConfigurationConstants.java
+++ b/voms-admin-server/src/main/java/org/glite/security/voms/admin/configuration/VOMSConfigurationConstants.java
@@ -197,11 +197,6 @@ public interface VOMSConfigurationConstants {
*/
public static final String SKIP_CA_CHECK = "voms.skip_ca_check";
- /**
- * Should permission cache be disabled?
- */
- public static final String PERMISSION_CACHE_DISABLE = "voms.permission_cache.disable";
-
/**
* comma-separated list of the personal information fields required at registration
*/
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/core/VOMSService.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/core/VOMSService.java
index 3c07b210..8257bfcc 100644
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/core/VOMSService.java
+++ b/voms-admin-server/src/main/java/org/glite/security/voms/admin/core/VOMSService.java
@@ -36,7 +36,6 @@
import org.glite.security.voms.admin.configuration.VOMSConfigurationException;
import org.glite.security.voms.admin.core.tasks.CancelSignAUPTasksForExpiredUsersTask;
import org.glite.security.voms.admin.core.tasks.ExpiredRequestsPurgerTask;
-import org.glite.security.voms.admin.core.tasks.PermissionCacheStatsLogger;
import org.glite.security.voms.admin.core.tasks.PrintX509AAStatsTask;
import org.glite.security.voms.admin.core.tasks.SignAUPReminderCheckTask;
import org.glite.security.voms.admin.core.tasks.SystemTimeProvider;
@@ -52,9 +51,6 @@
import org.glite.security.voms.admin.event.DebugEventLogListener;
import org.glite.security.voms.admin.event.EventManager;
import org.glite.security.voms.admin.event.auditing.AuditLog;
-import org.glite.security.voms.admin.event.permission_cache.AclEventsCleanPermissionCacheListener;
-import org.glite.security.voms.admin.event.permission_cache.MembershipEventsCleanPermissionCacheListener;
-import org.glite.security.voms.admin.event.permission_cache.UserEventsCleanPermissionCacheListener;
import org.glite.security.voms.admin.integration.PluginManager;
import org.glite.security.voms.admin.integration.cern.HrDbConfigurator;
import org.glite.security.voms.admin.integration.orgdb.OrgDBConfigurator;
@@ -169,9 +165,6 @@ protected static void configureEventManager() {
manager.register(CertificateRequestsNotificationDispatcher.instance());
manager.register(MembershipRemovalNotificationDispatcher.instance());
manager.register(SignAUPReminderDispatcher.instance());
- manager.register(AclEventsCleanPermissionCacheListener.instance());
- manager.register(UserEventsCleanPermissionCacheListener.instance());
- manager.register(MembershipEventsCleanPermissionCacheListener.instance());
}
@@ -212,8 +205,6 @@ protected static void startBackgroundTasks() {
VOMSConfigurationConstants.MONITORING_USER_STATS_UPDATE_PERIOD,
UserStatsTask.DEFAULT_PERIOD_IN_SECONDS);
- es.scheduleAtFixedRate(new PermissionCacheStatsLogger(true), 1, 60, TimeUnit.SECONDS);
-
int expiredUserCleanupBatchSize =
conf.getInt(VOMSConfigurationConstants.EXPIRED_USER_CLEANUP_TASK_BATCH_SIZE, 10);
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/core/tasks/PermissionCacheStatsLogger.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/core/tasks/PermissionCacheStatsLogger.java
deleted file mode 100644
index d13bb43d..00000000
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/core/tasks/PermissionCacheStatsLogger.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Copyright (c) Istituto Nazionale di Fisica Nucleare (INFN). 2006-2016
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.glite.security.voms.admin.core.tasks;
-
-import org.glite.security.voms.admin.operations.util.CurrentAdminPermissionCache;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.cache.CacheStats;
-
-public class PermissionCacheStatsLogger implements Runnable {
-
- private static final Logger LOG = LoggerFactory
- .getLogger(PermissionCacheStatsLogger.class);
- private final boolean dumpCache;
-
- public PermissionCacheStatsLogger() {
- dumpCache = false;
- }
-
- public PermissionCacheStatsLogger(boolean dumpCache) {
- this.dumpCache = dumpCache;
- }
-
- @Override
- public void run() {
- CacheStats stats = CurrentAdminPermissionCache.INSTANCE.stats();
-
- LOG.debug("Permission check cache stats: {}", stats);
-
- if (dumpCache){
- CurrentAdminPermissionCache.INSTANCE.dumpToLog();
- }
-
- }
-
-}
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/event/permission_cache/AclEventsCleanPermissionCacheListener.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/event/permission_cache/AclEventsCleanPermissionCacheListener.java
deleted file mode 100644
index 3b86c34d..00000000
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/event/permission_cache/AclEventsCleanPermissionCacheListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Copyright (c) Istituto Nazionale di Fisica Nucleare (INFN). 2006-2016
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.glite.security.voms.admin.event.permission_cache;
-import java.util.EnumSet;
-
-import org.glite.security.voms.admin.event.AbstractEventLister;
-import org.glite.security.voms.admin.event.EventCategory;
-import org.glite.security.voms.admin.event.vo.acl.ACLEvent;
-import org.glite.security.voms.admin.operations.util.CurrentAdminPermissionCache;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AclEventsCleanPermissionCacheListener extends AbstractEventLister{
-
- public static final Logger LOG = LoggerFactory.getLogger(AclEventsCleanPermissionCacheListener.class);
-
- public AclEventsCleanPermissionCacheListener() {
- super(EnumSet.of(EventCategory.VOLifecycleEvent), ACLEvent.class);
-
- }
-
- @Override
- protected void doFire(ACLEvent e) {
- LOG.info("Cleaning permission cache as result of {}",e);
- CurrentAdminPermissionCache.INSTANCE.clean();
- }
-
- public static AclEventsCleanPermissionCacheListener instance(){
- return new AclEventsCleanPermissionCacheListener();
- }
-}
\ No newline at end of file
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/event/permission_cache/MembershipEventsCleanPermissionCacheListener.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/event/permission_cache/MembershipEventsCleanPermissionCacheListener.java
deleted file mode 100644
index 84461740..00000000
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/event/permission_cache/MembershipEventsCleanPermissionCacheListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Copyright (c) Istituto Nazionale di Fisica Nucleare (INFN). 2006-2016
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.glite.security.voms.admin.event.permission_cache;
-
-import java.util.EnumSet;
-
-import org.glite.security.voms.admin.event.AbstractEventLister;
-import org.glite.security.voms.admin.event.EventCategory;
-import org.glite.security.voms.admin.event.user.membership.UserMembershipEvent;
-import org.glite.security.voms.admin.operations.util.CurrentAdminPermissionCache;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class MembershipEventsCleanPermissionCacheListener extends AbstractEventLister {
-
- public static final Logger LOG = LoggerFactory.getLogger(MembershipEventsCleanPermissionCacheListener.class);
-
- private MembershipEventsCleanPermissionCacheListener() {
- super(EnumSet.of(EventCategory.UserMembershipEvent), UserMembershipEvent.class);
- }
-
- @Override
- protected void doFire(UserMembershipEvent e) {
- LOG.info("Cleaning permission cache as result of {}",e);
- CurrentAdminPermissionCache.INSTANCE.clean();
- }
-
- public static MembershipEventsCleanPermissionCacheListener instance() {
- return new MembershipEventsCleanPermissionCacheListener();
- }
-}
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/event/permission_cache/UserEventsCleanPermissionCacheListener.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/event/permission_cache/UserEventsCleanPermissionCacheListener.java
deleted file mode 100644
index 6cde8059..00000000
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/event/permission_cache/UserEventsCleanPermissionCacheListener.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Copyright (c) Istituto Nazionale di Fisica Nucleare (INFN). 2006-2016
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.glite.security.voms.admin.event.permission_cache;
-
-import java.util.EnumSet;
-
-import org.glite.security.voms.admin.event.AbstractEventLister;
-import org.glite.security.voms.admin.event.EventCategory;
-import org.glite.security.voms.admin.event.user.UserCreatedEvent;
-import org.glite.security.voms.admin.event.user.UserDeletedEvent;
-import org.glite.security.voms.admin.event.user.UserLifecycleEvent;
-import org.glite.security.voms.admin.operations.util.CurrentAdminPermissionCache;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class UserEventsCleanPermissionCacheListener extends AbstractEventLister{
-
- public static final Logger LOG = LoggerFactory.getLogger(UserEventsCleanPermissionCacheListener.class);
-
- private UserEventsCleanPermissionCacheListener() {
- super(EnumSet.of(EventCategory.UserLifecycleEvent), UserLifecycleEvent.class);
-
- }
-
- @Override
- protected void doFire(UserLifecycleEvent e) {
-
- if (e instanceof UserDeletedEvent || e instanceof UserCreatedEvent){
- LOG.info("Cleaning permission cache as result of {}",e);
- CurrentAdminPermissionCache.INSTANCE.clean();
- }
- }
-
- public static UserEventsCleanPermissionCacheListener instance(){
- return new UserEventsCleanPermissionCacheListener();
- }
-
-}
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/operations/CurrentAdmin.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/operations/CurrentAdmin.java
index 4c2cbbcb..0a55ae50 100644
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/operations/CurrentAdmin.java
+++ b/voms-admin-server/src/main/java/org/glite/security/voms/admin/operations/CurrentAdmin.java
@@ -18,12 +18,9 @@
import java.security.cert.X509Certificate;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ExecutionException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.glite.security.voms.admin.configuration.VOMSConfiguration;
-import org.glite.security.voms.admin.operations.util.CurrentAdminPermissionCache;
import org.glite.security.voms.admin.persistence.dao.VOMSAdminDAO;
import org.glite.security.voms.admin.persistence.dao.VOMSRoleDAO;
import org.glite.security.voms.admin.persistence.dao.VOMSUserDAO;
@@ -48,16 +45,14 @@ public class CurrentAdmin {
private static ThreadLocal currentAdmin = new ThreadLocal<>();
private final VOMSAdmin admin;
- private final boolean permissionCacheDisabled;
public VOMSAdmin getAdmin() {
return admin;
}
- protected CurrentAdmin(VOMSAdmin a, boolean permissionCacheDisabled) {
+ protected CurrentAdmin(VOMSAdmin a) {
this.admin = a;
- this.permissionCacheDisabled = permissionCacheDisabled;
}
private static VOMSAdmin lookupAdmin() {
@@ -79,9 +74,8 @@ public static CurrentAdmin instance() {
if (admin == null) {
admin = VOMSAdminDAO.instance().getAnyAuthenticatedUserAdmin();
}
-
- VOMSConfiguration configuration = VOMSConfiguration.instance();
- currentAdmin.set(new CurrentAdmin(admin, configuration.permissionCacheDisabled()));
+
+ currentAdmin.set(new CurrentAdmin(admin));
return currentAdmin.get();
}
@@ -313,20 +307,7 @@ public boolean checkPermission(VOMSContext c, VOMSPermission p) {
public boolean hasPermissions(VOMSContext c, VOMSPermission p) {
- boolean result = false;
-
- if (permissionCacheDisabled){
- return checkPermission(c, p);
- }
-
- try {
- result = CurrentAdminPermissionCache.INSTANCE.hasPermission(this, c, p);
- } catch (ExecutionException e) {
- log.error("Error loading permission check result from cache: " + e.getMessage(), e);
- result = checkPermission(c, p);
- }
-
- return result;
+ return checkPermission(c, p);
}
public String getRealSubject() {
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/operations/util/CleanAdminPermissionCacheOperation.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/operations/util/CleanAdminPermissionCacheOperation.java
deleted file mode 100644
index 322c76cd..00000000
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/operations/util/CleanAdminPermissionCacheOperation.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Copyright (c) Istituto Nazionale di Fisica Nucleare (INFN). 2006-2016
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.glite.security.voms.admin.operations.util;
-
-import java.util.concurrent.Callable;
-
-import org.glite.security.voms.admin.operations.VOAdminOperation;
-
-import com.google.common.cache.CacheStats;
-
-public class CleanAdminPermissionCacheOperation
- implements Callable {
-
- private CleanAdminPermissionCacheOperation() {
- // TODO Auto-generated constructor stub
- }
-
- @Override
- public CacheStats call() throws Exception {
- CacheStats stats = CurrentAdminPermissionCache.INSTANCE.stats();
- CurrentAdminPermissionCache.INSTANCE.clean();
- return stats;
- }
-
-
- public static VOAdminOperation instance(){
- CleanAdminPermissionCacheOperation op =
- new CleanAdminPermissionCacheOperation();
-
- return new VOAdminOperation<>(op);
- }
-}
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/operations/util/CurrentAdminPermissionCache.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/operations/util/CurrentAdminPermissionCache.java
deleted file mode 100644
index 1ba00122..00000000
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/operations/util/CurrentAdminPermissionCache.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * Copyright (c) Istituto Nazionale di Fisica Nucleare (INFN). 2006-2016
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.glite.security.voms.admin.operations.util;
-
-import java.util.Map;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-
-import org.glite.security.voms.admin.operations.CurrentAdmin;
-import org.glite.security.voms.admin.operations.VOMSContext;
-import org.glite.security.voms.admin.operations.VOMSPermission;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.CacheStats;
-import com.google.common.cache.LoadingCache;
-
-public enum CurrentAdminPermissionCache {
-
- INSTANCE;
-
- private Logger log = LoggerFactory.getLogger(CurrentAdminPermissionCache.class);
-
- private LoadingCache cache;
-
- private CurrentAdminPermissionCache() {
- cache = CacheBuilder.newBuilder()
- .maximumSize(1000)
- .expireAfterWrite(5, TimeUnit.MINUTES)
- .recordStats()
- .build(new CheckResultCacheLoader());
- }
-
- public boolean hasPermission(CurrentAdmin admin, VOMSContext c,
- VOMSPermission p) throws ExecutionException {
-
- PermissionCheck key = PermissionCheckImpl.instance(admin, c, p);
- return cache.get(key);
- }
-
- public void clean(){
- log.debug("Cleaning cache");
- cache.invalidateAll();
- }
-
- static class CheckResultCacheLoader
- extends CacheLoader {
-
- private static final Logger LOG = LoggerFactory
- .getLogger(CheckResultCacheLoader.class);
-
- @Override
- public Boolean load(PermissionCheck key) throws Exception {
-
- boolean result = key.getAdmin()
- .checkPermission(key.getContext(), key.getPermission());
-
- if (LOG.isDebugEnabled()) {
- LOG.debug("Permission check result: {} -> {}", key, result);
- }
-
- return result;
- }
-
- }
-
- public CacheStats stats(){
- return cache.stats();
- }
-
- public void dumpToLog() {
- log.debug("Cache size: {}", cache.size());
- log.debug("Cache dump:");
- for (Map.Entry e: cache.asMap().entrySet()){
- log.debug("{} -> {}", e.getKey(), e.getValue());
- }
- }
-
-}
diff --git a/voms-admin-server/src/main/java/org/glite/security/voms/admin/view/actions/admin/CleanPermissionCacheAction.java b/voms-admin-server/src/main/java/org/glite/security/voms/admin/view/actions/admin/CleanPermissionCacheAction.java
deleted file mode 100644
index 4aa8f098..00000000
--- a/voms-admin-server/src/main/java/org/glite/security/voms/admin/view/actions/admin/CleanPermissionCacheAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Copyright (c) Istituto Nazionale di Fisica Nucleare (INFN). 2006-2016
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.glite.security.voms.admin.view.actions.admin;
-
-import org.apache.struts2.convention.annotation.Result;
-import org.glite.security.voms.admin.operations.util.CleanAdminPermissionCacheOperation;
-import org.glite.security.voms.admin.view.actions.BaseAction;
-
-@Result(name = BaseAction.SUCCESS,location = "adminHome")
-public class CleanPermissionCacheAction extends BaseAction{
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- @Override
- public String execute() throws Exception {
- CleanAdminPermissionCacheOperation.instance().execute();
- // FIXME: do something with the stats?
- addActionMessage("Permission cache cleaned");
- return SUCCESS;
- }
-
-}
diff --git a/voms-container/pom.xml b/voms-container/pom.xml
index 39b6ecaa..10b87cc1 100644
--- a/voms-container/pom.xml
+++ b/voms-container/pom.xml
@@ -23,7 +23,7 @@
org.italiangrid
voms-admin-parent
- 3.8.1
+ 3.9.0
voms-container