410013796724260
• Webmoney
R335386147728
Z369087728698
Модуль управления ресурсамиМодуль util-resources предназначен для управления внешними ресурсами приложения на платформе JaBricks. Внешние ресурсы приложения включают файл инициализации приложения, файлы описания структур «Главного меню» и «Панели инструментов», ресурсные файлы свойств и изображений приложения и бандлов. Файл инициализацииФайл инициализации приложения jabricks.ini хранит параметры в виде «ключ-значение». В дистрибутив приложения входит jabricks.ini, включающий только два параметра : # 2017-12-01 12:31:55 lang=ru locale=ru_RU,en_US,de_De В первую строку файла инициализации в виде комментария, начинающего с символа '#', модуль ресурсов записывает дату и время последнего обновления. • lang — текущий язык локализации;
Примечание : В файле инициализации jabricks.ini можно хранить дополнительные настройки отдельных бандлов приложения, например, параметры подключения к серверу базы данных. Чтение и обновление параметров осуществляется с использованием методов модуля по «ключу». Значения параметров инициализации приложения можно изменить непосредственно в jabricks.ini. Информацию о внешних ресурсах приложения модуль util-resources предоставляет по запросам бандлов. Модуль ресурсов util-resources содержит методы управления инициализационными параметрами : добавление и обновление значений. Данные методы можно вызвать из бандлов программно. На сайте можно скачать бандлы, предоставляющие графический интерфейс определения инициализационных параметров приложения. Так, к примеру,
Описание модуляМетоды модуля util-resources представлены в интерфейсе IResources. Класс ResourcesImpl реализует методы интерфейса IResources. Интерфейс модуля, IResourcesВ интерфейсе IResources определены следующие методы для управления внешними ресурсами приложения :
public interface IResources { // Управление объектом локализации Locale public Locale getLocale (); public void setLocale (Locale locale); public List<Locale> getLocales(); // Чтение иконки приложения public Image getAppIcon(); // Чтение изображения public Image getImage (final String name); public ImageIcon getImageIcon(final String name); // Чтение внешних ресурсов в формате XML public Document readXML (final String fname); public Document readMenuStructure (); public Document readToolbarStructure(); // Чтение внешних ресурсов бандла public Properties getBundleResources(String symbolicName); // Управление свойствами в файле jabricks.ini public String getIniParam(String key); public void setIniParam(String key, String value); }
Пример использование модуляЧтобы модуль util-resources был доступен в бандле необходимо в проектном файле pom.xml включить его описание в зависимости и в секцию <Import-Package> манифеста. В следующем скрипте представлены описания зависимости и плагина maven-bundle-plugin с включением бандла util-resources из pom.xml модуля протоколирования util-logger :
... <dependency> <groupId>org.jabricks.resources</groupId> <artifactId>util-resources</artifactId> <version>1.0.0</version> <scope>provided</scope> </dependency> ... <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>2.3.7</version> <extensions>true</extensions> <configuration> <instructions> <Bundle-SymbolicName> ${project.groupId}.${project.artifactId} </Bundle-SymbolicName> <Bundle-Name>${project.name}</Bundle-Name> <Bundle-Version> ${project.version} </Bundle-Version> <Bundle-Activator> ${project.groupId}.LoggerActivator </Bundle-Activator> <Import-Package> org.osgi.framework.*, org.osgi.service.log.*, org.jabricks.resources </Import-Package> </instructions> </configuration> </plugin> ... При подключении util-resources в коде модуля следует использовать интерфейс модуля IResources и его реализацию ResourcesImpl. Следующий код демонстрирует получение текущего объекта локализации приложения : // Определение ресурсного модуля IResources resources = new ResourcesImpl(); // Чтение текущего объекта локализации Locale locale = resources.getLocale(); Пример чтения инициализационных параметровДля чтения значения определенного параметра файла инициализации jabricks.ini используется метод getIniParam (String key). Если параметр определен в файле, то метод вернет его значение, в противном случае null. В следующем примере запрашивается параметр "db.host" сервера БД : IResources resources = new ResourcesImpl(); if (resources != null) { String host = resources.getIniParam("db.host"); System.out.println("db.host = " + host); } Пример чтения внешних ресурсов бандлаМетод getBundleResources (SymbolicName) модуля util-resources возвращает локализованные ресурсы согласно текущей Locale в виде Properties. Следующий пример демонстрирует вывод в консоль локализованного свойства "title", определенного во внешних ресурсных файлах бандла, расположенных в директории "configuration/resources/properties". Bundle bundle; ... IResources resources = new ResourcesImpl(); if (resources != null) { Properties props = null; props = resources.getBundleResources(bundle.getSymbolicName()); if (props != null) System.out.println(props.getProperty("title")); } Внешние ресурсы бандла позволяют настроить определенные интерфейсные свойства для конкретного приложения. Так, к примеру, внешние ресурсы модуля form-about позволяют определить различные описания приложения на главной вкладке формы. Ограничение доступа к ресурсамНа этапе разработки и отладки приложения внешние ресурсы директории configuration хранятся в открытом виде и могут быть изменены непосредственно разработчиком. После завершения разработки модулей приложения внешние ресурсы (конфигурацию) можно закрыть, ограничив прямой доступ к ним. В этом случае будет создано прикладное решение на платформе Jabricks. Конфигурацию можно восстановить для внесения каких-либо изменений в функционал отдельного модуля или в приложение в целом. Для этого необходимо знать пароль блокирования открытого доступа к внешним ресурсам (конфигурации). ЗависимостиМодуль util-resources имеет следующие зависимости, включенные в модуль JaBricks и загружаемые фреймворком при старте приложения :
Подключение модуля util-resourcesДля подключения модуля util-resources в приложение JaBricks необходимо :
Примечание : атрибут @start определяет необходимость старта модуля после «инсталляции» для обеспечения бандлов внешними ресурсами по запросам. GAV параметры модуля util-resources имеют следующие значения :
Подробнее о включении модуля в приложение JaBricks представлено здесь. Скачать util-resourcesРассмотренный на странице модуль с компонентами формирования графического интерфейса util-resources упакован в архивный файл util-resources-1.0.0.zip (18.6 Кб). |