Java 分類子の作成

Java 分類子を作成できます。データのセットを分類するカスタム・ロジックを Java クラスに書き込むことで、Java 分類子を使用してデータを分類することができます。

このタスクについて

ASBServer/lib フォルダーおよび ASBNode/lib/java フォルダーに対する書き込み権限を持っている必要があります。

すべての Java ベースの分類子について、public boolean matchValue(Object value) をオーバーライドして、ValueBasedClassifier インターフェースを実装する必要があります。ValueBasedClassifier インターフェースの public boolean matchValue(Object value) をオーバーライドして分類子をデプロイする場合は、実装を実際の value と比較する必要があります。例えば、600000000 から 999999999 の間のすべての値を分類する場合は、値が指定の数値の間にあるかどうかを検証する必要があります。値が指定された数値の間にある場合は true、そうでない場合は false として分類されます。値が true の場合は、xml 定義で指定した名前で分類されます。

手順

  1. Eclipse または Java 用の統合開発環境 (IDE) でプロジェクトを作成します。
  2. ia-common.jarInfoSphere® Information Server (IIS) のインストール・ロケーションから取得して、プロジェクトのクラスパスに追加します。この JAR ファイルは、ASBNODE¥lib¥java フォルダーまたは ASBServer¥lib フォルダーにあります。
  3. カスタム名を指定してクラス・ファイルを作成し、ValueBasedClassifier を実装します。
  4. ia-common.jar にあるカスタム・クラスに ValueBasedClassifier インターフェースをインポートして、コンパイラーの問題を解決します。
  5. public boolean matchValue(Object value) メソッドを実装して、そのメソッド内にカスタム・ロジックを書き込みます。このメソッドは、渡された値に基づいて true または false を返します。
  6. 任意の必要な名前を指定して、JAR ファイルとして分類子をエクスポートします。

package my.test.classifier;

import com.ibm.infosphere.ia.classification.ValueBasedClassifier;

public class MyCustom implements ValueBasedClassifier {
	public boolean matchValue(Object value) {
		// if the value is a number, it matches the class if it is in the expected range
		if (value instanceof Number) {
			int intValue = ((Number)value).intValue();
			return intValue>600000000 && intValue<999999999;
		}
		// if the value is not a number, it cannot match the class
		else {
			return false;
		}
	}
}

上記の分類子の XML 定義:

<?xml version="1.0" encoding="UTF-8"?>
<tns:DataClasses
		xmlns:tns="http://www.ibm.com/infosphere/ia/classification/DataclassesDefinition"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ibm.com/infosphere/ia/classification
/DataclassesDefinition/../../../model/DataClassesDefinition.xsd ">
			  		<tns:DataClass id="customID" name="CustomName"
description="Custom description" example="999999999">
	 					<tns:JavaClassifier
		 				className="my.test.classifier.MyCustom" />
		 				<tns:DataTypeFilter>
								<tns:LogicalDataType>numeric</tns:LogicalDataType>
				 		</tns:DataTypeFilter>
		 			  </tns:DataClass>
</tns:DataClasses>

次のタスク

2 つのファイルが作成された後、必要な名前を指定して、それらのファイルをバンドルして再び JAR にします。メイン JAR ファイルは、Customjar ファイルと xml ファイルのバンドルです。デプロイメント時に、パラメーターとして Mainjar を渡します。

次のコマンドを使用してモデルにデータ・クラスをデプロイします。
IAAdmin -user user_name -password password -url https://host:port -deployDataClasses <path of the Mainjar file>
エンジン層およびサーバー層で、以下のコマンドを使用して、新規 Java 分類子に関連する Java クラスをインストールします。
IAAdmin -installClassifiers <path of the Mainjar file>
注: サーバー層の場合は IAAdmin スクリプトは <InformationServer Home>/ASBServer/bin にあり、エンジン層の場合は IAAdmin スクリプトは <InformationServer Home>/ASBNode/bin にあります。