forum.bitel.ru http://forum.bitel.ru/ |
|
getSids на 5.2 Deprecated http://forum.bitel.ru/viewtopic.php?f=22&t=6951 |
Страница 1 из 1 |
Автор: | madmax [ 11 июл 2012, 11:14 ] |
Заголовок сообщения: | getSids на 5.2 Deprecated |
Имею строчку кода Код: String moduleServices = new ModuleAndServiceUtils(con).getSids(mid); В api написано что Код: Deprecated. Использовать ModuleCache.getModuleServicesString(int). И написано что Класс разделён на несколько: ModuleManager, ModuleCache, ServiceManager, ContractModuleManager. но ссылка на ModuleCache отсутствует, нашли его в разделе ru.bitel.bgbilling.kernel.module.server и прописали в коде Код: import ru.bitel.bgbilling.kernel.module.server.ModuleCache; String moduleServices = new ModuleCache(con).getModuleServicesString(mid); Но в итоге получаем ошибку Код: Eval error: Typed variable declaration : Constructor error: Can't find constructor: ru.bitel.bgbilling.kernel.module.server.ModuleCache( org.apache.c
ommons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper ) in class: ru.bitel.bgbilling.kernel.module.server.ModuleCache |
Автор: | Феанор [ 11 июл 2012, 11:43 ] |
Заголовок сообщения: | Re: getSids на 5.2 Deprecated |
madmax писал(а): Имею строчку кода Код: String moduleServices = new ModuleAndServiceUtils(con).getSids(mid); В api написано что Код: Deprecated. Использовать ModuleCache.getModuleServicesString(int). И написано что Класс разделён на несколько: ModuleManager, ModuleCache, ServiceManager, ContractModuleManager. но ссылка на ModuleCache отсутствует, нашли его в разделе ru.bitel.bgbilling.kernel.module.server и прописали в коде Код: import ru.bitel.bgbilling.kernel.module.server.ModuleCache; String moduleServices = new ModuleCache(con).getModuleServicesString(mid); Но в итоге получаем ошибку Код: Eval error: Typed variable declaration : Constructor error: Can't find constructor: ru.bitel.bgbilling.kernel.module.server.ModuleCache( org.apache.c ommons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper ) in class: ru.bitel.bgbilling.kernel.module.server.ModuleCache что у вас за объект con, который вы в конструктор передаете? Код: ModuleCache( org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper ) туда ж по любому надо обычный ява скуль Коннекшн, который используют в других конструкторах биллинга Код: ModuleCache( java.sql.Connection)
|
Автор: | madmax [ 11 июл 2012, 12:09 ] |
Заголовок сообщения: | Re: getSids на 5.2 Deprecated |
Так и есть используется обычный коннекшен. Ошибка же на коде cpm = new ContractParameterManager(con); не выходит. Я так предполагаю что проблема с классом ModuleCache он скорее все глючный. В api на него нет ссылки даже. Код: public void main( setup, con, conSlave )
{ now = (new SimpleDateFormat("yyyy/MM/dd HH:mm:ss")).format(new Date()); cpm = new ContractParameterManager(con); startMonth = TimeUtils.getStartMonth(Calendar.getInstance()); Calendar toDate = Calendar.getInstance(); toDate.add(Calendar.MONTH,1); String moduleServices = new ModuleCache(con).getModuleServicesString(mid); } |
Автор: | Феанор [ 11 июл 2012, 15:04 ] |
Заголовок сообщения: | Re: getSids на 5.2 Deprecated |
madmax писал(а): Так и есть используется обычный коннекшен. Ошибка же на коде cpm = new ContractParameterManager(con); не выходит. Я так предполагаю что проблема с классом ModuleCache он скорее все глючный. В api на него нет ссылки даже. Вобщем все неправильно =) У меня 5.1, я по вашим логам смотрел по ошибке. Скачал библиотеки для 5.2 посмотрел через эклипс что там предлагается. Нет там конструктора, синглтон это похоже ( что и логично было бы - ведь кэш модулей должен быть один). Вот так надо. Код: //для примера услуги модуля 1 int moduleId=1; String services=ModuleCache.getInstance().getModuleServicesString(moduleId); там есть еще метод getModuleServicesList(mid), который возвращает сразу List<Services>, а у сервисес можно и getId() и getTitle() получать. Смотрите как вам удобней. |
Автор: | madmax [ 11 июл 2012, 15:14 ] |
Заголовок сообщения: | Re: getSids на 5.2 Deprecated |
Не проходит идет ошибка Код: Typed variable declaration : No static field or inner class: getInstance of class ru.bitel.bgbilling.kernel.module.server.ModuleCache
|
Автор: | skn [ 11 июл 2012, 16:51 ] |
Заголовок сообщения: | Re: getSids на 5.2 Deprecated |
getInstance() - в коде скобки точно есть? |
Автор: | madmax [ 11 июл 2012, 16:57 ] |
Заголовок сообщения: | Re: getSids на 5.2 Deprecated |
ошибка выходит при таком коде. Код: String moduleServices = ModuleCache.getInstance().getModuleServicesString(mid); как видите скобки указаны. |
Автор: | Феанор [ 11 июл 2012, 17:21 ] |
Заголовок сообщения: | Re: getSids на 5.2 Deprecated |
тогда странно что он говорит что нет поля и класса - по скобкам он явно должен обращаться к методу... Уступаю место разработчикам =) |
Автор: | stark [ 12 июл 2012, 12:55 ] |
Заголовок сообщения: | Re: getSids на 5.2 Deprecated |
Написал глобальный скрипт Код: import ru.bitel.bgbilling.kernel.module.server.ModuleCache; public void main( setup, con, conSlave ) { int moduleId=33; String services=ModuleCache.getInstance().getModuleServicesString(moduleId); print( "OK" ); } Работает нормально . Запустите его у себя |
Автор: | madmax [ 12 июл 2012, 14:45 ] |
Заголовок сообщения: | Re: getSids на 5.2 Deprecated |
Странно, сейчас все отработало. Хотя я все также писал, может где-то в букве ошибся. Сейчас скопировал что вы написали, вставил и все отработало. Спасибо. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |