#java #drools
#java #drools
Вопрос:
Я застрял с Drools 5 и нуждаюсь в небольшой помощи. Что я хотел бы сделать, это использовать переданное в DAO и присвоить значение из этого локальной переменной, например, так…
rule "test rule 1"
when
$carDao : ICarDAO( )
$x : $carDao.getMap()
eval (
$x.contains("a") amp;amp; $x.contains("b")
)
then
// do stuff
end
Однако Drools 5 не позволяет назначать локальные переменные.
Я хотел бы назначить локальной переменной, чтобы мне не приходилось дважды вызывать один и тот же вызов в DAO.
Итак, может ли кто-нибудь указать мне правильное направление, пожалуйста?
Спасибо! Джефф Портер
Ответ №1:
rule "test rule 1"
when
$carDao : ICarDAO( )
$x: java.util.Map( ) from $carDao.getMap()
eval (
$x.contains("a") amp;amp; $x.contains("b")
)
then
// do stuff
end
ta..dar!
Ответ №2:
rule "test rule 1"
when
$carDao : ICarDAO( $x : map )
eval (
$x.contains("a") amp;amp; $x.contains("b")
)
then
// do stuff
end
или начиная с 5.2:
rule "test rule 1"
when
$carDao : ICarDAO( $x : map, map.contains("a"), map.contains("b") )
then
// do stuff
end