Создание файлов Pentaho XMI для специальных отчетов

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

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


person decal    schedule 29.07.2013    source источник


Ответы (1)


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

Как показывает data-access/plugin.xml:

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

Эта служба реализована в классе ModelerService — вот исходный код.

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

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

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

person marpontes    schedule 02.08.2013
comment
Спасибо за это, потребовалось немного копания, чтобы заставить его работать, но это работает. Большое спасибо за полезный ответ. - person decal; 03.08.2013