// get topology's Assignment
Assignment assignment = stormClusterState.assignment_info(
topologyId, null);
if (assignment == null) {
throw new TException("Failed to get StormBase from ZK of "
+ topologyId);
}
// get topology's map<taskId, componentId>
Map<Integer, String> taskInfo = Cluster.topology_task_info(
stormClusterState, topologyId);
Map<Integer, TaskSummary> tasks = NimbusUtils.mkTaskSummary(
stormClusterState, assignment, taskInfo, topologyId);
List<TaskSummary> taskSumms = new ArrayList<TaskSummary>();
for (Entry<Integer, TaskSummary> entry : tasks.entrySet()) {
taskSumms.add(entry.getValue());
}
topologyInfo.set_tasks(taskSumms);
List<WorkerSummary> workers = NimbusUtils.mkWorkerSummary(
topologyId, assignment, tasks);
topologyInfo.set_workers(workers);
return topologyInfo;
} catch (TException e) {
LOG.info("Failed to get topologyInfo " + topologyId, e);
throw e;
} catch (Exception e) {
LOG.info("Failed to get topologyInfo " + topologyId, e);
throw new TException("Failed to get topologyInfo" + topologyId);
}
}