掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     ビルド831でimportFromDependencyマクロが正しく動作しない


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
tkouno
投稿日時: 2008-7-15 16:19
EA Administrator
投稿: 3939

ビルド831でimportFromDependencyマクロが正しく動作しない

○ご指摘

ビルド831で、条件にimportFromDependencyを指定すると
正しく動作しません。ビルド830では動作します。

○回答

調査の結果、ビルド831での修正項目の

> コード生成で遷移可能性の判断を追加しました。

が、このバグを引き起こしているものと思います。
(遷移可能性を変更することで、ビルド831でもこのスクリプトが
動作するようになりました。)

大至急開発元に連絡し、修正します。

大変申し訳ございませんが、修正までの間はビルド830を
ご利用下さい。

ご迷惑をおかけし申し訳ございません。
未登録ゲスト
投稿日時: 2008-7-22 12:32

Re: ビルド831でimportFromDependencyマクロが正しく動作しない

同内容だと思います。確認の方よろしくお願い致します。

フィールド置換マクロ「importFromDependency」だけではなく。
ビルド831Jで、「importFromGeneralization」条件に指定すると
正しく動作しません。ビルド830Jでは動作します。
「importFileName」にも依存線を引いた情報が入ってきていないようです。
他のインポート関係(import~)のフィールド置換マクロも確認の方よろしくお願い致します。

【環境】
・不具合発生バージョン:Ver7.1(831J)
・正常動作バージョン:Ver7.1(830J)
・テンプレート:言語:C++

【現象】
ビルド831Jおいて、クラス図にて依存線を引いたクラスの「ソースコードの生成」を行なうと
インクルード(#include クラスのヘッダファイル(.h))がソースコードに生成されない。
ビルド830J以前のバージョンにおいては生成されていました。
(使用しているフィールド置換マクロ:importFromGeneralization)

【テンプレートの内容】
※新規にEAの環境を作成して、インクルード部分のみを反映して確認致しました。
 デフォルトのテンプレートから変更した部分は以下のテンプレートになります。

▼[Import Section Impl]テンプレートの内容
$COMMENT="WARNING: THIS IS AN ADVANCED TEMPLATE"
$COMMENT="DO NOT MODIFY UNLESS YOU ARE AN"
$COMMENT="ADVANCED USER!"
%fileHeaders%
$ImportSectionImpl += %list="Import__include" @separator="\n" importFromGeneralization!="T"%
//↓確認用表示
$ImportSectionImpl += %list="Import__include" @separator="\n" importFromDependency="T"%
//↑確認用表示

▼[Import__include]追加したテンプレートの内容
$en="\\"
$en2=%LEFT($en,1)%
$path = %importFileName%
$classname = %importClassName%
//↓確認用表示
$path
// $classname
//↑確認用表示
// %importClassName%
#include %qt%%REPLACE($path,$en2,"/")%%qt%

【ビルド831Jと830Jおいて生成内容の違うフィールド置換マクロ】
・importFromDependency
・importFromGeneralization
・importFileName
tkouno
投稿日時: 2008-7-22 12:40
EA Administrator
投稿: 3939

Re: ビルド831でimportFromDependencyマクロが正しく動作しない

ご指摘の件も同じ問題が原因です。
「向き」がある接続のうち、関連と逆向きになるものについて
この問題が発生します。

ご迷惑をおかけし申し訳ございません。
次のビルド832で修正予定です。



未登録ゲスト
投稿日時: 2008-7-22 14:14

Re: ビルド831でimportFromDependencyマクロが正しく動作しない

回答のほうありがとうございます。

>「向き」がある接続のうち、関連と逆向きになるものについて

上の一文をもう少し詳しく教えて頂けないでしょうか?

関連線は引かず依存線のみ引いた場合もこの問題が起きました。
関連以外で「向き」がある接続線は、汎化線・依存線・実現線ぐらいだと思いますが、
同じ向きでは起きないんでしょうか?
逆向きになる可能性のある線のことですか?

UMLの知識不足な部分もあり申し訳ございません。

よろしくお願い致します。
tkouno
投稿日時: 2008-7-22 14:21
EA Administrator
投稿: 3939

Re: ビルド831でimportFromDependencyマクロが正しく動作しない

はい。試しに、その依存関係の向きを、逆向きにしてみてください。
ソースコードの出力が以前と同じように正しく動作するかと思います。

UMLとして逆向きになるか否か、が問題ではなく、Enterprise Architectの
内部的な判定条件のバグです。

UMLとして正しい内容を書いた場合に、正しく動作しなく
なりますので、ビルド830をご利用ください。

ご迷惑をおかけし申し訳ございません。


未登録ゲスト
投稿日時: 2008-7-22 14:43

Re: ビルド831でimportFromDependencyマクロが正しく動作しない

回答ありがとうございました。

依存線プロパティにて「方向」を「ソース→ターゲット」から「ターゲット→ソース」に変更した場合以前のように動作しました。

EAの内部的な判定条件のバグであること、了解いたしました。

ビルド830を利用いたします。
tkouno
投稿日時: 2008-7-22 14:46
EA Administrator
投稿: 3939

Re: ビルド831でimportFromDependencyマクロが正しく動作しない

ご確認ありがとうございました。
ご迷惑をおかけし申し訳ございません。

既にビルド832で修正したとの連絡は受けていますので
次のビルドで修正できるかと思います。

申し訳ございません。
未登録ゲスト
投稿日時: 2008-8-25 15:32

Re: ビルド831でimportFromDependencyマクロが正しく動作しない

本件、以下のバグ修正で修正されていると思われますが、

依存線については、Listマクロを利用してインクルード(#include)が生成されるようになったのですが、
関連線について、Listマクロを利用してインクルード(#include)が生成されません。

ビルド 830J以前のバージョンでは依存線・関連線共にListマクロを利用してインクルード(#include)が生成されていました。
ビルド 831Jでは関連線については、Listマクロを利用してインクルード(#include)が生成されていました。

調査・回答のほうよろしくお願い致します。

------------------------
「EA Version 7.1 ビルド 832J リリースメモ」より

○その他の変更・バグ修正
listマクロの利用時に、接続に関する条件判断が間違っていた問題を修正しました。★
------------------------
tkouno
投稿日時: 2008-8-25 15:55
EA Administrator
投稿: 3939

Re: ビルド831でimportFromDependencyマクロが正しく動作しない

ご迷惑をおかけし申し訳ございません。

ご指摘の件につきまして、具体的にListマクロの内容を
ご連絡いただくことは可能でしょうか?

こちらで試した限りでは正しく動作しているので
こちらが問題を誤解しているのではないかと思います。

お手数をおかけし申し訳ございません。
未登録ゲスト
投稿日時: 2008-8-25 16:37

Re: ビルド831でimportFromDependencyマクロが正しく動作しない

使用しているListマクロは「importFromGeneralization」です。

「投稿日時: 2008-7-22 3:32」に投稿した内容を変更していません。

※「確認用表示」部分は使用していません。

確認の方よろしくお願い致します。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ