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