Слюни - правило по умолчанию - PullRequest
2 голосов
/ 15 июля 2011

Я пытаюсь создать шаблон Drools для генерации правил из электронной таблицы. Мы хотим, чтобы пользователь мог создавать «правила по умолчанию», оставляя поле пустым. Чтобы сделать упрощенный пример: мы хотим добавить надбавку к цене товара на основе определенного кода. По умолчанию взимается дополнительная плата, если ни один из кодов не применяется к этому товару. Как:

Code  Surcharge
103   $50
297   $40
334   $30
      $20

Так что в основном я хочу правила, которые говорят

when
  $u : Unit(code=103)
then
  $u.setSurcharge(50)

и т.д.

Тогда, если ни одна из доплат не совпадает, я хочу установить доплату в 20 долларов.

Если бы я писал эти правила вручную, я бы назначил дополнительную плату по умолчанию и поместил бы их в группу активации или что-то подобное, чтобы по умолчанию не срабатывало, если не сработало ни одно из явных значений.

Но я пытаюсь сгенерировать это с помощью шаблона. Я не понимаю, как заставить шаблон сказать «если @ {code} = пусто, тогда salience = 10 else salience = 20» или что-то подобное. Это просто невозможно сказать.

(Примечание: я не могу просто жестко закодировать правило по умолчанию, потому что на самом деле есть другие поля, проверенные вместе с полем, которое может быть пустым. То есть может быть много правил с пустым кодом, которые применяются в зависимости от соответствия с другими полей.)

...