// Home | Go Back //
package agent.mib2;
import java.io.*;
import java.util.*;
import com.ireasoning.util.*;
import com.ireasoning.protocol.snmp.*;
import javax.management.*;
public class AtTable extends SnmpTable implements AtTableMBean
{
public static final SnmpOID[] OIDS =
{
new SnmpOID(".1.3.6.1.2.1.3.1.1.1.1.127.0.0.1"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.1.2.127.0.0.2"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.1.3.127.0.0.3"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.1.4.127.0.0.4"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.1.5.127.0.0.5"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.2.1.127.0.0.1"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.2.2.127.0.0.2"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.2.3.127.0.0.3"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.2.4.127.0.0.4"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.2.5.127.0.0.5"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.3.1.127.0.0.1"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.3.2.127.0.0.2"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.3.3.127.0.0.3"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.3.4.127.0.0.4"),
new SnmpOID(".1.3.6.1.2.1.3.1.1.3.5.127.0.0.5")
};
public AtTable (OIDTreeNode root, String oid, Object[] args)
{
super(root, oid);
setProcessSnmpRequestDirectly(true);
}
private int getIndexValue(SnmpOID oid)
{
int[] val = oid.getValue();
return val[val.length - 5];
}
public SnmpTableEntry getNextOID(SnmpOID oid)
{
for (int i = 0; i < OIDS.length ; i++)
{
if(OIDS[i].compareTo(oid) > 0)
{
SnmpTableEntry entry = new AtEntry(null);
entry.setOID(OIDS[i]);
return entry;
}
}
return null;
}
public static final SnmpTableEntry EMPTY_ENTRY = new AtEntry(null);
public SnmpTableEntry getOID(SnmpOID oid)
{
for (int i = 0; i < OIDS.length ; i++)
{
if(OIDS[i].equals(oid) )
{
return EMPTY_ENTRY;
}
}
return null;
}
public SnmpTableEntry newEntryInstance()
{
return new AtEntry (this);
}
public int getAtIfIndex(SnmpTableEntry atEntry)
{
SnmpTableEntry entry = (SnmpTableEntry) atEntry;
SnmpOID oid = entry.getOID();
int index = getIndexValue(oid);
return index;
}
public void setAtIfIndex(SnmpTableEntry atEntry, int newValue)
{
}
public String getAtPhysAddress(SnmpTableEntry atEntry)
{
SnmpTableEntry entry = (SnmpTableEntry) atEntry;
SnmpOID oid = entry.getOID();
int index = getIndexValue(oid);
return "10.20.30.40.50." + index; }
public void setAtPhysAddress(SnmpTableEntry atEntry, String newValue)
{
System.out.println( "setAtPhysAddressValue. newValue is " + newValue);
}
public SnmpIpAddress getAtNetAddress(SnmpTableEntry atEntry)
{
SnmpTableEntry entry = (SnmpTableEntry) atEntry;
SnmpOID oid = entry.getOID();
oid = oid.suboid(oid.getLength() - 4, oid.getLength());
String oidstr = oid.toString();
oidstr = oidstr.substring(1, oidstr.length());
return new SnmpIpAddress(oidstr);
}
public void setAtNetAddress(SnmpTableEntry atEntry, SnmpIpAddress newValue)
{
}
}