Bonjour à tous

Voila j'ai un petit problème dont je ne trouve pas la solution et ça commence serieusement à me casser les bijoux de familles ^^.
C'est un petit sample pour tester un peu les limites de jython pour un projet que je réalise dans lequel j'utilise du jython.

J'ai donc une interface Calculette qui possède 2 méthodes, add et sub et son implémentatin CalculetteImpl.

J'ai une classe InterfaceProvider (qui est un singleton) dans lequel je stock des objet qui pourrait être de différents types et que je retrouve grâce à une key (j'utilise HashTable). Je lance un main qui fait un exec sur mon fichier python

Voila le code de mon interfaceProvider
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
28
29
30
public class InterfaceProvider {
 
	private Hashtable<String, Object> hashTable;
	private static InterfaceProvider interfaceProvider;
 
	public static InterfaceProvider getInstance(){
		if(interfaceProvider == null){
			interfaceProvider = new InterfaceProvider();
		}
		return interfaceProvider;
	}
 
	public Hashtable<String, Object> getHashTable(){
		return hashTable;
	}
 
	public void setHashTable(String key, Object comp)
	{
		hashTable.put(key, comp);
	}
 
 
	private void setInterfaceCalc(Calculette calc, String key){
		setHashTable(key, calc);
	}
 
	private InterfaceProvider(){
		hashTable = new Hashtable<String, Object>();
	}
}
Et voila mon code python

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
from td.test.component import Calculette
from td.test.component import CalculetteImpl
from td.test.interfaceprovider import InterfaceProvider
 
int = InterfaceProvider.getInstance()
calc = CalculetteImpl()
int.setInterfaceCalc(calc,"Calculette")
res = int.getHashTable().get("Calculette")
result = res.add(2,3)
print 'res=%d' %result
Petite précision j'ai un warning sur ma méthode setInterfaceCalc qui me dit qu'elle n'est jamais utilisé localement...

Pour moi c'est un mystère!!