public static int getNumberOfParameters(String type) { CoreFunctionType ft = getByName(type); return ft.getParametersCount(); }
public static int getNumberOfParameters(String type) { CoreFunctionType ft = getByName(type); return ft.getParametersCount(); }
public ColumnFilter parseColumnFilter(JsonObject columnFilterJson) { if (columnFilterJson == null) { return null; } String columnId = columnFilterJson.getString(keySet(COLUMN)); String functionType = columnFilterJson.getString(keySet(FUNCTION_TYPE)); JsonArray terms = columnFilterJson.getArray(keySet(FUNCTION_ARGS)); if (functionType == null) { throw new RuntimeException("Dataset lookup column filter null function type"); } if (isCoreFilter(functionType)) { CoreFunctionFilter cff = new CoreFunctionFilter(); cff.setColumnId(columnId); cff.setType(CoreFunctionType.getByName(functionType)); cff.setParameters(parseCoreFunctionParameters(terms)); return cff; } else if (isLogicalFilter(functionType)) { LogicalExprFilter lef = new LogicalExprFilter(); lef.setColumnId(columnId); lef.setLogicalOperator(LogicalExprType.getByName(functionType)); // Logical expression terms are an an array of column filters lef.setLogicalTerms(parseColumnFilters(terms)); return lef; } else { throw new RuntimeException("Dataset lookup column filter wrong type"); } }
public ColumnFilter parseColumnFilter(JsonObject columnFilterJson) { if (columnFilterJson == null) { return null; } String columnId = columnFilterJson.getString(keySet(COLUMN)); String functionType = columnFilterJson.getString(keySet(FUNCTION_TYPE)); JsonArray terms = columnFilterJson.getArray(keySet(FUNCTION_ARGS)); if (functionType == null) { throw new RuntimeException("Dataset lookup column filter null function type"); } if (isCoreFilter(functionType)) { CoreFunctionFilter cff = new CoreFunctionFilter(); cff.setColumnId(columnId); cff.setType(CoreFunctionType.getByName(functionType)); cff.setParameters(parseCoreFunctionParameters(terms)); return cff; } else if (isLogicalFilter(functionType)) { LogicalExprFilter lef = new LogicalExprFilter(); lef.setColumnId(columnId); lef.setLogicalOperator(LogicalExprType.getByName(functionType)); // Logical expression terms are an an array of column filters lef.setLogicalTerms(parseColumnFilters(terms)); return lef; } else { throw new RuntimeException("Dataset lookup column filter wrong type"); } }