Skip to content

Package: SoqlFunctionTranslator

SoqlFunctionTranslator

nameinstructionbranchcomplexitylinemethod
SoqlFunctionTranslator()
M: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
getSparqlFunction(String)
M: 14 C: 13
48%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 1 C: 3
75%
M: 0 C: 1
100%
initFunctions()
M: 0 C: 36
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
static {...}
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package cz.cvut.kbss.jopa.query.soql;
2:
3: import cz.cvut.kbss.jopa.exception.QueryParserException;
4:
5: import java.util.HashMap;
6: import java.util.Locale;
7: import java.util.Map;
8:
9: /**
10: * Translates SOQL functions to SPARQL functions.
11: */
12: class SoqlFunctionTranslator {
13:
14: private static final Map<String, String> FUNCTION_MAP = initFunctions();
15:
16: private static Map<String, String> initFunctions() {
17: final Map<String, String> map = new HashMap<>();
18: map.put(SoqlConstants.Functions.UPPER, "UCASE");
19: map.put(SoqlConstants.Functions.LOWER, "LCASE");
20: map.put(SoqlConstants.Functions.LENGTH, "STRLEN");
21: map.put(SoqlConstants.Functions.ABS, "ABS");
22: map.put(SoqlConstants.Functions.CEIL, "CEIL");
23: map.put(SoqlConstants.Functions.FLOOR, "FLOOR");
24: return map;
25: }
26:
27: private SoqlFunctionTranslator() {
28: throw new AssertionError();
29: }
30:
31: /**
32: * Gets a SPARQL function equivalent to the specified SOQL function.
33: *
34: * @param soqlFunction SOQL function name
35: * @return Matching SPARQL function name
36: * @throws QueryParserException If the specified function has no SPARQL equivalent here
37: */
38: static String getSparqlFunction(String soqlFunction) {
39: final String fName = soqlFunction.toUpperCase(Locale.ROOT);
40:• if (!FUNCTION_MAP.containsKey(fName)) {
41: throw new QueryParserException("Unsupported SOQL function '" + soqlFunction + "'.");
42: }
43: return FUNCTION_MAP.get(fName);
44: }
45: }