code: private HashSet<String> getComponents(Nimbus.Client client, String topology) throws Exception {
          HashSet<String> components = new HashSet<String>();
          ClusterSummary clusterSummary = client.getClusterInfo();
          TopologySummary topologySummary = null;
          for (TopologySummary ts : clusterSummary.get_topologies()) {
              if (topology.equals(ts.get_name())) {
                  topologySummary = ts;
                  break;
              }
          }
          if (topologySummary == null) {
              throw new IllegalArgumentException("topology: " + topology + " not found");
          } else {
              String id = topologySummary.get_id();
              // GetInfoOptions getInfoOpts = new GetInfoOptions();
              // getInfoOpts.set_num_err_choice(NumErrorsChoice.NONE);
              // TopologyInfo info = client.getTopologyInfoWithOpts(id, getInfoOpts);
              // for (ExecutorSummary es: info.get_executors()) {
              // components.add(es.get_component_id());
              // }
          }
          return components;
      }
docs: @@@ Don't be compatible with Storm
  
  Here skip the logic
  @param client
  @param topology
  @return
  @throws Exception