From bbf33a4168a08239aadafeb509c4efe4588670ab Mon Sep 17 00:00:00 2001
From: Daniel <d.hornung@indiscale.com>
Date: Mon, 15 Nov 2021 14:41:23 +0100
Subject: [PATCH] ENH: fail for multiple requests (fail fast for unsupported
 requests)

---
 src/main/java/org/caosdb/server/entity/Entity.java             | 1 -
 .../org/caosdb/server/grpc/EntityTransactionServiceImpl.java   | 3 +++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/caosdb/server/entity/Entity.java b/src/main/java/org/caosdb/server/entity/Entity.java
index 76ed7bf1..2ae8ddc1 100644
--- a/src/main/java/org/caosdb/server/entity/Entity.java
+++ b/src/main/java/org/caosdb/server/entity/Entity.java
@@ -700,7 +700,6 @@ public class Entity extends AbstractObservable implements EntityInterface {
     if (!this.isParsed) {
       this.isParsed = true;
       setValue(getDatatype().parseValue(getValue()));
-      this.isParsed = true;
     }
   }
 
diff --git a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
index 0b2d7917..b246af0c 100644
--- a/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
+++ b/src/main/java/org/caosdb/server/grpc/EntityTransactionServiceImpl.java
@@ -70,6 +70,9 @@ public class EntityTransactionServiceImpl extends EntityTransactionServiceImplBa
       if (sub_request.getRetrieveRequest().hasQuery() // Retrieves are either queries...
           && !sub_request.getRetrieveRequest().getQuery().getQuery().isBlank()) {
         final String query = sub_request.getRetrieveRequest().getQuery().getQuery();
+        if (container.getFlags().containsKey("query")) { // Check for more than one query request.
+          throw new CaosDBException("Cannot process more than one query request.");
+        }
         container.getFlags().put("query", query);
         if (isFileDownload) {
           container.getFlags().put("download_files", "true");
-- 
GitLab