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>
属性
なし