Le 18/12/2012 12:06, Loic GASCHE a écrit :
Bonjour,
Après maintes tentatives d'utilisation de context.getValue dans une règle afin de récupérer des valeurs/TimeStep/Population définis dans une autre règle je viens lacer un appel au secours : Comment est-on sensés uriliser cette commande ?
En ce qui concerne setValue on a dans l'API : setValue(String name, Object value) Permet de stocker une valeur en fonction d'une cle. Donc est-ce que ça ne permet de stocker qu'une valeur ou peut-on aussi stocker le nom d'une population ou un timestep ?
Pour getValue on a : getValue(String name) Permet de recuperer une valeur prealablement stocker avec un setValue. Apparemment ça rend un "Object" ce qui tendrait à me faire dire qu'on peut stocker et retrouver n'importe quoi avec setValue et getValue et pas juste des valeurs, est-ce juste ?
Autre question : Comment ISIS sait-il que le "Object" sorti par getValue est une "Population" ou un "TimeStep" ? Il ne le sais pas justement, tu doit lui dire.
En gros, dans ta règle A: public preAction(SimulationContext context, TimeStep step, Metier metier) { context.putValue("myPop", population); } et dans ta règle B: public preAction(SimulationContext context, TimeStep step, Metier metier) { population = (Population)context.getValue("myPop"); } -- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com