diff --git a/SciGraph-services/src/main/java/io/scigraph/services/resources/CypherUtilService.java b/SciGraph-services/src/main/java/io/scigraph/services/resources/CypherUtilService.java index 55d00958..d11504e5 100644 --- a/SciGraph-services/src/main/java/io/scigraph/services/resources/CypherUtilService.java +++ b/SciGraph-services/src/main/java/io/scigraph/services/resources/CypherUtilService.java @@ -26,6 +26,7 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; +import java.util.logging.Logger; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.TimeUnit; @@ -63,6 +64,8 @@ @Produces({MediaType.TEXT_PLAIN}) public class CypherUtilService extends BaseResource { + private static final Logger logger = Logger.getLogger(CypherUtilService.class.getName()); + final private CypherUtil cypherUtil; final private GraphDatabaseService graphDb; final private CurieUtil curieUtil; @@ -131,6 +134,10 @@ public Response execute( } else { return Response.ok(cypherUtil.execute(replacedStartCurie).resultAsString()).cacheControl(null).build(); } + } catch (QueryExecutionException e) { + String errorMsg = "QueryExecutionException: " + e.getMessage(); + logger.warning(errorMsg); + return Response.status(400).entity(errorMsg).build(); } catch (TransactionTerminatedException e) { return Response.ok("The query execution exceeds dbms.transaction.timeout configuration. " + "Consider using the neo4j shell instead of this service.").build();