Bonjour,
Après moultes essais, je dois mal utiliser la méthode get() des ArrayList.
Ma classe Main affiche 3 fois le même objet de l'Array (le dernier) au lieu d'afficher les trois éléments...(j'ai vérifié, ils sont saisis correctement dans l'Array).
Si vous voyez une cacahouète dans mon code...ça doit sûrement venir de là...
Main :
et la classe array_complet :
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 package Gestion_SCE; import java.util.*; public class Main { private static Locale locale = null; public static void main(String[] args) { int i=0; // Gestion de l'internationalisation if (args.length != 2) locale = new Locale("fr","FR"); else locale = new Locale(args[0], args[1]); Hosts_Nagios Hosts = new Hosts_Nagios(locale); Hosts.LectureFichier(); Services_Nagios Serv = new Services_Nagios(locale); Serv.LectureFichier(); // Test de construction de l'array final et affichage du dernier Array_Complet Res = new Array_Complet(); Res.Construction(Hosts, Serv); System.out.println(); System.out.println("Liste des paramètres définitifs"); System.out.println("Taille du tableau final : " + Res.finale.size()); for(i=0;i<Res.finale.size();i++){ Complet tmp_obj = new Complet(); tmp_obj = (Complet) Res.finale.get(i); System.out.print("Hote : " + tmp_obj.getNom() + ","); System.out.print("Ip : " + tmp_obj.getIp() + ","); System.out.print("Service : " + tmp_obj.getService() + ","); System.out.println("Ligne de commande : " + tmp_obj.getCommande() + ","); System.out.print("Chemin d'accès : " + tmp_obj.getPath() + ","); System.out.print("TempsDepartDown : " + tmp_obj.getTempsDepartDown() + ","); System.out.print("TempsCheck : " + tmp_obj.getTempsCheck() + ","); System.out.println("TempsDepartScript : " + tmp_obj.getTempsDepartScript() + ","); System.out.print("EtatInit : " + tmp_obj.getEtatInit() + ","); System.out.println("EtatLocal : " + tmp_obj.getEtatLocal()); System.out.println(); } } }
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
61
62
63
64
65
66 package Gestion_SCE; import java.io.*; import java.util.*; import java.util.regex.Pattern; public class Array_Complet { public ArrayList finale; public Array_Complet(){ finale = new ArrayList(); } public ArrayList Construction (Hosts_Nagios Hosts, Services_Nagios Serv){ // Variables NomIp Obj_Hote_Temporaire = new NomIp("", ""); NomService Obj_Service_Temporaire = new NomService("", "", "", ""); Complet Obj_Complet = new Complet(); int i=0, j=0, compteur=0; for (i=0 ; i < Hosts.Array_NomIp.size() ; i ++){ Obj_Hote_Temporaire = (NomIp)Hosts.Array_NomIp.get(i); for (j=0 ; j < Serv.Array_NomService.size() ; j ++){ Obj_Service_Temporaire = (NomService)Serv.Array_NomService.get(j); if (Obj_Hote_Temporaire.getNom().equals (Obj_Service_Temporaire.getNom())){ Obj_Complet.setNom(Obj_Hote_Temporaire.getNom()); Obj_Complet.setIp(Obj_Hote_Temporaire.getIp()); Obj_Complet.setService(Obj_Service_Temporaire.getService()); Obj_Complet.setCommande(Obj_Service_Temporaire.getCommande()); Obj_Complet.setPath("/LesHotes/Scripts/" + Obj_Hote_Temporaire.getNom() + "/"); Obj_Complet.setTempsCheck(Obj_Service_Temporaire.getTemps()); Obj_Complet.setTempsDepartScript(""); // à valider avec l'interface System.out.println("Valeur d'Obj_Complet avant ajout dans l'array finale :"); System.out.print(Obj_Complet.getNom() + " - "); System.out.print(Obj_Complet.getIp() + " - "); System.out.print(Obj_Complet.getPath() + " - "); System.out.print(Obj_Complet.getService() + " - "); System.out.print(Obj_Complet.getCommande() + " - "); System.out.println(Obj_Complet.getTempsCheck()); /** Ajout de l'élément complet dans le nouveau tableau */ finale.add(Obj_Complet); compteur ++; // verif de ce qui a été ajouté Complet tempo = new Complet(); tempo = (Complet)finale.get(compteur-1); System.out.println("Valeur de l'objet ajouté précédemment :"); System.out.print(tempo.getNom() + " - "); System.out.print(tempo.getIp() + " - "); System.out.print(tempo.getPath() + " - "); System.out.print(tempo.getService() + " - "); System.out.print(tempo.getCommande() + " - "); System.out.println(tempo.getTempsCheck()); System.out.println(); } } } return finale; } }
Partager