Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-2463

Using an evaluator outside the scope of an entity results in a null context

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 3.1.1, 3.5, 3.6, 3.6.1, 4.0-ALPHA
    • 3.1.1
    • None

    Description

      When using an Evaluator outside an entity element the Context argument is null.

      foo.LowerCaseFunctionEvaluator.java
      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();
       }
      }
      
      data-config.xml
      <dataSource name="..."
                  type="..."
                  driver="..."
                  url="..."
                  user="${dataimporter.functions.toLowerCase('THIS_WILL_NOT_WORK')}"
                  password="..."/>
      
      data-config.xml
      <entity name="..."
              dataSource="..."
              query="select * from ${dataimporter.functions.toLowerCase('THIS_WILL_WORK')}"/>
      

      This use case worked in 1.4

      Attachments

        Issue Links

          Activity

            People

              shalin Shalin Shekhar Mangar
              rzotter Robert Zotter
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: