use of com.sap.hadoop.windowing.functions2.table.npath.SymbolFunction.Symbol in project SQLWindowing by hbutani.
the class SymbolParser method parse.
public void parse() throws WindowingException {
symbols = patternStr.split("\\.");
symbolFunctions = new ArrayList<SymbolFunction>();
for (String symbol : symbols) {
boolean isStar = symbol.endsWith("*");
boolean isPlus = symbol.endsWith("+");
symbol = (isStar || isPlus) ? symbol.substring(0, symbol.length() - 1) : symbol;
Object[] symbolDetails = symbolExprEvalMap.get(symbol.toLowerCase());
if (symbolDetails == null) {
throw new WindowingException(sprintf("Unknown Symbol %s", symbol));
}
ExprNodeEvaluator symbolExprEval = (ExprNodeEvaluator) symbolDetails[0];
ObjectInspector symbolExprOI = (ObjectInspector) symbolDetails[1];
SymbolFunction sFn = new Symbol(symbolExprEval, symbolExprOI);
if (isStar) {
sFn = new Star(sFn);
} else if (isPlus) {
sFn = new Plus(sFn);
}
symbolFunctions.add(sFn);
}
symbolFnChain = new Chain(symbolFunctions);
}
Aggregations