test_class.file: storm/storm-benchmark/src/test/java/storm/benchmark/benchmarks/SOLTest.java
test_class.identifier: SOLTest
test_case.body: @Test
    public void componentParallelismCouldBeSetThroughConfig() {
      StormBenchmark benchmark = new SOL();
      Config config = new Config();
      config.put(SOL.SPOUT_NUM, 4);
      config.put(SOL.BOLT_NUM, 3);
      config.put(SOL.TOPOLOGY_LEVEL, 3);
      StormTopology topology = benchmark.getTopology(config);
      assertThat(topology).isNotNull();
      TestUtils.verifyParallelism(Utils.getComponentCommon(topology, SOL.SPOUT_ID), 4);
      TestUtils.verifyParallelism(Utils.getComponentCommon(topology, SOL.BOLT_ID + "1"), 3);
      TestUtils.verifyParallelism(Utils.getComponentCommon(topology, SOL.BOLT_ID + "2"), 3);
    }
test_case.class_method_signature: SOLTest.componentParallelismCouldBeSetThroughConfig()
test_case.full_signature: @Test public void componentParallelismCouldBeSetThroughConfig()
test_case.identifier: componentParallelismCouldBeSetThroughConfig
test_case.invocations: put put put getTopology isNotNull assertThat verifyParallelism getComponentCommon verifyParallelism getComponentCommon verifyParallelism getComponentCommon
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void componentParallelismCouldBeSetThroughConfig()
focal_class.declarator: TOPOLOGY_LEVEL = "topology.level"
focal_class.modifier: public static final
focal_class.original_string: public static final String TOPOLOGY_LEVEL = "topology.level";
focal_class.type: String
focal_class.var_name: TOPOLOGY_LEVEL
focal_class.declarator: SPOUT_ID = "spout"
focal_class.modifier: public static final
focal_class.original_string: public static final String SPOUT_ID = "spout";
focal_class.type: String
focal_class.var_name: SPOUT_ID
focal_class.declarator: SPOUT_NUM = "component.spout_num"
focal_class.modifier: public static final
focal_class.original_string: public static final String SPOUT_NUM = "component.spout_num";
focal_class.type: String
focal_class.var_name: SPOUT_NUM
focal_class.declarator: BOLT_ID = "bolt"
focal_class.modifier: public static final
focal_class.original_string: public static final String BOLT_ID = "bolt";
focal_class.type: String
focal_class.var_name: BOLT_ID
focal_class.declarator: BOLT_NUM = "component.bolt_num"
focal_class.modifier: public static final
focal_class.original_string: public static final String BOLT_NUM = "component.bolt_num";
focal_class.type: String
focal_class.var_name: BOLT_NUM
focal_class.declarator: DEFAULT_NUM_LEVELS = 2
focal_class.modifier: public static final
focal_class.original_string: public static final int DEFAULT_NUM_LEVELS = 2;
focal_class.type: int
focal_class.var_name: DEFAULT_NUM_LEVELS
focal_class.declarator: DEFAULT_SPOUT_NUM = 4
focal_class.modifier: public static final
focal_class.original_string: public static final int DEFAULT_SPOUT_NUM = 4;
focal_class.type: int
focal_class.var_name: DEFAULT_SPOUT_NUM
focal_class.declarator: DEFAULT_BOLT_NUM = 4
focal_class.modifier: public static final
focal_class.original_string: public static final int DEFAULT_BOLT_NUM = 4;
focal_class.type: int
focal_class.var_name: DEFAULT_BOLT_NUM
focal_class.declarator: spout
focal_class.modifier: private
focal_class.original_string: private IRichSpout spout;
focal_class.type: IRichSpout
focal_class.var_name: spout
focal_class.file: storm/storm-benchmark/src/main/java/storm/benchmark/benchmarks/SOL.java
focal_class.identifier: SOL
focal_class.class_method_signature: SOL.getTopology(Config config)
focal_class.full_signature: @Override public StormTopology getTopology(Config config)
focal_class.identifier: getTopology
focal_class.modifiers: @Override public
focal_class.parameters: (Config config)
focal_class.return: StormTopology
focal_class.signature: StormTopology getTopology(Config config)
focal_class.class_method_signature: SOL.getMetricsCollector(Config config, StormTopology topology)
focal_class.full_signature: @Override public IMetricsCollector getMetricsCollector(Config config, StormTopology topology)
focal_class.identifier: getMetricsCollector
focal_class.modifiers: @Override public
focal_class.parameters: (Config config, StormTopology topology)
focal_class.return: IMetricsCollector
focal_class.signature: IMetricsCollector getMetricsCollector(Config config, StormTopology topology)
focal_class.superclass: extends StormBenchmark
focal_method.body: @Override
    public StormTopology getTopology(Config config) {
      final int numLevels = BenchmarkUtils.getInt(config, TOPOLOGY_LEVEL, DEFAULT_NUM_LEVELS);
      final int msgSize = BenchmarkUtils.getInt(config, RandomMessageSpout.MESSAGE_SIZE,
              RandomMessageSpout.DEFAULT_MESSAGE_SIZE);
      final int spoutNum = BenchmarkUtils.getInt(config, SPOUT_NUM, DEFAULT_SPOUT_NUM);
      final int boltNum = BenchmarkUtils.getInt(config, BOLT_NUM, DEFAULT_BOLT_NUM);
  
      spout = new RandomMessageSpout(msgSize, BenchmarkUtils.ifAckEnabled(config));
  
      TopologyBuilder builder = new TopologyBuilder();
  
      builder.setSpout(SPOUT_ID, spout, spoutNum);
      builder.setBolt(BOLT_ID + 1, new ConstBolt(), boltNum)
          .shuffleGrouping(SPOUT_ID);
      for (int levelNum = 2; levelNum <= numLevels - 1; levelNum++) {
        builder.setBolt(BOLT_ID + levelNum, new ConstBolt(), boltNum)
          .shuffleGrouping(BOLT_ID + (levelNum - 1));
      }
     return builder.createTopology();
    }
focal_method.class_method_signature: SOL.getTopology(Config config)
focal_method.full_signature: @Override public StormTopology getTopology(Config config)
focal_method.identifier: getTopology
focal_method.invocations: getInt getInt getInt getInt ifAckEnabled setSpout shuffleGrouping setBolt shuffleGrouping setBolt createTopology
focal_method.modifiers: @Override public
focal_method.parameters: (Config config)
focal_method.return: StormTopology
focal_method.signature: StormTopology getTopology(Config config)