Project

General

Profile

バグ #1429

rtc-template で module を含むIDLを与えるとエラーになる

Added by n-ando over 11 years ago. Updated over 6 years ago.

Status:
新規
Priority:
通常
Assignee:
Target version:
-
Start date:
04/22/2010
Due date:
% Done:

0%

Estimated time:

Description

rtc-template で module を含むIDLを与えるとエラーになる
ML 00909にて指摘。

OpenRTM-aist開発者の皆様
九州工業大学 小田謙太郎と申します。

rtctemplate 0.4.2 において、moduleを含むIDLを入力とするとエラーが発生する問題について、報告いたします。

=== IDL ここから ====
module mymodule {
interface MyService {
};
}; === IDL ここまで ====

この IDL を 以下のコマンドラインでrtctemplate(CUI Java版)を起動します。

=== コマンド ここから ====
java jp.go.aist.rtm.rtctemplate.CuiRtcTemplate
--output=. --backend=java --module-name=Hoge --module-desc=Foo
--module-vender=GaGa --module-category=Provider
--module-comp-type=DataFlowComponent --module-act-type=SPORADIC
--module-max-inst=1
--service="myservice:myservice0:mymoduel::MyService"
--service-idl=Module.idl === コマンド ここまで ====

クラスパスは、必要なものが通してあると仮定しています。
このコマンド結果が次に示します。

=== 結果 ここから ====
Invalidated argument for:[--service] args:[myservice, myservice0, mymoduel, , MyService]
Generate fail. === 結果 ここまで ====

このように、テンプレートの生成に失敗してしまいます。
これは、module の区切り文字である"::"がrtctemplate の区切り文字と
重複して扱われているのが原因ではないかと思います。

一方、Eclipse上で動作するGUI版のrtctemplate 0.4.2によるJavaテンプレート生成については、
この区切り文字のコンフリクトはおきませんが、生成されるコードに以下の記述が見られます。

mymodule::MyService

Java言語では::は機能しませんので、エラーが発生してしまいます。

mymodule.MyService

と生成されるべきかと思います。

以上エラーの報告でした。
ご対応検討いただければと思います。

History

#1 Updated by n-ando over 6 years ago

  • Project changed from OpenRTM-aist (C++) to コア

Also available in: Atom PDF