Quellcode durchsuchen

HUE-2451 [dashboard] Rename the Solr expression parser to Solr formula parser

Johan Ahlen vor 8 Jahren
Ursprung
Commit
06e6167be3

+ 2 - 2
Gruntfile.js

@@ -120,9 +120,9 @@ module.exports = function(grunt) {
           'desktop/core/src/desktop/static/desktop/js/autocomplete/jison/globalSearchParser.js': ['desktop/core/src/desktop/static/desktop/js/autocomplete/jison/globalSearchParser.js']
         }
       },
-      solrExpressionParser: {
+      solrFormulaParser: {
         files: {
-          'desktop/core/src/desktop/static/desktop/js/autocomplete/jison/solrExpressionParser.js': ['desktop/core/src/desktop/static/desktop/js/autocomplete/jison/solrExpressionParser.js']
+          'desktop/core/src/desktop/static/desktop/js/autocomplete/jison/solrFormulaParser.js': ['desktop/core/src/desktop/static/desktop/js/autocomplete/jison/solrFormulaParser.js']
         }
       }
     }

+ 58 - 58
desktop/core/src/desktop/static/desktop/js/autocomplete/jison/solrExpressionParser.jison → desktop/core/src/desktop/static/desktop/js/autocomplete/jison/solrFormulaParser.jison

@@ -55,18 +55,18 @@
 %left '+' '-'
 %left '*' '/'
 
-%start SolrExpressionAutocomplete
+%start SolrFormulaAutocomplete
 
 %%
 
-SolrExpressionAutocomplete
- : SolrExpression 'EOF'
+SolrFormulaAutocomplete
+ : SolrFormula 'EOF'
    {
      return {
        parsedValue: $1
      };
    }
- | SolrExpression_EDIT 'EOF'
+ | SolrFormula_EDIT 'EOF'
    {
      return $1
    }
@@ -76,83 +76,83 @@ SolrExpressionAutocomplete
    }
  ;
 
-SolrExpression
- : NonParenthesizedSolrExpression
- | '(' NonParenthesizedSolrExpression ')'  -> $1 + $2 + $3
+SolrFormula
+ : NonParenthesizedSolrFormula
+ | '(' NonParenthesizedSolrFormula ')'  -> $1 + $2 + $3
  ;
 
-SolrExpression_EDIT
- : NonParenthesizedSolrExpression_EDIT
- | '(' NonParenthesizedSolrExpression_EDIT RightParenthesisOrError   --> $2
+SolrFormula_EDIT
+ : NonParenthesizedSolrFormula_EDIT
+ | '(' NonParenthesizedSolrFormula_EDIT RightParenthesisOrError  --> $2
  ;
 
-NonParenthesizedSolrExpression
+NonParenthesizedSolrFormula
  : 'NUMBER'
  | 'IDENTIFIER'
  | 'FUNCTION' '(' ArgumentList ')'    -> $1 + $2 + $3 + $4
- | SolrExpression '+' SolrExpression  -> 'sum(' + $1 + ',' + $3 + ')'
- | SolrExpression '-' SolrExpression  -> 'sub(' + $1 + ',' + $3 + ')'
- | SolrExpression '*' SolrExpression  -> 'mul(' + $1 + ',' + $3 + ')'
- | SolrExpression '/' SolrExpression  -> 'div(' + $1 + ',' + $3 + ')'
- | '-' SolrExpression                 -> 'sub(0,' + $2 + ')'
+ | SolrFormula '+' SolrFormula  -> 'sum(' + $1 + ',' + $3 + ')'
+ | SolrFormula '-' SolrFormula  -> 'sub(' + $1 + ',' + $3 + ')'
+ | SolrFormula '*' SolrFormula  -> 'mul(' + $1 + ',' + $3 + ')'
+ | SolrFormula '/' SolrFormula  -> 'div(' + $1 + ',' + $3 + ')'
+ | '-' SolrFormula                 -> 'sub(0,' + $2 + ')'
  ;
 
-NonParenthesizedSolrExpression_EDIT
- : 'NUMBER' 'CURSOR'                                                 --> { suggestOperators: true }
- | 'IDENTIFIER' 'CURSOR'                                             --> { suggestOperators: true }
- | 'CURSOR' 'NUMBER'                                                 --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | 'CURSOR' 'IDENTIFIER'                                             --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+NonParenthesizedSolrFormula_EDIT
+ : 'NUMBER' 'CURSOR'                                             --> { suggestOperators: true }
+ | 'IDENTIFIER' 'CURSOR'                                         --> { suggestOperators: true }
+ | 'CURSOR' 'NUMBER'                                             --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | 'CURSOR' 'IDENTIFIER'                                         --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
  ;
 
-NonParenthesizedSolrExpression_EDIT
- : 'FUNCTION' '(' 'CURSOR' RightParenthesisOrError                   --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | 'FUNCTION' '(' ArgumentList_EDIT RightParenthesisOrError          --> $3
- | 'FUNCTION' '(' ArgumentList ')' 'CURSOR'                          --> { suggestOperators: true }
+NonParenthesizedSolrFormula_EDIT
+ : 'FUNCTION' '(' 'CURSOR' RightParenthesisOrError               --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | 'FUNCTION' '(' ArgumentList_EDIT RightParenthesisOrError      --> $3
+ | 'FUNCTION' '(' ArgumentList ')' 'CURSOR'                      --> { suggestOperators: true }
  ;
 
-NonParenthesizedSolrExpression_EDIT
- : SolrExpression '+' 'CURSOR'                                       --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | 'CURSOR' '+' SolrExpression                                       --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | SolrExpression_EDIT '+' SolrExpression                            --> $1
- | SolrExpression '+' SolrExpression_EDIT                            --> $3
+NonParenthesizedSolrFormula_EDIT
+ : SolrFormula '+' 'CURSOR'                                      --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | 'CURSOR' '+' SolrFormula                                      --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | SolrFormula_EDIT '+' SolrFormula                              --> $1
+ | SolrFormula '+' SolrFormula_EDIT                              --> $3
  ;
 
-NonParenthesizedSolrExpression_EDIT
- : SolrExpression '-' 'CURSOR'                                       --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | 'CURSOR' '-' SolrExpression                                       --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | SolrExpression_EDIT '-' SolrExpression                            --> $1
- | SolrExpression '-' SolrExpression_EDIT                            --> $3
+NonParenthesizedSolrFormula_EDIT
+ : SolrFormula '-' 'CURSOR'                                      --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | 'CURSOR' '-' SolrFormula                                      --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | SolrFormula_EDIT '-' SolrFormula                              --> $1
+ | SolrFormula '-' SolrFormula_EDIT                              --> $3
  ;
 
-NonParenthesizedSolrExpression_EDIT
- : SolrExpression '*' 'CURSOR'                                       --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | 'CURSOR' '*' SolrExpression                                       --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | SolrExpression_EDIT '*' SolrExpression                            --> $1
- | SolrExpression '*' SolrExpression_EDIT                            --> $3
+NonParenthesizedSolrFormula_EDIT
+ : SolrFormula '*' 'CURSOR'                                      --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | 'CURSOR' '*' SolrFormula                                      --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | SolrFormula_EDIT '*' SolrFormula                              --> $1
+ | SolrFormula '*' SolrFormula_EDIT                              --> $3
  ;
 
-NonParenthesizedSolrExpression_EDIT
- : SolrExpression '/' 'CURSOR'                                       --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | 'CURSOR' '/' SolrExpression                                       --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | SolrExpression_EDIT '/' SolrExpression                            --> $1
- | SolrExpression '/' SolrExpression_EDIT                            --> $3
+NonParenthesizedSolrFormula_EDIT
+ : SolrFormula '/' 'CURSOR'                                      --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | 'CURSOR' '/' SolrFormula                                      --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | SolrFormula_EDIT '/' SolrFormula                              --> $1
+ | SolrFormula '/' SolrFormula_EDIT                              --> $3
  ;
 
-NonParenthesizedSolrExpression_EDIT
- : '-' 'CURSOR'                                                      --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
- | '-' SolrExpression_EDIT                                           --> $2
+NonParenthesizedSolrFormula_EDIT
+ : '-' 'CURSOR'                                                  --> { suggestAggregateFunctions: true, suggestFunctions: true, suggestFields: true }
+ | '-' SolrFormula_EDIT                                          --> $2
  ;
 
 ArgumentList
- : SolrExpression
- | ArgumentList ',' SolrExpression
+ : SolrFormula
+ | ArgumentList ',' SolrFormula
  ;
 
 ArgumentList_EDIT
- : SolrExpression_EDIT
- | ArgumentList ',' SolrExpression_EDIT                              --> $3
- | SolrExpression_EDIT ',' ArgumentList
- | ArgumentList ',' SolrExpression_EDIT ',' ArgumentList             --> $3
+ : SolrFormula_EDIT
+ | ArgumentList ',' SolrFormula_EDIT                             --> $3
+ | SolrFormula_EDIT ',' ArgumentList
+ | ArgumentList ',' SolrFormula_EDIT ',' ArgumentList            --> $3
  ;
 
 
@@ -198,14 +198,14 @@ parser.addFieldLocation = function (location, name) {
   parser.yy.locations.push({ type: 'field', name: name, location: adjustLocationForCursor(location) });
 }
 
-parser.parseSolrExpression = function (expression, debug) {
+parser.parseSolrFormula = function (formula, debug) {
   parser.yy.cursorFound = false;
   parser.yy.locations = [];
-  expression = expression.replace(/\r\n|\n\r/gm, '\n');
+  formula = formula.replace(/\r\n|\n\r/gm, '\n');
 
   var result;
   try {
-    result = parser.parse(expression);
+    result = parser.parse(formula);
   } catch (err) {
     if (debug) {
       console.log(beforeCursor + '\u2020' + afterCursor);
@@ -216,7 +216,7 @@ parser.parseSolrExpression = function (expression, debug) {
   return result || false;
 }
 
-parser.autocompleteSolrExpression = function (beforeCursor, afterCursor, debug) {
+parser.autocompleteSolrFormula = function (beforeCursor, afterCursor, debug) {
   parser.yy.cursorFound = false;
   parser.yy.locations = [];
 

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 15
desktop/core/src/desktop/static/desktop/js/autocomplete/solrExpressionParser.js


Datei-Diff unterdrückt, da er zu groß ist
+ 15 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/solrFormulaParser.js


+ 4 - 4
desktop/core/src/desktop/static/desktop/spec/autocomplete/solrExpressionParserSpec.js → desktop/core/src/desktop/static/desktop/spec/autocomplete/solrFormulaParserSpec.js

@@ -14,11 +14,11 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 (function () {
-  describe('solrExpressionParser.js', function () {
+  describe('solrFormulaParser.js', function () {
 
     describe('autocomplete', function () {
       var testAutocomplete = function (beforeCursor, afterCursor, expectedResult) {
-        var result = solrExpressionParser.autocompleteSolrExpression(beforeCursor, afterCursor, true);
+        var result = solrFormulaParser.autocompleteSolrFormula(beforeCursor, afterCursor, true);
         if (!expectedResult.locations) {
           delete result.locations;
         }
@@ -87,7 +87,7 @@
 
     describe('parse', function () {
       var testParse = function (expression, expectedResult) {
-        var result = solrExpressionParser.parseSolrExpression(expression);
+        var result = solrFormulaParser.parseSolrFormula(expression);
         expect(result).toBeTruthy();
         expect(result).toEqual(expectedResult);
       };
@@ -99,7 +99,7 @@
       });
 
       it('should fail parsing "min(boo"', function () {
-        var result = solrExpressionParser.parseSolrExpression('min(boo');
+        var result = solrFormulaParser.parseSolrFormula('min(boo');
         expect(result).toBeFalsy();
       });
 

+ 1 - 1
desktop/core/src/desktop/templates/common_header.mako

@@ -177,7 +177,7 @@ if USE_NEW_EDITOR.get():
   <script src="${ static('desktop/js/autocomplete/sqlParseSupport.js') }"></script>
   <script src="${ static('desktop/js/autocomplete/sqlStatementsParser.js') }"></script>
   <script src="${ static('desktop/js/autocomplete/sqlAutocompleteParser.js') }"></script>
-  <script src="${ static('desktop/js/autocomplete/solrExpressionParser.js') }"></script>
+  <script src="${ static('desktop/js/autocomplete/solrFormulaParser.js') }"></script>
   <script src="${ static('desktop/js/autocomplete/globalSearchParser.js') }"></script>
 
   <script>

+ 1 - 1
desktop/core/src/desktop/templates/hue.mako

@@ -479,7 +479,7 @@ ${ commonshare() | n,unicode }
 <script src="${ static('desktop/js/autocomplete/sqlParseSupport.js') }"></script>
 <script src="${ static('desktop/js/autocomplete/sqlAutocompleteParser.js') }"></script>
 <script src="${ static('desktop/js/autocomplete/globalSearchParser.js') }"></script>
-<script src="${ static('desktop/js/autocomplete/solrExpressionParser.js') }"></script>
+<script src="${ static('desktop/js/autocomplete/solrFormulaParser.js') }"></script>
 <script src="${ static('desktop/js/sqlAutocompleter.js') }"></script>
 <script src="${ static('desktop/js/sqlAutocompleter2.js') }"></script>
 <script src="${ static('desktop/js/hdfsAutocompleter.js') }"></script>

+ 2 - 2
desktop/core/src/desktop/templates/jasmineRunner.html

@@ -134,8 +134,8 @@
   <script type="text/javascript" src="../static/desktop/js/autocomplete/globalSearchParser.js"></script>
   <script type="text/javascript" src="../static/desktop/spec/autocomplete/globalSearchParserSpec.js"></script>
 
-  <script type="text/javascript" src="../static/desktop/js/autocomplete/solrExpressionParser.js"></script>
-  <script type="text/javascript" src="../static/desktop/spec/autocomplete/solrExpressionParserSpec.js"></script>
+  <script type="text/javascript" src="../static/desktop/js/autocomplete/solrFormulaParser.js"></script>
+  <script type="text/javascript" src="../static/desktop/spec/autocomplete/solrFormulaParserSpec.js"></script>
 
   <script type="text/javascript" charset="utf-8">
     if (/PhantomJS/.test(window.navigator.userAgent)) {

+ 2 - 2
desktop/core/src/desktop/templates/ko_components/ko_simple_ace_editor.mako

@@ -556,12 +556,12 @@ from desktop.views import _ko
 
         SolrFormulaAutocompleter.prototype.autocomplete = function () {
           var self = this;
-          var parseResult = solrExpressionParser.autocompleteSolrExpression(self.editor.getTextBeforeCursor(), self.editor.getTextAfterCursor());
+          var parseResult = solrFormulaParser.autocompleteSolrFormula(self.editor.getTextBeforeCursor(), self.editor.getTextAfterCursor());
           self.suggestions.update(parseResult);
         };
 
         SolrFormulaAutocompleter.prototype.parse = function (value) {
-          return solrExpressionParser.parseSolrExpression(value);
+          return solrFormulaParser.parseSolrFormula(value);
         };
 
         return SolrFormulaAutocompleter;

+ 5 - 5
tools/jison/hue-solr-formula.sh

@@ -21,11 +21,11 @@ echo "Generating parser..."
 
 pushd ../../desktop/core/src/desktop/static/desktop/js/autocomplete/jison
 
-echo "Creating SOLR Expression parser..."
-jison solrExpressionParser.jison
-grunt uglify:solrExpressionParser
-cat license.txt solrExpressionParser.js > ../solrExpressionParser.js
-rm solrExpressionParser.js
+echo "Creating SOLR Formula parser..."
+jison solrFormulaParser.jison
+grunt uglify:solrFormulaParser
+cat license.txt solrFormulaParser.js > ../solrFormulaParser.js
+rm solrFormulaParser.js
 
 popd
 echo "Done!"

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.