掲示板一覧   -   トピック一覧
   EA API
     UMLプロファイル要素をAPIから追加するには?


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
diosan2
投稿日時: 2007-5-8 14:40
EA Full Member
投稿: 75

UMLプロファイル要素をAPIから追加するには?

UMLプロファイルで追加した独自の要素を、APIからパッケージに
追加するにはどのようにしたら良いのでしょうか?

Package.Elements.AddNew(name, type)で、EAに既定の要素を
追加することは確認出来ています。
typeに適切な値を指定すれば良いと思うのですが、何を指定
すれば良いかわかりませんでした。

tkouno
投稿日時: 2007-5-8 15:17
EA Administrator
投稿: 4292

Re: UMLプロファイル要素をAPIから追加するには?

申し訳ございませんが、現在のところ
UMLプロファイルで定義されている内容を
AddNewで追加することはできません。

この点は機能改善を検討いたします。
現時点ではご要望に沿うことができず、申し訳ございません。


diosan2
投稿日時: 2007-5-8 15:34
EA Full Member
投稿: 75

Re: UMLプロファイル要素をAPIから追加するには?

そうですか、出来ないのですか。
残念ですが、そのことがわかっただけでも収穫です。

ありがとうございました。
sugimoto
投稿日時: 2007-8-31 17:20
EA Administrator
投稿: 1992

Re: UMLプロファイル要素をAPIから追加するには?

上記、ご質問の内容につきましては、
Enterprise Architect ビルド816 で対応いたしました。

ぜひ最新ビルドをご利用ください。
diosan2
投稿日時: 2008-3-11 10:55
EA Full Member
投稿: 75

Re: UMLプロファイル要素をAPIから追加するには?

Enterprise Architect ビルド816 で対応いたしました。


古い質問で申し訳ありません。

以前は
Package.Elements.AddNew("要素名","Class")
としていたところを
ackage.Elements.AddNew("要素名","ステレオタイプ名")
にして試したら例外が発生しました。

実際にはどのように呼び出せば良いのでしょうか?
sugimoto
投稿日時: 2008-3-11 12:05
EA Administrator
投稿: 1992

Re: UMLプロファイル要素をAPIから追加するには?

情報が不足しており申し訳ございません。

UMLプロファイルをMDGテクノロジーとして登録・使用している場合は、
Package.Elements.AddNew("要素名","ステレオタイプ名")
にて動作いたします。

例えば、BPMNのゲートウェイ要素は、デシジョン要素でステレオタイプ
がGatewayですが、この場合、第2引数に"Gateway"と設定することで
定義した要素が新規作成されます。

また、要素をメタタイプ(EAの既存の要素にはない要素名)指定して
定義している場合は、
Package.Elements.AddNew("要素名","メタタイプ名")
にて動作いたします。

BPMNの場合ですと、プール要素はPoolというメタタイプが指定されており、
この場合は、第2引数に"Pool"を設定することで、定義した要素が
新規作成されます。


UMLプロファイルをそのまま利用している場合は、通常通り要素を
追加した後、ステレオタイプを設定することで、UMLプロファイルの
要素を新規作成できるかと思います。
例)
EA.Element element = (EA.Element)package.Elements.AddNew("test", "Class");
element.Stereotype = "CustomizedClass";
element.Update();

ご確認のほど、よろしくお願いいたします。

何かご不明点などありましたら、ご連絡ください。
diosan2
投稿日時: 2008-3-11 17:46
EA Full Member
投稿: 75

Re: UMLプロファイル要素をAPIから追加するには?


UMLプロファイルをそのまま利用している場合は、通常通り要素を
追加した後、ステレオタイプを設定することで、UMLプロファイルの
要素を新規作成できるかと思います。


上記の場合、プロファイルに設定した色などはステレオタイプ
を変更しても、反映されないみたいです。
なので、動きとしては以前と変わっていないということですね。

状況は理解できました。
ありがとうございました。
sugimoto
投稿日時: 2008-3-11 17:58
EA Administrator
投稿: 1992

Re: UMLプロファイル要素をAPIから追加するには?

弊社では、APIでのステレオタイプの設定により、プロファイルに
設定した色などもダイアグラム上に反映・表示されていることを
確認しています。

APIからではなく、操作において、ツールボックスから要素を作成し、
ステレオタイプを設定した場合、プロファイルで設定した色などは、
現在の環境で表示されていますでしょうか?

ご確認のほど、よろしくお願いいたします。
diosan2
投稿日時: 2008-3-11 18:37
EA Full Member
投稿: 75

Re: UMLプロファイル要素をAPIから追加するには?

以下の最少コードを試してみましたが、上手く表示されませんでした。

EA.Diagram dgrm = repository.GetCurrentDiagram();
EA.Package pkg = repository.GetPackageByID(dgrm.PackageID);
EA.Element elem = pkg.Elements.AddNew("aaa", "Class") as EA.Element;
elem.Stereotype = "bbb";
elem.Update();
EA.DiagramObject dgobj = dgrm.DiagramObjects.AddNew("l=100; r=200; t=-200; b=-400;", "") as EA.DiagramObject;
dgobj.ElementID = elem.ElementID;
dgobj.Update();
repository.ReloadDiagram(dgrm.DiagramID);

ツールボックスから追加した場合、色などは設定した色になっています。

以上、よろしくお願いします。
sugimoto
投稿日時: 2008-3-12 10:47
EA Administrator
投稿: 1992

Re: UMLプロファイル要素をAPIから追加するには?

詳細な情報をご連絡いただきましてありがとうございます。

弊社でもEA_MenuClickイベント発生時に、同コードにて確認しましたが、
UMLプロファイルで定義した形状および色がダイアグラム上に表示
されることを確認しています。ダイアグラムの種類は、クラス図で
確認を行っています。
UMLプロファイルは、ステレオタイプbbbに属性"_image"があり、
四角に色を付加したような形状を表示するシンプルなものを使用
しています。

また、弊社ではEA7.0 ビルド818で動作確認を行っております。

現在、問題の原因が分かりかねている状況ですが、上記弊社確認条件と
異なる条件などありましたら、情報をお寄せいただけますでしょうか?
何か問題発生の条件がある可能性もありますので、調査いたします。

また、現在ビルド818以外で確認されている場合、可能でしたら、
ビルド818、または明日リリースいたしますEA7.1(ビルド827)にて
ご確認いただけますと助かります。

引き続き、ご迷惑をお掛けし、申し訳ございません。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ