ユーザー定義インジケーターにJavaアーカイブを作成する前に、ワークスペースプラグインのコンパイルとテストの対象となるターゲットプラットフォームをEclipseで定義する必要があります。
始める前に
Talend Studioで Profiling パースペクティブを選択していること。
手順
-
ターゲットプラットフォームを定義します。
-
Eclipseで、[Preferences] (環境設定)を選択して[Preferences] (環境設定)ウィンドウを表示します。
-
[Plug-in Development] (プラグイン開発)を展開して[Target Platform] (ターゲットプラットフォーム)を選択し、[Add...] (追加...)をクリックしてターゲット定義を作成するためのビューを開きます。
-
[Nothing: Start with an empty target definition] (なし: 空のターゲット定義で始める)オプションを選択し[Next] (次へ)をクリックして次の手順に進みます。
-
[Name] (名前)フィールドに新しいターゲット定義の名前を入力し、[Add...] (追加...)をクリックして次の手順に進みます。
-
[Add Content] (コンテンツの追加)リストから[Installation] (インストール)を選択し、[Next] (次へ) をクリックして次の手順に進みます。
-
[Browse...] (参照...)ボタンを使用してインストールディレクトリーのパスを設定し、[Next] (次へ)をクリックして次の手順に進みます。
場所のリストに新しいターゲット定義が表示されます。
- [Finish] (終了)をクリックしてダイアログボックスを閉じます。
-
Eclipseで、[Preferences] (環境設定)を選択して[Preferences] (環境設定)ウィンドウを表示します。
-
ユーザー定義インジケーターのJavaアーカイブを作成する
-
Eclipseでhttps://github.com/Talend/tdq-studio-se/tree/master/sample/test.myudiにアクセスし、GITからプロジェクトを確認します。
このJavaプロジェクトには、インジケーターエディターの[Indicator Category] (インジケーターカテゴリー)ビューにリスト表示されたインジケーターカテゴリーに対応する4つのJavaクラスがあります。
どのJavaクラスも
UserDefIndicatorImpl
インジケーターを拡張します。下の図は、MyAvgLength
Javaクラスを使った例を示したものです。package test.udi; import org.talend.dataquality.indicators.sql.impl.UserDefIndicatorImpl; /** * @author mzhao * * A very simple example of a java implementation of a user defined indicator. This indicator returns a user defined * real value. It implements the minimum number of required methods. */ public class MyAvgLength extends UserDefIndicatorImpl { private double length = 0; @Override public boolean reset() { super.reset(); length = 0; return true; } @Override public boolean handle(Object data) { super.handle(data); // an indicator which computes the average text length on data which are more than 2 characters (this means that // text values with less than 2 characters are not taken into account). int dataLength = (data != null) ? data.toString().length() : 0; if (dataLength > 2) { length += dataLength; } return true; } /* * (non-Javadoc) * * @see org.talend.dataquality.indicators.impl.IndicatorImpl#finalizeComputation() */ @Override public boolean finalizeComputation() { value = String.valueOf(this.length / (this.getCount() - this.getNullCount())); return super.finalizeComputation(); } }
-
必要に応じて、各
@Override
に続くメソッドのコードを編集してください。 - オプション:
必要に応じて、次のメソッドをコードで使用してインジケーターパラメーターを取得します。
メソッド 説明 ndicatorParameters
IndicatorParameters
オブジェクトを返しますomain
ドメイン
オブジェクトを返しますJavaUDIIndicatorParameter
パラメーターを定義するキー/値の各ペアを保存する JavaUDIIndicatorParameter
のリストを返します。 - 変更を保存します。
- Eclipseを使用してこの新しいJavaアーカイブをエクスポートします。
-
Eclipseでhttps://github.com/Talend/tdq-studio-se/tree/master/sample/test.myudiにアクセスし、GITからプロジェクトを確認します。
タスクの結果
Talend Studioの Profiling パースペクティブで作成する任意のJavaインジケーターにこのJavaアーカイブを添付できるようになりました。