Сносит таблицу решений - один столбец - два поля
Предположим, у нас есть некоторый класс, который связан с одним или несколькими кодами: основным и дополнительным. Каждый объект этого класса имеет как минимум основной код и может иметь неограниченное количество вторичных кодов:
class Something {
private String mainCode;
private List<String> secondaryCodes;
}
Я хочу создать правило в таблице решений Drools, которое позволяет мне проверить, равно ли значение, указанное в столбце, mainCode или содержится в secondCodes. Поэтому мне нужен один столбец для двух правил, связанных с двумя разными полями.
Это вообще возможно?
2 ответа
Ограничение может быть записано в виде составного логического выражения:
mainCode == $param || secondaryCodes contains $param
Нет ограничений в отношении полей, на которые вы ссылаетесь в таком выражении.
Вы можете сделать это в Guvnor, используя @{param} во фрагменте BRL Условие, например:
$s : Something (maincode == "@{codes}" || secondaryCodes contains "@{codes}"
Это дает вам один столбец. -J