From 0c601ca0a0b64e21aac482d62521b87624571d49 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Wed, 8 Sep 2021 11:38:10 +0200
Subject: [PATCH] Fix for https://gitlab.com/caosdb/caosdb-server/-/issues/127

---
 .../caosdb/server/datatype/DoubleDatatype.java    | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java b/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
index f2f8d282..e9e25265 100644
--- a/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
@@ -33,16 +33,19 @@ public class DoubleDatatype extends AbstractDatatype {
   public SingleValue parseValue(final Object value) throws Message {
     try {
       if (value instanceof GenericValue) {
-        return new GenericValue(Double.parseDouble(((GenericValue) value).toDatabaseString()));
+        return parse(((GenericValue) value).toDatabaseString());
       } else {
-        String valueStr = value.toString();
-        if (valueStr.toLowerCase().equals("nan")) {
-          valueStr = "NaN";
-        }
-        return new GenericValue(Double.parseDouble(valueStr));
+        return parse(value.toString());
       }
     } catch (final NumberFormatException e) {
       throw ServerMessages.CANNOT_PARSE_DOUBLE_VALUE;
     }
   }
+
+  private GenericValue parse(String valueStr) {
+    if (valueStr.toLowerCase().equals("nan")) {
+      valueStr = "NaN";
+    }
+    return new GenericValue(Double.parseDouble(valueStr));
+  }
 }
-- 
GitLab