Compare las propiedades de los elementos de la lista en Drools cuando la condición
Frecuentes
Visto 1,259 veces
0
He insertado una lista de elementos en StatefulKnowledgeSession. Ahora, en la cláusula When del archivo .drl de drools, necesito comparar algunos valores de propiedad de diferentes elementos de la lista.
Por ejemplo, tengo una lista de mascotas [añadida en la sesión como kbSession.insert(list)] donde cada mascota tiene una propiedad de nombre (pet1.name = "adi", pet2.name="flix"). Entonces, ¿qué sería mejor para verificar estos elementos en la cláusula when?
Di en mi archivo test.drl que tengo
regla "artículos para mascotas"
dialecto "java"
cuando
list.get(0).name != list.get(1).name
luego
do something!
¡Cualquier sugerencia es muy apreciada!
Saludos.
jeque
1 Respuestas
0
¿Está tratando de validar todos sus objetos Pet (término técnico correcto - Hechos) contra una regla? Entonces no necesita insertarlo como Lista. Inserte todos los objetos Pet uno por uno como session.insert(petObj) y fireAllRules. El motor de reglas comparará todos los objetos con la regla y luego activará la regla para los objetos coincidentes.
Respondido el 06 de Septiembre de 12 a las 16:09
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas drools or haz tu propia pregunta.
Gracias gammay por tu respuesta. Bueno, tengo algunas restricciones en las reglas como no-loop y Lock-on-active son verdaderas. Por lo tanto, necesito una forma de verificar la lista de hechos (la lista se insertará en la sesión) los valores de propiedad del elemento en la regla. Gracias nuevamente por su respuesta. - el jeque Akther