掲示板一覧   -   トピック一覧
   EA API
     選択されている要素についてSQL文を実行し、結果を検索ビューに表示できますか?


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
sugimoto
投稿日時: 2011-2-3 14:01
EA Administrator
投稿: 1895

選択されている要素についてSQL文を実行し、結果を検索ビューに表示できますか?

サポートに寄せられたご質問の要約です。

○ご質問

ステートマシン図上のある1つの要素を選択し、その要素からの状態遷移のみを
検索ビューに出力したいと思っています。

そこで、アドインで現在選択されている要素からIDを取得し、以下のような
SQL文を呼び出し、検索ビューに結果を出力できますか?

select t_connector.ea_guid as CLASSGUID, t_connector.PDATA1 as イベント, t_connector.PDATA2 as ガード, t_connector.PDATA3 as アクション , source.Name as 遷移元, dest.Name as 遷移先
from t_object as source, t_object as dest , t_connector
where t_connector.Start_Object_ID = <<ある要素のID>>
and t_connector.Connector_ID in (select t_diagramlinks.ConnectorID from t_diagramLinks)
and t_connector.End_Object_ID = dest.Object_ID
and source.Object_ID = <<ある要素のID>>

○回答

以下の2つの方法をご提案いたします。

方法1) 検索機能の「アドイン検索」を利用する方法

検索機能の「アドイン検索」を利用し、検索用アドインを作成して、そのアドインの中で上記SQL文を実行します。
検索用のアドインのインターフェースなどについては、ヘルプ「検索ルールの作成」や
「アドインによる検索」をご覧ください。

アドインでのSQL文の実行は、Repository.SQLQuery(string SQL)を利用します。
SQLQuery関数ではXML形式で検索された情報が返却されます。

検索用のアドインの戻りとしては、別途XMLフォーマットを返却する必要があります。
フォーマットはヘルプ「XML フォーマット (検索データ)」に記載されています。
このフォーマットにデータを変換して、アドインの戻り(第3引数)として返却します。

アドインを作成した後、検索機能に登録(「アドインの名前とメソッド」欄を設定)することによって
利用できるようになります。

また、この検索を、他のアドインから呼び出すこともできます。
その場合は、Repository.RunModelSearch関数を利用してください。


方法2) 検索ルールを追加する方法

検索ビューで検索できればよい(アドインから検索機能を呼ばなくてもよい)という場合は、
検索ルールをSQLエディタとして新規に追加し、上記SQL文を記入します。

この場合は、クエリの中に「<検索単語>」というキーワードを利用します。

実行のためには、要素のIDを取得するアドインを作成・利用して、
そのIDを「検索単語」欄に入力することになります。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ