1 package de.dlr.shepard.common.search.query;
2
3 import de.dlr.shepard.common.exceptions.InvalidBodyException;
4
5 public class QueryValidator {
6
7 private QueryValidator() {}
8
9 private static final String[] keywords = {
10 "match",
11 "detach",
12 "delete",
13 "create",
14 "where",
15 "drop",
16 "call",
17 "constraint",
18 "index",
19 "merge",
20 "return",
21 "set",
22 "show",
23 "terminate",
24 "union",
25 "unwind",
26 };
27
28 private static final String[] delimiters = { " ", "(", "{", "\n", "[" };
29
30 public static boolean checkQuery(String query) {
31 for (String keyword : keywords) for (String delimiter : delimiters) if (
32 query.toLowerCase().contains(keyword + delimiter)
33 ) throw new InvalidBodyException("query must not contain " + keyword + delimiter);
34 return true;
35 }
36 }