From 5f766c980690f572e3c3ba93194b20bb49119968 Mon Sep 17 00:00:00 2001 From: Daniel Gerhardt <code@dgerhardt.net> Date: Mon, 5 Nov 2018 15:46:30 +0100 Subject: [PATCH] Implement ResolvableTypeProvider to circumvent type erasure --- src/main/java/de/thm/arsnova/event/CrudEvent.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/thm/arsnova/event/CrudEvent.java b/src/main/java/de/thm/arsnova/event/CrudEvent.java index bf41ce6ff..07d3bbb6f 100644 --- a/src/main/java/de/thm/arsnova/event/CrudEvent.java +++ b/src/main/java/de/thm/arsnova/event/CrudEvent.java @@ -2,8 +2,10 @@ package de.thm.arsnova.event; import de.thm.arsnova.model.Entity; import org.springframework.context.ApplicationEvent; +import org.springframework.core.ResolvableType; +import org.springframework.core.ResolvableTypeProvider; -public abstract class CrudEvent<E extends Entity> extends ApplicationEvent { +public abstract class CrudEvent<E extends Entity> extends ApplicationEvent implements ResolvableTypeProvider { public CrudEvent(final E source) { super(source); } @@ -12,4 +14,9 @@ public abstract class CrudEvent<E extends Entity> extends ApplicationEvent { public E getSource() { return (E) super.getSource(); } + + @Override + public ResolvableType getResolvableType() { + return ResolvableType.forClassWithGenerics(getClass(), source.getClass()); + } } -- GitLab