bonjour,

j'ai créé un plugin avec des classes Java pour la génération de fichier java à partir de fichier texte.
Mon appli fonctionne bien, mais pour mon plugin c'est autre chose, il ne fonctionne qu'une fois.
Dans mes spécifications il est possible de lui donner plusieurs fichiers textes en paramètres et pour chaque fichier je lance une sorte de Parser afin de générer mes classes mais il ne me fait qu'un fichier à chaque lancement d'Eclipse!!! et oui même pas uniquement le premier fichier passé en paramètre mais seulement le premier du premier lancement de mon plugin.

Exemple: si pour une seconde fois je relance mon plugin il ne fera aucune génération de fichier pour aucun paramètre.

Je pense que cela vient de la structure du plugin sous Eclipse, et ci-dessous le code qu'il ne fait pas entièrement.

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
MouseAdapter listenerOk = new MouseAdapter() {
			public void mouseUp(MouseEvent me) {
				if (comboProjet.getSelectionIndex() == -1) {
					MessageDialog.openWarning(fenetre,"Aucun projet sélectionné","Vous devez spécifier un projet");
				}
				else {
					if (comboPackage.getSelectionIndex() == -1) {
						MessageDialog.openWarning(fenetre,"Aucun package sélectionné","Vous devez spécifier un package de destination");
					}
					else {
						if (listCa.getItemCount() == 0) {
							MessageDialog.openWarning(fenetre,"Aucune CA","Vous devez spécifier une ou plusieurs CA");
						}
						else {
							if (comboLib.getSelectionIndex() == -1) {
								MessageDialog.openWarning(fenetre,"Aucune librairie sélectionné","Vous devez spécifier une librairie d'utilisation");
							}
							else {
								//la connexion Ftp
								String message = CaPlugin.connexionFtp(comboLib);
								if (!message.equals("")) {
									MessageDialog.openWarning(fenetre,"problème FTP",message);
								}
								else {
									MessageDialog.openInformation(fenetre,"Transfert via FTP","téléchargement de la librairie réussie");
								}	
 
								//lancer le parser
								if (message.equals("")) {
									MessageDialog.openInformation(fenetre,"Génération CA","le nombre de CA est "+listCa.getItemCount());
									for(int i = 0;i < listCa.getItemCount();i++) { 
										try
										{
											MessageDialog.openInformation(fenetre,"Génération CA","les arguments du parser :\nle nom de la CA : "+listCa.getItem(i)+"\nla location du workspace : "+ResourcesPlugin.getWorkspace().getRoot().getLocation().toString()+"\\\nle nom du projet : "+comboProjet.getItem(comboProjet.getSelectionIndex())+"\nle package : "+comboPackage.getItem(comboPackage.getSelectionIndex())+"\nle repertoire de travail : "+System.getProperty("user.home")+"\\CaToJava\\");
											Parser parse = new Parser();
											MessageDialog.openInformation(fenetre,"Génération CA","le parser est créé");
											message = parse.lancementParser(listCa.getItem(i),ResourcesPlugin.getWorkspace().getRoot().getLocation().toString()+"\\",comboProjet.getItem(comboProjet.getSelectionIndex()),comboPackage.getItem(comboPackage.getSelectionIndex()),System.getProperty("user.home")+"\\CaToJava\\");
											MessageDialog.openInformation(fenetre,"Génération CA","le lancement a été effectué");
										} catch (ParseException e)
										{
											MessageDialog.openWarning(fenetre,"problème parser","exception lors du lancement de la génération de la CA "+listCa.getItem(i));
										}
										if (message.equals("")) {
											MessageDialog.openInformation(fenetre,"Génération CA","Génération réussie de la CA "+listCa.getItem(i));
										}
										else {
											MessageDialog.openWarning(fenetre,"Génération CA","Génération échouée de la CA "+listCa.getItem(i)+"\net comme message erreur : "+message);
										}
										message = "";
						}
						}
					fenetre.dispose();
					}
				}
			}
		}
	}
};
boutonOk.addMouseListener(listenerOk);
j'espère avoir été assez clair pour que vous puissiez comprendre et m'aider à résoudre mon problème.

merci d'avance

Olivier