forum.bitel.ru
http://forum.bitel.ru/

Интеграция собственных наработок
http://forum.bitel.ru/viewtopic.php?f=1&t=5658
Страница 1 из 1

Автор:  Kazrarr [ 30 июн 2011, 01:33 ]
Заголовок сообщения:  Интеграция собственных наработок

Доброй ночи!
Нужен плагин который будет читать и записывать информацию в БД.
Если быть точнее то планируется получение информации о сети. К примеру получение mac, switch, port по ip адресу, текущее состояние этого порта, его логи и т.п. Что бы не плодить множество приложений хотелось реализовать все в одном приложении, а именно в клиенте биллинга, в отдельном спец интерфейсе. Можно было бы реализовать через репортс\екшен и т.д. но хочется сделать все красиво.

В связи с этим вопросы, возможно ли написание подобного плагина без получения доступа к исходникам биллинга? И не приведут ли самовольные попытки интеграции к каким либо негативным последствиям? (т.е. не сработает ли какой либо защитный механизм в ответ на интеграцию неизвестного ему плагина?)

Заранее спасибо.

Автор:  vdd [ 01 июл 2011, 13:43 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

Можно и без плагинов.
http://forum.bgbilling.ru/viewtopic.php?f=22&t=5622
А что касается рисков, то даже реализация на скриптах всегда может отказаться работать после следующего апдейта, так как при модификации API не обеспечивается обратная совместимость.

Автор:  skyb [ 02 июл 2011, 06:06 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

vdd писал(а):
А что касается рисков, то даже реализация на скриптах всегда может отказаться работать после следующего апдейта, так как при модификации API не обеспечивается обратная совместимость.

Это самое ужастное

Автор:  Kazrarr [ 04 июл 2011, 10:06 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

Сделал тестовый Плагин на примере существующего... Столкнулся только с проблемой запроса ключа =(

Код:
Вы не можете работать с этой лицензией! Не найдена лицензия для плагина ru.bitel.bgbilling.plugins.arpentry

Автор:  vdd [ 04 июл 2011, 11:25 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

Kazrarr писал(а):
Сделал тестовый Плагин на примере существующего...

Разработчики уже где-то описание выложили, или сами "как-то так" разобрались?

Автор:  Kazrarr [ 04 июл 2011, 11:33 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

vdd писал(а):
Kazrarr писал(а):
Сделал тестовый Плагин на примере существующего...

Разработчики уже где-то описание выложили, или сами "как-то так" разобрались?


Сам разобрался.. методом "научного тыка" =) , но так не очень удобно, поэтому хочу запросить доступ к исходникам все таки... Если разработчики дадут добро, могу выложить куда-нибудь исходники своего тестового плагина.. =)

Автор:  Kazrarr [ 06 июл 2011, 13:09 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

Kazrarr писал(а):
Сделал тестовый Плагин на примере существующего... Столкнулся только с проблемой запроса ключа =(

Код:
Вы не можете работать с этой лицензией! Не найдена лицензия для плагина ru.bitel.bgbilling.plugins.arpentry



Если кому интересно =)
Все решается намного проще оказывается.. С помощью экшенов, по аналогии с добавлением собственного экшена в меню личного кабинета..

Автор:  vdd [ 06 июл 2011, 13:13 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

Рассказывайте, рассказывайте!

Автор:  Kazrarr [ 06 июл 2011, 14:20 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

vdd писал(а):
Рассказывайте, рассказывайте!


Нужно сделать две либы, клиентскую и серверную..
В BGBillingServer/data/menu.xml добавить пункт меню со ссылкой на класс из клиентской либы которая будет генерировать окно и содержимое окна..

Клиентская либа на кнопку вешаем ActionListener например так:
Код:
MyButton.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
      NetworkSearchManager.this.execRequest();
   }
});


Код:
public void execRequest() {
   Request request = new Request();
   request.setModule("admin");
   request.setAction("IpMacTable");
   request.setPageIndex(this.pagePanel.getPageIndex());
   request.setPageSize(this.pagePanel.getPageSize());
   request.setAttribute("ipmacAddress", this.ipmacAddress.getText());
   setDocument(getDocument(request));
}
public void setDocument(Document doc) {
   if (!(ClientUtils.checkStatus(this, doc)))
      return;
   this.table.updateData(doc, "//table");
}



Серверная либа:
Создаем экшен я положил в bitel.billing.server.admin.action.ActionIpMacTable.class
Наследуем его от ActionBase:
Код:
package bitel.billing.server.admin.action;
import bitel.billing.server.ActionBase;

public class ActionIpMacTable extends ActionBase {
}


В общем примерно так.. кода много весь сюда не выложить.. если что могу куда нибудь скинуть свой пример готовый... C java плохо знаком.. учусь только поэтому сложно описать что именно и где ) но методом тыка понятно что как и зачем, долго мучился с выдачей данных в таблице и с разрешением элементов и созданием вкладок.. Но сейчас вроде немного разобрался..

В общем таким образом Плагин работает без проблем и не просит лицензий и т.д. единственное убивает отладку экшенов делать.. но вчера наткнулся на вики с описанием RemoteDebug попробую может полегче будет =)

Если кто знает какие нибудь способы предпросмотра созданных JPanel и т.д. в эклипсе буду благодарен за подсказку =)

Автор:  vdd [ 06 июл 2011, 14:28 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

Kazrarr писал(а):
Если кто знает какие нибудь способы предпросмотра созданных JPanel и т.д. в эклипсе буду благодарен за подсказку =)


Отдельный стартер сделайте.

Автор:  Kazrarr [ 06 июл 2011, 14:46 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

vdd писал(а):
Kazrarr писал(а):
Если кто знает какие нибудь способы предпросмотра созданных JPanel и т.д. в эклипсе буду благодарен за подсказку =)


Отдельный стартер сделайте.


Точно :idea2: спасибо =)

Автор:  dimOn [ 11 июл 2011, 10:59 ]
Заголовок сообщения:  Re: Интеграция собственных наработок

Kazrarr писал(а):
Сделал тестовый Плагин на примере существующего... Столкнулся только с проблемой запроса ключа =(

Код:
Вы не можете работать с этой лицензией! Не найдена лицензия для плагина ru.bitel.bgbilling.plugins.arpentry

Не придумалось как сделать отключение проверки лицензии без придумывания глобальной дыры, потому для своих плагинов надо также запрашивать лицензию.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/