Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

rule "Golfers problem"
    dialect "mvel"
    when # Define Fred $fred : Row ( externalSource == true, column["name"] == "Fred" ) # Define Joe $joe : Row ( externalSource == true,  column["name"] == "Joe", column["position"] == 2, column["position"] != $fred.column["position"], column["color"] != $fred.column["color"] )
        # Define Bob $bob : Row ( externalSource == true, column["name"] == "Bob", column["position"] != $fred.column["position"], column["position"] != $joe.column["position"], column["color"] == "plaid", column["color"] != $fred.column["color"], column["color"] != $joe.column["color"] ) # Define Tom $tom : Row ( externalSource == true, column["name"] == "Tom", column["position"] != 1, column["position"] != 4, column["position"] != $fred.column["position"], column["position"] != $joe.column["position"], column["position"] != $bob.column["position"], column["color"] != "orange", column["color"] != $fred.column["color"], column["color"] != $joe.column["color"], column["color"] != $bob.column["color"] ) # Define Unknown $unknown : Row ( externalSource == true, column["position"] == ($fred.column["position"] + 1), column["color"] == "blue", this in ( $joe, $bob, $tom) )
    then
      Row fredRow = new Row();
      Row joeRow = new Row();
      Row bobRow = new Row();
      Row tomRow = new Row(); fredRow.addColumn("name", "Fred"); fredRow.addColumn("position", $fred.column["position"]); fredRow.addColumn("color", $fred.column["color"]); joeRow.addColumn("name", "Joe"); joeRow.addColumn("position", $joe.column["position"]); joeRow.addColumn("color", $joe.column["color"]); bobRow.addColumn("name", "Bob"); bobRow.addColumn("position", $bob.column["position"]); bobRow.addColumn("color", $bob.column["color"]); tomRow.addColumn("name", "Tom"); tomRow.addColumn("position", $tom.column["position"]); tomRow.addColumn("color", $tom.column["color"]);
      insert(fredRow);
      insert(joeRow);
      insert(bobRow);
      insert(tomRow); 
end
Sample: rules-golfer.ktr

Overview

...