ru.bitel.oss.systems.inventory.resource.server.SmnpDeviceManager
Код:
    public Object heartbeat()
        throws Exception
    {
        return snmpClient.get(uptimeOid, -1L, java/lang/Long);
    }
ru.bitel.bgbilling.kernel.network.snmp.SnmpClient
Код:
    public Object get(long oid[], long subOid, Class clazz)
        throws BGException
    {
        BlockPdu pdu = new BlockPdu(snmpContext);
        pdu.setPduType(0);
        addOid(pdu, oid, subOid);
        varbind varbind;
        try
        {
            varbind = pdu.getResponseVariableBinding();
        }
        catch(Exception e)
        {
            throw new BGException(e);
        }
        if(pdu.getErrorStatus() == 0)
        {
            logger.info((new StringBuilder("Ok: ")).append(pdu).toString());
            return convertFromAsn(varbind.getValue(), clazz);
        } else
        {
            logger.error((new StringBuilder("PDU get error: ")).append(varbind).toString());
            throw new BGException((new StringBuilder("PDU get error=")).append(pdu.getErrorStatusString()).append(": ").append(varbind).toString());
        }
    }
...
    private Object convertFromAsn(AsnObject value, Class clazz)
    {
        if(value instanceof AsnObject)
            return clazz.cast(value);
        if(value instanceof AsnInteger)
            return clazz.cast(Integer.valueOf(((AsnInteger)value).getValue()));
        if(value instanceof AsnUnsInteger)
            return clazz.cast(Long.valueOf(((AsnUnsInteger)value).getValue()));
        if(value instanceof AsnOctets)
        {
            if(clazz == java/lang/String)
                return clazz.cast(((AsnOctets)value).getValue());
            if(clazz == java/util/Calendar)
                return clazz.cast(((AsnOctets)value).getCalendar());
            if(clazz == java/net/InetAddress)
                return clazz.cast(((AsnOctets)value).getIpAddress());
            else
                return clazz.cast(((AsnOctets)value).getBytes());
        }
        if(value instanceof AsnNull)
            return null;
        else
            throw new IllegalArgumentException((new StringBuilder("Unknown type - ")).append(value).toString());
    }
Вот в жизни не подумал бы, что там должен быть int! Может тогда подскажете, какой int там надо написать?