Project

General

Profile

Actions

バグ #250

closed

引数が sequence out/inout の場合のJava版コードジェネレータの問題

Added by n-ando over 16 years ago. Updated over 16 years ago.

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

Also available in: Atom PDF