[ https://issues.apache.org/jira/browse/SOLR-2463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Zotter updated SOLR-2463: -------------------------------- Description: When using an Evaluator outside an entity element the Context argument is null. {code:title=foo.LowerCaseFunctionEvaluator.java|borderStyle=solid} 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(); } } {code} {code:title=data-config.xml|borderStyle=solid} <dataSource name="..." type="..." driver="..." url="..." user="${dataimporter.functions.toLowerCase('THIS_WILL_NOT_WORK')}" password="..."/> {code} {code:title=data-config.xml|borderStyle=solid} <entity name="..." dataSource="..." query="select * from ${dataimporter.functions.toLowerCase('THIS_WILL_WORK')}"/> {code} This use case worked in 1.4 was: When using an Evaluator outside an entity element the Context argument is null. {code:title=foo.LowerCaseFunctionEvaluator.java|borderStyle=solid} 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(); } } {code} {code:title=data-config.xml|borderStyle=solid} <dataSource name="..." type="..." driver="..." url="..." user="${dataimporter.functions.toLowerCase('THIS_WILL_NOT_WORK')}" password="..."/> {code} {code:title=data-config.xml|borderStyle=solid} <entity name="..." dataSource="..." query="select * from ${dataimporter.functions.toLowerCase('THIS_WILL_WORK')}"/> {code} > Using an evaluator outside the scope of an entity results in a null context > --------------------------------------------------------------------------- > > Key: SOLR-2463 > URL: https://issues.apache.org/jira/browse/SOLR-2463 > Project: Solr > Issue Type: Bug > Components: contrib - DataImportHandler > Affects Versions: 3.1, 3.1.1, 4.0 > Reporter: Robert Zotter > Priority: Minor > > When using an Evaluator outside an entity element the Context argument is > null. > {code:title=foo.LowerCaseFunctionEvaluator.java|borderStyle=solid} > 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(); > } > } > {code} > {code:title=data-config.xml|borderStyle=solid} > <dataSource name="..." > type="..." > driver="..." > url="..." > user="${dataimporter.functions.toLowerCase('THIS_WILL_NOT_WORK')}" > password="..."/> > {code} > {code:title=data-config.xml|borderStyle=solid} > <entity name="..." > dataSource="..." > query="select * from > ${dataimporter.functions.toLowerCase('THIS_WILL_WORK')}"/> > {code} > This use case worked in 1.4 -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org