BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 02 янв 2014, 14:31 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
есть объект Device:
Код:
ServerContext context = ServerContext.get();
DeviceService wsDevice = context.getService( InetDeviceService.class, 20 );
Utils utils = new Utils();

Device device = wsDevice.deviceGet(deviceId);

Map<String,String> deviceConfigMap = utils.stringToPairsHash(device.getConfig());

если разобрать его конфиг как выше, то вот такой конфиг:
Код:
ip.resource.categoryId=8,18,24,3,2,58,77
w.gate.address=91.ххх.ххх.ххх
w.groupResId=77
w.resId=102

он не разберет, изза первой строчки ip.resource.categoryId=8,18,24,3,2,58,77 и того, что там столько запятых. а если например добавить в конец каждой строки ";" то все будет хорошо (ну за исключением того, что он отрежет все категории ресурсов после 8, но мне впринципе эта строчка не нужна".
и вот вопрос, может быть есть какой то более верный путь? или на что можно напороться если добавить к каждой строке конфига устройства ";"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 янв 2014, 15:25 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Тоже часто сталкивался. Можно получить только из DeviceRuntime, который есть в DeviceMap (или DeviceRuntimeMap, не помню), которые есть в объектах Access и Accounting. А вот как получить эти объекты - хз :(


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 янв 2014, 19:02 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
сделал пока как то так:
Код:
private Map<String,String> getParamMap ( String stringParam )
   {
   try{
   Map<String,String> paramMap = new HashMap<String,String>();
   String[] pairs = stringParam.split("\n");
   for (int i=0;i<pairs.length;i++)
      {
      String pair = pairs[i];
      String[] keyValue = pair.split("=");
      paramMap.put(keyValue[0],keyValue[1]);
      }
   return paramMap;
   } catch (Exception e){
      String message =  "Ошибка при подключении услуги на устройстве: "  + e.getMessage() ;
          logger.error( message, e );
      return null;
   }
}

вроде работает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 янв 2014, 19:47 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Так прлзе тогда стандартными Бителовскими Preferences или ParameterMap воспользоваться.
Тут проблема не в парсинге в любом случае. Проблема в том, что наследование конфигурации не происходит.


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

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


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

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


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

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