Search in sources :

Example 1 with ShellComponent

use of org.apache.storm.generated.ShellComponent in project storm by apache.

the class Task method mkTaskObject.

private Object mkTaskObject() {
    StormTopology topology = systemTopologyContext.getRawTopology();
    Map<String, SpoutSpec> spouts = topology.get_spouts();
    Map<String, Bolt> bolts = topology.get_bolts();
    Map<String, StateSpoutSpec> stateSpouts = topology.get_state_spouts();
    Object result;
    ComponentObject componentObject;
    if (spouts.containsKey(componentId)) {
        componentObject = spouts.get(componentId).get_spout_object();
    } else if (bolts.containsKey(componentId)) {
        componentObject = bolts.get(componentId).get_bolt_object();
    } else if (stateSpouts.containsKey(componentId)) {
        componentObject = stateSpouts.get(componentId).get_state_spout_object();
    } else {
        throw new RuntimeException("Could not find " + componentId + " in " + topology);
    }
    result = Utils.getSetComponentObject(componentObject);
    if (result instanceof ShellComponent) {
        if (spouts.containsKey(componentId)) {
            result = new ShellSpout((ShellComponent) result);
        } else {
            result = new ShellBolt((ShellComponent) result);
        }
    }
    if (result instanceof JavaObject) {
        result = Thrift.instantiateJavaObject((JavaObject) result);
    }
    return result;
}
Also used : StormTopology(org.apache.storm.generated.StormTopology) ShellSpout(org.apache.storm.spout.ShellSpout) Bolt(org.apache.storm.generated.Bolt) ShellBolt(org.apache.storm.task.ShellBolt) StateSpoutSpec(org.apache.storm.generated.StateSpoutSpec) StateSpoutSpec(org.apache.storm.generated.StateSpoutSpec) SpoutSpec(org.apache.storm.generated.SpoutSpec) JavaObject(org.apache.storm.generated.JavaObject) ComponentObject(org.apache.storm.generated.ComponentObject) ShellBolt(org.apache.storm.task.ShellBolt) JavaObject(org.apache.storm.generated.JavaObject) ComponentObject(org.apache.storm.generated.ComponentObject) ShellComponent(org.apache.storm.generated.ShellComponent)

Aggregations

Bolt (org.apache.storm.generated.Bolt)1 ComponentObject (org.apache.storm.generated.ComponentObject)1 JavaObject (org.apache.storm.generated.JavaObject)1 ShellComponent (org.apache.storm.generated.ShellComponent)1 SpoutSpec (org.apache.storm.generated.SpoutSpec)1 StateSpoutSpec (org.apache.storm.generated.StateSpoutSpec)1 StormTopology (org.apache.storm.generated.StormTopology)1 ShellSpout (org.apache.storm.spout.ShellSpout)1 ShellBolt (org.apache.storm.task.ShellBolt)1