Bonjour

j'ai un problème pour finaliser mon code

le code est complet et correcte il me reste juste un test sur un boolean, je veux juste vous demande de m'aider comment faire ceci,

Le code est un peux long

Bon j'ai une interface où je choisis une ville et je clique sur un bouton ici je fait un teste avec une boucle en commençant par 4020 à 1 s'il trouve un numéro dans table il fait un bool=true sinon il appel l'autre classe

Alors l'autre classe lance une commande unix sur ce numéro NON trouvé das la base de données (ICI où je me suis coincé)

Aussi s'il trouve le numéro dans le résultat de la commande IL DOIT FAIRE UN BREAK et ne continue pas le traitement MAIS il doit retournée à la boucle et fait un -- sur ce numéro trouvé SINON s'il ne trouve pas ce numéro alors il l'insère à la table

Voilà le code pour le bouton et la boucle pour le premier test s'il est dans la base
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
 
VLAN vlan=new VLAN();
        try {
            if (jComboBox6.getSelectedIndex()>-1){
conn = Connexion.getConnection(db6);  
stmt = conn.createStatement();
ResultSet res=stmt.executeQuery( "SELECT VLAN FROM tout ");                        
        for(vl=3749;vl>1;vl--) {
while(res.next())
                {
                    boolean found = false;
                   if(Integer.parseInt(res.getString(1))==vl)
                   {
                       found = true;
                       break;
                   }
                   else if (!found){
 vlan.Config("172.16.2.133", "user", "pass",vl);
 vlan.disconnect();
  break;
                }
                   }             
               }
 
    }
ET voilà le code du classe vlan lorsqu'il ne trouve pas le numéro dans la base il passe à cette classe
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
 
public VLAN() {
 
    }
    public String Config(String server, String user, String password,Integer vl) {
         try {
             conn = Connexion.getConnection(db6);
         } catch (Exception ex) {
             Logger.getLogger(VLAN.class.getName()).log(Level.SEVERE, null, ex);
         }
        JFrame controllingFrame = null;
 
        try {
           // Connect to the specified server
 
            in = telnet.getInputStream();
            out = new PrintStream(telnet.getOutputStream());
 
 
            char ch;
            StringBuffer sa = new StringBuffer();
            do {
                ch = (char) in.read();
                sa.append(ch);
            } while (ch != '>' && ch != '#' && !sa.toString().contains("Username: ") && !sa.toString().contains("Password:"));
 
            if (sa.toString().contains("Username: ")) {
                write1(user);
                readUntil1("Password: ");
                writePass(password);
 
                sa = new StringBuffer();
                do {
                    ch = (char) in.read();
                    sa.append(ch);
 
                } while (ch != '>' && ch != '#' && ch != '%');
 
               if (ch == '>') {
                    write1("en");
                    readUntil1("Password: ");
                    writePass(password);
                    StringBuffer sb = new StringBuffer();
 
 try{
                stmt = conn.createStatement();
                ResultSet res=stmt.executeQuery("select * from router");
                while(res.next()){
// Version 2700 3800
       if(Integer.parseInt(res.getString(3))==7200 || Integer.parseInt(res.getString(3))==3800)  {                               
            write1("sh int des | in "+vl);
            readUntil1("sh int des | in "+vl);
            do {
                ch = (char) in.read();
                sb.append(ch);
               } while (ch!=13 && ch!=10);
            System.out.print(sb);
            do {
                ch = (char) in.read();
                sb.append(ch);
               } while (!sb.toString().contains("Fa") && !sb.toString().contains("#"));                         
              if(sb.toString().contains("Fa")){
                do {
                ch = (char) in.read();
                sb.append(ch);
               } while (ch!=32);
                //System.out.print(sb);
 
            String temp=sb.toString().trim();
            int pos = temp.lastIndexOf(".") + 1;
            String vlan = temp.substring(pos, temp.length());
System.out.print("Vlan est : "+vlan.trim()+"\n");          
if(Integer.parseInt(vlan.trim())==vl){
    System.out.print("\n exist \n");// ICI OU IL DOIT APPELER LE BOOLEAN ET SORTIR, NE CONTINUER PAS IL DOIT SORTIE ET FAIT UN -- SUR LE NUMERO TROUVE ICI
    sb = new StringBuffer();
    in.close();
                    out.close();
                    telnet.disconnect();
                    return "";
}
else {
    System.out.print("\n VLAN LIBRE! \n");
    requete(conn,vl);
                    in.close();
                    out.close();
                    telnet.disconnect();
                    return "";
 
}
            }else if(sb.toString().contains("#"))
            {System.out.print("VLAN N'EXISTE PAS");
                requete(conn,vl);
                    in.close();
                    out.close();
                    telnet.disconnect();
                    return "";}
            }
Donc j'ai commenté la partie où je dois faire le boolean
BON Lorsque le Boolean recoit true c'est à dire soit il le trouve au début dans la base soit il le trouve dans le résultat de la commande il doit retourner un true break et un -- su ce numéro
S'il ne le trouve pas il vas continuer jusqu'à ce qu'il trouve un numéro existe soit dans la base soit dans le résultat de la commande pour quitter le processus

Merci j’espère vous arrivez à comprendre ce que je veux parce que je sais que c'est compliqué