From 5b4decb5045a907cdd07bafa2a0664bd79516d9a Mon Sep 17 00:00:00 2001
From: Daniel Gerhardt <code@dgerhardt.net>
Date: Sun, 18 Feb 2018 09:28:18 +0100
Subject: [PATCH] Only ignore revisions for specific migration

Revisions are copied by default but explicitly skipped for
V2ToV3Migration.
---
 .../thm/arsnova/entities/migration/FromV2Migrator.java | 10 +++++++++-
 .../couchdb/migrations/V2ToV3Migration.java            |  2 ++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/main/java/de/thm/arsnova/entities/migration/FromV2Migrator.java b/src/main/java/de/thm/arsnova/entities/migration/FromV2Migrator.java
index 898c6241d..0b48b6891 100644
--- a/src/main/java/de/thm/arsnova/entities/migration/FromV2Migrator.java
+++ b/src/main/java/de/thm/arsnova/entities/migration/FromV2Migrator.java
@@ -50,6 +50,8 @@ public class FromV2Migrator {
 	static final String V2_TYPE_GRID = "grid";
 	private static final Map<String, de.thm.arsnova.entities.Content.Format> formatMapping;
 
+	private boolean ignoreRevision = false;
+
 	static {
 		formatMapping = new HashMap<>();
 		formatMapping.put(V2_TYPE_ABCD, de.thm.arsnova.entities.Content.Format.CHOICE);
@@ -64,7 +66,9 @@ public class FromV2Migrator {
 
 	private void copyCommonProperties(final Entity from, final de.thm.arsnova.entities.Entity to) {
 		to.setId(from.getId());
-		//to.setRevision(from.getRevision());
+		if (!ignoreRevision) {
+			to.setRevision(from.getRevision());
+		}
 	}
 
 	public UserProfile migrate(final DbUser dbUser, final LoggedIn loggedIn, final MotdList motdList) {
@@ -355,4 +359,8 @@ public class FromV2Migrator {
 
 		return UserProfile.AuthProvider.UNKNOWN;
 	}
+
+	public void setIgnoreRevision(final boolean ignoreRevision) {
+		this.ignoreRevision = ignoreRevision;
+	}
 }
diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/migrations/V2ToV3Migration.java b/src/main/java/de/thm/arsnova/persistance/couchdb/migrations/V2ToV3Migration.java
index 92ab519b9..60647e2ed 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/migrations/V2ToV3Migration.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/migrations/V2ToV3Migration.java
@@ -82,10 +82,12 @@ public class V2ToV3Migration implements Migration {
 
 	public void migrate() {
 		createV2Index();
+		migrator.setIgnoreRevision(true);
 		migrateUsers();
 		migrateUnregisteredUsers();
 		migrateRooms();
 		migrateMotds();
+		migrator.setIgnoreRevision(false);
 	}
 
 	private void createV2Index() {
-- 
GitLab