Package ru.bitel.bgbilling.client.util
Class ClientUtils
java.lang.Object
ru.bitel.bgbilling.client.util.ClientUtils
Клиентский утилс. Работа с GUI, взаимодействие с сервером.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intaddComponentToPanel(JPanel panel, int gridy, Component[][] components, boolean addBottom) static voidaddEnterDoClickDelegate(Component comp, AbstractButton button) Назначение делегации клика кнопки от любой компоненты при нажатии на него ENTER.static final voidaddOnlyOneShownListener(Component... comp) static final voidaddOpenAction(Component comp, AWTEventListener eventListener) Добавляет на компонент слушатель 1) даблклика и 2) нажатия Enter.static final voidaddShowCodeListener(bitel.billing.module.common.table.BGTable table) static final voidaddShowCodeListener(JList<?> list) Вешает на Ctrl+i показывалку ид сущности.static final voidaddShowCodeListener(ru.bitel.bgbilling.client.common.table.tree.JTreeTable dataTree, ru.bitel.bgbilling.client.common.table.tree.DefaultTreeTableModel<?> model) static voidbuildComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> comboBox, Node node, String selected) static voidbuildComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> comboBox, Node node, String selected, String idName, String titleName) static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>buildComboBox(org.json.JSONArray array, int selected) static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>buildComboBox(org.json.JSONArray array, int selected, String idName, String titleName) static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>buildComboBox(Node node, String selected) static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>buildComboBox(Node node, String selected, String idName, String titleName) static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>buildComboBoxWithDefault(Node node, String selected) static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem>buildComboBoxWithDefault(Node node, String selected, String defaultName) static voidstatic voidbuildList(bitel.billing.module.common.BGControlPanelListSelect list, Node node, String defaultValue) static voidstatic voidbuildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node) static voidbuildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node, String defaultValue) static voidstatic voidСобирает обычный java.util.Listиз атрибутов title. static voidbuildList(ru.bitel.common.client.list.BGUList<ru.bitel.bgbilling.common.model.BGUListItem> list, Iterable<Element> iterable) static voidbuildMultiList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node, List<String> defaultValues) static booleancheckStatus(Document doc) static voidcheckValues(JTextField tf, int minValue, int maxValue) Делает некоторые действия с текстом в поле. 1) преобразует цифры в последовательности (?)static booleanstatic booleanconfirmDelete(Object what) static booleanconfirmDelete(Object what, boolean useQuotes) static voidstatic voidexpandTree(JTree tree, DefaultMutableTreeNode start) Разворачивание всего дерева начиная с указанного узла.static DocumentgetCacheDocument(Document doc, String key) static StringgetComponentKey(Component c, String suffix) Получает из указанного компонента его ключ текстовый, чтобы сохранить в конфиге юзера, например, какие-то данные о нём.getExpandedTreeNodeList(JTree tree, String pathdelim) Список развёрнутых узлов в дереве в виде path-ов, для сохранения перед обновлением и последущего восстановления.static ImageIconПолучение стандартной иконки, из стандартной папки (в наших терминах - "пакаге") /img/.static ImageIconПолучение любой иконки, из любой папки ("packageicon"), нужна была эта функция, чтобы из плагина иконки тягать, а не только из /img/.static ImageIcongetIconByPath(String path, boolean nonNull) Получение иконки по пути.static StringgetIdFromComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> combo) static StringgetIdFromList(JList<ru.bitel.bgbilling.common.model.BGUListItem> list) static StringgetIdFromTable(bitel.billing.module.common.table.BGTable table, int column) Специальный метод для наполнения новых контролов через старые акшены.static StringgetListSelectedItemtoString(JList<ru.bitel.bgbilling.common.model.BGUListItem> list) static Filestatic DocumentgetModuleDoc(Class<?> clazz) static DocumentgetModuleDoc(String rb_name) static Stringstatic Stringstatic StringgetRowId(bitel.billing.module.common.table.BGTable table) static Stringstatic StringgetRowIdList(bitel.billing.module.common.table.BGTable table, String col, String msg) Список айдишников (через запятую) выделенных строк в таблице.static booleanstatic StringgetValueFromResourceBundle(String resourceBundleName, String key) static StringgetValueFromResourceBundle(String resourceBundleName, String key, String defaultValue) static final booleanstatic StringlinesToString(Element node) static voidopenBrowser(URI uri) Открыть в дефолтном браузере системном.static voidopenContract(int contractId) Открыть в клиенте вкладку с договором.static voidopenContract(int contractId, String tabClass) Открыть в клиенте вкладку с договором.static voidopenContract(int contractId, String tabClass, Object parameter) Открыть в клиенте вкладку с договором.static voidopenContract(bitel.billing.module.common.table.BGTable table, String idCol) Открыть в клиенте вкладку с договором.static voidОткрыть файл в дефолтном приложении системном.static voidopenTelnet(String host, int port) static voidopenTerminal(String cmd) static voidremoveFromComboBox(JComboBox<bitel.billing.module.common.ComboBoxItem> comboBox, String value) static voidsaveBinaryFile(byte[] bytes, File file, String ext) Сохраняет байты в файл с расширением.static voidsaveBinaryFile(InputStream is, File file, String ext) То же самое чтоsaveBinaryFile(byte[], File, String)но с InputStream, для длинных файлов.static final voidsaveHtmlFile(String text, File file) Сохраняет текст с содержимым html в файл.static final voidsaveTextFile(String text, File file, String ext) Сохраняет текст в файл с расширением.static booleansetComboBoxSelection(JComboBox<bitel.billing.module.common.ComboBoxItem> combo, int selectedId) static booleansetComboBoxSelection(JComboBox<bitel.billing.module.common.ComboBoxItem> combo, Object selectedId) static voidsetComboBoxSelection(ru.bitel.common.client.BGUComboBox<? extends IdTitle> comboBox, int selectedObj) static voidsetExpandedTreeNodeList(JTree tree, List<String> expandedNodes, String pathdelim) Восстановление развёрнутости узлов-path, сохранённых функцией getExpandedTreeNodeList.static voidsetListSelection(JList<? extends IdTitle> list, int selectedId) static voidsetListSelection(JList<ru.bitel.bgbilling.common.model.BGUListItem> list, String selected_id) static voidsetListSelection(JList<ru.bitel.bgbilling.common.model.BGUListItem> list, List<Integer> selectedIds) static voidshowDialog(Object message, String title, int messageType) static voidshowErrorMessageDialog(String message) static voidshowErrorMessageDialog(String message, String title) static voidstatic voidshowMessageDialog(Object message) static voidshowMessageDialog(Object message, String title) static voidshowScrollMessageDialog(String message, String title) static WindowshowWaitWindow(String message) Создаётся окошечко с сообщением и крутилкой.static void
-
Field Details
-
nullIcon
-
-
Constructor Details
-
ClientUtils
public ClientUtils()
-
-
Method Details
-
confirm
-
confirmDelete
-
confirmDelete
-
showDialog
-
showScrollMessageDialog
-
showMessageDialog
-
showMessageDialog
-
warning
-
showErrorMessageDialog
-
showErrorMessageDialog
-
showErrorMessageDialog
-
checkStatus
-
getStatus
-
getIcon
Получение стандартной иконки, из стандартной папки (в наших терминах - "пакаге") /img/. Раньше была только она, теперь она так же называется для обратной совместимости.- Parameters:
name- имя иконки- Returns:
- ИмейджИкон
-
getIconByPath
Получение иконки по пути. Путь можно указывать без .png|.gif, но рекомендуется полностью.- Parameters:
path-nonNull- если иконка не найдена - возвращать null или пустую иконку.- Returns:
-
getIcon
Получение любой иконки, из любой папки ("packageicon"), нужна была эта функция, чтобы из плагина иконки тягать, а не только из /img/. Иконки тягаются по именам, кешируются по пакет+имя. Иконки - gif или png. Если не найдено - в зависимости от nonNull вернётся нулевая или пустая иконка.- Parameters:
packageicon- пакаге (или папка) иконки, может быть как в виде abc/de/fghi, так и abc.de.fghiname- имя иконкиnonNull- если иконка не найдена - вернуть пустой объект или null- Returns:
- ИмейджИкон
-
getRBName
-
getRBName
-
getRowId
-
getRowId
-
buildList
-
buildList
-
buildList
public static void buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node) -
buildList
-
buildList
-
buildList
-
buildList
public static void buildList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node, String defaultValue) -
buildMultiList
public static void buildMultiList(JList<ru.bitel.bgbilling.common.model.BGUListItem> jList, DefaultListModel<ru.bitel.bgbilling.common.model.BGUListItem> model, Node node, List<String> defaultValues) -
buildList
Собирает обычный java.util.Listиз атрибутов title. - Parameters:
node-
-
buildList
-
setListSelection
-
setListSelection
-
setListSelection
-
buildComboBox
public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBox(Node node, String selected, String idName, String titleName) -
buildComboBox
public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBox(org.json.JSONArray array, int selected, String idName, String titleName) -
buildComboBox
public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBox(Node node, String selected) -
buildComboBox
public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBox(org.json.JSONArray array, int selected) -
buildComboBoxWithDefault
public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBoxWithDefault(Node node, String selected) -
buildComboBoxWithDefault
public static DefaultComboBoxModel<bitel.billing.module.common.ComboBoxItem> buildComboBoxWithDefault(Node node, String selected, String defaultName) -
buildComboBox
-
buildComboBox
-
setComboBoxSelection
public static boolean setComboBoxSelection(JComboBox<bitel.billing.module.common.ComboBoxItem> combo, int selectedId) -
setComboBoxSelection
-
setComboBoxSelection
public static void setComboBoxSelection(ru.bitel.common.client.BGUComboBox<? extends IdTitle> comboBox, int selectedObj) -
getIdFromComboBox
-
getRowIdList
public static String getRowIdList(bitel.billing.module.common.table.BGTable table, String col, String msg) Список айдишников (через запятую) выделенных строк в таблице.- Parameters:
table- таблицаcol- имя столбца нужного (например, "id")msg- сообщение, если ни одного нет выбранного.- Returns:
- строка с айдишниками через запятую.
-
linesToString
-
saveHtmlFile
Сохраняет текст с содержимым html в файл. Сохраняет в utf-8. Вдобавок заменяет meta с чарсетом на utf-8 тоже (если есть мета вообще). Т.е. это в отличие от сохранения текстового.- Throws:
Exception
-
saveTextFile
Сохраняет текст в файл с расширением. Использует кодировку UTF-8.- Parameters:
text- текст. байты возьмутся из него в кодировке UTF-8.file- файл куда записатьext- расширение обязательное у файла. если нет такого то оно прибавится.- Throws:
IOException
-
saveBinaryFile
Сохраняет байты в файл с расширением. Для скачки с сервера чаще используется.- Parameters:
bytes- байтыfile- файл куда записатьext- расширение обязательное у файла. если нет такого то оно прибавится.- Throws:
IOException
-
saveBinaryFile
То же самое чтоsaveBinaryFile(byte[], File, String)но с InputStream, для длинных файлов.- Throws:
IOException
-
getCacheDocument
-
expandTree
Разворачивание всего дерева начиная с указанного узла.- Parameters:
tree- дерево JTreestart- верхний узел с которого всё развернуть
-
getExpandedTreeNodeList
Список развёрнутых узлов в дереве в виде path-ов, для сохранения перед обновлением и последущего восстановления.- Parameters:
tree- дерево JTree.pathdelim- разделитель, которым разделяются каждый компонент из path узлов.- Returns:
- лист сериализованных развёрнутых path.
-
setExpandedTreeNodeList
public static void setExpandedTreeNodeList(JTree tree, List<String> expandedNodes, String pathdelim) Восстановление развёрнутости узлов-path, сохранённых функцией getExpandedTreeNodeList.- Parameters:
tree- дерево JTree.expandedNodes- список path.pathdelim- список по которым бьются каждый компонент из path узлов (regexp, т.е. "."=>"\\.")
-
addShowCodeListener
public static final void addShowCodeListener(bitel.billing.module.common.table.BGTable table) -
openBrowser
Открыть в дефолтном браузере системном.- Parameters:
uri- ури- Throws:
ru.bitel.bgbilling.common.BGException- если какая ошибка или неподдерживаемость
-
exec
- Throws:
ru.bitel.bgbilling.common.BGException
-
openTelnet
- Throws:
ru.bitel.bgbilling.common.BGException
-
openTerminal
- Throws:
ru.bitel.bgbilling.common.BGException
-
openFile
Открыть файл в дефолтном приложении системном.- Parameters:
file- файл- Throws:
ru.bitel.bgbilling.common.BGException- если какая ошибка или неподдерживаемость
-
getIdFromTable
-
getIdFromList
-
removeFromComboBox
-
addShowCodeListener
Вешает на Ctrl+i показывалку ид сущности. сюда реально передают либо ListItem( причем именно bitel.billing.module.common.ListItem) либо IdTitle - у них нет общего предка.- Parameters:
list-
-
checkValues
Делает некоторые действия с текстом в поле. 1) преобразует цифры в последовательности (?) было: 0,1,2,3,6,7,18,19,20,23 стало: 0-3,6-7,18-20,23 2) проверяет на мин/макс. 3) ...- Parameters:
tf- текстфилдminValue-maxValue-
-
getListSelectedItemtoString
-
addOnlyOneShownListener
-
addShowCodeListener
public static final void addShowCodeListener(ru.bitel.bgbilling.client.common.table.tree.JTreeTable dataTree, ru.bitel.bgbilling.client.common.table.tree.DefaultTreeTableModel<?> model) -
addOpenAction
Добавляет на компонент слушатель 1) даблклика и 2) нажатия Enter. Т.е. для быстрого добавления действия "перейти к объекту".- Parameters:
comp- компонентeventListener- листенер (AWTEventListener), куда передастся действие произошедшее - MouseEvent или KeyEvent.
-
addEnterDoClickDelegate
Назначение делегации клика кнопки от любой компоненты при нажатии на него ENTER. Т.е. при нажатии Enter в текстовом поле, например, срабатывает кнопка "поиск" итпJTextField value_TF = new JTextField(); JButton okButton = new JButton( ">>>" ); // добавляем поиск по ентеру в поле ClientUtils.addEnterDoClickDelegate( value_TF, okButton );
- Parameters:
comp- компонента, которая слушает enterbutton- кнопка, которая программно кликнется
-
getModuleDoc
-
getModuleDoc
-
getList
Специальный метод для наполнения новых контролов через старые акшены. Использовать там, где раньше использовались buildList и т.п.- Returns:
- список итемов
-
isCtrlI
-
getValueFromResourceBundle
-
getValueFromResourceBundle
-
showWaitWindow
Создаётся окошечко с сообщением и крутилкой. В конце надо сделать ему dispose. Вариант использования:Window waitwindow = null; try { waitwindow = ClientUtils.showWaitWindow("wait..."); ... } finally { waitwindow.dispose(); }- Parameters:
message- сообщение- Returns:
- указатель на окно, которое надо будет закрыть.
-
getComponentKey
Получает из указанного компонента его ключ текстовый, чтобы сохранить в конфиге юзера, например, какие-то данные о нём.- Parameters:
c- компонентsuffix- строка-окончание, если null, то возвращается только префикс без этого суффикса- Returns:
- строка-ключ
-
getLocalSettingFolder
-
addComponentToPanel
-
openContract
public static void openContract(int contractId) Открыть в клиенте вкладку с договором. -
openContract
Открыть в клиенте вкладку с договором. И открыть на ней указанную вкладку. -
openContract
Открыть в клиенте вкладку с договором. Открыть на ней определённую вкладку и передать туда какой то определённый параметр. -
openContract
Открыть в клиенте вкладку с договором. По таблице и названию столбца в ней где содержится contractId.
-