From 39884d811e7a8e490929b942db5be7ed77ae0d11 Mon Sep 17 00:00:00 2001
From: Daniel Gerhardt <code@dgerhardt.net>
Date: Sat, 17 Feb 2018 13:38:50 +0100
Subject: [PATCH] Revert "Use format instead of type property for Content
 deserialization"

Using format caused problems because Jackson does not support multiple
type names being mapped to a single class.

This reverts commit 96b0cf42a7f5e47652f26887acc5957b203b2c0c.
---
 src/main/java/de/thm/arsnova/entities/Content.java        | 7 +------
 .../entities/serialization/CouchDbDocumentModule.java     | 8 ++------
 2 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/src/main/java/de/thm/arsnova/entities/Content.java b/src/main/java/de/thm/arsnova/entities/Content.java
index 9d591cdbb..9988359aa 100644
--- a/src/main/java/de/thm/arsnova/entities/Content.java
+++ b/src/main/java/de/thm/arsnova/entities/Content.java
@@ -1,6 +1,5 @@
 package de.thm.arsnova.entities;
 
-import com.fasterxml.jackson.annotation.JsonSubTypes;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonView;
 import de.thm.arsnova.entities.serialization.View;
@@ -12,12 +11,8 @@ import java.util.Objects;
 @JsonTypeInfo(
 		use = JsonTypeInfo.Id.NAME,
 		include = JsonTypeInfo.As.EXISTING_PROPERTY,
-		property = "format",
-		visible = true
+		property = "type"
 )
-@JsonSubTypes({
-		@JsonSubTypes.Type(value = ChoiceQuestionContent.class, name = "ChoiceQuestionContent")
-})
 public class Content extends Entity {
 	public enum Format {
 		CHOICE,
diff --git a/src/main/java/de/thm/arsnova/entities/serialization/CouchDbDocumentModule.java b/src/main/java/de/thm/arsnova/entities/serialization/CouchDbDocumentModule.java
index 7584b1556..a99adbf97 100644
--- a/src/main/java/de/thm/arsnova/entities/serialization/CouchDbDocumentModule.java
+++ b/src/main/java/de/thm/arsnova/entities/serialization/CouchDbDocumentModule.java
@@ -36,12 +36,8 @@ public class CouchDbDocumentModule extends SimpleModule {
 		context.setMixInAnnotations(Entity.class, CouchDbDocumentMixIn.class);
 		context.setMixInAnnotations(de.thm.arsnova.entities.migration.v2.Entity.class, CouchDbDocumentV2MixIn.class);
 		context.registerSubtypes(
-				new NamedType(Content.class, Content.Format.TEXT.toString()),
-				new NamedType(Content.class, Content.Format.NUMBER.toString()),
-				new NamedType(ChoiceQuestionContent.class, Content.Format.CHOICE.toString()),
-				new NamedType(ChoiceQuestionContent.class, Content.Format.BINARY.toString()),
-				new NamedType(ChoiceQuestionContent.class, Content.Format.SCALE.toString()),
-				new NamedType(ChoiceQuestionContent.class, Content.Format.GRID.toString()),
+				new NamedType(Content.class, Content.class.getSimpleName()),
+				new NamedType(ChoiceQuestionContent.class, ChoiceQuestionContent.class.getSimpleName()),
 				new NamedType(Answer.class, Answer.class.getSimpleName()),
 				new NamedType(ChoiceAnswer.class, ChoiceAnswer.class.getSimpleName()),
 				new NamedType(TextAnswer.class, TextAnswer.class.getSimpleName()));
-- 
GitLab