@classmethod
def _get_inputs_and_outputs_and_outfields(cls, topology):
    inputs = {}
    outputs = {}
    out_fields = {}
    for spout in topology.spouts:
        inputs[spout.comp.name] = []
        outputs[spout.comp.name] = spout.outputs
        out_fields.update(cls._get_output_to_comp_fields(spout.outputs))
    for bolt in topology.bolts:
        inputs[bolt.comp.name] = bolt.inputs
        outputs[bolt.comp.name] = bolt.outputs
        out_fields.update(cls._get_output_to_comp_fields(bolt.outputs))
    return (inputs, outputs, out_fields)
@classmethod
def _get_inputs_and_outputs_and_outfields(cls, topology):
    inputs = {}
    outputs = {}
    out_fields = {}
    for spout in topology.spouts:
        inputs[spout.comp.name] = []
        outputs[spout.comp.name] = spout.outputs
        out_fields.update(cls._get_output_to_comp_fields(spout.outputs))
    for bolt in topology.bolts:
        inputs[bolt.comp.name] = bolt.inputs
        outputs[bolt.comp.name] = bolt.outputs
        out_fields.update(cls._get_output_to_comp_fields(bolt.outputs))
    return (inputs, outputs, out_fields)