You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@metron.apache.org by cestella <gi...@git.apache.org> on 2018/05/09 18:40:53 UTC

[GitHub] metron issue #687: METRON-1090 [DISCUSS] Add Assignment to Stellar Language

Github user cestella commented on the issue:

    https://github.com/apache/metron/pull/687
  
    So, I guess I'm suggesting that this is like..3/4 of the way to a complete solution, which is for stellar to handle variable assignments completely.  
    
    Specifically, I'd say that our dominantly used variable resolver (`MapVariableResolver`) doesn't support updates, so nothing actually happens when you update outside of the `DefaultVariableResolver`, so assignments don't actually function yet and an error isn't thrown.
    So, if someone reads the updated docs and uses `++` in the profiler or enrichments, it won't actually work and it'll not be apparent why.
    
    What I'm suggesting is one of these:
    1. refactoring the `MapVariableResolver` to support updates and refactoring the places where we use assignments to NOT handle variable assignment outside of stellar.
    2. Making a feature branch for stellar assignments and I'd +1 this into that branch and we can do the final PR in that branch
    3. pull back the scope of this PR and just have assignments supported in the parser without the unary operators.  This is what I was getting here in my comment before:
    
    > For instance, in the BaseStellarProcessor class we have a parse method that returns the output of  the expression. I'd suggest we have a parseExpression and parseAssignment where the first acts  as it does now and the second returns the variable name and the result.
    
    Ultimately, I LOVE this PR and I don't want you to think that I'm poo-pooing it.  I think this is great work and I look forward to the feature being added.  It just seemed ALMOST done, but not quite enough to stand by itself in master because the gap may leave people confused.


---