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 Кб). |
