5.1. エンティティ検索¶
5.1.1. エンティティを検索する¶
5.1.1.1. スクリプト開発モデル¶
1. エンティティを全て呼び出したい場合sample.js
function openSearchEntitysetDialog() { // 単一選択用のエンティティ検索画面を呼び出します window.open('%ベースURL%/repository/search/metadata/entityset/single'); // 複数選択用のエンティティ検索画面を呼び出します window.open('%ベースURL%/repository/search/metadata/entityset'); }2. 有効なエンティティのデータのみを呼び出したい場合sample.js
function openSearchEntitysetDialog() { // 単一選択用のエンティティ検索画面を呼び出します window.open('%ベースURL%/repository/search/metadata/entityset/single?enabled=true'); // 複数選択用のエンティティ検索画面を呼び出します window.open('%ベースURL%/repository/search/metadata/entityset?enabled=true'); }コラム
下記のようにコールバック関数を利用することもできます。
エンティティを全て呼び出したい場合
単一選択 (’%ベースURL%/repository/search/metadata/entityset/single#%コールバック関数%’) 複数選択 (’%ベースURL%/repository/search/metadata/entityset#%コールバック関数%’) 有効なエンティティのデータのみを呼び出したい場合
単一選択 (’%ベースURL%/repository/search/metadata/entityset/single?enabled=true#%コールバック関数%’) 複数選択 (’%ベースURL%/repository/search/metadata/entityset?enabled=true#%コールバック関数%’)コールバック関数を指定しない場合、デフォルトのコールバック関数は’onEntitysetSelected’です。
5.1.2. 結果を返却する¶
5.1.2.1. スクリプト開発モデル¶
単一選択用のエンティティ検索画面を呼び出し時はオブジェクト、複数選択用のエンティティ検索画面を呼び出し時は配列が返却されます。 sample.js
// 複数選択用のエンティティ検索画面で選択した項目は配列で返却され、上から順番に格納されます。 window.onEntitysetSelected = function (selected) { if (selected.length > 0) { // 配列の0番目のエンティティIDを取得します var entityId = selected[0].properties.entityId; // 配列の0番目のエンティティ名を取得します var entityName = selected[0].localizeName.default; } }コラム
コールバック関数を指定する場合
onEntitysetSelectedを指定したコールバック関数に変更してください。
sample.jsの引数のオブジェクト・配列オブジェクトの説明をします。
・selected
取得できる情報は、以下です。
プロパティ 説明 型 enabledFlag エンティティの有効化を示すフラグ boolean label ツリーの表示名 string localizeName(※1) エンティティ名 object localizeDescription(※1) 説明 object parentId 親のID string properties.entityId エンティティID string entityItem(※2) エンティティ項目 array relations(※3) 関連 array dataDefinition(※4) データ定義 object (※1)localizeName、localizeDescriptionには多言語情報が格納されており、構成は以下です。
プロパティ 説明 型 default 標準 string ja 日本語 string en 英語 string zh_CN 中国語(簡体字) string (※2)entityItemには以下の要素が格納されています。
プロパティ 説明 型 entityItemId 辞書項目IDまたはエイリアスID string entityItemType 辞書項目種別・辞書項目の場合(dictionary-item)・エイリアスの場合(dictionary-alias)・サブエンティティの場合(entityset-entity)string primaryKey Primary Key制約 boolean required Not Null制約 boolean array 配列 boolean variableName 変数名 サブエンティティの場合に設定 string relationId 関連ID サブエンティティの場合に設定 string (※3)relationsには以下の要素が格納されています。
プロパティ 説明 型 relationId 関連ID string multiplicity 多重度 string comment コメント string sourceEntityId 関連元エンティティID string targetEntityId 関連先エンティティID string relationItems(※5) 関連項目 array (※5)relationItemsにはentityItemが紐付いており、以下の要素が格納されています。
プロパティ 説明 型 sourceId 関連先エンティティ項目IDentityItemのentityItemIdが紐付きますstring sourceType 関連先エンティティ項目種別entityItemのentityItemTypeが紐付きますstring targetId 関連元エンティティ項目IDentityItemのentityItemIdが紐付きますstring targetType 関連元エンティティ項目種別entityItemのentityItemTypeが紐付きますstring (※4)dataDefinitionには以下の要素が格納されています。
プロパティ 説明 型 entityId エンティティID string databaseKind データベース種別 string connectionId 接続ID string tableName テーブル名 string entitySearchDefinitions(※6) 検索条件 array externalReferenceDefinitions(※7) 参照項目設定 array (※6)entitySearchDefinitionsには以下の要素が格納されています。
プロパティ 説明 型 targetId 検索条件となるエンティティ項目ID string targetType 検索条件となるエンティティ項目の種別 string searchType 検索条件 string sortNumber ソート番号 number (※7)externalReferenceDefinitionsには以下の要素が格納されています。
プロパティ 説明 型 referenceType 参照先情報エンティティを参照する場合は entity テーブルを参照する場合は tablestring referenceEntityId 参照するエンティティの id referenceType が entity の場合にのみ有効string referenceTableName 参照するテーブル名referenceType が table の場合にのみ有効string items(※8) 参照項目 array filters(※9) 絞り込み条件 array sortNumber ソート番号 number (※8)itemsには以下の要素が格納されています。
プロパティ 説明 型 itemId 参照項目とするエンティティ項目IDentityItemのentityItemIdが紐付きますstring itemType 参照項目とするエンティティ項目種別entityItemのentityItemTypeが紐付きますstring referenceEntryId 参照項目に紐づける参照先のエンティティ項目IDreferenceType が entity の場合にのみ有効string referenceEntryType 参照項目に紐づける参照先のエンティティ項目種別referenceType が entity の場合にのみ有効string referenceColumnName 参照項目に紐づける参照先のカラム名referenceType が table の場合にのみ有効string sortNumber ソート番号 number (※9)filtersには以下の要素が格納されています。
プロパティ 説明 型 referenceEntryId 絞り込みを行う参照先のエンティティ項目IDreferenceType が entity の場合にのみ有効string referenceEntryType 絞り込みを行う参照先のエンティティ項目種別referenceType が entity の場合にのみ有効string referenceColumnName 絞り込みを行う参照先のカラム名referenceType が table の場合にのみ有効string filterType 絞り込み条件 string valueType 絞り込み値種別 string valueSource 絞り込み値の文字列表現 string itemId 参照先とのカラム結合を行うエンティティ項目IDentityItemのentityItemIdが紐付きますvalueType が entity-item の場合のみ有効string itemType 参照先とのカラム結合を行うエンティティ項目種別entityItemのentityItemTypeが紐付きますvalueType が entity-item の場合のみ有効string sortNumber ソート番号 number
コラム
それぞれのプロパティを取得する場合のサンプルは以下の通りです。
※selectedが配列で0番目を取得するものとします。
// エンティティ名(日本語)を取得する場合
var entityName = selected[0].localizeName.ja;
// 説明(英語)を取得する場合
var description = selected[0].localizeDescription.en;
// エンティティ項目を取得する場合
var entityItem = selected[0].entityItem;
// 関連と関連項目を取得する場合
var relations = selected[0].relations;
var relationItems = relations[0].relationItems;