public IValueExpression<? extends IV> create(final BOpContextBase context, final GlobalAnnotations globals, Map<String, Object> scalarValues, final ValueExpressionNode... args) { checkArgs(args, ValueExpressionNode.class); // final IValueExpression<? extends IV> var = args[0].getValueExpression(); final IValueExpression ve = AST2BOpUtility.toVE(context,globals, args[0]); final String baseURI = (String) scalarValues.get(IriBOp.Annotations.BASE_URI); return new IriBOp(ve, baseURI, globals); } });
/** * This is a variant of {@link #test_custom_function_1()} where the function * is evaluated against a constant. */ public void test_custom_function_3() throws Exception { final URI myFunctionUri = new URIImpl( "http://www.bigdata.com/myFunction"); final FunctionRegistry.Factory myFactory = new MyFunctionFactory(); FunctionRegistry.add(myFunctionUri, myFactory); try { new TestHelper("custom-function-3").runTest(); } finally { FunctionRegistry.remove(myFunctionUri); } }
if(!FunctionRegistry.containsFunction(myFunctionURI)) { FunctionRegistry.add(myFunctionURI, securityFactory);
FunctionRegistry.add(myFunctionURI, securityFactory);
((op instanceof FunctionNode) && FunctionRegistry.isAggregate(((FunctionNode) op).getFunctionURI())) ) { if(withinAggregateFunction) {
new ValueExpressionNode[functionNode.arity()]); final IValueExpression<? extends IV> ve = FunctionRegistry.toVE( context, globals, functionURI, scalarValues, args);
((op instanceof FunctionNode) && FunctionRegistry.isAggregate(((FunctionNode) op).getFunctionURI())) ) { if(withinAggregateFunction) {
new ValueExpressionNode[functionNode.arity()]); final IValueExpression<? extends IV> ve = FunctionRegistry.toVE( context, globals, functionURI, scalarValues, args);
public IValueExpression<? extends IV> create(final BOpContextBase context, final GlobalAnnotations globals, Map<String, Object> scalarValues, final ValueExpressionNode... args) { checkArgs(args, ValueExpressionNode.class); // final IValueExpression<? extends IV> var = args[0].getValueExpression(); final IValueExpression ve = AST2BOpUtility.toVE(context,globals, args[0]); final String baseURI = (String) scalarValues.get(IriBOp.Annotations.BASE_URI); return new IriBOp(ve, baseURI, globals); } });
if(!FunctionRegistry.containsFunction(myFunctionURI)) { FunctionRegistry.add(myFunctionURI, securityFactory);
private IValueExpression convertAggregates(final BOp exprNode) { IValueExpression expr; final BOp[] args = new BOp[exprNode.args().size()]; if (exprNode!=null && exprNode.arity()>0) { for (int i=0; i<exprNode.args().size(); i++) { final BOp arg = exprNode.args().get(i); final IValueExpression newValue = convertAggregates(arg); if (newValue!=null) { args[i] = newValue; } else { args[i] = arg; } } } if (exprNode instanceof FunctionNode) { if ((exprNode instanceof FunctionNode) && FunctionRegistry.isAggregate(((FunctionNode) exprNode).getFunctionURI())) { expr = new AggregateBase(args, null) { @Override public void reset() {} @Override public IV done() { return null; } }; } else { expr = new UnknownFunctionBOp(args, null); } } else { expr = null; } return expr; }
public IValueExpression<? extends IV> create(final BOpContextBase context, final GlobalAnnotations globals, Map<String, Object> scalarValues, final ValueExpressionNode... args) { checkArgs(args, ValueExpressionNode.class); final IValueExpression<? extends IV> var = AST2BOpUtility.toVE(context,globals, args[0]); return new StrlenBOp(var,globals); } });
/** * This is a variant of {@link #test_custom_function_1()} where the function * is evaluated against a constant. */ public void test_custom_function_3() throws Exception { final URI myFunctionUri = new URIImpl( "http://www.bigdata.com/myFunction"); final FunctionRegistry.Factory myFactory = new MyFunctionFactory(); FunctionRegistry.add(myFunctionUri, myFactory); try { new TestHelper("custom-function-3").runTest(); } finally { FunctionRegistry.remove(myFunctionUri); } }
private IValueExpression convertAggregates(final BOp exprNode) { IValueExpression expr; final BOp[] args = new BOp[exprNode.args().size()]; if (exprNode!=null && exprNode.arity()>0) { for (int i=0; i<exprNode.args().size(); i++) { final BOp arg = exprNode.args().get(i); final IValueExpression newValue = convertAggregates(arg); if (newValue!=null) { args[i] = newValue; } else { args[i] = arg; } } } if (exprNode instanceof FunctionNode) { if ((exprNode instanceof FunctionNode) && FunctionRegistry.isAggregate(((FunctionNode) exprNode).getFunctionURI())) { expr = new AggregateBase(args, null) { @Override public void reset() {} @Override public IV done() { return null; } }; } else { expr = new UnknownFunctionBOp(args, null); } } else { expr = null; } return expr; }
public IValueExpression<? extends IV> create(final BOpContextBase context, final GlobalAnnotations globals, Map<String, Object> scalarValues, final ValueExpressionNode... args) { checkArgs(args, ValueExpressionNode.class); final IValueExpression<? extends IV> arg = AST2BOpUtility.toVE(context, globals, args[0]); return new NotBOp(arg); } });
/** * Unit test for a simple custom function extending * {@link XSDBooleanIVValueExpression}, including access to the * {@link ILexiconConfiguration}. */ public void test_custom_function_2() throws Exception { final URI myFunctionUri = new URIImpl( "http://www.bigdata.com/myFunction2"); final FunctionRegistry.Factory myFactory = new MyFilterFactory(); FunctionRegistry.add(myFunctionUri, myFactory); try { new TestHelper("custom-function-2").runTest(); } finally { FunctionRegistry.remove(myFunctionUri); } }
if (FunctionRegistry.isAggregate(functionNode .getFunctionURI()))
public IValueExpression<? extends IV> create(final BOpContextBase context, final GlobalAnnotations globals, Map<String, Object> scalarValues, final ValueExpressionNode... args) { checkArgs(args, ValueExpressionNode.class); // final IValueExpression<? extends IV> var = args[0].getValueExpression(); final IValueExpression ve = AST2BOpUtility.toVE(context,globals, args[0]); return new XsdLongBOp(ve, globals); } });
/** * Unit test for a simple custom function extending * {@link XSDBooleanIVValueExpression}, including access to the * {@link ILexiconConfiguration}. */ public void test_custom_function_2() throws Exception { final URI myFunctionUri = new URIImpl( "http://www.bigdata.com/myFunction2"); final FunctionRegistry.Factory myFactory = new MyFilterFactory(); FunctionRegistry.add(myFunctionUri, myFactory); try { new TestHelper("custom-function-2").runTest(); } finally { FunctionRegistry.remove(myFunctionUri); } }