У меня есть два факта, которые я вставляю в свою сессию слюни. Я хочу проверить следующее:Как проверить эквивалентность в таблице решений guvnor?
(отгрузка1! = Null & & shipment1.shipToCustomerNo == waypoint1.shipToNumber) || shipment1 == null
Как мне добавить это условие в таблицу принятия решений на основе guvnor? Я попытался использовать предикат, а waypoint1 и shipment1 - связанные переменные, которые вставляются в сеанс успешно. Если я использую предикат и добавляю то, что у меня выше, мои тестовые примеры работают нормально, но когда я действительно запускаю эти правила в своем приложении java, условия никогда не оценивают true, даже если данные эквивалентны. Я пробовал много разных способов структурирования этого запроса. Ниже приводится сгенерированный источник:
//from row number: 1
rule "Row 1 Arrive Destination"
salience 3
activation-group "arrive-destination"
dialect "mvel"
when
waypoint1 : Waypoint(type == "Destination")
clm1 : CarLocationMessage(sightCode == "Z" , loaded == true)
shipment1 : Shipment(eval((shipment1 != null && shipment1.shipToCustomerNo == waypoint1.shipToNumber) || shipment1 == null))
then
TripEventRuleResult tripEventRuleResult1 = new TripEventRuleResult();
tripEventRuleResult1.setEventType("Arrive");
insert(tripEventRuleResult1);
end