diff options
-rw-r--r-- | java/com/google/gerrit/server/events/EventTypes.java | 12 | ||||
-rw-r--r-- | javatests/com/google/gerrit/server/events/EventTypesTest.java | 12 | ||||
m--------- | modules/jgit | 0 |
3 files changed, 24 insertions, 0 deletions
diff --git a/java/com/google/gerrit/server/events/EventTypes.java b/java/com/google/gerrit/server/events/EventTypes.java index 5498ec8eb1..229ef86603 100644 --- a/java/com/google/gerrit/server/events/EventTypes.java +++ b/java/com/google/gerrit/server/events/EventTypes.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.events; +import com.google.common.collect.ImmutableMap; import java.util.HashMap; import java.util.Map; @@ -61,4 +62,15 @@ public class EventTypes { public static Class<?> getClass(String type) { return typesByString.get(type); } + + /** + * Get a copy of all currently registered events. + * + * <p>The key is the one given to the evenType parameter of the {@link #register} method. + * + * @return ImmutableMap of event types, Event classes. + */ + public static Map<String, Class<?>> getRegisteredEvents() { + return ImmutableMap.copyOf(typesByString); + } } diff --git a/javatests/com/google/gerrit/server/events/EventTypesTest.java b/javatests/com/google/gerrit/server/events/EventTypesTest.java index c822d6c68c..7e97f18499 100644 --- a/javatests/com/google/gerrit/server/events/EventTypesTest.java +++ b/javatests/com/google/gerrit/server/events/EventTypesTest.java @@ -48,4 +48,16 @@ public class EventTypesTest { Class<?> clazz = EventTypes.getClass("does-not-exist-event"); assertThat(clazz).isNull(); } + + @Test + public void getRegisteredEventsGetsANewlyRegisteredEvent() { + EventTypes.register(TestEvent.TYPE, TestEvent.class); + assertThat(EventTypes.getRegisteredEvents()).containsEntry(TestEvent.TYPE, TestEvent.class); + } + + @Test + public void getRegisteredEventsGetsTypeGivenAtRegistration() { + EventTypes.register("alternate-type", TestEvent.class); + assertThat(EventTypes.getRegisteredEvents()).containsEntry("alternate-type", TestEvent.class); + } } diff --git a/modules/jgit b/modules/jgit -Subproject 5efd32e91da44bd05ff14dd7b35eccbecf54a09 +Subproject 035e0e23f251fdb766a6630509bcf342efb8b3a |