Tableau : drole de problème --> Help please

Signaler
Messages postés
4
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
7 avril 2006
-
noname85
Messages postés
33
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
21 novembre 2006
-
Bonjour,

voilà je sui s en train de jouer avec un tableau et j'ai un drole de problème ! J'ai récupéré un exemple de classe qui réalise un snmpwalk donc je suppose que la manière dont ils le font est correct. La classe de base plaçait le résultat dans un tableau et l'affichait. Moi j'aimerais retourner le tableaux comme valeur de retour ! Cependant j'ai de drôle de problèmes !

- quand je réalise une boucle pour afficher tous les éléments du tableau, ils les affichent tous mais si avant chaque affichage de chaque élément je place l'élément dans un autre tableau, il semble que la taille du tableau initial passe à 1.

- quand je retourne le tableau il semble que sa taille devient 1 et seul le premier élément est retourné.

J'ai tout essayé, tableau comme étant membre de la classe, placer les éléments du tableau dans ArrayList (mais la taille devient 1), ...

voic le code
 
public String [ ] snmpWalk(String oid){ 
                //Tout ça on s'en fout ça marche.
target = new SnmpTarget();   
        target.setTargetHost(adr);             		 		
        target.setCommunity(community);			    		 
        target.setSnmpVersion(version); 					 
        target.setObjectID(oid);
        int maxtry = 0;	 		
        SnmpOID[] oidList = target.getSnmpOIDList();
             
                //Element qui va poser problème
                String result_tab [];

        if(oidList == null){
    	       System.out.println("Invalid OID has been specified");
        }
        else{
       SnmpOID rootoid = oidList[0];   				 
        while(maxtry++ < 1000){ 

 	//C'est ici que ça foire !
 
    	result_tab = target.snmpGetNextList();   //Renvoie un tableau de String   
                        //Ca on s'en fiche ça marche
    	if(result_tab == null) break;
    	if(!SnmpTarget.isInSubTree(rootoid,target.getSnmpOID())) break;  

    	for (int i=0;i<result_tab.length;i++){ 
                                    //Ici ça affiche tout correctement mais si par exemple je mets l'élément de resul_tab dans un autre tableau tout s'arrete après le premier.
    System.out.println(target.getObjectID(i) + ": " + result_tab[i]);
}
    }
                   
                    //Ca on s'en fout.
    if(maxtry == 1){  // we did not get a valid row
    	System.err.println("Request failed, timed out or no available data. \n"+
target.getErrorString());
    } 
}

            //Renvoie le tableau : quoi que je fasse il ne renvoie que le premier element.
    return result_tab;
}


Si j'utilise cette méthode pour récupérer un tableau càd si je fais String [] tab= snmpwalk (); je ne reçois que le premier élément.

qqun aurait une idée ?

merci d'avance/b

1 réponse

Messages postés
33
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
21 novembre 2006

Salut !



Perso, je pense que le problème viendrait plutot de la méthode :

target.snmpGetNextList();



Plus d'info serais utile !!



NoName85

Et que Dieu vous garde, parce que moi j'ai pas le temps !!!