From bedd1caad3b403bebb0e464299000d0ccd7dda30 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Thu, 30 Sep 2021 22:31:29 +0200
Subject: [PATCH] FIX #183

---
 .../caosdb/server/datatype/DateTimeDatatype.java  | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java b/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
index 574e40cb..9c66f425 100644
--- a/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
@@ -37,12 +37,19 @@ public class DateTimeDatatype extends AbstractDatatype {
     try {
       if (value instanceof UTCDateTime || value instanceof Date) {
         return (DateTimeInterface) value;
-      } else if (value instanceof GenericValue) {
-        return DateTimeFactory2.valueOf(((GenericValue) value).toDatabaseString());
+      }
+
+      DateTimeInterface result;
+      if (value instanceof GenericValue) {
+        result = DateTimeFactory2.valueOf(((GenericValue) value).toDatabaseString());
       } else {
-        return DateTimeFactory2.valueOf(value.toString());
+        result = DateTimeFactory2.valueOf(value.toString());
       }
-    } catch (final IllegalArgumentException e) {
+
+      // Test if this is storable
+      result.toDatabaseString();
+      return result;
+    } catch (final UnsupportedOperationException | IllegalArgumentException e) {
       throw ServerMessages.CANNOT_PARSE_DATETIME_VALUE;
     }
   }
-- 
GitLab