Web クライアントまたは Eclipse クライアントにおける拡張検索のような検索を実行するために、メソッド RAMAssetQueryBuilder.addQueryField(java.lang.String,java.lang.String) を使用して、照会フィールドを RAMAssetQueryBuilder に追加することができます。 最 終変更日時、GUID、説 明、ア セット名、評 価、所 有者、状 態、およびバ ージョンのフィールドがあります。 デフォルトでは、すべての照会フィールドが「and」によって論理的に連結されます (検索は、すべての照会フィールドに一致する結果のみを戻します)。 例えば、名前が Rational Asset Manager Client API Javadoc、バージョンが 7.1 の アセットを見つけるには、以下の検索を実行します。
// Search exclusive
queryBuilder = new RAMAssetQueryBuilder(session);
queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_NAME, "Rational Asset Manager Client API Javadoc");
queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_VERSION, "7.1");
searchResult = session.getAssets(queryBuilder);
フィールドの処理方法を変更するには 、フィールドを OR で結合した検索を使用できる RAMQueryBuilder.setMatchAnyField(boolean) メソッドがあります。 例えば、バージョンが、7.0、7.0.0.2、または 7.1 であるアセットを見つけるには、以下の検索を実行します。
//Search Inclusive
queryBuilder = new RAMAssetQueryBuilder(session);
queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_VERSION, "7.0");
queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_VERSION, "7.0.0.2");
queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_VERSION, "7.1");
queryBuilder.setMatchAnyField(true);
searchResult = session.getAssets(queryBuilder);
名前および値の照会フィールドのほか、テキスト照会フィールドも作成できます。このフィールドは、RAMAssetQueryBuilder.addQueryTextField(java.lang.String) メソッドを使用して、「and」または「or」によってその他の照会フィールドと連結されます。
//Search API with wildcard
queryBuilder = new RAMAssetQueryBuilder(session);
queryBuilder.addQueryTextField("API*");
queryBuilder.addQueryField(queryBuilder.QUERY_FIELD_VERSION, "7.1");
searchResult = session.getAssets(queryBuilder);
AND_OPERATOR 演算子および OR_OPERATOR 演算子を使用すれば、さらに複雑な照会を互いに結び付けることができます。 例えば、名前が API、かつバージョンが 7.0、7.0.0.2、または 7.1 であるアセットの照会を作成するには、以下を実行します。
//Advanced Query
nonEscapedNameQuery = queryBuilder.createQueryFieldText(
queryBuilder.QUERY_FIELD_NAME, "API*");
queryBuilder.addQueryTextField(nonEscapedNameQuery);
String version71 = queryBuilder.createQueryFieldText(queryBuilder.QUERY_FIELD_VERSION, "7.0");
String version7002 = queryBuilder.createQueryFieldText(queryBuilder.QUERY_FIELD_VERSION, "7.0.0.2");
String version71 = queryBuilder.createQueryFieldText(queryBuilder.QUERY_FIELD_VERSION, "7.1");
String versionQuery = version70 + RAMAssetQueryBuilder.OR_OPERATOR + version7002 + RAMAssetQueryBuilder.OR_OPERATOR + version71;
queryBuilder.addQueryTextField(versionQuery);
searchResult = session.getAssets(queryBuilder);