diff --git a/README.md b/README.md index ec0936e..7eab83a 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ The aim of this module is to send those Events and AdminEvents to another server Java 8 is required (Java 9+ is not supported yet). ### Build and Tests -This module contains both unit and integration tests, and a parent inherited from Keycloak tests for simplifying the +This project 2 modules, one with the event emitter code (could contain unit tests) and one for integration tests using a parent inherited from Keycloak tests for simplifying the POM content. The integration tests rely on the arquillian-based Keycloak test framework. As Keycloak does not publish publicly @@ -29,12 +29,12 @@ with the module. ## Installation Event emitter module is expected to be installed as a module in a specific layer. -To install the release, use the TAR.GZ file produced by the build; either run the `install.sh` script +To install the release, go to event-emitter module directory and use the TAR.GZ file produced by the build; either run the `install.sh` script or manually proceed as follows: ```Bash # Install the module binaries -tar -zxf event-emitter-.Final-dist.tar.gz --directory /modules/system/layers +tar -zxf event-emitter--dist.tar.gz --directory /modules/system/layers # Set the appropriate permissions on the new files chmod -R 755 /modules/system/layers/event-emitter @@ -101,6 +101,7 @@ This module will authenticate itself to the server endpoint with Basic authentic ### Flatbuffers +Go to event-emitter module directory. Flatbuffers schema is located under src/main/flatbuffers/flatbuffers/event.fbs. Compilation of the schema diff --git a/event-emitter-tests/pom.xml b/event-emitter-tests/pom.xml new file mode 100644 index 0000000..1dbe47c --- /dev/null +++ b/event-emitter-tests/pom.xml @@ -0,0 +1,114 @@ + + + 4.0.0 + + + io.cloudtrust + kc-cloudtrust-testsuite + 6.0.1 + + + + event-emitter-tests + + + + + 3.2.9 + + + + + io.cloudtrust + event-emitter + ${project.version} + + + + + org.keycloak.testsuite + integration-arquillian-tests-base + ${keycloak.version} + test + + + org.keycloak.testsuite + integration-arquillian-tests-console + ${project.version} + test + + + + + org.apache.cxf.services.sts + cxf-services-sts-core + ${apache-cxf.version} + test + + + org.apache.cxf + cxf-rt-features-logging + ${apache-cxf.version} + test + + + + org.jboss.arquillian.junit + arquillian-junit-container + test + + + + com.github.stefanbirkner + system-rules + 1.18.0 + test + + + org.mockito + mockito-core + 2.23.4 + test + + + + + ${project.artifactId} + + + + org.wildfly.plugins + wildfly-maven-plugin + ${version.wildfly.maven.plugin} + + true + + + + org.jboss.as.plugins + jboss-as-maven-plugin + ${version.jboss.maven.plugin} + + true + + + + com.github.eirslett + frontend-maven-plugin + ${version.frontend.maven.plugin} + + + + + + + maven-surefire-plugin + + + + diff --git a/src/test/java/io/cloudtrust/keycloak/AbstractTest.java b/event-emitter-tests/src/test/java/io/cloudtrust/keycloak/AbstractTest.java similarity index 100% rename from src/test/java/io/cloudtrust/keycloak/AbstractTest.java rename to event-emitter-tests/src/test/java/io/cloudtrust/keycloak/AbstractTest.java diff --git a/src/test/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProviderTest.java b/event-emitter-tests/src/test/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProviderTest.java similarity index 100% rename from src/test/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProviderTest.java rename to event-emitter-tests/src/test/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProviderTest.java diff --git a/src/test/java/io/cloudtrust/keycloak/eventemitter/MessageGenerationItTest.java b/event-emitter-tests/src/test/java/io/cloudtrust/keycloak/eventemitter/MessageGenerationItTest.java similarity index 100% rename from src/test/java/io/cloudtrust/keycloak/eventemitter/MessageGenerationItTest.java rename to event-emitter-tests/src/test/java/io/cloudtrust/keycloak/eventemitter/MessageGenerationItTest.java diff --git a/src/test/java/io/cloudtrust/keycloak/eventemitter/SerializationUtilsTest.java b/event-emitter-tests/src/test/java/io/cloudtrust/keycloak/eventemitter/SerializationUtilsTest.java similarity index 100% rename from src/test/java/io/cloudtrust/keycloak/eventemitter/SerializationUtilsTest.java rename to event-emitter-tests/src/test/java/io/cloudtrust/keycloak/eventemitter/SerializationUtilsTest.java diff --git a/src/test/java/io/cloudtrust/keycloak/snowflake/IdGeneratorTest.java b/event-emitter-tests/src/test/java/io/cloudtrust/keycloak/snowflake/IdGeneratorTest.java similarity index 100% rename from src/test/java/io/cloudtrust/keycloak/snowflake/IdGeneratorTest.java rename to event-emitter-tests/src/test/java/io/cloudtrust/keycloak/snowflake/IdGeneratorTest.java diff --git a/src/test/resources/arquillian.xml b/event-emitter-tests/src/test/resources/arquillian.xml similarity index 100% rename from src/test/resources/arquillian.xml rename to event-emitter-tests/src/test/resources/arquillian.xml diff --git a/src/test/resources/keycloak-server.json b/event-emitter-tests/src/test/resources/keycloak-server.json similarity index 100% rename from src/test/resources/keycloak-server.json rename to event-emitter-tests/src/test/resources/keycloak-server.json diff --git a/src/test/resources/log4j.properties b/event-emitter-tests/src/test/resources/log4j.properties similarity index 100% rename from src/test/resources/log4j.properties rename to event-emitter-tests/src/test/resources/log4j.properties diff --git a/src/test/resources/manifest.xml b/event-emitter-tests/src/test/resources/manifest.xml similarity index 100% rename from src/test/resources/manifest.xml rename to event-emitter-tests/src/test/resources/manifest.xml diff --git a/assembly.xml b/event-emitter/assembly.xml similarity index 100% rename from assembly.xml rename to event-emitter/assembly.xml diff --git a/install.sh b/event-emitter/install.sh old mode 100755 new mode 100644 similarity index 100% rename from install.sh rename to event-emitter/install.sh diff --git a/lib-modules/main/commons-collections4-4.1.jar b/event-emitter/lib-modules/lib-modules/main/commons-collections4-4.1.jar similarity index 100% rename from lib-modules/main/commons-collections4-4.1.jar rename to event-emitter/lib-modules/lib-modules/main/commons-collections4-4.1.jar diff --git a/lib-modules/main/flatbuffers-java-1.10.0.jar b/event-emitter/lib-modules/lib-modules/main/flatbuffers-java-1.10.0.jar similarity index 100% rename from lib-modules/main/flatbuffers-java-1.10.0.jar rename to event-emitter/lib-modules/lib-modules/main/flatbuffers-java-1.10.0.jar diff --git a/module.xml b/event-emitter/module.xml similarity index 100% rename from module.xml rename to event-emitter/module.xml diff --git a/event-emitter/pom.xml b/event-emitter/pom.xml new file mode 100644 index 0000000..eba22ac --- /dev/null +++ b/event-emitter/pom.xml @@ -0,0 +1,86 @@ + + + 4.0.0 + + + io.cloudtrust + event-emitter-parent + 6.0.1 + + + event-emitter + Keycloak module to transmit events to keycloak-bridge + jar + + + 2.9.9 + + + + + org.keycloak + keycloak-core + + + org.keycloak + keycloak-server-spi + + + org.keycloak + keycloak-server-spi-private + + + org.jboss.logging + jboss-logging + + + + org.apache.httpcomponents + httpclient + provided + + + + com.google.guava + guava + provided + + + + + com.google.flatbuffers + flatbuffers-java + 1.10.0 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.jacoco + jacoco-maven-plugin + + + maven-assembly-plugin + + + com.github.spotbugs + spotbugs-maven-plugin + + + org.apache.maven.plugins + maven-pmd-plugin + + + org.owasp + dependency-check-maven + + + + diff --git a/src/main/flatbuffers/event.fbs b/event-emitter/src/main/flatbuffers/event.fbs similarity index 100% rename from src/main/flatbuffers/event.fbs rename to event-emitter/src/main/flatbuffers/event.fbs diff --git a/src/main/flatbuffers/flatbuffers/events/AdminEvent.java b/event-emitter/src/main/flatbuffers/flatbuffers/events/AdminEvent.java similarity index 100% rename from src/main/flatbuffers/flatbuffers/events/AdminEvent.java rename to event-emitter/src/main/flatbuffers/flatbuffers/events/AdminEvent.java diff --git a/src/main/flatbuffers/flatbuffers/events/AuthDetails.java b/event-emitter/src/main/flatbuffers/flatbuffers/events/AuthDetails.java similarity index 100% rename from src/main/flatbuffers/flatbuffers/events/AuthDetails.java rename to event-emitter/src/main/flatbuffers/flatbuffers/events/AuthDetails.java diff --git a/src/main/flatbuffers/flatbuffers/events/Event.java b/event-emitter/src/main/flatbuffers/flatbuffers/events/Event.java similarity index 100% rename from src/main/flatbuffers/flatbuffers/events/Event.java rename to event-emitter/src/main/flatbuffers/flatbuffers/events/Event.java diff --git a/src/main/flatbuffers/flatbuffers/events/EventType.java b/event-emitter/src/main/flatbuffers/flatbuffers/events/EventType.java similarity index 100% rename from src/main/flatbuffers/flatbuffers/events/EventType.java rename to event-emitter/src/main/flatbuffers/flatbuffers/events/EventType.java diff --git a/src/main/flatbuffers/flatbuffers/events/OperationType.java b/event-emitter/src/main/flatbuffers/flatbuffers/events/OperationType.java similarity index 100% rename from src/main/flatbuffers/flatbuffers/events/OperationType.java rename to event-emitter/src/main/flatbuffers/flatbuffers/events/OperationType.java diff --git a/src/main/flatbuffers/flatbuffers/events/ResourceType.java b/event-emitter/src/main/flatbuffers/flatbuffers/events/ResourceType.java similarity index 100% rename from src/main/flatbuffers/flatbuffers/events/ResourceType.java rename to event-emitter/src/main/flatbuffers/flatbuffers/events/ResourceType.java diff --git a/src/main/flatbuffers/flatbuffers/events/Tuple.java b/event-emitter/src/main/flatbuffers/flatbuffers/events/Tuple.java similarity index 100% rename from src/main/flatbuffers/flatbuffers/events/Tuple.java rename to event-emitter/src/main/flatbuffers/flatbuffers/events/Tuple.java diff --git a/src/main/java/flatbuffers/events/AdminEvent.java b/event-emitter/src/main/java/flatbuffers/events/AdminEvent.java similarity index 100% rename from src/main/java/flatbuffers/events/AdminEvent.java rename to event-emitter/src/main/java/flatbuffers/events/AdminEvent.java diff --git a/src/main/java/flatbuffers/events/AuthDetails.java b/event-emitter/src/main/java/flatbuffers/events/AuthDetails.java similarity index 100% rename from src/main/java/flatbuffers/events/AuthDetails.java rename to event-emitter/src/main/java/flatbuffers/events/AuthDetails.java diff --git a/src/main/java/flatbuffers/events/Event.java b/event-emitter/src/main/java/flatbuffers/events/Event.java similarity index 100% rename from src/main/java/flatbuffers/events/Event.java rename to event-emitter/src/main/java/flatbuffers/events/Event.java diff --git a/src/main/java/flatbuffers/events/EventType.java b/event-emitter/src/main/java/flatbuffers/events/EventType.java similarity index 100% rename from src/main/java/flatbuffers/events/EventType.java rename to event-emitter/src/main/java/flatbuffers/events/EventType.java diff --git a/src/main/java/flatbuffers/events/OperationType.java b/event-emitter/src/main/java/flatbuffers/events/OperationType.java similarity index 100% rename from src/main/java/flatbuffers/events/OperationType.java rename to event-emitter/src/main/java/flatbuffers/events/OperationType.java diff --git a/src/main/java/flatbuffers/events/ResourceType.java b/event-emitter/src/main/java/flatbuffers/events/ResourceType.java similarity index 100% rename from src/main/java/flatbuffers/events/ResourceType.java rename to event-emitter/src/main/java/flatbuffers/events/ResourceType.java diff --git a/src/main/java/flatbuffers/events/Tuple.java b/event-emitter/src/main/java/flatbuffers/events/Tuple.java similarity index 100% rename from src/main/java/flatbuffers/events/Tuple.java rename to event-emitter/src/main/java/flatbuffers/events/Tuple.java diff --git a/src/main/java/io/cloudtrust/keycloak/eventemitter/Container.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/Container.java similarity index 100% rename from src/main/java/io/cloudtrust/keycloak/eventemitter/Container.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/Container.java diff --git a/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterException.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterException.java similarity index 100% rename from src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterException.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterException.java diff --git a/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProvider.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProvider.java similarity index 69% rename from src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProvider.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProvider.java index fc41b74..a36003d 100644 --- a/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProvider.java +++ b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProvider.java @@ -35,6 +35,10 @@ public class EventEmitterProvider implements EventListenerProvider{ private static final int HTTP_OK = 200; + interface EventSender { + void send(T event) throws EventEmitterException, IOException; + } + private CloseableHttpClient httpClient; private HttpClientContext httpContext; private IdGenerator idGenerator; @@ -69,18 +73,19 @@ public class EventEmitterProvider implements EventListenerProvider{ this.pendingAdminEvents = pendingAdminEvents; // Secret token - secretToken = System.getenv(KEYCLOAK_BRIDGE_SECRET_TOKEN); - if (secretToken == null) { - logger.error("Cannot find the environment variable '" + KEYCLOAK_BRIDGE_SECRET_TOKEN + "'"); - throw new IllegalStateException("Cannot find the environment variable '" + KEYCLOAK_BRIDGE_SECRET_TOKEN + "'"); - } - + secretToken = checkEnv(KEYCLOAK_BRIDGE_SECRET_TOKEN); // Hostname - username = System.getenv(HOSTNAME); - if (username == null) { - logger.error("Cannot find the environment variable '" + HOSTNAME + "'"); - throw new IllegalStateException("Cannot find the environment variable '" + HOSTNAME + "'"); + username = checkEnv(HOSTNAME); + } + + private String checkEnv(String key) { + String env = System.getenv(key); + if (env != null) { + return env; } + String message = "Cannot find the environment variable '" + key + "'"; + logger.error(message); + throw new IllegalStateException(message); } public void onEvent(Event event) { @@ -146,88 +151,36 @@ private void sendEvents() { } - private void sendEventsWithJsonFormat() { - int pendingEventsSize = pendingEvents.size(); + private void sendEvents(LinkedBlockingQueue queue, EventSender eventProcessor) { + int pendingEventsSize = queue.size(); for (int i=0; i < pendingEventsSize; i++){ - IdentifiedEvent event = pendingEvents.poll(); + T event = queue.poll(); if(event == null){ break; } try { - String json = SerialisationUtils.toJson(event); - sendJson(json); + eventProcessor.send(event); } catch (EventEmitterException | IOException e) { - pendingEvents.offer(event); - logger.infof("Failed to send event(ID=%s), try again later.", event.getUid()); + String repushed = queue.offer(event) ? "success" : "failure"; + logger.infof("Failed to send %s(ID=%s), try again later. Re-push: %s", event.getClass().getName(), event.getUid(), repushed); logger.debug("Failed to serialize or send event", e); break; } } - - int pendingAdminEventsSize = pendingAdminEvents.size(); - for (int i=0; i < pendingAdminEventsSize; i++){ - IdentifiedAdminEvent event = pendingAdminEvents.poll(); - - if(event == null){ - break; - } - - try { - String json = SerialisationUtils.toJson(event); - sendJson(json); - } catch (EventEmitterException | IOException e) { - pendingAdminEvents.offer(event); - logger.infof("Failed to send adminEvent(ID=%s), try again later.", event.getUid()); - logger.debug("Failed to serialize or send adminEvent", e); - break; - } - } } + private void sendEventsWithJsonFormat() { + sendEvents(pendingEvents, e -> sendJson(SerialisationUtils.toJson(e))); + sendEvents(pendingAdminEvents, e -> sendJson(SerialisationUtils.toJson(e))); + } private void sendEventsWithFlatbufferFormat() { - int pendingEventsSize = pendingEvents.size(); - for (int i=0; i < pendingEventsSize; i++){ - IdentifiedEvent event = pendingEvents.poll(); - - if(event == null){ - break; - } - - try { - ByteBuffer buffer = SerialisationUtils.toFlat(event); - sendBytes(buffer, Event.class.getSimpleName()); - } catch (EventEmitterException | IOException e) { - pendingEvents.offer(event); - logger.infof("Failed to send event(ID=%s), try again later.", event.getUid()); - logger.debug("Failed to serialize or send event", e); - break; - } - } - - int pendingAdminEventsSize = pendingAdminEvents.size(); - for (int i=0; i < pendingAdminEventsSize; i++){ - IdentifiedAdminEvent event = pendingAdminEvents.poll(); - - if(event == null){ - break; - } - - try { - ByteBuffer buffer = SerialisationUtils.toFlat(event); - sendBytes(buffer, AdminEvent.class.getSimpleName()); - } catch (EventEmitterException | IOException e) { - pendingAdminEvents.offer(event); - logger.infof("Failed to send adminEvent(ID=%s), try again later.", event.getUid()); - logger.debug("Failed to serialize or send adminEvent", e); - break; - } - } + sendEvents(pendingEvents, e -> sendBytes(SerialisationUtils.toFlat(e), Event.class.getSimpleName())); + sendEvents(pendingAdminEvents, e -> sendBytes(SerialisationUtils.toFlat(e), AdminEvent.class.getSimpleName())); } - private void sendBytes(ByteBuffer buffer, String type) throws IOException, EventEmitterException { byte[] b = new byte[buffer.remaining()]; buffer.get(b); diff --git a/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProviderFactory.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProviderFactory.java similarity index 100% rename from src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProviderFactory.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/EventEmitterProviderFactory.java diff --git a/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/HasUid.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/HasUid.java new file mode 100644 index 0000000..ee4ed1d --- /dev/null +++ b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/HasUid.java @@ -0,0 +1,5 @@ +package io.cloudtrust.keycloak.eventemitter; + +public interface HasUid { + long getUid(); +} diff --git a/src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedAdminEvent.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedAdminEvent.java similarity index 93% rename from src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedAdminEvent.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedAdminEvent.java index 36ba99a..ff36171 100644 --- a/src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedAdminEvent.java +++ b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedAdminEvent.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import org.keycloak.events.admin.AdminEvent; -public class IdentifiedAdminEvent extends AdminEvent{ +public class IdentifiedAdminEvent extends AdminEvent implements HasUid { private long uid; diff --git a/src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedEvent.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedEvent.java similarity index 93% rename from src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedEvent.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedEvent.java index 1da874a..1414f7b 100644 --- a/src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedEvent.java +++ b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/IdentifiedEvent.java @@ -3,7 +3,7 @@ import org.keycloak.events.Event; -public class IdentifiedEvent extends Event { +public class IdentifiedEvent extends Event implements HasUid { private long uid; diff --git a/src/main/java/io/cloudtrust/keycloak/eventemitter/SerialisationFormat.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/SerialisationFormat.java similarity index 100% rename from src/main/java/io/cloudtrust/keycloak/eventemitter/SerialisationFormat.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/SerialisationFormat.java diff --git a/src/main/java/io/cloudtrust/keycloak/eventemitter/SerialisationUtils.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/SerialisationUtils.java similarity index 100% rename from src/main/java/io/cloudtrust/keycloak/eventemitter/SerialisationUtils.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/eventemitter/SerialisationUtils.java diff --git a/src/main/java/io/cloudtrust/keycloak/snowflake/IdGenerator.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/snowflake/IdGenerator.java similarity index 100% rename from src/main/java/io/cloudtrust/keycloak/snowflake/IdGenerator.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/snowflake/IdGenerator.java diff --git a/src/main/java/io/cloudtrust/keycloak/snowflake/IdGeneratorConfig.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/snowflake/IdGeneratorConfig.java similarity index 100% rename from src/main/java/io/cloudtrust/keycloak/snowflake/IdGeneratorConfig.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/snowflake/IdGeneratorConfig.java diff --git a/src/main/java/io/cloudtrust/keycloak/snowflake/InvalidSystemClock.java b/event-emitter/src/main/java/io/cloudtrust/keycloak/snowflake/InvalidSystemClock.java similarity index 75% rename from src/main/java/io/cloudtrust/keycloak/snowflake/InvalidSystemClock.java rename to event-emitter/src/main/java/io/cloudtrust/keycloak/snowflake/InvalidSystemClock.java index 11bb3e4..52f3049 100644 --- a/src/main/java/io/cloudtrust/keycloak/snowflake/InvalidSystemClock.java +++ b/event-emitter/src/main/java/io/cloudtrust/keycloak/snowflake/InvalidSystemClock.java @@ -4,8 +4,7 @@ * @author Sébastien Pasche */ public class InvalidSystemClock extends Exception { - - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = -6759653877710725413L; public InvalidSystemClock(final String message) { super(message); diff --git a/src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory b/event-emitter/src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory similarity index 100% rename from src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory rename to event-emitter/src/main/resources/META-INF/services/org.keycloak.events.EventListenerProviderFactory diff --git a/pom.xml b/pom.xml index c529d82..d31b008 100644 --- a/pom.xml +++ b/pom.xml @@ -5,513 +5,16 @@ 4.0.0 - org.keycloak.testsuite - integration-arquillian-tests + io.cloudtrust + kc-cloudtrust-module 7.0.0 - io.cloudtrust - event-emitter + event-emitter-parent + pom - jar - - Keycloak module to transmit events to keycloak-bridge - - - 8180 - - 1.8 - 1.8 - - - 7.0.0 - 25.0-jre - 4.5.2 - 4.4.4 - 3.3.2.Final - 4.12 - 2.9.9 - - - - - org.keycloak - keycloak-core - ${keycloak.version} - provided - - - org.keycloak - keycloak-server-spi - provided - ${keycloak.version} - - - org.keycloak - keycloak-server-spi-private - provided - ${keycloak.version} - - - org.jboss.logging - jboss-logging - provided - ${jboss.logging.version} - - - - org.apache.httpcomponents - httpclient - ${apache.httpcomponents.version} - provided - - - org.apache.httpcomponents - httpcore - ${apache.httpcomponents.httpcore.version} - provided - - - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - provided - - - - com.google.guava - guava - provided - - - - - com.google.flatbuffers - flatbuffers-java - 1.10.0 - - - - org.apache.commons - commons-collections4 - 4.2 - - - - - - junit - junit - ${junit.version} - test - - - - - com.github.stefanbirkner - system-rules - 1.19.0 - test - - - - - - - org.keycloak - keycloak-test-helper - ${keycloak.version} - test - - - - org.wildfly.extras.creaper - creaper-commands - ${version.org.wildfly.extras.creaper} - - - com.google.guava - guava - - - test - - - - org.jboss.arquillian.junit - arquillian-junit-container - test - - - - org.jboss.arquillian.graphene - graphene-webdriver - ${arquillian-graphene.version} - pom - test - - - org.jboss.arquillian.protocol - arquillian-protocol-servlet - test - - - org.jboss.arquillian.extension - arquillian-phantom-driver - 1.2.1.Final - test - - - org.jboss.arquillian.graphene - arquillian-browser-screenshooter - ${arquillian-graphene.version} - - - org.apache.commons - commons-io - - - com.google.guava - guava - - - test - - - - io.appium - java-client - ${appium.client.version} - test - - - - jfree - jfreechart - 1.0.13 - test - - - - org.keycloak.testsuite - integration-arquillian-test-apps-servlets - ${keycloak.version} - test - - - - org.keycloak.testsuite - integration-arquillian-util - ${keycloak.version} - test - - - - log4j - log4j - test - - - org.slf4j - slf4j-api - test - - - org.slf4j - slf4j-log4j12 - test - - - - org.apache.ant - ant - 1.9.2 - jar - test - - - - org.apache.sshd - sshd-core - 1.2.0 - test - - - - - com.icegreen - greenmail - - - org.slf4j - slf4j-api - - - test - - - org.subethamail - subethasmtp - - - org.slf4j - slf4j-api - - - test - - - - - - org.keycloak - keycloak-dependencies-server-all - pom - - - com.google.guava - guava - - - test - - - - org.keycloak - keycloak-admin-client - test - - - org.keycloak - keycloak-client-registration-api - test - - - org.keycloak - keycloak-authz-client - test - - - - - - org.keycloak.testsuite - integration-arquillian-servers-auth-server-undertow - ${keycloak.version} - test - - - - org.jboss.arquillian.container - undertow-embedded - ${undertow-embedded.version} - test - - - - org.jboss.resteasy - resteasy-client - test - - - org.jboss.resteasy - resteasy-undertow - test - - - org.jboss.resteasy - resteasy-multipart-provider - test - - - org.jboss.resteasy - resteasy-jackson2-provider - test - - - com.fasterxml.jackson.core - jackson-annotations - test - - - - org.bouncycastle - bcprov-jdk15on - test - - - org.bouncycastle - bcpkix-jdk15on - test - - - org.hamcrest - hamcrest-all - test - - - org.infinispan - infinispan-core - test - - - - - mysql - mysql-connector-java - test - - - org.postgresql - postgresql - ${postgresql.version} - test - - - org.mariadb.jdbc - mariadb-java-client - ${mariadb.version} - test - - - - - - org.keycloak - keycloak-client-cli-dist - zip - test - - - - org.osgi - org.osgi.enterprise - test - - - - - org.keycloak.testsuite - integration-arquillian-tests-base - ${keycloak.version} - test - - - com.fasterxml.jackson.core - jackson-annotations - 2.9.9 - - - - - - - org.jacoco - jacoco-maven-plugin - 0.8.4 - - - - prepare-agent - - - - report - prepare-package - - report - - - - - - maven-surefire-plugin - 2.19.1 - - - default-test - test - - test - - - - - - src/test/resources/arquillian.xml - src/test/resources - file:${project.build.directory}/test-classes/log4j.properties - - - - listener - org.junit.runner.notification.RunListener - - - ${argLine} - - - - - maven-assembly-plugin - 3.1.0 - - - default-package - package - - single - - - - - - assembly.xml - - - - - com.github.spotbugs - spotbugs-maven-plugin - 3.1.12.2 - - Max - Low - - - com.mebigfatguy.fb-contrib - fb-contrib - 7.4.6 - - - com.h3xstream.findsecbugs - findsecbugs-plugin - 1.9.0 - - - - - - org.apache.maven.plugins - maven-pmd-plugin - 3.12.0 - - - org.owasp - dependency-check-maven - 5.2.1 - - XML - - - - + + event-emitter + event-emitter-tests + diff --git a/src/main/main57.iml b/src/main/main57.iml deleted file mode 100644 index 2873b24..0000000 --- a/src/main/main57.iml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file