Solaris WBEM 開発ガイド

Procedureイベントフィルタの作成

手順
  1. CIM_IndicationFilter クラスのインスタンスを作成します。

    CIMClass cimfilter = cc.getClass
            (new CIMObjectPath "CIM_IndicationFilter"),
             true, true, true, null);
    CIMInstance ci = cimfilter.newInstance();
  2. イベントフィルタ名を指定します。

    Name = "filter_all_new_solarisdiskdrive"
  3. WQL 文字列を作成し、返されるイベントインジケーションを指定します。

    String filterString = "SELECT * 
            FROM CIM_InstCreation WHERE sourceInstance 
            ISA Solaris_DiskDrive";
  4. cimfilter インスタンス内にプロパティ値を設定して、次の情報を識別できるようにします。

    • フィルタ名

    • CIM イベントを選択するフィルタ文字列

    • 照会文字列の構文解析を行う照会言語 (WQL)

    ci.setProperty("Name", new 
            CIMValue("filter_all_new_solarisdiskdrives"));
    ci.setProperty("Query", new CIMValue(filterString));
    ci.setProperty("QueryLanguage", new CIMValue("WQL");)
  5. cimfilter インスタンス (filter) を作成します。このインスタンスを CIM オブジェクトマネージャリポジトリに格納します。

    CIMObjectPath filter = 
                             cc.createInstance(new CIMObjectPath(), 
                                                               ci);

例 4–22 イベントフィルタの作成

CIMClass cimfilter = cc.getClass(new CIMObjectPath
                                ("CIM_IndicationFilter"), true);
CIMInstance ci = cimfilter.newInstance();
// 名前空間に test_a クラスが存在するものとする
String filterString = "select * from CIM_InstCreation where 
                       sourceInstance isa test_a"

ci.setProperty("query", new CIMValue(filterString));
CIMObjectPath filter = cc.createInstance(newCIMObjectPath(), ci);