From c2757a212b17e228fe4a43d66075e37988af939a Mon Sep 17 00:00:00 2001
From: Daniel Gerhardt <code@dgerhardt.net>
Date: Mon, 15 May 2017 09:52:14 +0200
Subject: [PATCH] Exclude empty ids/revs from serialization for CouchDB

The creation of new documents is blocked if an empty _rev is set.
---
 .../entities/serialization/CouchDbDocumentMixIn.java | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/main/java/de/thm/arsnova/entities/serialization/CouchDbDocumentMixIn.java b/src/main/java/de/thm/arsnova/entities/serialization/CouchDbDocumentMixIn.java
index 84a77f04..bd9eac28 100644
--- a/src/main/java/de/thm/arsnova/entities/serialization/CouchDbDocumentMixIn.java
+++ b/src/main/java/de/thm/arsnova/entities/serialization/CouchDbDocumentMixIn.java
@@ -18,12 +18,20 @@
 package de.thm.arsnova.entities.serialization;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 @JsonIgnoreProperties(value = {"type"}, allowGetters = true)
 public abstract class CouchDbDocumentMixIn {
-	@JsonProperty("_id") abstract String getId();
+	@JsonProperty("_id")
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
+	abstract String getId();
+
 	@JsonProperty("_id") abstract void setId(String id);
-	@JsonProperty("_rev") abstract String getRevision();
+
+	@JsonProperty("_rev")
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
+	abstract String getRevision();
+
 	@JsonProperty("_rev") abstract String setRevision(String rev);
 }
-- 
GitLab