Hi,

I'm adding support for "otherwise" to (for the time being) the guided
decision table in Guvnor.

The idea being if you set a cell to represent "otherwise" the generated rule
is the opposite of the accumulation of the other cells; perhaps best
explained with an example:-

Person( name == )
Mark
Kris
Geoffrey
<otherwise>

This would generate:-

Person(name not in ("Mark", "Kris", "Geoffrey")

Equals is the simple example, this is my thoughts for the other operators we
might like to support:-

   - != becomes "in (<list of the other cells' values)"
   - < becomes ">= the maximum value of the other cells' values


For example:-

Person ( age < )
10
20
30
<otherwise>

Person ( age >= 30 )


   - <= becomes "> the maximum value of the other cells' values
   - > becomes "<= the minimum value of the other cells' values
   - >= becomes "< the minimum value of the other cells' values
   - "in" becomes "not in (<a list of all values contained in all the other
   cells' lists of values>)"

For example:-

Person ( name in )
Jim, Jack
Lisa, Jane, Paul
<otherwise>

Person ( name not in ("Jim", "Jack", "Lisa", "Jane", "Paul" ) )


   - I'm not sure there is a simple solution for "matches" and "soundslike"
   but welcome advice, although a possibility might be to create a compound
   field constraint:-

Person ( name soundslike )
Fred
Phil

not Person ( name soundslike "Fred" || soundslike "Phil" )


Would this be considered the most suitable approach?

Inputs and thoughts welcome.

Thanks,

Mike
_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Reply via email to