[ 
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

Reply via email to