def leftActivation(self, tok, wme): #assert isinstance(wme, WME), \ # "wme non e' un WME" # se il token viene da un dummyjoinnode # devo provvedere a convertirlo? new_token = Token(self, tok, wme) #self._items.insert(0, new_token) self._items[new_token] = new_token for w in self._amem.get_items(): if self._perform_tests(w, new_token): njr = NegativeJoinResult(new_token, w) new_token.add_njresult(njr) w.add_njresult(njr) # attiva solo se non ci sono match (e' un nodo negativo) if new_token.count_njresults() == 0 : for child in self._children: assert isinstance(child, ReteNode), \ "child non e' un ReteNode" # attenzione, la leftActivation viene fornita senza la WME # quindi solo i join node sono preparati a riceverla????? # TODO refactoring #print child child.leftActivation(new_token, None)