0

以下のように定義された 2 つのターゲット ストリーム (一致と不一致) があります。

@Override
public StepIOMetaInterface getStepIOMeta() {

    StepMeta stepMeta = new StepMeta();


    if (ioMeta == null) {
        ioMeta = new StepIOMeta(true, false, false, false, false, true);

        StreamInterface matchStream = new Stream(StreamType.TARGET, null, "Matches", StreamIcon.TARGET, null);
        StreamInterface mismatchStream = new Stream(StreamType.TARGET, null, "Mismatches", StreamIcon.TARGET, null);

        ioMeta.addStream(matchStream);
        ioMeta.addStream(mismatchStream);

    }

    return ioMeta;
}

これら 2 つのターゲットに異なるメタ データを送信したいと考えています。メタ データは、前の手順から受信されます。一致の場合は両方の入力ストリームの連結である必要があり、不一致の場合は最初の入力ストリームのみが連結されている必要があります。

2 つのターゲット ストリームのメタデータを個別に定義する方法に行き詰まっています。

あなたの助けに感謝。

4

1 に答える 1

0
 List<StreamInterface> targets=getStepIOMeta().getTargetStreams();    
      List<StreamInterface> infos=getStepIOMeta().getInfoStreams();   
       if ( info != null ) 
     {
           if(targets!=null)
            {

if(nextStep.getName().equals(targets.get(0).getStepname()))  
                    {
                        if ( info != null ) {  
                              for ( int i = 0; i < info.length; i++ ) {  
                                if ( info[i] != null ) {  
                                  r.mergeRowMeta( info[i] );  
                                }
                              }
                            }
                    }
                    if(nextStep.getName().equals(targets.get(1).getStepname()))
                    {
                        if ( info != null ) {  
                              if ( info.length > 0 && info[0] != null ) {   
                                r.mergeRowMeta( info[0] );  
                              }   
                            }  
                    }
                    if(nextStep.getName().equals(targets.get(2).getStepname()))
                    {
                        if ( info != null ) {
                              if ( info.length > 0 && info[0] != null ) {
                                r.mergeRowMeta( info[1] );
                              }
                            }  
                    }

            }
于 2015-07-24T09:57:52.420 に答える