Слюни собирают шаблон проблемы - PullRequest
0 голосов
/ 29 апреля 2009

У меня есть правило LHS как этот

when 
    $location : Location() 
    $cabinets : ArrayList() from collect ( Cabinet() from $location.elements() )
then

и когда я печатаю содержимое @cabinets в RHS, я вижу, что оно содержит все элементы (также те, которые не принадлежат к классу Cabinet).

Я хочу собрать только шкафы из $ location> elements ().

Что я сделал не так?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2009

Ваш вопрос касается шаблона "from", а не шаблона "collect".

Следующее правило должно помочь проверить:

when 
  $location : Location() 
  $cabinet : Cabinet() from $location.elements()
then

Это правило должно действовать для каждого кабинета в локации.

Вы можете попытаться опубликовать свой вопрос в списке пользователей правил

0 голосов
/ 29 апреля 2009

Я думаю, вы бы сказали что-то вроде

Cabinet(class == Cabinet.class)

Я не думаю, что Drools делает явную проверку типов в классах Cabinet, поскольку они у вас есть.

...