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