[SNMP4J] problem in using TableUtils class...

AMRUTH KUMAR JUTURU akjuturub04 at gmail.com
Mon Jun 30 15:56:30 CEST 2008


Hi all,

              I am trying to use TableUtils class to read the bgp routing
table entries. But I have a problem....This is the code....

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package snmp;

import java.io.IOException;
import java.util.List;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.snmp4j.CommunityTarget;
import org.snmp4j.Snmp;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
import org.snmp4j.util.TableEvent;
import org.snmp4j.util.TableUtils;

/**
 *
 * @author crysm
 */
public class TableMain {

    public static void main(String args[])
    {
        try {
            TableReader tr = new TableReader();
            Snmp session = new Snmp(new DefaultUdpTransportMapping());
            CommunityTarget target = new CommunityTarget();
            target.setCommunity(new OctetString("public"));
            TableUtils tu = new TableUtils(session,tr);
            OID[] oidArray = new OID[14];
            oidArray[0] =  new OID("1.3.6.1.2.1.15.6.1.1");
            oidArray[1] =  new OID("1.3.6.1.2.1.15.6.1.2");
            oidArray[2] =  new OID("1.3.6.1.2.1.15.6.1.3");
            oidArray[3] =  new OID("1.3.6.1.2.1.15.6.1.4");
            oidArray[4] =  new OID("1.3.6.1.2.1.15.6.1.5");
            oidArray[5] =  new OID("1.3.6.1.2.1.15.6.1.6");
            oidArray[6] =  new OID("1.3.6.1.2.1.15.6.1.7");
            oidArray[7] =  new OID("1.3.6.1.2.1.15.6.1.8");
            oidArray[8] =  new OID("1.3.6.1.2.1.15.6.1.9");
            oidArray[9] =  new OID("1.3.6.1.2.1.15.6.1.10");
            oidArray[10] =  new OID("1.3.6.1.2.1.15.6.1.11");
            oidArray[11] =  new OID("1.3.6.1.2.1.15.6.1.12");
            oidArray[12] =  new OID("1.3.6.1.2.1.15.6.1.13");
            oidArray[13] =  new OID("1.3.6.1.2.1.15.6.1.14");
            List list = tu.getTable(target, oidArray,null,null);
            System.out.println("The size of the list is  :  "+ list.size());
            System.out.println(list.get(0).getClass());
           for(int i=0;i<list.size();i++)
           {
               TableEvent tableevent = (TableEvent)list.get(i);
               VariableBinding[] vb = tableevent.getColumns();
               if(vb==null)
                    System.out.println("this is null....");
    //           System.out.println("size of the vb is : "+vb.length);
              /* for(int j=0;j<vb.length;j++)
               {
                   System.out.println(vb[j]);
               }*/
           }


        } catch (IOException ex) {
            Logger.getLogger(TableMain.class.getName()).log(Level.SEVERE,
null, ex);
        }
    }

}



and the code for other class is..

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package snmp;

import org.snmp4j.PDU;
import org.snmp4j.Target;
import org.snmp4j.util.PDUFactory;

/**
 *
 * @author crysm
 */
public class TableReader implements PDUFactory
{

    public PDU createPDU(Target arg0) {
      PDU pdu = new PDU();
      return pdu;
    }

}


.... in the end...when I get the list of TableEvents with the help of
getTable function of TableUtils class...the TableEvent.getColumns returns
null.....Can you please help with this..Thanks in advance..

This is the output I am getting....

The size of the list is  :  1
class org.snmp4j.util.TableEvent
this is null....



More information about the SNMP4J mailing list