Passer un boolean d'une classe à une autre avec une boucle
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:
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:
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é