EOFStreamFields.add(StormComponent.COMP_INDEX);
EOFStreamFields.add(StormComponent.TUPLE);
EOFStreamFields.add(StormComponent.HASH);
if (MyUtilities.isCustomTimestampMode(_conf))
EOFStreamFields.add(StormComponent.TIMESTAMP);
declarer.declare(new Fields(EOFStreamFields));
// 1) Theta Datastream tuples
final ArrayList<String> dataStreamFields = new ArrayList<String>();
dataStreamFields.add(StormComponent.COMP_INDEX);
dataStreamFields.add(StormComponent.TUPLE);
dataStreamFields.add(StormComponent.HASH);
dataStreamFields.add(StormComponent.EPOCH);
dataStreamFields.add(StormComponent.DIM);
if (MyUtilities.isCustomTimestampMode(_conf))
dataStreamFields.add(StormComponent.TIMESTAMP);
declarer.declareStream(SystemParameters.ThetaDataReshufflerToJoiner, true, new Fields(
dataStreamFields)); // direct streams
// 2) Theta Datastream tuples, migrated data
final ArrayList<String> thetaStreamFields = new ArrayList<String>();
thetaStreamFields.add(StormComponent.COMP_INDEX);
thetaStreamFields.add(StormComponent.TUPLE);
thetaStreamFields.add(StormComponent.HASH);
thetaStreamFields.add(StormComponent.EPOCH);
thetaStreamFields.add(StormComponent.DIM);
if (MyUtilities.isCustomTimestampMode(_conf))
thetaStreamFields.add(StormComponent.TIMESTAMP);
declarer.declareStream(SystemParameters.ThetaDataMigrationReshufflerToJoiner, true,
new Fields(thetaStreamFields)); // direct streams
// 3) Signal to Joiners
declarer.declareStream(SystemParameters.ThetaReshufflerSignal, new Fields(
StormComponent.RESH_SIGNAL, StormComponent.MAPPING));
// 4)Advisor related
declarer.declareStream(SystemParameters.ThetaSynchronizerSignal, new Fields(
StormComponent.RESH_SIGNAL, StormComponent.MAPPING));
}