You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metron.apache.org by ce...@apache.org on 2016/09/12 17:36:47 UTC

incubator-metron git commit: METRON-406: Stellar variable resolution does not resolve variables with ':' in them closes apache/incubator-metron#243

Repository: incubator-metron
Updated Branches:
  refs/heads/master 4212927b0 -> e0ef22ceb


METRON-406: Stellar variable resolution does not resolve variables with ':' in them closes apache/incubator-metron#243


Project: http://git-wip-us.apache.org/repos/asf/incubator-metron/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-metron/commit/e0ef22ce
Tree: http://git-wip-us.apache.org/repos/asf/incubator-metron/tree/e0ef22ce
Diff: http://git-wip-us.apache.org/repos/asf/incubator-metron/diff/e0ef22ce

Branch: refs/heads/master
Commit: e0ef22ceb65bba06fe730e6d632312daa88954d4
Parents: 4212927
Author: cstella <ce...@gmail.com>
Authored: Mon Sep 12 13:36:31 2016 -0400
Committer: cstella <ce...@gmail.com>
Committed: Mon Sep 12 13:36:31 2016 -0400

----------------------------------------------------------------------
 .../metron/common/stellar/generated/Stellar.g4      |  2 +-
 .../common/stellar/generated/StellarLexer.java      |  2 +-
 .../apache/metron/common/stellar/StellarTest.java   | 16 ++++++++++++++++
 3 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/e0ef22ce/metron-platform/metron-common/src/main/antlr4/org/apache/metron/common/stellar/generated/Stellar.g4
----------------------------------------------------------------------
diff --git a/metron-platform/metron-common/src/main/antlr4/org/apache/metron/common/stellar/generated/Stellar.g4 b/metron-platform/metron-common/src/main/antlr4/org/apache/metron/common/stellar/generated/Stellar.g4
index 3272429..023e807 100644
--- a/metron-platform/metron-common/src/main/antlr4/org/apache/metron/common/stellar/generated/Stellar.g4
+++ b/metron-platform/metron-common/src/main/antlr4/org/apache/metron/common/stellar/generated/Stellar.g4
@@ -89,7 +89,7 @@ NIN : 'not in'
 EXISTS : 'exists' | 'EXISTS';
 INT_LITERAL     : MINUS? '0'..'9'+ ;
 DOUBLE_LITERAL  : MINUS? '0'..'9'+'.''0'..'9'+ ;
-IDENTIFIER : [a-zA-Z_][a-zA-Z_\.0-9]* ;
+IDENTIFIER : [a-zA-Z_][a-zA-Z_\.:0-9]* ;
 fragment SCHAR:  ~['"\\\r\n];
 STRING_LITERAL : '"' SCHAR* '"'
                | '\'' SCHAR* '\'' ;

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/e0ef22ce/metron-platform/metron-common/src/main/java/org/apache/metron/common/stellar/generated/StellarLexer.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-common/src/main/java/org/apache/metron/common/stellar/generated/StellarLexer.java b/metron-platform/metron-common/src/main/java/org/apache/metron/common/stellar/generated/StellarLexer.java
index 1f655ad..7240d1e 100644
--- a/metron-platform/metron-common/src/main/java/org/apache/metron/common/stellar/generated/StellarLexer.java
+++ b/metron-platform/metron-common/src/main/java/org/apache/metron/common/stellar/generated/StellarLexer.java
@@ -144,7 +144,7 @@ public class StellarLexer extends Lexer {
 		"\u0120\n&\3&\3&\3\'\6\'\u0125\n\'\r\'\16\'\u0126\3\'\3\'\3\u011c\2(\3"+
 		"\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37"+
 		"\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36;\37="+
-		" ?!A\"C#E$G\2I%K&M\'\3\2\7\5\2C\\aac|\b\2\60\60\62;C\\^^aac|\7\2\f\f\17"+
+		" ?!A\"C#E$G\2I%K&M\'\3\2\7\5\2C\\aac|\b\2\60\60\62<C\\^^aac|\7\2\f\f\17"+
 		"\17$$))^^\3\3\f\f\5\2\13\f\16\17\"\"\u013f\2\3\3\2\2\2\2\5\3\2\2\2\2\7"+
 		"\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2"+
 		"\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2"+

http://git-wip-us.apache.org/repos/asf/incubator-metron/blob/e0ef22ce/metron-platform/metron-common/src/test/java/org/apache/metron/common/stellar/StellarTest.java
----------------------------------------------------------------------
diff --git a/metron-platform/metron-common/src/test/java/org/apache/metron/common/stellar/StellarTest.java b/metron-platform/metron-common/src/test/java/org/apache/metron/common/stellar/StellarTest.java
index 21ae7bb..4afa0e8 100644
--- a/metron-platform/metron-common/src/test/java/org/apache/metron/common/stellar/StellarTest.java
+++ b/metron-platform/metron-common/src/test/java/org/apache/metron/common/stellar/StellarTest.java
@@ -53,6 +53,22 @@ public class StellarTest {
   }
 
   @Test
+  public void testVariableResolution() {
+    {
+      String query = "bar:variable";
+      Assert.assertEquals("bar", run(query, ImmutableMap.of("bar:variable", "bar")));
+    }
+    {
+      String query = "JOIN(['foo', bar:variable], '')";
+      Assert.assertEquals("foobar", run(query, ImmutableMap.of("bar:variable", "bar")));
+    }
+    {
+      String query = "MAP_GET('bar', { 'foo' : 1, 'bar' : bar:variable})";
+      Assert.assertEquals("bar", run(query, ImmutableMap.of("bar:variable", "bar")));
+    }
+  }
+
+  @Test
   public void testIfThenElseBug1() {
     String query = "50 + (true == true ? 10 : 20)";
     Assert.assertEquals(60.0, run(query, new HashMap<>()));