掲示板一覧   -   トピック一覧
   EA API
     プロジェクトブラウザと矛盾する図の情報を取得する方法


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2007-5-25 19:12

プロジェクトブラウザと矛盾する図の情報を取得する方法

文章では難しいのですが、状況を説明します。

① アクティビティ図で2つのパーティションA、Bがあり、
それぞれにアクティビティがひとつづつ(AA、BB)置いて
あるとします。

② プロジェクトツリーでアクティビティAAを
パーティションBの中に、BBをパーティションAの中に
移動したとします。

③ この時、ダイアグラムに表示される内容はツリーの状態と
矛盾します。
ツリーではAの中にBBがありますが、図上でAを動かすと
表示上はAAがAの中にあるので一緒に動きます。

この状態で、ElementのElementsを使って要素を取得していくと、
ツリーの方と同じようになるようです。
もし、ダイアグラムの表示を基準にして取得したい場合、
(例の場合、AAの中にAがあるというように取得)することはできるのでしょうか。
tkouno
投稿日時: 2007-5-28 9:13
EA Administrator
投稿: 3939

Re: プロジェクトブラウザと矛盾する図の情報を取得する方法

ご指摘の件について確認しました。

この件は、プロジェクトブラウザの更新のバグではないかと思います。

弊社の環境で確認したところ、2番の操作を行っても
プロジェクトブラウザの内容は変わっていません。
(投稿者の方の環境と同じだと思います。)

ここで、プロジェクトブラウザの内容を最新の内容に更新すると
ダイアグラムでの表示内容と、プロジェクトブラウザ出の内容が
一致するかと思います。
(EAPファイルを開きなおしたり、パッケージの右クリックで
「コンテンツ」→「現在のパッケージを再読み込み」で
更新できます)


つまり、APIの内容が正しく、プロジェクトブラウザが
更新されていないことが問題であるように見えます。

お手数をおかけし申し訳ございませんが、
この内容と同じかどうか、ご確認のほどよろしくお願いします。


未登録ゲスト
投稿日時: 2007-5-28 9:28

Re: プロジェクトブラウザと矛盾する図の情報を取得する方法

こちらの状況が上手く伝わっていないのか、私が理解しきれて
いないのかもしれません。

プロジェクトブラウザ上でアクティビティを別パーティション
に移したとしても、表示中の図は変わらないので、図の見た目と
APIで取得できる値が異なるので困っています。

今、少し試してみたのですが、プロジェクトブラウザで移動を
した後、図の方でアクティビティを少しだけ動かすと、
プロジェクトブラウザの方が図に合わせて修正されるようです。
tkouno
投稿日時: 2007-5-28 9:35
EA Administrator
投稿: 3939

Re: プロジェクトブラウザと矛盾する図の情報を取得する方法

引用:

プロジェクトブラウザ上でアクティビティを別パーティション
に移したとしても、表示中の図は変わらないので、図の見た目と
APIで取得できる値が異なるので困っています。


ご指摘ありがとうございました。こちらが勘違いしていました。
(当初の返信のバグ?は、別件になりますが、調査を進めます)


こちらは、確かにご指摘の通りです。プロジェクトブラウザ側で
編集したとしても、ダイアグラムには反映されません。


これは非常に難しい問題です。ユーザーが作ったダイアグラムを
「勝手に変える」ことは原則として許されませんので、今回の場合に
ダイアグラムの内容を変更することが正しいとは考えにくいです。

例えば、パーティションAしかダイアグラムにない場合、パーティションAからBに
移した要素を、ダイアグラムから勝手に削除してよいのか?
個人的には、これはNOだと思っています。
(プロジェクトブラウザで動かす行為を「削除の許可」として
考えるという方向性もあると思います。)


今回の場合には、座標情報を使って判断するしかないと思います。
この点は、将来的な課題として検討させてください。



未登録ゲスト
投稿日時: 2007-5-28 10:57

Re: プロジェクトブラウザと矛盾する図の情報を取得する方法

確かにダイアグラムを勝手に変更するのは問題ですね。
「ダイアグラムの自動レイアウト」で修正されるかなと
思ったのですが、期待どおりにはいきませんでした。
ダイアグラムとプロジェクトブラウザの矛盾を修正できる
機能があれば良いですね。

今回の場合は座標+DiagramObjectのSequenceで判断するように
したいと思います。

ところで、プロジェクトブラウザだとアクティビティの中に
アクティビティを入れる事ができてしまうのですが、これを
抑止する方法はあるのでしょうか?
イベントだとそれらしきものがなかったのですが...。
tkouno
投稿日時: 2007-5-28 11:53
EA Administrator
投稿: 3939

Re: プロジェクトブラウザと矛盾する図の情報を取得する方法

引用:

確かにダイアグラムを勝手に変更するのは問題ですね。
「ダイアグラムの自動レイアウト」で修正されるかなと
思ったのですが、期待どおりにはいきませんでした。
ダイアグラムとプロジェクトブラウザの矛盾を修正できる
機能があれば良いですね。


ダイアグラムの自動レイアウト機能は、意図している目的が
異なりますので、今回の場合には役に立たないです。申し訳ございません。

修正方法ですが、「ダイアグラムの内容を正としてプロジェクトブラウザを
修正する」方向であれば、アドインで実現できそうです。
逆の方向でもアドインで何とかなりそうです。

このようなアドインに需要があれば、作成します。



引用:

ところで、プロジェクトブラウザだとアクティビティの中に
アクティビティを入れる事ができてしまうのですが、これを
抑止する方法はあるのでしょうか?
イベントだとそれらしきものがなかったのですが...。


こちらは残念ながら難しいと思います。アクティビティの子として
アクティビティが配置できるのは、Enterprise Architectの
意図した正しい挙動です。
(サブアクティビティを作成する場合にはこの形になります)

申し訳ございませんが、これを制限することはできません。
ご要望に沿えず申し訳ございません。

未登録ゲスト
投稿日時: 2007-5-28 13:38

Re: プロジェクトブラウザと矛盾する図の情報を取得する方法

引用:

修正方法ですが、「ダイアグラムの内容を正としてプロジェクトブラウザを
修正する」方向であれば、アドインで実現できそうです。
逆の方向でもアドインで何とかなりそうです。

このようなアドインに需要があれば、作成します。


と、ありますがtkounoさんが作ってくださるということなの
ですか? 簡単にできるものなのでしょうか?
先ほどの回答にありましたように、座標からダイアグラムの
内容を判断して、プロジェクトブラウザとの矛盾点を修正
するということですよね。数時間でできれば良いのですが、
私でしたら1週間位は余裕を見ておきたい内容です。

引用:

申し訳ございませんが、これを制限することはできません。



プロジェクトブラウザ上の変更をイベントで拾えれば、対策
をとれると思ったのですが...。
了解しました。
tkouno
投稿日時: 2007-5-28 13:48
EA Administrator
投稿: 3939

Re: プロジェクトブラウザと矛盾する図の情報を取得する方法

引用:

引用:

このようなアドインに需要があれば、作成します。


と、ありますがtkounoさんが作ってくださるということなの
ですか? 簡単にできるものなのでしょうか?


作成する場合、サポートの一環として作成し、現在の
無料アドインの一つとして広く提供することを考えています。

逆に言えば、そうして公開することによってメリットを受ける人が
多いかどうか、が基準となります。


個人的には、今回のような事例に悩んでいて、こうした「ねじれ」を
解消したいと思っている人が、どのくらいいるのかは
ちょっとわかりません。

興味のある方がいらっしゃいましたら、積極的に投稿を
お願いします!



未登録ゲスト
投稿日時: 2007-5-28 15:13

Re: プロジェクトブラウザと矛盾する図の情報を取得する方法

わかりました。

とりあえず、私から一票お願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ