Delete unused classes
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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) {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user