QueryValidator.java
package de.dlr.shepard.search;
import de.dlr.shepard.exceptions.InvalidBodyException;
public class QueryValidator {
private QueryValidator() {}
private static final String[] keywords = {
"match",
"detach",
"delete",
"create",
"where",
"drop",
"call",
"constraint",
"index",
"merge",
"return",
"set",
"show",
"terminate",
"union",
"unwind",
};
private static final String[] delimiters = { " ", "(", "{", "\n", "[" };
public static boolean checkQuery(String query) {
for (String keyword : keywords) for (String delimiter : delimiters) if (
query.toLowerCase().contains(keyword + delimiter)
) throw new InvalidBodyException("query must not contain " + keyword + delimiter);
return true;
}
}