OpenRTM / OpenRTP-aist

OpenRTP-aist: RT-Middleware and OMG RTC based component and system development tools implemented by AIST
Other
1 stars 6 forks source link

[RTCB]Java版RTCの生成コードを修正 #531

Closed ga-sakamoto closed 4 months ago

ga-sakamoto commented 5 months ago

Identify the Bug

Link to #514

Description of the Change

ご連絡を頂きました内容に従って,Java版RTCの生成コードを修正させて頂きました.

なお,

onInitialize()関数のtry文でビルドエラーになるので、コメントアウトした状態でコード生成する

こちらのご指摘につきましては,本来try-catchの中で実行すべき内容が生成されていませんでしたので,こちらを生成するように修正させて頂きました.

Verification

n-kawauchi commented 5 months ago

try-catchに関する修正について確認させて下さい。ビルドが通るものは今回の修正でOKでしょうか。

こちらで指摘したビルドエラーになっていたRTCですが、try-catchをコメントアウトした形で記載するのではなく、そっくり削除されています。 また修正前にビルドが通っていたのに新たにtry-catchが追加されたためビルドエラーになります。

ga-sakamoto commented 5 months ago

早速のご確認,ご連絡ありがとうございます.

独自データ型のデータポートを定義・・・try-catchが追加されたのでビルドエラーになる

申し訳ございませんでした.元々の生成コードがおかしかったため,再度,修正させて頂きました. (try-catchのcatchのみ追加されてしまっていました)

また,色々とご説明が不足してしまっており,申し訳ございません. Testコードについてなのですが,基本的にXXXImpl.javaにつきましては,srcのコードとtestのコードが逆になるように生成しております. このため,同じデータ型を使用している場合に,以下の生成コードが対応するように修正しております.  サービスプロバイダを定義した場合のsrc/XXXImpl.javaと,サービスコンシューマーを定義した場合のtest/XXXImpl.java  サービスプロバイダを定義した場合のtest/XXXImpl.javaと,サービスコンシューマーを定義した場合のsrc/XXXImpl.java  データInポートを定義した場合のsrc/XXXImpl.javaと,データOutポートを定義した場合のtest/XXXImpl.java  データOutポートを定義した場合のsrc/XXXImpl.javaと,データInポートを定義した場合のtest/XXXImpl.java

更に,データポートの場合につきましては,IDLコンパイルを実行しないと,独自データ型に対応したJavaファイルが生成されないため,コード生成実行直後にはコンパイルエラーが出てしまいます.

n-kawauchi commented 5 months ago

確認したところ、独自データ型の利用に関係なくサービスコンシューマの定義でエラーになります。 エラーは、build_*.xmlをantビルド後にプロジェクトを更新して確認しています。 下記のビルド動作を確認しました。

ga-sakamoto commented 5 months ago

重ね重ね,たいへん失礼いたしました. import文の挿入判断の部分の修正が漏れてしまっておりましたので,再度,修正させて頂きました.