2013-07-29 7 views
0

Итак, я пишу приложение, которое поможет пользователям установить Datasources в pentaho biserver за несколько простых шагов, так что пользователю не нужно беспокоиться о настройке базы данных или объединений для схема. До сих пор я могу успешно создавать файлы Mondrian.xml, которые описывают куб и связывают его с базой данных. Я заметил, что когда я создаю источник данных с pentaho, он создает файл .xmi в дополнение к файлу mondrian.xml. Файл XMI является файлом метаданных, который используется для отчетов Ad Hoc, и я хотел бы также сгенерировать это. Схема для файла XMI не выглядит столь же прямолинейной, как файл мондри, хотя я предпочел бы пройти через API Pentaho, чем попытаться создать его самостоятельно.Создание файлов Xany Pentaho для специальных отчетов

Мне было интересно, если кто-нибудь знает, как сгенерировать XMI-файл, который идет вместе с файлом mondrian. Я искал все журналы бисервера (catalina.out и pentaho.log), и они не дают понять, что происходит. Я также спросил пару раз на форумах penthao и получил 0 ответов за последний месяц, когда эти вопросы были в сети. Я знаю, что пакет org.pentaho.pms содержит много метаданных, но я считаю, что javadocs Pentaho не имеет четких инструкций о том, как использовать их библиотеки. Если кто-нибудь знает, как сгенерировать XMI из Мондриана, или если это возможно, я бы очень признателен. Спасибо

ответ

2

Ищите сетевые запросы в пользовательской консоли Pentaho, когда мы просим создать или изменить модель, она вызывает pentaho/gwtrpc/modelerService.

Как доступа к данным/plugin.xml показывает нам:

<webservice 
id="modelerService" 
type="xml,gwt" 
class="org.pentaho.platform.dataaccess.datasource.wizard.service.impl.ModelerService"/> 

Данная услуга реализуется в рамках класса ModelerService - here's the source code.

Определенно возможно программно генерировать их xmi. Не напрямую используя схему xml mondrian, вам нужно будет только разобрать ее или использовать модель pre-mondrian-xml - для последующего применения к API и создания XML на основе CWM.

Сосредоточьтесь на создании org.pentaho.metadata.model.Domain, а затем сериализуйте его в xmi.

Вот отправная точка вашей панели инструментов: https://github.com/pentaho/data-access

+0

Спасибо вам за это, он взял немного покопаться, чтобы заставить его работать, но это делает. Спасибо за кучу за полезный ответ. – decal

Смежные вопросы