Actions
バグ #250
closed引数が sequence out/inout の場合のJava版コードジェネレータの問題
Status:
終了
Priority:
通常
Assignee:
-
Target version:
-
Start date:
11/18/2008
Due date:
% Done:
100%
Estimated time:
Description
outパラメータを持つインターフェース
typedef sequence<double> DoubleSeq; interface TestService{ void testDoubleSeq(in DoubleSeq in_double, out DoubleSeq out_double); };
をサービスポートのインターフェース定義として与えた場合、Java用に生成される実装コードが、
public void testDoubleSeq (double[] in_double, DoubleSeqHolderout_double)
ではなく、
public void testDoubleSeq(double[] in_double, double[] out_double)
になってしまう問題。
JavaConverter.java 内の関数 convCORBA2JavaforArg で、
if( blnSequence ) result = result + "[]";
を
if( blnSequence ) { if( !strDirection.equals(dirIn) ) { result = strCorba + "Holder"; } else { result = result + "[]"; } }
に修正することで正しい引数型名でサービス実装コードが出力される。
上記はRtcTemplateでのコードなので、RTCBuilderでは若干変更されている可能性があるので注意する必要がある。
Actions