Bonjour à tous,

Pour commencer, je ne suis pas informaticienne et je reprends une application développée par quelqu'un d'autre donc je vous pries de bien vouloir m'excuser si je pose des questions basiques.
Cette application est développée en Java et intègre des règles en Drools. (si vous avez besoin de plus d'info n'hésitez pas, je ne sais pas ce qui peut vous être utile)

J'ai une erreur du type :
java.lang.NullPointer.Exception
Cette erreur apparait dans une règle où aucune variable ne manque dans le "when" et qui ajoute ces variables dans une classe/liste (je ne sais pas quels sont les bons termes) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
rule "Règle pour type : A"
no-loop
salience 447
	when
 
		mot : tab_mots (idm : idmot, idLi : idLieux, forme : form, sta : start, idg : idGroupe, iddd : idDate_debut, iddf : idDate_fin,  lem : lemma, Int == false, cat : catégorie)
 
	then
 
		Truc truc = new Truc();
		truc.setId_groupe(idg);
		truc.setTerme(forme);
		truc.setPosition(sta);
		truc.setId(idt);
		truc.setId_date_debut(iddd);
		truc.setId_date_fin(iddf);
		truc.setId_lieux(idLi);
		truc.setCatégorie(cat);
		insert(truc);
		retract(mot);
		Effet eff = new Effet();
		eff.setId_truc(idm);
		eff.setType_lien(cat);
		eff.setType_("A");
		insert(eff);
 
end
L'erreur est suivi par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
java.lang.NullPointerException
	at org.drools.core.util.AbstractHashTable$SingleIndex.hashCodeOf(AbstractHashTable.java:484)
	at org.drools.core.util.index.LeftTupleIndexHashTable.getOrCreate(LeftTupleIndexHashTable.java:449)
	at org.drools.core.util.index.LeftTupleIndexHashTable.add(LeftTupleIndexHashTable.java:379)
	at org.drools.core.phreak.PhreakJoinNode.doLeftInserts(PhreakJoinNode.java:84)
	at org.drools.core.phreak.PhreakJoinNode.doNode(PhreakJoinNode.java:60)
	at org.drools.core.phreak.RuleNetworkEvaluator.switchOnDoBetaNode(RuleNetworkEvaluator.java:547)
	at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:533)
	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:334)
	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:161)
	at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:116)
	at org.drools.core.phreak.RuleExecutor.evaluateNetwork(RuleExecutor.java:92)
	at org.drools.core.common.DefaultAgenda.evaluateEagerList(DefaultAgenda.java:1044)
	at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:996)
	at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1302)
	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1289)
	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1262)
	at com.sample.MaBase.main(MaBase.java:1820)
Cette erreur n'apparait pas à chaque fois que la règle se lance mais seulement pour certain mot. Mais je n'arrive pas à trouver la différence entre ceux qui fonctionnent et ceux qui ne fonctionnent pas.

Merci d'avance pour votre aide.