2013-07-29 62 views
0

因此,我正在編寫一個應用程序,幫助用戶在幾個簡單的步驟中在pentaho biserver中設置數據源,以便用戶不必擔心設置數據庫或連接架構。到目前爲止,我可以成功創建用於描述多維數據集並將其鏈接到數據庫的Mondrian.xml文件。我注意到,當我使用pentaho創建數據源時,除mondrian.xml文件外,它還創建了一個.xmi文件。 XMI文件是一個用於Ad Hoc報告的元數據文件,我也想生成這個文件。 XMI文件的模式看起來並不像mondrian文件那樣直截了當,所以我寧願通過Pentaho API去嘗試自己生成它。爲Ad Hoc報告創建Pentaho XMI文件

我想知道是否有人知道如何生成符合mondrian文件的XMI文件。我搜索了整個biserver日誌(catalina.out和pentaho.log),他們沒有提供有關正在發生的事情的信息。我也在penthao論壇上問了幾次問題,並在過去一個月內對這些問題進行了在線回覆。我知道org.pentaho.pms包有很多元數據,但是我發現Pentaho的javadoc缺乏關於如何使用他們的庫的明確說明。如果有人知道如何從Mondrian生成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並生成基於CWM的XML。

專注於構建org.pentaho.metadata.model.Domain,然後將其序列化到xmi。

這裏是你的工具箱的起點:https://github.com/pentaho/data-access

+0

感謝你爲這個,花了小挖得到它的工作,但它確實。非常感謝你給出了一個有用的答案。 – decal