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