Search code examples
droolsbusiness-rules

drools drl how to do not conditions


I am trying to write a rule in drools drl language where I am want to do something like !(A && B) but it doesnt seem to like the ! operator or the word not. I am struggling to find good documentation on drools

Please see sample code below:

  rule "Test Rule"
   when
      testBean : testBean(!(testList contains "test"  && testList2 contains "test2"))
   then
      testBean.setText( "This is a test" );
   end

I would appreciate any help than anyone can give me

thanks in advance


Solution

  • It looks like there is an open defect with the not operator

    https://jira.jboss.org/browse/JBRULES-2404

    Another good article on negation, uses 'neg' or 'naf' instead of 'not'

    http://blog.athico.com/search?q=negation

    rule "Test Rule"
       when
          testBean : testBean((testList not contains "test"  && testList2 contains "test2"))
       then
          testBean.setText( "This is a test" );
       end