外部識別子によるオブジェクトの検索は、分類によるオブジェクトの検索に似ています。まず分類スキーマを検索し、次に BusinessQueryManagerImpl.findObjects メソッドなどの検索メソッドの引数として使用する ExternalIdentifier オブジェクトを作成します。
次のコードは、外部識別子として Sun Microsystems の株価表示記号を含んでいるすべてのレジストリオブジェクトを検索します。このサンプルを正しく動作させるには、NASDAQ という名前の外部分類スキーマを作成する必要があります。その方法の詳細は、「オブジェクトへの外部識別子の追加」を参照してください。
外部識別子のコレクションは、findObjects メソッドの最後から 2 番目の引数として指定します。
ClassificationScheme cScheme = null; cScheme = bqm.findClassificationSchemeByName(null, "NASDAQ"); ExternalIdentifier extId = blcm.createExternalIdentifier(cScheme, "%Sun%", "SUNW"); Collection extIds = new ArrayList(); extIds.add(extId); // perform search BulkResponse response = bqm.findObjects("RegistryObject", null, null, null, null, extIds, null); Collection objects = response.getCollection();
外部識別子によってオブジェクトを検索する例については、<INSTALL>/registry/samples/search-external-identifier/src ディレクトリにある JAXRSearchByExternalIdentifier.java を参照してください。このサンプルは、NASDAQ 分類スキーマを使用するオブジェクトを検索します。
このサンプルで結果を取得するには、まず 「分類の追加: 例」の publish-object サンプルを実行する必要があります。