B.1 SearchListPortletを使った基本検索の実行

基本検索を実行するために、JSPページからSearchListPortletへのディープリンクを指定することができます。ポートレットのURLは、検索条件を指定した要求パラメータの単純セット、またはJSON形式のクエリ文字列を渡す必要があります。基本検索には、次のような単一の検索条件を定義します。

First Name starts with A

検索を実行するには、SearchListPortletのシングルポートレットレンダURLを呼び出します。要求パラメータMODE=MODE_RESULTS_LISTを渡す必要があります。

B.1.1 要求パラメータを渡す

SearchListPortletに要求パラメータの単純セットを渡すことができます。これらのパラメータは、エンティティ、検索する属性、演算子、および検索文字列を指定します。ポートレットのURLおよび4つの要求パラメータを指定したスクリプトの例を次に示します。

<script type="text/javascript">function openSearchResults(extraUrlParams) {
  var url = "/IDMProv/portal/portlet/SearchListPortlet?";
  url += "urlType=Render&novl-regid=SearchListPortlet";
  url += "&novl-inst=IDMProv.SearchListPortlet";
  url += "&wsrp-mode=view&wsrp-windowstate=normal";
  url += "&MODE=MODE_RESULTS_LIST&";
  url += extraUrlParams;
  var feat = "width=700,height=600";
  feat += ",menubar=no,resizable=yes,toolbar=no,scrollbars=yes";
  var win = window.open(url, "TestSearchPopup", feat);
  if (win) win.focus();
}

var search1a = "ENTITY_DEF=user";
search1a += "&COND_ROW_ATTR=FirstName";
search1a += "&COND_ROW_REL_OP=starts-with";
search1a += "&COND_ROW_VAL=A";
...

この関数を呼び出すために、onclickイベントを使って次のようにボタンを表示できます。

<input type="button" value="GO" onclick="openSearchResults(search1a)"/>

要求パラメータの説明を次の表に示します。

表 B-1 基本検索の要求パラメータ

要求パラメータ

説明

ENTITY_DEF

ディレクトリ抽象化層のエンティティを指定します。

COND_ROW_ATTR

検索する属性を指定します。

COND_ROW_REL_OP

検索式で使用する演算子を指定します。属性タイプstring、boolean、integer、time, dn_lookup、dynamic_list、およびstatic_listに対して、次の演算子がサポートされています。

  • equals 、
  • present、
  • not_equals、
  • not_present

属性タイプstringに対して、次の演算子がサポートされています。

  • starts_with、
  • ends_with、
  • contains、
  • not_starts_with、
  • not_ends_with、
  • not_contains

属性タイプintegerおよびtimeに対して、次の演算子がサポートされています。

  • greater、
  • greater_or_equal、
  • less、
  • less_or_equal、
  • not_greater、
  • not_greater_or_equal、
  • not_less、
  • not_less_or_equal

COND_ROW_VAL

検索する値です。

B.1.2 JSON形式の文字列を使ったクエリ

クエリにJSON文字列形式を使用する場合、SearchListPortletには前述の要求パラメータの代わりに、QUERYパラメータを渡します。 QUERYパラメータの構成を示すJavaScript変数を次に示します。

var search1b ='QUERY={"k":"Lastname starts with B","mxPg":"10",';
search1b +='"mxRes":"0","ptr":"1","grp":[{"map":{"row":[{"map":{';
search1b +='"rowRop":"starts-with","rowVal":"B","rowAttr":"LastName"';
search1b +='}}],"rowLop":"and"}}],';
search1b +='"orderBy":"LastName","entDef":"user",';
search1b +='"sScope":"","sRoot":"","grpLop":"and",';
search1b +='"selAttr":["FirstName","LastName",';
search1b +='"Title","Email","TelephoneNumber"]}';

JSON構造では、SearchListPortletに関連する大部分の設定/初期設定値を指定することができます。

SearchListPortletに渡されるQUERYパラメータを定義する、JSON名/値のペアを次の表に示します。

表 B-2 QUERYパラメータを定義するJSON構造

JSON設定

説明

k

検索の名前を指定します。(オプション)

mxPg

ページ当たりの最大行数を指定します。(オプション)

mxRes

取得する行合計の最大値を指定します。(オプション)

ptr

ページ番号付けのオフセットを定義するスクロールポインタを設定します。(オプション)

grp

条件グループを定義します。1つまたは複数の条件グループを定義することができます。条件グループの設定の詳細は、表 B-3を参照してください。

orderBy

ソートする属性を指定します。(オプション)

entDef

ディレクトリ抽象化層のエンティティを指定します。

sScope

検索スコープを設定します。(オプション)

sRoot

検索ルートを設定します。(オプション)

grpLop

このクエリ内のグループに対する論理演算子(andまたはor)を定義します。

selAttr

検索結果に含める属性を表示します。

条件グループを定義するJSON構造を、次の表に示します。

表 B-3 条件グループを定義するJSON構造

JSON設定

説明

row

条件行を定義します。1つまたは複数の条件行を定義することができます。条件行の設定の詳細は、表 B-4を参照してください。

rowLop

このグループ内の行に対する論理演算子(andまたはor)を定義します。

条件行を定義するJSON構造を、次の表に示します。

表 B-4 条件行のフィールドを定義するJSON構造

JSON設定

説明

rowRop

関係演算子を定義します。JSONがサポートする関係演算子は、要求パラメータを使った基本検索の演算子と同じです。関係演算子の完全なリストについては、表 B-1のCOND_ROW_REL_OPの説明を参照してください。

rowVal

検索値を設定します。

rowAttr

検索する属性を指定します。