Analytic Workspace Managerプラグインを使用すると、Analytic Workspace ManagerのコンテキストでJavaコードを実行できます。Oracle Analytic Workspace Managerバージョン12.1でサポートされているJavaプラグイン・インタフェースの実装により、OLAPオプションを含むOracle Database 12cリリース1 (12.1)でAnalytic Workspace Managerの機能を拡張できます。
この章の内容は次のとおりです。
Analytic Workspace Managerには、次のJavaプラグイン・インタフェースがあります。
AWMPlugin
(このインタフェースを使用すると、ナビゲーション・ツリー・オブジェクトの右クリック・メニューに選択肢を追加できます)。
ViewerPlugin
(このインタフェースを使用すると、プロパティ・インスペクタに現在のナビゲーション・ツリー・オブジェクトに関する情報を表示できます)。
EditorPlugin
(ViewerPlugin
を拡張し、オブジェクトのプロパティを編集する機能を追加します)。
Analytic Workspace Managerプラグインを使用して、次のような操作を実行するプログラムを実装できます。
新しいタイプの計算の作成。
予測の作成。
企業固有の時間ディメンションなどの、カスタムOLAPメタデータ・オブジェクトの作成。
カスタム・ナビゲーション・ツリー・オブジェクトに関連付けられた情報のプロパティ・インスペクタでの表示の制御。
プロパティ・インスペクタでのオブジェクトのプロパティの編集。
Analytic Workspace Managerプラグインでは、次のJava APIを使用できます。
Oracle OLAP Java API
JDBC API
Swing API
JDBCクラスを使用して、OLAP DMLまたはSQLプロシージャを起動できます。
Analytic Workspace Managerには、プラグインを使用するかどうかを指定する構成オプションがあります。プラグインを有効にするには、図2-1に示すように、Analytic Workspace Managerの「ツール」メニューから「構成」を選択します。図2-2に示すように、「構成」ダイアログ・ボックスで「プラグインを有効化」を選択し、プラグインを含むディレクトリを指定します。「OK」をクリックし、Analytic Workspace Managerを終了して再起動します。
図2-2に、「プラグインを有効化」が選択され、「プラグイン・ディレクトリ」の値としてplugin
が指定された「構成」ダイアログ・ボックスを示します。ディレクトリがOracle_home
/olap/awm
ディレクトリのサブディレクトリである場合(図に示すplugin
ディレクトリがこれに該当します)を除き、値には、プラグイン・ディレクトリへのフルパスが含まれる必要があります。
Analytic Workspace Managerでプラグインを有効にした場合、Analytic Workspace Managerは起動時にプラグイン・ディレクトリ内のJARファイルからJavaコードを動的にロードします。JARファイルの内容をロードした後、Analytic Workspace ManagerはAWMPlugin
、ViewerPlugin
またはEditorPlugin
インタフェースを実装するクラスを検索します。また、ナビゲーション・ツリーにオブジェクトを追加するaw.xml
、cube.xml
、dimension.xml
およびschema.xml
ファイルも検索します。
注意: 1つのJARファイルに複数のプラグインおよびXMLドキュメントを含めることができます。 |
Analytic Workspace Managerはプラグインのほとんどのメソッドを呼び出す場合、メソッドにjava.sql.Connection
オブジェクトをconn
パラメータとして渡します。Connection
は、Oracle Databaseインスタンスへの現在の接続を表します。
Analytic Workspace ManagerはプラグインにユーザーIDまたはパスワードを渡しません。接続オブジェクトのみを渡します。Analytic Workspace Managerプラグインで許可されるのは、スタンドアロンJavaプログラムを作成することによって実行できる操作のみです。Analytic Workspace Managerがプラグインのメソッドに渡すパラメータの詳細は、「AWMPluginインタフェースの説明」および「ViewerPluginおよびEditorPluginインタフェースの説明」を参照してください。
ユーザーがAnalytic Workspace Managerのナビゲーション・ツリーでオブジェクトを右クリックすると、そのオブジェクトに対して実行できる操作を示したメニューが表示されます。メニューには、オブジェクトに適用されるAWMPlugin
プラグインによって提供されるオプションも表示されます。AWMPlugin
は、isSupported
メソッドを使用してツリー内のオブジェクトに適用されるかどうかを示します。ユーザーがナビゲーション・ツリー・オブジェクトを右クリックするたびに、Analytic Workspace Managerは各プラグインのisSupported
メソッドを呼び出すため、isSupported
メソッドは迅速に戻される必要があります。
メニューには、プラグインのgetMenu
メソッドによって返されたテキストが表示されます。図2-3に、ユーザーがツリーで計算済メジャーを右クリックしたときにAnalytic Workspace Managerで表示されるメニューを示します。メニューには、ViewXMLPlugin
サンプル・プラグインが含まれます。サンプル・プラグインのコードの詳細は、例3-1を参照してください。
ユーザーがプラグインを選択すると、Analytic Workspace Managerはプラグインのhandle
メソッドを呼び出します。handle
メソッドによって、プラグインが実行する操作が指定されます。プラグインのrefreshTree
メソッドでは、Analytic Workspace Managerがナビゲーション・ツリーをリフレッシュして、プラグインによって作成された新しいオブジェクトを含めるか、プラグインによって削除されたオブジェクトを削除するかどうかが指定されます。
「オブジェクト・フォルダでのレポートの作成」で説明するように、特定のXMLドキュメントを使用して、Analytic Workspace Managerのナビゲーション・ツリーの「スキーマ」、「アナリティック・ワークスペース」、「ディメンション」および「キューブ」フォルダにオブジェクトを追加できます。XMLドキュメントに<AWMNode>
要素を追加して、ナビゲーション・ツリーにオブジェクトを追加します。<AWMNode>
がViewerPlugin
またはEditorPlugin
を指定する場合、Analytic Workspace Managerは、ユーザーが<AWMNode>
に対応するナビゲーション・ツリー・オブジェクトを選択したときにプラグインを呼び出します。
<AWMNode>
要素のsql
属性では、SQL SELECT
文を指定できます。Analytic Workspace Managerでは、文の結果がナビゲーション・ツリーのフォルダまたはプロパティ・インスペクタのいずれか、あるいはその両方に表示されます。XMLドキュメントおよびSQL文の作成の詳細は、「オブジェクト・フォルダでのレポートの作成」を参照してください。
プロパティ・インスペクタでの情報の表示を制御したり、選択したナビゲーション・ツリー・オブジェクトのプロパティをユーザーが編集できるようにするには、ViewerPlugin
またはEditorPlugin
を使用できます。プラグインを指定するには、<AWMNode>
要素のviewClass
属性を使用します。プラグインでは、Oracle OLAP Java APIを使用してOLAPオブジェクトを取得したり、それらの特性を変更できます。プロパティ・インスペクタでの表示のユーザー・インタフェース要素を指定することもできます。
次に、oracle.olap.awm.plugin.AWMPlugin
インタフェースを示します。
package oracle.olap.awm.plugin import java.awt.Frame; import java.sql.Connection; import java.util.Map; import oracle.AWXML.AW; public interface AWMPlugin { boolean isSupported(Connection conn, String type, Object obj, AW aw, Map params); String getMenu(Connection conn, String type, Object obj, AW aw, Map params); void handle(Frame parent, Connection conn, String type, Object obj, AW aw, Map params); boolean refreshTree(Connection conn, String type, Object obj, AW aw, Map params); }
ユーザーがナビゲーション・ツリーでオブジェクトを右クリックすると、Analytic Workspace Managerは、AWMPlugin
インタフェースを実装するクラスのメソッドを、図2-4に示す順序で呼び出します。
Analytic Workspace Managerは、最初にisSupported
メソッドを呼び出します。このメソッドによってtrue
が戻された場合、Analytic Workspace ManagerはgetMenu
を呼び出し、右クリック・メニューにgetMenu
によって戻される値を表示します。ユーザーがメニュー項目を選択すると、Analytic Workspace Managerはhandle
およびrefreshTree
メソッドを呼び出します。Analytic Workspace ManagerがAWMPlugin
メソッドに渡す入力パラメータは次のとおりです。
conn
(Oracle Databaseインスタンスへの現在の接続を表すjava.sql.Connection
オブジェクトです)。
type
(Analytic Workspace Managerがオブジェクトに割り当てるタイプの指定であるjava.lang.String
です)。type
パラメータ値の詳細は、「typeおよびobjパラメータの値」を参照してください。
obj
(Analytic Workspace ManagerがAnalytic Workspace Managerのナビゲーション・ツリーで選択されたオブジェクトに関連付けるjava.lang.Object
です)。Object
は、String
またはOracle OLAP Java APIのオブジェクトの場合があります。obj
パラメータ値の詳細は、「typeおよびobjパラメータの値」を参照してください。
aw
(null
です)。このパラメータは、aw
がoracle.AWXML.AW
オブジェクトであった10gプラグインとの互換性のために存在します。
params
(プラグインで使用できるオブジェクトおよび情報を含むjava.util.Map
です)。Map
キーおよび値の詳細は、「AWMPluginのparams Mapの要素」を参照してください。
parent
(Analytic Workspace Managerがhandle
メソッドに渡すjava.awt.Frame
オブジェクトです)。プラグインではこのオブジェクトをユーザー・インタフェース・コンポーネントの親フレームとして使用できます。
AWMPlugin
実装のメソッドのtype
パラメータでは、Analytic Workspace Managerはプラグインが起動されたナビゲーション・ツリー・オブジェクトのタイプを識別するラベルをプラグインに渡します。メソッドのobj
パラメータでは、Analytic Workspace ManagerはObject
を渡します(これは、java.lang.String
またはOLAPメタデータ・オブジェクトです)。
プラグインではtype
値を使用して、同じメタデータ・オブジェクトに関連付けられたナビゲーション・ツリー・オブジェクトを区別できます。たとえば、「レベル」、「階層」など、「ディメンション」フォルダ内のすべてのフォルダ・オブジェクトに対して、Analytic Workspace Managerはobj
パラメータとして同じMdmPrimaryDimension
オブジェクトを渡しますが、各フォルダ・オブジェクトごとに異なるtype
ラベルを渡します。
XMLドキュメントによって追加するカスタム・オブジェクトは、ナビゲーション・ツリーのXMLドキュメントで指定したレベルに表示されます。たとえば、dimension.xml
ドキュメントの最上位の<AWMNode>
は、アナリティック・ワークスペースの「ディメンション」フォルダに表示されます。<AWMNode>
要素によって指定されたAWMPlugin
実装の場合、type
パラメータ値には接頭辞AWMTree_
があり、その後に親の<AWMNode>
のname
属性の値が続きます。obj
パラメータ値は、<AWMNode>
のtype
属性のランタイム値です。
表2-1に、選択されたナビゲーション・ツリー・オブジェクトについて、Analytic Workspace Managerがプラグインに渡すtype
パラメータ値とobj
パラメータ・オブジェクトを示します。ナビゲーション・ツリー・オブジェクト列のオブジェクトのインデントは、ツリーの階層を示します。イタリック体のテキストは、変数オブジェクト名を示します。obj
パラメータ・オブジェクトは、String
オブジェクトまたはOLAPメタデータ・オブジェクトです。AW
オブジェクトはoracle.olapi.metadata.deployment.AW
オブジェクトです。MdmStandardDimension
やMdmCube
などのその他のメタデータ・オブジェクトは、oracle.olapi.metadata.mdm
パッケージのクラスです。レポート・オブジェクトとその下のすべてのオブジェクトのタイプは同じです。
表2-1 ナビゲーション・ツリー・オブジェクトのtype値およびオブジェクト
ナビゲーション・ツリー・オブジェクト | typeパラメータ値 | objパラメータ・オブジェクト |
---|---|---|
データベース |
|
|
データベース名 |
|
データベース識別子 |
スキーマ |
|
データベース識別子 |
スキーマ名 |
|
スキーマ名 |
アナリティック・ワークスペース |
|
スキーマ名 |
アナリティック・ワークスペース名 |
|
|
ディメンション |
|
|
ディメンション名 |
|
|
レベル |
|
|
レベル名 |
|
|
階層 |
|
|
階層名 |
|
|
属性 |
|
|
属性名 |
|
|
マッピング |
|
|
ビュー |
|
|
ビュー名 |
|
|
データ・セキュリティ |
|
|
dimension.xmlオブジェクト |
|
フォルダの場合、 |
キューブ |
|
|
キューブ名 |
|
|
メジャー |
|
|
メジャー名 |
|
|
計算済メジャー |
|
|
計算済メジャー名 |
|
|
マッピング |
|
|
ビュー |
|
|
ビュー名 |
|
|
キューブ・スクリプト |
|
|
キューブ・スクリプト名 |
|
Script_name |
データ・セキュリティ |
|
|
cube.xmlオブジェクト |
|
フォルダの場合、 |
メジャー・フォルダ |
|
|
メジャー・フォルダ名 |
Measure_folder_name |
|
言語 |
|
|
aw.xmlオブジェクト |
|
フォルダの場合、 |
OLAP DMLプログラム |
|
|
プログラム名 |
|
Program_name |
メンテナンス・スクリプト |
|
スキーマ名 |
スクリプト名 |
|
スクリプト名 |
メンテナンス・レポート |
|
メンテナンス・レポート |
Maintenance_report_name |
|
Maintenance_report_name |
schema.xmlオブジェクト |
|
フォルダの場合、 |
データ・セキュリティ・ロール |
|
データ・セキュリティ・ロール |
セキュリティ・ロール名 |
セキュリティ・ロール名 |
セキュリティ・ロール名 |
レポート |
|
レポート |
レポート名 |
|
レポート名 |
params
Map
には、現在選択されているナビゲーション・ツリー・オブジェクトに関する情報が含まれます。表2-2「非カスタム・オブジェクトのparams Mapのキーおよび値」および表2-3「カスタム・オブジェクトのparams Mapのキーおよび値」に、AWMPlugin
のMap
の要素のキーおよび値の説明を示します。キーはString
オブジェクトです。
「データベース」フォルダのparams
Map
には、DATASOURCE
、DATAPROVIDER
またはGETDATAPROVIDER
キーはありません。上位レベルのナビゲーション・ツリー・オブジェクト(個々のアナリティック・ワークスペースの上のオブジェクト)のparams
Map
オブジェクトは、ユーザーがOLAPメタデータを必要とするツリー・オブジェクトを選択するまでは、DATAPROVIDER
キーに対してnull値を持ちます。これらの例外を除き、ナビゲーション・ツリー・オブジェクトのparams
Map
は、表に示すキーおよび値を持ちます。
表2-2に、非カスタム・ナビゲーション・ツリー・オブジェクトのparams
Map
の要素のキーおよび値を示します。カスタム・ナビゲーション・ツリー・オブジェクトは、SQLレポートXMLドキュメントの<AWMNode>
要素によって指定され、接頭辞AWMTreeで始まるタイプを持ちます。
表2-2 非カスタム・オブジェクトのparams Mapのキーおよび値
キー | 値 |
---|---|
|
Analytic Workspace Managerのバージョン番号である |
|
セッションのメタデータ・プロバイダである |
|
空の |
|
|
|
|
表2-3に、カスタム・ナビゲーション・ツリー・オブジェクトのparams
Map
要素のキーおよび値を示します。カスタム・オブジェクトは、SQLレポートXMLドキュメントの<AWMNode>
要素によって指定されます。
表2-3 カスタム・オブジェクトのparams Mapのキーおよび値
キー | 値 |
---|---|
|
Analytic Workspace Managerのバージョン番号である |
|
セッションのメタデータ・プロバイダである |
|
|
|
|
|
|
|
プラグインを指定する |
|
ネストされた |
|
プラグインを指定する |
BIND_MAP
Map
には、現在選択されているナビゲーション・ツリー・オブジェクトに関連付けられたバインド変数が含まれます。表2-4に、BIND_MAP
Map
のキーおよび値の説明を示します。
このMap
には、<AWMNode>
と親の<AWMNode>
のSQL文に表示されるバインド変数が含まれます。また、ナビゲーション・ツリーで現在選択されているオブジェクトの他のバインド変数も含まれます。
キーはString
オブジェクトです。バインド変数は、カスタム・ナビゲーション・ツリー・オブジェクトの<AWMNODE>
要素のtype
属性で指定されるか、Analytic Workspace Managerによって内部で設定されます。プラグインは、BIND_MAP
Map
からバインド変数のランタイム値を取得します。バインド・マップMap
のキーおよび値の例は、表2-6を参照してください。
表2-4 BIND_MAP Mapのキーおよび値
キー | 値 |
---|---|
|
現在選択されているアナリティック・ワークスペースの名前を含む |
|
現在選択されているアナリティック・ワークスペースの所有者の名前を含む |
|
現在選択されているスキーマの所有者の名前を含む |
|
データベースに接続されているユーザーの名前を含む |
その他のバインド変数 |
それぞれバインド変数をキーとして持ち、バインド変数のランタイム値を値として持つ1つ以上の要素。 他のバインド変数のキーの例として、 |
表2-5および表2-6に、カスタム・オブジェクトのparams
Map
のキーおよび値の例を示します。DATAPROVIDER
およびDATASOURCE
キーの値を除き、すべての値はString
オブジェクトです。
表2-6に、図3-2に示すようにユーザーがMyDimsフォルダのCUSTOMERディメンションを右クリックしたときに、Analytic Workspace ManagerがDeleteDimPlugin
のメソッドに渡すparams
Map
の要素を示します。MyDimsフォルダは、例3-7のaw.xmlドキュメントで作成されます。
図には、DeleteDimPlugin
によって表示されるメニューが示されています。図のプロパティ・インスペクタには、DimEditorPlugin
の出力が示されます(これは、ユーザーがMyDimsフォルダのディメンションを選択すると、そのプラグインもアクティブ化されるためです)。
params
Map
から値を取得する例は、例3-2のDeleteDimPlugin
クラスのisSupported
メソッドにある次の行です。
Object nodeType = params.get("TYPE");
表2-5 DeleteDimPluginのparams Mapのキーおよび値
キー | 値 | 説明 |
---|---|---|
AW |
|
現在のアナリティック・ワークスペース・オブジェクト。 |
|
|
Analytic Workspace Managerのバージョン番号。 |
|
|
現在のオブジェクトに関連するバインド変数のコンテナ。 |
|
|
セッションのメタデータ・プロバイダ。 |
|
|
現在のデータ・ソース。 |
|
|
|
|
|
|
|
|
親の |
|
|
プラグインを指定する |
表2-6に、params
Map
のBIND_MAP
キーの値であるMap
の要素を示します。BIND_MAP
Map
から値を取得する例は、例3-2のDeleteDimPlugin
クラスのhandle
メソッドにある次の行です。
Map bindMap = (Map)params.get("BIND_MAP"); ... String owner = (String)bindMap.get("owner");
「オブジェクト・フォルダでのレポートの作成」で説明するように、特定のXMLドキュメントを使用して、Analytic Workspace Managerのナビゲーション・ツリーの「スキーマ」、「アナリティック・ワークスペース」、「ディメンション」および「キューブ」フォルダにオブジェクトを追加できます。XMLドキュメントに<AWMNode>
要素を追加して、ナビゲーション・ツリーにオブジェクトを追加します。
<AWMNode>
要素のsql
属性では、SQL SELECT
文を指定できます。Analytic Workspace Managerでは、文の結果がナビゲーション・ツリーのフォルダまたはプロパティ・インスペクタのいずれか、あるいはその両方に表示されます。XMLドキュメントおよびSQL文の作成の詳細は、「オブジェクト・フォルダでのレポートの作成」を参照してください。
<AWMNode>
要素のviewClass
属性では、データベース・オブジェクトを表示または編集するためのJavaプラグインを指定できます。リレーショナル・オブジェクトまたはOLAPオブジェクトのビューアまたはエディタを追加できます。リレーショナル・オブジェクトには表、マテリアライズド・ビューなどが含まれ、OLAPオブジェクトには、ディメンション、キューブなどが含まれます。ビューアを追加するには、viewClass
属性でViewerPlugin
インタフェースの実装を指定します。エディタを追加するには、viewClass
属性でEditorPlugin
インタフェースの実装を指定します。ビューアまたはエディタ・プラグインは、プロパティ・インスペクタに表示されます。
次に、oracle.olap.awm.plugin.ViewerPlugin
インタフェースを示します。
package oracle.olap.awm.plugin import java.sql.Connection; import java.util.Map; import javax.swing.JPanel; public interface ViewerPlugin { public boolean isViewerForType(Connection conn, String name) throws Exception; public JPanel getPanel(Connection conn, String name, Map params) throws Exception; public void cleanup(String name); }
Analytic Workspace ManagerユーザーがViewerPlugin
に関連付けられたナビゲーション・ツリー・オブジェクトを選択すると、Analytic Workspace Managerは図2-5に示す順序でViewerPlugin
のメソッドを呼び出します。
Analytic Workspace Managerは最初にisViewerForType
メソッドを呼び出し、次のパラメータを渡します。
プラグインによってtrue
が戻された場合、Analytic Workspace ManagerはgetPanel
メソッドを呼び出し、同じconn
およびname
パラメータに加えて、次のパラメータを渡します。
params
(現在選択されているナビゲーション・ツリー・オブジェクトに関する情報を含むjava.util.Map
オブジェクトです)。情報には、viewClass
属性を持つ<AWMNode>
要素の属性および親の<AWMNode>
のランタイム値が含まれます。プラグインでは、データベースから表示または取得するデータの指定にこの情報を使用できます。Map
のキーおよび値は、表2-7に示されています。Map
キーおよび値の詳細は、「ViewerPluginまたはEditorPluginのparams Mapの要素」を参照してください。
ユーザーが異なるナビゲーション・ツリー・オブジェクトを選択すると、Analytic Workspace Managerはプラグインのcleanup
メソッドを呼び出します。そのメソッドに同じname
パラメータを渡します。このメソッドで、プラグインに必要なクリーンアップを実行できます。
EditorPlugin
インタフェースはViewerPlugin
インタフェースを拡張します。次に、oracle.olap.awm.plugin.EditorPlugin
インタフェースを示します。
package oracle.olap.awm.plugin import java.awt.Component; import java.sql.Connection; import java.util.Map; public interface EditorPlugin extends ViewerPlugin { public void setValueChanged(Connection conn, String name, Map params, PanelChanged parent); public boolean validate(Connection conn, Component parent, String name, Map params) throws Exception; public boolean save(Connection conn, Component parent, String name, Map params) throws Exception; public void revert(Connection conn, Component parent, String name, Map params) throws Exception; public void showHelp(Connection conn, Component parent, String name, Map params) throws Exception; }
図2-6、「EditorPluginへの呼出しの順序」に示すように、EditorPlugin
の場合、Analytic Workspace Managerは最初にisViewerForType
、setValueChanged
およびgetPanel
メソッドを呼び出します。EditorPlugin
の表示の例については、図3-11を参照してください。
ユーザーがプロパティ・インスペクタで変更を加えると、「適用」および「元に戻す」ボタンがアクティブになります。ユーザーが「適用」をクリックすると、Analytic Workspace ManagerはEditorPlugin
のvalidate
メソッドを呼び出します。値が有効な場合、Analytic Workspace Managerはsave
メソッドを呼び出します。ユーザーが「元に戻す」をクリックすると、Analytic Workspace Managerはrevert
を呼び出します。ユーザーが「ヘルプ」ボタンをクリックすると、Analytic Workspace ManagerはshowHelp
を呼び出します。
EditorPlugin
のすべてのメソッドに、getPanel
メソッドと同じconn
、name
およびparam
パラメータがあります。これらのパラメータについては、「ViewerPluginおよびEditorPluginインタフェースの説明」を参照してください。メソッドには、次の追加のパラメータもあります。
ViewerPlugin
またはEditorPlugin
のparams
Map
には、BIND_MAP
Map
は含まれません。かわりに、バインド変数は、params
Map
のキーです。表2-7に、ViewerPlugin
またはEditorPlugin
のMap
の要素のキーおよび値の説明を示します。
表2-7 ViewerPluginまたはEditorPluginのparams Mapのキーおよび値
キー | 値 |
---|---|
|
|
|
現在選択されているアナリティック・ワークスペースの名前を含む |
|
セッションのメタデータ・プロバイダである |
|
|
|
プラグインを指定する |
|
現在選択されているアナリティック・ワークスペースの所有者の名前を含む |
|
現在選択されているスキーマの所有者の名前を含む |
|
プラグインを指定する |
|
データベースに接続されているユーザーの名前を含む |
その他のバインド変数 |
それぞれバインド変数をキーとして持ち、バインド変数のランタイム値を値として持つ1つ以上の要素。XMLドキュメントの 他のバインド変数のキーの例として、 |
表2-8に、ViewerPlugin
またはEditorPlugin
のparams
Map
のキーおよび値の例を示します。DATAPROVIDER
およびDATASOURCE
キーの値を除き、すべての値はString
オブジェクトです。
例3-5のcube.xml
ドキュメントには、MyMeasures
という名前の親の<AWMNode>
、measureobj
のタイプおよびバインド変数cube_name
を参照するSQL文があります。子の<AWMNode>
には、measureview
タイプ、およびMeasureViewerPlugin
プラグインを指定するviewClass
属性があります。
表2-8に、図3-7に示すようにユーザーがMyMeasuresフォルダのUNITSメジャーを選択したときに、Analytic Workspace ManagerがMeasureViewerPlugin
のメソッドに渡すparams
Map
の要素を示します。プロパティ・インスペクタには、プラグインの出力(単にメジャーの名前)が表示されます。
例3-6のMeasureViewerPlugin
クラスは、getPanel
メソッドの次の行のバインド変数の値を取得します。
measureobj = params.get("measureobj");
表2-8 MeasureViewerPluginのparams Mapのキーおよび値
キー | 値 | 説明 |
---|---|---|
|
|
現在のアナリティック・ワークスペース・オブジェクト。 |
|
|
現在のアナリティック・ワークスペースの名前。 |
|
|
現在のキューブの名前。 |
|
|
セッションのメタデータ・プロバイダ。 |
|
|
現在のデータ・ソース。 |
|
|
ナビゲーション・ツリー・オブジェクトがフォルダでないことを示します。 |
|
|
現在のメジャーの名前。 |
|
|
親の |
|
|
アナリティック・ワークスペースの所有者の名前。 |
|
|
現在のスキーマの名前。 |
|
|
|
|
|
現行ユーザーの名前。 |
表2-9に、図3-11に示すようにユーザーがMyDimsフォルダのCHANNELディメンションを選択したときに、Analytic Workspace ManagerがDimEditorPlugin
のメソッドに渡すparams
Map
の要素を示します。図のプロパティ・インスペクタには、DimEditorPlugin
の出力があります。
params
Map
から値を取得する例は、例3-9のDimEditorPlugin
クラスのgetMetadataProvider
メソッドにある次の行です。
Object dp = params.get("DATAPROVIDER");
params
Map
から値を取得するもう1つの例は、DimEditorPlugin
クラスのgetDimension
メソッドにある次の行です。
Object obj = null; ... obj = params.get("dimobj");
表2-9 DimEditorPluginのparams Mapのキーおよび値
キー | 値 | 説明 |
---|---|---|
|
|
現在のアナリティック・ワークスペース・オブジェクト。 |
|
|
現在のアナリティック・ワークスペースの名前。 |
|
|
セッションのメタデータ・プロバイダ。 |
|
|
現在のデータ・ソース。 |
|
|
MyDimsフォルダで現在選択されているディメンションのランタイム値。 |
|
|
ナビゲーション・ツリー・オブジェクトがフォルダであることを示します。 |
|
|
親の |
|
|
アナリティック・ワークスペースの所有者の名前。 |
|
|
現在のスキーマの名前。 |
|
|
|
|
|
現行ユーザーの名前。 |
Analytic Workspace Managerプラグインの作成の前提条件は次のとおりです。
Oracle Database Enterprise Editionの配布に含まれるAnalytic Workspace Managerの場合は、開発環境に次のファイルを含めます。これらのJARファイルは、Oracle DatabaseインストールのOracle_home
/olap/api/lib
ディレクトリにあります。
awm.jar
(プラグイン・インタフェースが含まれます)。
olap_api.jar
(Oracle OLAP Java APIのクラスが含まれます)。
awxml.jar
(Analytic Workspace Managerの10gリリースとの互換性のためにAWMPlugin
インタフェースに含まれるoracle.AWXML.AW
クラスが含まれます)。
Oracle Technology NetworkからダウンロードしたAnalytic Workspace Managerの場合は、開発環境にawm11.2.0.2.0.jar
ファイルを含めます。
JDK 1.6でコードをコンパイルします。
注意: JDK 1.6でコンパイルされたプラグインのみが12cリリース1 (12.1)のAnalytic Workspace Managerと互換性があります。 |
Analytic Workspace Managerプラグインを作成するには、次の手順を実行します。
プラグイン・インタフェースを実装するクラスを作成します。
AWMPlugin
の場合は、次の手順を実行します。
ViewerPlugin
の場合は、次の手順を実行します。
EditorPlugin
の場合は、ViewerPlugin
の手順を実行し、次の手順を追加します。
JDK 1.6を使用して、プラグインおよびプラグインが使用するその他のすべてのクラスをコンパイルします。
プラグイン、XMLドキュメントおよびその他のクラスをJARファイルにデプロイします。同じJARファイルに複数のプラグインを含めることができます。
JARファイルをプラグイン・ディレクトリに置きます。
Analytic Workspace Managerを起動します。
ViewerPlugin
またはEditorPlugin
を使用するには、通常、次の手順を実行します。
ナビゲーション・ツリーでカスタム・オブジェクトを表示する場所に応じて、schema.xml
、aw.xml
、cube.xml
またはdimension.xml
という名前のXMLドキュメントを作成します。XMLドキュメントでは、複数の<AWMNode>
要素を同じレベルに置くことができます。1つ以上の<AWMNode>
要素を親の<AWMNode>
要素にネストすることもできます。
<AWMNode>
要素で指定するSQL文を開発します。
ViewerPlugin
またはEditorPlugin
インタフェースを実装します。
sql
属性で<AWMNode>
のSQL文を指定します。viewClass
属性でプラグインを指定します。
XMLドキュメントおよびプラグインの実装をJARファイルにデプロイします。複数のXMLドキュメントおよびプラグインを同じJARファイルに置くことができます。XMLドキュメントをプラグインと同じJARファイルに置くことができます。
Analytic Workspace Managerを起動します。
Analytic Workspace Managerに追加するプラグインに関する情報は、awmplugin.xml
ドキュメントを作成することによって提供できます。このXMLドキュメントで、各プラグインの名前、バージョン番号および説明を記述できます。Analytic Workspace Managerでは、ユーザーが「ヘルプ」メニューの「バージョン情報」を選択した後に「プラグイン」タブを選択すると、この情報がプラグインのステータスとともに表示されます。
<?xml version="1.0" encoding="utf-8"?>
サイトに適したエンコーディングを指定します。
「参照: プラグインの説明の要素」の説明に従って、プラグイン説明用のXMLを入力します。
<Plugin>
要素のname
属性にプラグインの名前を入力します。version
属性にプラグインのバージョン番号を入力します。class
属性にプラグインを含むクラスを入力します。<Description>
要素にプラグインの説明を入力します。
プラグイン・ディレクトリに、awmplugin.xml
ドキュメントを含むJARファイルを作成します。または、「オブジェクト・フォルダでのレポートの作成」で説明したXMLドキュメントまたはプラグインを含むJARファイルにawmplugin.xml
ドキュメントを追加することもできます。
サンプルのawmplugin.xml
ファイルについては、「プラグインの説明の例」を参照してください。
使用可能なプラグインを説明するXMLドキュメントの形式は、例2-1に示すようになります。
Analytic Workspace Managerで使用可能なJavaプラグインに関する情報を含むものとしてこのドキュメントを識別するルート要素。
含まれる項目
<Plugin>
属性
なし