データソース・クラスの作成

データソースは、DataSource抽象クラスおよび他のサポート・クラスを拡張することによって作成します。

DataSourceでは、@IasDataSourceアノテーションが必要です。このアノテーションには、次のような構成可能な重要な属性がいくつかあります。
  • displayName.オプション。IAS Serverコマンドライン・ユーティリティのlistModulesタスクから返されるデータソース名。指定されない場合、displayNameはデフォルトでnameの値をとります。
  • description.オプション。データソースがアクセスできるものについての説明。この説明は、IAS Serverコマンドライン・ユーティリティのlistModulesタスクから返されます。
  • id.オプション。指定されない場合、拡張機能はデフォルトで完全修飾クラス名をidとして使用します。

IAS Serverコマンドライン・ユーティリティのlistModulesタスクおよびIAS Server APIのlistModules()メソッドのいずれも、@IasDataSourceアノテーションで指定した属性値を返します。

データソース拡張機能を作成する手順は次のとおりです。

  1. ご使用の開発環境でJavaプロジェクトを作成します。

    1つのプラグインに複数の拡張機能を作成する場合には、各拡張機能に対して同じJavaプロジェクトを使用できます。

  2. IAS拡張APIライブラリをコンパイル・クラスパスに追加します。これらは、<インストール・パス>\IAS\<バージョン>\lib\ias-extension-apiにあるすべてのライブラリを含みます。
  3. DataSourceのサブクラスを作成し、拡張機能が使用するPipelineComponentConfigurationサブクラスを指定します。DataSourceでは、引数なしのコンストラクタが必要です。
    たとえば、次のようになります。
    public class CsvDataSource extends DataSource<CsvDataSourceRuntime,CsvDataSourceConfig>{
    
    }
  4. DataSourceクラスに@IasDataSourceアノテーションを追加します。
    たとえば、次のようになります。
    @IasDataSource(displayName="CSV File", description="Reads comma separated files")
    public class CsvDataSource extends DataSource<CsvDataSourceRuntime,CsvDataSourceConfig>{
    
    }
  5. getConfigurationClass()メソッドを実装し、適切なPipelineComponentConfigurationサブクラスが返されるようにします。
    たとえば、次のようになります。
    public Class<CsvDataSourceConfig> getConfigurationClass() {
    		return CsvDataSourceConfig.class;
    }
  6. createDataSourceRuntime()メソッドを実装し、DataSourceRuntimeクラスの実装を作成します。
    たとえば、次のようになります。
    public CsvDataSourceRuntime createDataSourceRuntime(
    			CsvDataSourceConfig config, PipelineComponentRuntimeContext context) {
    		return new CsvDataSourceRuntime(context, config);
    	}
  7. getRuntimeClass()メソッドを実装し、データソースが作成するランタイム・クラスを返すようにします。
    たとえば、次のようになります。
    	public Class<CsvDataSourceRuntime> getRuntimeClass() {
    		return CsvDataSourceRuntime.class;
    	}
  8. オプションで、deleteInstance()メソッドをオーバーライドします。IAS Serverは、拡張機能を削除するときに、deleteInstance()をコールします。このメソッドでは、IAS ServerがdeleteInstance()をコールして取得から拡張機能を削除するときに必要なクリーンアップを実行できます。deleteInstance()のデフォルト実装は空になっています。

データソース拡張機能の例

前述の手順の詳細は、<インストール・パス>\IAS\<バージョン>\sample\ias-extensions\src\main\com\endeca\ias\extension\sample\datasource\csv\CsvDataSource.javaのサンプル・データソース拡張機能を参照してください。