BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 21 июн 2025, 21:53

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 16 дек 2011, 13:10 
Пытаюсь из собственного динамического класса вызвать методы из ru.bitel.bgbilling.kernel.network.snmp.SnmpClient. Мой собственный класс фактически копия ru.bitel.oss.systems.inventory.resource.server.SmnpDeviceManager. Проблема связана с вызовом snmpClient.get()
Код:
   @Override
   public Object serviceModify( ServiceActivatorEvent e )
      throws Exception
   {
      logger.info( "SERVICE MODIFY" );
      return snmpClient.get(uptimeOid, -1L, java/lang/Long);

Компилятор ругается на java/lang/Long
Код:
/usr/local/BGBillingServer/dyn/ru/bitel/bgbilling/inet/dyn/device/des3000/DES3028ServiceActivatorTest.java:83: cannot find symbol
symbol  : variable java

/usr/local/BGBillingServer/dyn/ru/bitel/bgbilling/inet/dyn/device/des3000/DES3028ServiceActivatorTest.java:83: cannot find symbol
symbol  : variable lang

/usr/local/BGBillingServer/dyn/ru/bitel/bgbilling/inet/dyn/device/des3000/DES3028ServiceActivatorTest.java:83: cannot find symbol
symbol  : variable Long

/usr/local/BGBillingServer/dyn/ru/bitel/bgbilling/inet/dyn/device/des3000/DES3028ServiceActivatorTest.java:83: <V>get(long[],long,java.lang.Class<V>) in ru.bitel.bgbilling.kernel.network.snmp.SnmpClient cannot be applied to (long[],long,int)

Тыкните носом плиз, где и какую закорючку поставить надо? :)


Вернуться к началу
  
 
СообщениеДобавлено: 16 дек 2011, 14:17 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Код:
java/lang/Long

Это чо ещё? о_О
Там число типа int быть, написано же в последней строчке ошибок


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 дек 2011, 14:47 
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 там надо написать?


Вернуться к началу
  
 
СообщениеДобавлено: 16 дек 2011, 23:36 
Разобрался... в данном случае надо вызывать так:
Код:
snmpClient.get(uptimeOid, -1L, AsnUnsInteger.class);


Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.031s | 18 Queries | GZIP : On ]