Delete unused classes

This commit is contained in:
Fabio Scotto di Santolo
2023-10-01 17:27:39 +02:00
parent 82e0977599
commit 57cec4aee7
5 changed files with 1 additions and 145 deletions

View File

@@ -1,5 +1,5 @@
# cdcdemo
This project is a simple test of CDC design pattern using Hibernate listeners and Observes bean
This project is a simple test of CDC design pattern using Observes
This project uses Quarkus, the Supersonic Subatomic Java Framework.

View File

@@ -1,30 +0,0 @@
package org.acme;
import jakarta.enterprise.context.RequestScoped;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Stream;
@RequestScoped
public class EventCollector {
private final Map<String, Collection<CollectEvent>> cache;
public EventCollector() {
cache = new HashMap<>();
}
public void register(String type, CollectEvent event) {
if (!cache.containsKey(type)) {
cache.put(type, new ArrayList<>());
}
cache.get(type).add(event);
}
public Stream<CollectEvent> stream(String type) {
return cache.get(type).stream();
}
}

View File

@@ -1,32 +0,0 @@
package org.acme;
import io.quarkus.runtime.Startup;
import jakarta.enterprise.context.ApplicationScoped;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.spi.BootstrapContext;
import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.event.service.spi.EventListenerRegistry;
import org.hibernate.event.spi.EventType;
import org.hibernate.integrator.spi.Integrator;
import org.hibernate.service.spi.SessionFactoryServiceRegistry;
import org.jboss.logging.Logger;
@Startup
@ApplicationScoped
public class HibernateEventListenerIntegrator implements Integrator {
private final Logger log = Logger.getLogger(HibernateEventListenerIntegrator.class);
@Override
public void integrate(Metadata metadata, BootstrapContext bootstrapContext, SessionFactoryImplementor sessionFactory) {
log.info("Integrate registry");
EventListenerRegistry registry = sessionFactory.getServiceRegistry().getService(EventListenerRegistry.class);
registry.appendListeners(EventType.POST_COMMIT_INSERT, UserEventListener.class);
registry.appendListeners(EventType.POST_COMMIT_UPDATE, UserEventListener.class);
registry.appendListeners(EventType.POST_COMMIT_DELETE, UserEventListener.class);
}
@Override
public void disintegrate(SessionFactoryImplementor sessionFactoryImplementor, SessionFactoryServiceRegistry sessionFactoryServiceRegistry) {
}
}

View File

@@ -1,72 +0,0 @@
package org.acme;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import org.hibernate.event.spi.*;
import org.hibernate.persister.entity.EntityPersister;
import org.jboss.logging.Logger;
import java.util.List;
import java.util.stream.Collectors;
@ApplicationScoped
public class UserEventListener implements PostCommitInsertEventListener, PostCommitUpdateEventListener, PostCommitDeleteEventListener {
private final Logger log = Logger.getLogger(UserEventListener.class);
private final EventCollector eventCollector;
@Inject
public UserEventListener(EventCollector eventCollector) {
this.eventCollector = eventCollector;
}
@Override
public void onPostInsert(PostInsertEvent postInsertEvent) {
log.info("onPostInsert called");
List<CollectEvent> events = eventCollector.stream(User.class.getCanonicalName())
.filter(it -> it.getType() == CollectEvent.Type.CREATION)
.collect(Collectors.toUnmodifiableList());
log.info("fire " + events.size() + " events");
}
@Override
public void onPostUpdate(PostUpdateEvent postUpdateEvent) {
log.info("onPostUpdate called");
List<CollectEvent> events = eventCollector.stream(User.class.getCanonicalName())
.filter(it -> it.getType() == CollectEvent.Type.UPDATE)
.collect(Collectors.toUnmodifiableList());
log.info("fire " + events.size() + " events");
}
@Override
public void onPostDelete(PostDeleteEvent postDeleteEvent) {
log.info("onPostDelete called");
List<CollectEvent> events = eventCollector.stream(User.class.getCanonicalName())
.filter(it -> it.getType() == CollectEvent.Type.DELETE)
.collect(Collectors.toUnmodifiableList());
log.info("fire " + events.size() + " events");
}
@Override
public boolean requiresPostCommitHandling(EntityPersister entityPersister) {
return true;
}
@Override
public void onPostDeleteCommitFailed(PostDeleteEvent postDeleteEvent) {
log.info("onPostDeleteCommitFailed called");
}
@Override
public void onPostInsertCommitFailed(PostInsertEvent postInsertEvent) {
log.info("onPostInsertCommitFailed called");
}
@Override
public void onPostUpdateCommitFailed(PostUpdateEvent postUpdateEvent) {
log.info("onPostUpdateCommitFailed called");
}
}

View File

@@ -3,28 +3,18 @@ package org.acme;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.event.Observes;
import jakarta.enterprise.event.TransactionPhase;
import jakarta.inject.Inject;
import org.jboss.logging.Logger;
@ApplicationScoped
public class UserObserver {
private final Logger log = Logger.getLogger(UserObserver.class);
private final EventCollector eventCollector;
@Inject
public UserObserver(EventCollector eventCollector) {
this.eventCollector = eventCollector;
}
public void onCreation(@Observes(during = TransactionPhase.AFTER_SUCCESS) UserCreated event) {
log.info("Arrived event for user " + event.getUsername());
eventCollector.register(User.class.getCanonicalName(), event);
}
public void onDelete(@Observes(during = TransactionPhase.AFTER_SUCCESS) UserDeleted event) {
log.info("Arrived event for deletion user " + event.getId());
eventCollector.register(User.class.getCanonicalName(), event);
}
}