THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Custom Functions for DIH
It is possible to plug in custom functions into DIH. Implement an Evaluator and specify it in the data-config.xml . Following is an example of an evaluator which does a 'toLowerCase' on a String.
<dataConfig> <function name="toLowerCase" class="foo.LowerCaseFunctionEvaluator"/> <document> <entity query="select * from table where name='${dih.functions.toLowerCase(dih.request.user)'"> <!- ......field declarations......-> </entity> </dataConfig>
The implementation of LowerCaseFunctionEvaluator
public class LowerCaseFunctionEvaluator extends Evaluator{ public String evaluate(String expression, Context context) { List l = EvaluatorBag.parseParams(expression, context.getVariableResolver()); if (l.size() != 1) { throw new RuntimeException("'toLowerCase' must have only one parameter "); } return l.get(0).toString().toLowerCase(); } }