From a62586414554d24c9eb5c213f6b736c70427dfcd Mon Sep 17 00:00:00 2001 From: Mauro Mugnaini Date: Tue, 17 Nov 2020 11:41:33 +0100 Subject: [PATCH] Added interesting events filter, ignoring the publish of all the others --- .../OrchestratorEventPublisherProvider.java | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProvider.java b/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProvider.java index 845ab9f..cb2fea9 100644 --- a/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProvider.java +++ b/event-listener-provider/src/main/java/org/gcube/keycloak/event/OrchestratorEventPublisherProvider.java @@ -1,6 +1,8 @@ package org.gcube.keycloak.event; import java.util.EventListener; +import java.util.HashSet; +import java.util.Set; import org.gcube.event.publisher.AbstractEventPublisher; import org.gcube.event.publisher.EventSender; @@ -8,6 +10,7 @@ import org.gcube.event.publisher.HTTPWithUMAAuthEventSender; import org.jboss.logging.Logger; import org.keycloak.events.Event; import org.keycloak.events.EventListenerProvider; +import org.keycloak.events.EventType; import org.keycloak.events.admin.AdminEvent; /** @@ -19,6 +22,21 @@ public class OrchestratorEventPublisherProvider extends AbstractEventPublisher public static final Logger logger = Logger.getLogger(OrchestratorEventPublisherProvider.class); + private static final Set INTERESTING_EVENTS = new HashSet<>(); + + static { + INTERESTING_EVENTS.add(EventType.CLIENT_DELETE); + INTERESTING_EVENTS.add(EventType.CLIENT_DELETE_ERROR); + INTERESTING_EVENTS.add(EventType.FEDERATED_IDENTITY_LINK); + INTERESTING_EVENTS.add(EventType.FEDERATED_IDENTITY_LINK_ERROR); + INTERESTING_EVENTS.add(EventType.IDENTITY_PROVIDER_FIRST_LOGIN); + INTERESTING_EVENTS.add(EventType.IDENTITY_PROVIDER_FIRST_LOGIN_ERROR); + INTERESTING_EVENTS.add(EventType.REGISTER); + INTERESTING_EVENTS.add(EventType.REGISTER_ERROR); + INTERESTING_EVENTS.add(EventType.UPDATE_EMAIL); + INTERESTING_EVENTS.add(EventType.VERIFY_EMAIL_ERROR); + } + public OrchestratorEventPublisherProvider() { super(); } @@ -29,8 +47,12 @@ public class OrchestratorEventPublisherProvider extends AbstractEventPublisher @Override public void onEvent(Event event) { - if (event.getError() != null) { - logger.debug("Skipping error event publish"); +// if (event.getError() != null) { +// logger.debug("Skipping error event publish"); +// return; +// } + if (!INTERESTING_EVENTS.contains(event.getType())) { + logger.debug("Skipping publish of not interesting event"); return; } logger.debug("Publishing new event to orchestrator");