Mapas y cadenas en reglas Drools
-
10-10-2019 - |
Pregunta
He Drools siguiente regla a la que me envíe mapa lleno de elemento, pero cuando el fichero es ejecutado tengo elemento. ¿Por qué recibo nula cuando debería ser "Y" para el valor? Cuando pongo punto de interrupción en ACDebug.debug método () e inspeccionar mapa después map.put $ () fue ejecutado se ve bien, tiene "Y" para el valor, pero después de mis reglas se ejecutan tengo nula? Alguien ha Tengo un problema similar?
import java.util.Map;
import java.util.HashMap;
import edu.abc.ACDebug;
rule "POSTPROCESSOR 8"
ruleflow-group "supress-processor"
when
$map:Map(keySet contains "STANDARD_ADDRESS:STREET_NAME")
then
ACDebug.debug($map, "Map before PUT: ");
$map.put("/locationList/sourceAddress/fullStreet",new String("Y"));
ACDebug.debug($map, "Map after PUT: ");
$map.remove("STANDARD_ADDRESS:STREET_NAME");
end
Solución
Después de haber hecho los cambios en el mapa, que tiene que hacer una actualización. Esto permite que el know memoria de trabajo que ha modificado el mapa.
Agregue la línea siguiente:
update( $map );
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow