[ https://issues.apache.org/jira/browse/METRON-1877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16689826#comment-16689826 ]
ASF GitHub Bot commented on METRON-1877: ---------------------------------------- Github user ottobackwards commented on a diff in the pull request: https://github.com/apache/metron/pull/1268#discussion_r234305980 --- Diff: metron-stellar/stellar-common/src/test/java/org/apache/metron/stellar/dsl/functions/BasicStellarTest.java --- @@ -916,6 +916,53 @@ public void testShortCircuit_conditional() throws Exception { Assert.assertEquals("foo", run("if NOT('metron' in [ 'metron', 'metronicus'] ) then THROW('expression') else 'foo'", new HashMap<>())); } --- End diff -- yeah, that is the idea. I had to add more and more permutations ( I added tests for issues as @jjmeyer0 found them, or as @cestella found them ) If you have one mega case that works that is fine. I started out differently, because I had things that did not work at the beginning and I added later ( MAP support etc ) > Nested IF ELSE statements can cause parse errors in Stellar > ----------------------------------------------------------- > > Key: METRON-1877 > URL: https://issues.apache.org/jira/browse/METRON-1877 > Project: Metron > Issue Type: Improvement > Reporter: Justin Leet > Assignee: Justin Leet > Priority: Major > > IF ELSE statements nested inside IF ELSEstatements can cause problems with > short-circuiting. See the following example. > {code:java} > Stellar>>> IF true THEN IF false THEN true ELSE false ELSE is_alert > false > Stellar>>> IF true THEN IF true THEN true ELSE false ELSE is_alert > ! Invalid parse, found null > org.apache.metron.stellar.dsl.ParseException: Invalid parse, found null > at > org.apache.metron.stellar.common.StellarCompiler$Expression.apply(StellarCompiler.java:211) > at > org.apache.metron.stellar.common.BaseStellarProcessor.parse(BaseStellarProcessor.java:145) > at > org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.executeStellar(DefaultStellarShellExecutor.java:401) > at > org.apache.metron.stellar.common.shell.DefaultStellarShellExecutor.execute(DefaultStellarShellExecutor.java:257) > at > org.apache.metron.stellar.common.shell.cli.StellarShell.execute(StellarShell.java:357) > at org.jboss.aesh.console.AeshProcess.run(AeshProcess.java:53) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:748){code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)