From 85d2af23906026b63139458b4a8da6cf2ba5c4a6 Mon Sep 17 00:00:00 2001
From: Daniel Gerhardt <code@dgerhardt.net>
Date: Sun, 16 Jul 2017 21:48:04 +0200
Subject: [PATCH] Catch DocumentNotFoundException on design doc creation

---
 .../couchdb/InitializingCouchDbConnector.java            | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/InitializingCouchDbConnector.java b/src/main/java/de/thm/arsnova/persistance/couchdb/InitializingCouchDbConnector.java
index b6675a48d..d968a7ae0 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/InitializingCouchDbConnector.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/InitializingCouchDbConnector.java
@@ -2,6 +2,7 @@ package de.thm.arsnova.persistance.couchdb;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import org.ektorp.CouchDbInstance;
+import org.ektorp.DocumentNotFoundException;
 import org.ektorp.impl.ObjectMapperFactory;
 import org.ektorp.impl.StdCouchDbConnector;
 import org.slf4j.Logger;
@@ -62,12 +63,12 @@ public class InitializingCouchDbConnector extends StdCouchDbConnector implements
 					logger.warn("Failed to serialize design doc.", e);
 				}
 			}
-			String rev = getCurrentRevision((String) doc.get("_id"));
-			if (rev == null) {
-				create(doc);
-			} else {
+			try {
+				String rev = getCurrentRevision((String) doc.get("_id"));
 				doc.put("_rev", rev);
 				update(doc);
+			} catch (DocumentNotFoundException e) {
+				create(doc);
 			}
 		});
 	}
-- 
GitLab