To find what all condition element is true in a rule












0















In drool we have any option to find what all condition tuples satisfied in a rule, when I execute a stateless session with fact.



ex: if we have rule condition in a rule RUL1,
car.schi == 'A' || car.carKind str[startsWith] 'A'



if RUL1 is satisfied because of car.schi, then do we have any API where I can get this info(car.schi).



The example what I given was simpler but our actual business rule was so complex as shown below,



(car.carKind != "EZZ" && car.carKind != "ENG" && car.carKind != "ETD") && ((car.schi contains "N1" || car.schi contains "N2") || ((car.schi contains "IH" || car.schi contains "N4" || car.schi contains "OM" || car.schi contains "DA" || car.schi contains "N5" || car.schi contains "PA" || car.schi contains "FG" || car.schi contains "PL" || car.schi contains "PC" || car.schi contains "PO" || car.schi contains "NG" || car.schi contains "OX" || car.schi contains "OP" || car.schi contains "NS" || car.schi contains "FS" || car.schi contains "FL" || car.schi contains "N3" || car.schi contains "CM" || car.schi contains "DW" || car.schi contains "PB") && (validateElementRule($trainrulesRequestDTO.getElementRuleMap(),"1_N",true,$trainrulesRequestDTO.getCar().getCarNumb())))) && (((car.prevSchi not contains "N2" && car.prevSchi not contains "N1") && (car.prevLoadEmpty == "L") && ((car.prevCarKind str[startsWith] "F" || car.prevCarKind str[startsWith] "YF") && (car.prevCarKind not str[startsWith] "FI" && car.prevCarKind not str[startsWith] "FA" && car.prevCarKind not str[startsWith] "FW" && car.prevCarKind not str[startsWith] "FB") && (car.prevCarKind != "YFB"))) || ((car.nextSchi not contains "N2" && car.nextSchi not contains "N1") && (car.nextLoadEmpty == "L") && ((car.nextCarKind str[startsWith] "F" || car.nextCarKind str[startsWith] "YF") && (car.nextCarKind not str[startsWith] "FA" && car.nextCarKind not str[startsWith] "FB" && car.nextCarKind not str[startsWith] "FI" && car.nextCarKind not str[startsWith] "FW") && (car.nextCarKind != "Y" || car.nextCarKind != "YFB"))))



If we are to split it as different rules to find if the rule was satisfied because of( prevCarKind , prevSchi , prevLoadEmpty) or (nextCarKind, nextSchi,nextLoadEmpty) it would be too hard to split the complex rule.



I have also given the rule condition as image took from our UI application.
Pictorial view of above rule condition string
Would be helpful if someone can let us know on how to find if the above is satisfied based on which condition.



Regards,
Madhankumar. B



Thanks,
Madhan










share|improve this question





























    0















    In drool we have any option to find what all condition tuples satisfied in a rule, when I execute a stateless session with fact.



    ex: if we have rule condition in a rule RUL1,
    car.schi == 'A' || car.carKind str[startsWith] 'A'



    if RUL1 is satisfied because of car.schi, then do we have any API where I can get this info(car.schi).



    The example what I given was simpler but our actual business rule was so complex as shown below,



    (car.carKind != "EZZ" && car.carKind != "ENG" && car.carKind != "ETD") && ((car.schi contains "N1" || car.schi contains "N2") || ((car.schi contains "IH" || car.schi contains "N4" || car.schi contains "OM" || car.schi contains "DA" || car.schi contains "N5" || car.schi contains "PA" || car.schi contains "FG" || car.schi contains "PL" || car.schi contains "PC" || car.schi contains "PO" || car.schi contains "NG" || car.schi contains "OX" || car.schi contains "OP" || car.schi contains "NS" || car.schi contains "FS" || car.schi contains "FL" || car.schi contains "N3" || car.schi contains "CM" || car.schi contains "DW" || car.schi contains "PB") && (validateElementRule($trainrulesRequestDTO.getElementRuleMap(),"1_N",true,$trainrulesRequestDTO.getCar().getCarNumb())))) && (((car.prevSchi not contains "N2" && car.prevSchi not contains "N1") && (car.prevLoadEmpty == "L") && ((car.prevCarKind str[startsWith] "F" || car.prevCarKind str[startsWith] "YF") && (car.prevCarKind not str[startsWith] "FI" && car.prevCarKind not str[startsWith] "FA" && car.prevCarKind not str[startsWith] "FW" && car.prevCarKind not str[startsWith] "FB") && (car.prevCarKind != "YFB"))) || ((car.nextSchi not contains "N2" && car.nextSchi not contains "N1") && (car.nextLoadEmpty == "L") && ((car.nextCarKind str[startsWith] "F" || car.nextCarKind str[startsWith] "YF") && (car.nextCarKind not str[startsWith] "FA" && car.nextCarKind not str[startsWith] "FB" && car.nextCarKind not str[startsWith] "FI" && car.nextCarKind not str[startsWith] "FW") && (car.nextCarKind != "Y" || car.nextCarKind != "YFB"))))



    If we are to split it as different rules to find if the rule was satisfied because of( prevCarKind , prevSchi , prevLoadEmpty) or (nextCarKind, nextSchi,nextLoadEmpty) it would be too hard to split the complex rule.



    I have also given the rule condition as image took from our UI application.
    Pictorial view of above rule condition string
    Would be helpful if someone can let us know on how to find if the above is satisfied based on which condition.



    Regards,
    Madhankumar. B



    Thanks,
    Madhan










    share|improve this question



























      0












      0








      0








      In drool we have any option to find what all condition tuples satisfied in a rule, when I execute a stateless session with fact.



      ex: if we have rule condition in a rule RUL1,
      car.schi == 'A' || car.carKind str[startsWith] 'A'



      if RUL1 is satisfied because of car.schi, then do we have any API where I can get this info(car.schi).



      The example what I given was simpler but our actual business rule was so complex as shown below,



      (car.carKind != "EZZ" && car.carKind != "ENG" && car.carKind != "ETD") && ((car.schi contains "N1" || car.schi contains "N2") || ((car.schi contains "IH" || car.schi contains "N4" || car.schi contains "OM" || car.schi contains "DA" || car.schi contains "N5" || car.schi contains "PA" || car.schi contains "FG" || car.schi contains "PL" || car.schi contains "PC" || car.schi contains "PO" || car.schi contains "NG" || car.schi contains "OX" || car.schi contains "OP" || car.schi contains "NS" || car.schi contains "FS" || car.schi contains "FL" || car.schi contains "N3" || car.schi contains "CM" || car.schi contains "DW" || car.schi contains "PB") && (validateElementRule($trainrulesRequestDTO.getElementRuleMap(),"1_N",true,$trainrulesRequestDTO.getCar().getCarNumb())))) && (((car.prevSchi not contains "N2" && car.prevSchi not contains "N1") && (car.prevLoadEmpty == "L") && ((car.prevCarKind str[startsWith] "F" || car.prevCarKind str[startsWith] "YF") && (car.prevCarKind not str[startsWith] "FI" && car.prevCarKind not str[startsWith] "FA" && car.prevCarKind not str[startsWith] "FW" && car.prevCarKind not str[startsWith] "FB") && (car.prevCarKind != "YFB"))) || ((car.nextSchi not contains "N2" && car.nextSchi not contains "N1") && (car.nextLoadEmpty == "L") && ((car.nextCarKind str[startsWith] "F" || car.nextCarKind str[startsWith] "YF") && (car.nextCarKind not str[startsWith] "FA" && car.nextCarKind not str[startsWith] "FB" && car.nextCarKind not str[startsWith] "FI" && car.nextCarKind not str[startsWith] "FW") && (car.nextCarKind != "Y" || car.nextCarKind != "YFB"))))



      If we are to split it as different rules to find if the rule was satisfied because of( prevCarKind , prevSchi , prevLoadEmpty) or (nextCarKind, nextSchi,nextLoadEmpty) it would be too hard to split the complex rule.



      I have also given the rule condition as image took from our UI application.
      Pictorial view of above rule condition string
      Would be helpful if someone can let us know on how to find if the above is satisfied based on which condition.



      Regards,
      Madhankumar. B



      Thanks,
      Madhan










      share|improve this question
















      In drool we have any option to find what all condition tuples satisfied in a rule, when I execute a stateless session with fact.



      ex: if we have rule condition in a rule RUL1,
      car.schi == 'A' || car.carKind str[startsWith] 'A'



      if RUL1 is satisfied because of car.schi, then do we have any API where I can get this info(car.schi).



      The example what I given was simpler but our actual business rule was so complex as shown below,



      (car.carKind != "EZZ" && car.carKind != "ENG" && car.carKind != "ETD") && ((car.schi contains "N1" || car.schi contains "N2") || ((car.schi contains "IH" || car.schi contains "N4" || car.schi contains "OM" || car.schi contains "DA" || car.schi contains "N5" || car.schi contains "PA" || car.schi contains "FG" || car.schi contains "PL" || car.schi contains "PC" || car.schi contains "PO" || car.schi contains "NG" || car.schi contains "OX" || car.schi contains "OP" || car.schi contains "NS" || car.schi contains "FS" || car.schi contains "FL" || car.schi contains "N3" || car.schi contains "CM" || car.schi contains "DW" || car.schi contains "PB") && (validateElementRule($trainrulesRequestDTO.getElementRuleMap(),"1_N",true,$trainrulesRequestDTO.getCar().getCarNumb())))) && (((car.prevSchi not contains "N2" && car.prevSchi not contains "N1") && (car.prevLoadEmpty == "L") && ((car.prevCarKind str[startsWith] "F" || car.prevCarKind str[startsWith] "YF") && (car.prevCarKind not str[startsWith] "FI" && car.prevCarKind not str[startsWith] "FA" && car.prevCarKind not str[startsWith] "FW" && car.prevCarKind not str[startsWith] "FB") && (car.prevCarKind != "YFB"))) || ((car.nextSchi not contains "N2" && car.nextSchi not contains "N1") && (car.nextLoadEmpty == "L") && ((car.nextCarKind str[startsWith] "F" || car.nextCarKind str[startsWith] "YF") && (car.nextCarKind not str[startsWith] "FA" && car.nextCarKind not str[startsWith] "FB" && car.nextCarKind not str[startsWith] "FI" && car.nextCarKind not str[startsWith] "FW") && (car.nextCarKind != "Y" || car.nextCarKind != "YFB"))))



      If we are to split it as different rules to find if the rule was satisfied because of( prevCarKind , prevSchi , prevLoadEmpty) or (nextCarKind, nextSchi,nextLoadEmpty) it would be too hard to split the complex rule.



      I have also given the rule condition as image took from our UI application.
      Pictorial view of above rule condition string
      Would be helpful if someone can let us know on how to find if the above is satisfied based on which condition.



      Regards,
      Madhankumar. B



      Thanks,
      Madhan







      drools






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 30 '18 at 10:25







      GoldenEagles

















      asked Nov 21 '18 at 11:37









      GoldenEaglesGoldenEagles

      12




      12
























          2 Answers
          2






          active

          oldest

          votes


















          0














          No you can't. But you could split the rule into multiple rules like this:



          rule "RUL1A"
          when
          car.schi == 'A'
          then
          ...
          end

          rule "RUL1B"
          when
          car.carKind[0] == 'A'
          then
          ...
          end





          share|improve this answer
























          • Thanks for the reply. The condition what I gave earlier was simpler one but our actual business rule condition are so complex that we cannot split it as different rules as you said. To give a feel of the condition complexity I have provided you the actual business condition string in question section. Also pictorial form of that condition string is also attached for your better understanding. Due to high complexity of the rule condition we cannot split the condition as multiple rules. Is there any other option where we can get exact tuples matched in rule condition.

            – GoldenEagles
            Nov 30 '18 at 10:32











          • I created a new answer with another option.

            – Master Drools
            Dec 1 '18 at 17:18











          • Thanks for the reply. The approach what you shared helped us to resolve our issue.

            – GoldenEagles
            Dec 7 '18 at 7:52











          • I'm glad that I could prove helpful. Would you mind marking the most helpful answer as accepted: stackoverflow.com/help/someone-answers

            – Master Drools
            Dec 8 '18 at 10:57



















          0














          You could split your condtion into several functions (and define them in drl):



          function boolean isKindEzzEngEtd(Car car) {
          return car.carKind in ["EZZ", "ENG", "ETD"];
          }

          function boolean isSchiContainsN1N2(Car car) {
          return (car.schi contains "N1" || car.schi contains "N2");
          }

          ...

          then use the functions inside your rules (it also improves readablility and re-use):

          rule "RUL1"
          when
          $car: Car()
          !isKindEzzEngEtd($car) || isSchiContainsN1N2($car) && ...
          then
          -- call the functions one by one to find out which one returned true:
          System.out.println("NOT isKindEzzEngEtd: " + !isKindEzzEngEtd($car));
          System.out.println("isSchiContainsN1N2: " + isSchiContainsN1N2($car));
          end





          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53411245%2fto-find-what-all-condition-element-is-true-in-a-rule%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            No you can't. But you could split the rule into multiple rules like this:



            rule "RUL1A"
            when
            car.schi == 'A'
            then
            ...
            end

            rule "RUL1B"
            when
            car.carKind[0] == 'A'
            then
            ...
            end





            share|improve this answer
























            • Thanks for the reply. The condition what I gave earlier was simpler one but our actual business rule condition are so complex that we cannot split it as different rules as you said. To give a feel of the condition complexity I have provided you the actual business condition string in question section. Also pictorial form of that condition string is also attached for your better understanding. Due to high complexity of the rule condition we cannot split the condition as multiple rules. Is there any other option where we can get exact tuples matched in rule condition.

              – GoldenEagles
              Nov 30 '18 at 10:32











            • I created a new answer with another option.

              – Master Drools
              Dec 1 '18 at 17:18











            • Thanks for the reply. The approach what you shared helped us to resolve our issue.

              – GoldenEagles
              Dec 7 '18 at 7:52











            • I'm glad that I could prove helpful. Would you mind marking the most helpful answer as accepted: stackoverflow.com/help/someone-answers

              – Master Drools
              Dec 8 '18 at 10:57
















            0














            No you can't. But you could split the rule into multiple rules like this:



            rule "RUL1A"
            when
            car.schi == 'A'
            then
            ...
            end

            rule "RUL1B"
            when
            car.carKind[0] == 'A'
            then
            ...
            end





            share|improve this answer
























            • Thanks for the reply. The condition what I gave earlier was simpler one but our actual business rule condition are so complex that we cannot split it as different rules as you said. To give a feel of the condition complexity I have provided you the actual business condition string in question section. Also pictorial form of that condition string is also attached for your better understanding. Due to high complexity of the rule condition we cannot split the condition as multiple rules. Is there any other option where we can get exact tuples matched in rule condition.

              – GoldenEagles
              Nov 30 '18 at 10:32











            • I created a new answer with another option.

              – Master Drools
              Dec 1 '18 at 17:18











            • Thanks for the reply. The approach what you shared helped us to resolve our issue.

              – GoldenEagles
              Dec 7 '18 at 7:52











            • I'm glad that I could prove helpful. Would you mind marking the most helpful answer as accepted: stackoverflow.com/help/someone-answers

              – Master Drools
              Dec 8 '18 at 10:57














            0












            0








            0







            No you can't. But you could split the rule into multiple rules like this:



            rule "RUL1A"
            when
            car.schi == 'A'
            then
            ...
            end

            rule "RUL1B"
            when
            car.carKind[0] == 'A'
            then
            ...
            end





            share|improve this answer













            No you can't. But you could split the rule into multiple rules like this:



            rule "RUL1A"
            when
            car.schi == 'A'
            then
            ...
            end

            rule "RUL1B"
            when
            car.carKind[0] == 'A'
            then
            ...
            end






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 29 '18 at 18:37









            Master DroolsMaster Drools

            603412




            603412













            • Thanks for the reply. The condition what I gave earlier was simpler one but our actual business rule condition are so complex that we cannot split it as different rules as you said. To give a feel of the condition complexity I have provided you the actual business condition string in question section. Also pictorial form of that condition string is also attached for your better understanding. Due to high complexity of the rule condition we cannot split the condition as multiple rules. Is there any other option where we can get exact tuples matched in rule condition.

              – GoldenEagles
              Nov 30 '18 at 10:32











            • I created a new answer with another option.

              – Master Drools
              Dec 1 '18 at 17:18











            • Thanks for the reply. The approach what you shared helped us to resolve our issue.

              – GoldenEagles
              Dec 7 '18 at 7:52











            • I'm glad that I could prove helpful. Would you mind marking the most helpful answer as accepted: stackoverflow.com/help/someone-answers

              – Master Drools
              Dec 8 '18 at 10:57



















            • Thanks for the reply. The condition what I gave earlier was simpler one but our actual business rule condition are so complex that we cannot split it as different rules as you said. To give a feel of the condition complexity I have provided you the actual business condition string in question section. Also pictorial form of that condition string is also attached for your better understanding. Due to high complexity of the rule condition we cannot split the condition as multiple rules. Is there any other option where we can get exact tuples matched in rule condition.

              – GoldenEagles
              Nov 30 '18 at 10:32











            • I created a new answer with another option.

              – Master Drools
              Dec 1 '18 at 17:18











            • Thanks for the reply. The approach what you shared helped us to resolve our issue.

              – GoldenEagles
              Dec 7 '18 at 7:52











            • I'm glad that I could prove helpful. Would you mind marking the most helpful answer as accepted: stackoverflow.com/help/someone-answers

              – Master Drools
              Dec 8 '18 at 10:57

















            Thanks for the reply. The condition what I gave earlier was simpler one but our actual business rule condition are so complex that we cannot split it as different rules as you said. To give a feel of the condition complexity I have provided you the actual business condition string in question section. Also pictorial form of that condition string is also attached for your better understanding. Due to high complexity of the rule condition we cannot split the condition as multiple rules. Is there any other option where we can get exact tuples matched in rule condition.

            – GoldenEagles
            Nov 30 '18 at 10:32





            Thanks for the reply. The condition what I gave earlier was simpler one but our actual business rule condition are so complex that we cannot split it as different rules as you said. To give a feel of the condition complexity I have provided you the actual business condition string in question section. Also pictorial form of that condition string is also attached for your better understanding. Due to high complexity of the rule condition we cannot split the condition as multiple rules. Is there any other option where we can get exact tuples matched in rule condition.

            – GoldenEagles
            Nov 30 '18 at 10:32













            I created a new answer with another option.

            – Master Drools
            Dec 1 '18 at 17:18





            I created a new answer with another option.

            – Master Drools
            Dec 1 '18 at 17:18













            Thanks for the reply. The approach what you shared helped us to resolve our issue.

            – GoldenEagles
            Dec 7 '18 at 7:52





            Thanks for the reply. The approach what you shared helped us to resolve our issue.

            – GoldenEagles
            Dec 7 '18 at 7:52













            I'm glad that I could prove helpful. Would you mind marking the most helpful answer as accepted: stackoverflow.com/help/someone-answers

            – Master Drools
            Dec 8 '18 at 10:57





            I'm glad that I could prove helpful. Would you mind marking the most helpful answer as accepted: stackoverflow.com/help/someone-answers

            – Master Drools
            Dec 8 '18 at 10:57













            0














            You could split your condtion into several functions (and define them in drl):



            function boolean isKindEzzEngEtd(Car car) {
            return car.carKind in ["EZZ", "ENG", "ETD"];
            }

            function boolean isSchiContainsN1N2(Car car) {
            return (car.schi contains "N1" || car.schi contains "N2");
            }

            ...

            then use the functions inside your rules (it also improves readablility and re-use):

            rule "RUL1"
            when
            $car: Car()
            !isKindEzzEngEtd($car) || isSchiContainsN1N2($car) && ...
            then
            -- call the functions one by one to find out which one returned true:
            System.out.println("NOT isKindEzzEngEtd: " + !isKindEzzEngEtd($car));
            System.out.println("isSchiContainsN1N2: " + isSchiContainsN1N2($car));
            end





            share|improve this answer




























              0














              You could split your condtion into several functions (and define them in drl):



              function boolean isKindEzzEngEtd(Car car) {
              return car.carKind in ["EZZ", "ENG", "ETD"];
              }

              function boolean isSchiContainsN1N2(Car car) {
              return (car.schi contains "N1" || car.schi contains "N2");
              }

              ...

              then use the functions inside your rules (it also improves readablility and re-use):

              rule "RUL1"
              when
              $car: Car()
              !isKindEzzEngEtd($car) || isSchiContainsN1N2($car) && ...
              then
              -- call the functions one by one to find out which one returned true:
              System.out.println("NOT isKindEzzEngEtd: " + !isKindEzzEngEtd($car));
              System.out.println("isSchiContainsN1N2: " + isSchiContainsN1N2($car));
              end





              share|improve this answer


























                0












                0








                0







                You could split your condtion into several functions (and define them in drl):



                function boolean isKindEzzEngEtd(Car car) {
                return car.carKind in ["EZZ", "ENG", "ETD"];
                }

                function boolean isSchiContainsN1N2(Car car) {
                return (car.schi contains "N1" || car.schi contains "N2");
                }

                ...

                then use the functions inside your rules (it also improves readablility and re-use):

                rule "RUL1"
                when
                $car: Car()
                !isKindEzzEngEtd($car) || isSchiContainsN1N2($car) && ...
                then
                -- call the functions one by one to find out which one returned true:
                System.out.println("NOT isKindEzzEngEtd: " + !isKindEzzEngEtd($car));
                System.out.println("isSchiContainsN1N2: " + isSchiContainsN1N2($car));
                end





                share|improve this answer













                You could split your condtion into several functions (and define them in drl):



                function boolean isKindEzzEngEtd(Car car) {
                return car.carKind in ["EZZ", "ENG", "ETD"];
                }

                function boolean isSchiContainsN1N2(Car car) {
                return (car.schi contains "N1" || car.schi contains "N2");
                }

                ...

                then use the functions inside your rules (it also improves readablility and re-use):

                rule "RUL1"
                when
                $car: Car()
                !isKindEzzEngEtd($car) || isSchiContainsN1N2($car) && ...
                then
                -- call the functions one by one to find out which one returned true:
                System.out.println("NOT isKindEzzEngEtd: " + !isKindEzzEngEtd($car));
                System.out.println("isSchiContainsN1N2: " + isSchiContainsN1N2($car));
                end






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Dec 1 '18 at 17:18









                Master DroolsMaster Drools

                603412




                603412






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53411245%2fto-find-what-all-condition-element-is-true-in-a-rule%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    If I really need a card on my start hand, how many mulligans make sense? [duplicate]

                    Alcedinidae

                    Can an atomic nucleus contain both particles and antiparticles? [duplicate]