You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Zotter (JIRA)" <ji...@apache.org> on 2011/04/08 22:53:05 UTC
[jira] [Updated] (SOLR-2463) Using an evaluator outside the scope
of an entity results in a null context
[ 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org