From b3f9ebedfd872b71a6fce7891df8e38da806062c Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Tue, 11 Aug 2020 11:53:04 +0200
Subject: [PATCH] FIX: ignore versioning for properties and parents

---
 src/main/java/caosdb/server/entity/wrapper/Parent.java      | 6 ++++++
 src/main/java/caosdb/server/entity/wrapper/Property.java    | 6 ++++++
 .../java/caosdb/server/entity/xml/SetFieldStrategy.java     | 2 +-
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/main/java/caosdb/server/entity/wrapper/Parent.java b/src/main/java/caosdb/server/entity/wrapper/Parent.java
index c36ffa9c..f3686b5b 100644
--- a/src/main/java/caosdb/server/entity/wrapper/Parent.java
+++ b/src/main/java/caosdb/server/entity/wrapper/Parent.java
@@ -57,4 +57,10 @@ public class Parent extends EntityWrapper {
   public Affiliation getAffiliation() {
     return this.affiliation;
   }
+
+  @Override
+  public boolean hasVersion() {
+    // parents are not versioned (yet).
+    return false;
+  }
 }
diff --git a/src/main/java/caosdb/server/entity/wrapper/Property.java b/src/main/java/caosdb/server/entity/wrapper/Property.java
index f6bb840a..1d1cd2a8 100644
--- a/src/main/java/caosdb/server/entity/wrapper/Property.java
+++ b/src/main/java/caosdb/server/entity/wrapper/Property.java
@@ -134,4 +134,10 @@ public class Property extends EntityWrapper {
   public EntityInterface getDomainEntity() {
     return this.domain;
   }
+
+  @Override
+  public boolean hasVersion() {
+    // properties are not versioned (yet).
+    return false;
+  }
 }
diff --git a/src/main/java/caosdb/server/entity/xml/SetFieldStrategy.java b/src/main/java/caosdb/server/entity/xml/SetFieldStrategy.java
index 3e7e735e..07c9fe67 100644
--- a/src/main/java/caosdb/server/entity/xml/SetFieldStrategy.java
+++ b/src/main/java/caosdb/server/entity/xml/SetFieldStrategy.java
@@ -115,7 +115,7 @@ public class SetFieldStrategy {
         // Always-true-strategy
         @Override
         public boolean isToBeSet(String field) {
-          return true;
+          return field == null || !field.equalsIgnoreCase("version");
         }
       };
     }
-- 
GitLab