DbReader
Установка программы
- Распаковать архив.
- Установить источник данных:
в Windows 2000: Панель управления/Администрирование/Источники данных (ODBC), добавить biotopes-data.mdb.
- Настроить программу:
В файле dbreader.properties указать имя, присвоенное источнику данных:
resource: jdbc:odbc:имя
и путь к каталогу, относительно которого программа будет искать изображения (содержащий biotopephotos и maps):
resource_base: C:\\biotopes
(символ '\' необходимо дублировать)
- Запуск программы:
dbreader.bat
или
java -jar dbreader.jar
.
Для запуска необходима Java Runtime Environment (JRE) 5.0, можно скачать с http://java.sun.com/j2se/1.5.0/download.jsp. Возможно, будет работать и со старыми версиями JRE - не проверял.
Все значения файла конфигурации можно переопределять при запуске программы:
команда java -Dru.karrc.dbreader.ключ=значение -jar dbreader.jar
(например: java -Dru.karrc.dbreader.log=dbreader.log -jar dbreader.jar
)
Работа программы
Программа выполняет запрос biotope.sql (или другой, указанный в dbreader.properties), после чего обрабатывает файл biotope.template, заменяя найденные в нем инструкции на результаты их выполнения.
Формат инструкций: <%список_функций[:|\]данные%>
, список функций - имена функций разделенные пробелом, список может быть пустым. Если указано несколько функций, они выполняются начиная с последней.
Разделители между списком функций и данными
:
- данные будут обрабатываться рекурсивно.
\
- данные будут переданы функции без обработки. Можно использовать для экранирования комбинаций символов <%
и %>
(<%\<%%>
и <%\%%>>
).
Функции
<%get:имя%>
Заменяется на значение встроенной переменной или колонки запроса.
<%optional:текст%>
Заменяется на текст, если в нем найдены инструкции, заменившиеся на непустые строки, иначе заменяется на пустую строку.
<%escape:текст%>
Заменяет в тексте "опасные" символы (таблица замен задается в файле конфигурации).
<%invoke:имя; парам1 парам2 ... парамN%>
Выполняет запрос с параметрами имя.sql и заменяется на результаты обработки шаблона имя.template. Значения параметров подставляются в запрос вместо символа '?'.
<%image:исх_файл кон_файл формат [макс_ширина] [макс_высота]%>
Загружает изображение из файла исх_файл (путь определяется относительно конфигурационного параметра "resource_base") и преобразует его в указанный формат, сохраняя результат в кон_файл. Если заданы максимальная высота и ширина, большие изображения будут уменьшены.
При успешном выполнении, инструкция <%image:...%>
будет заменена на значение кон_файл, иначе - на пустую строку.
<%copy:исх_файл кон_файл%>
Копирует файл исх_файл (путь определяется относительно конфигурационного параметра "resource_base") в кон_файл. При успешном выполнении, инструкция <%copy:...%>
будет заменена на значение кон_файл, иначе - на пустую строку.
Встроенные переменные
NUMBER
- порядковый номер строки результата выполнения запроса.
Чтобы обратиться к переменной запроса, из которого обрабатываемый шаблон был вызван с помощью функции invoke, перед именем переменной нужно добавить SUPER.
(например: SUPER.NUMBER
).
Пример
Следующая инструкция получит значение из столбца name и заменит в нем специальные символы:
<%escape get:name%>
Михаил Крышень