test_class.file: filter-service-core/src/test/java/cn/leancloud/filter/service/BootstrapTest.java
test_class.identifier: BootstrapTest
test_case.body: @Test
      public void testHelp2() {
          final String[] args = new String[]{"--help"};
          ParseCommandLineArgsResult ret = Bootstrap.parseCommandLineArgs(args);
          assertThat(ret.isExit()).isTrue();
          assertThat(ret.getExitCode()).isEqualTo(ExitCode.OK);
          assertThat(ret.getOptions()).isNull();
      }
test_case.class_method_signature: BootstrapTest.testHelp2()
test_case.full_signature: @Test public void testHelp2()
test_case.identifier: testHelp2
test_case.invocations: parseCommandLineArgs isTrue assertThat isExit isEqualTo assertThat getExitCode isNull assertThat getOptions
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testHelp2()
focal_class.declarator: logger = LoggerFactory.getLogger(Bootstrap.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(Bootstrap.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: metricsService
focal_class.modifier: private final
focal_class.original_string: private final MetricsService metricsService;
focal_class.type: MetricsService
focal_class.var_name: metricsService
focal_class.declarator: scheduler
focal_class.modifier: private final
focal_class.original_string: private final BackgroundJobScheduler scheduler;
focal_class.type: BackgroundJobScheduler
focal_class.var_name: scheduler
focal_class.declarator: scheduledThreadPoolExecutor
focal_class.modifier: private final
focal_class.original_string: private final ScheduledThreadPoolExecutor scheduledThreadPoolExecutor;
focal_class.type: ScheduledThreadPoolExecutor
focal_class.var_name: scheduledThreadPoolExecutor
focal_class.declarator: factory
focal_class.modifier: private final
focal_class.original_string: private final CountUpdateBloomFilterFactory<ExpirableBloomFilterConfig> factory;
focal_class.type: CountUpdateBloomFilterFactory<ExpirableBloomFilterConfig>
focal_class.var_name: factory
focal_class.declarator: bloomFilterManager
focal_class.modifier: private final
focal_class.original_string: private final BloomFilterManagerImpl<BloomFilter, ExpirableBloomFilterConfig> bloomFilterManager;
focal_class.type: BloomFilterManagerImpl<BloomFilter, ExpirableBloomFilterConfig>
focal_class.var_name: bloomFilterManager
focal_class.declarator: persistentManager
focal_class.modifier: private final
focal_class.original_string: private final PersistentManager<BloomFilter> persistentManager;
focal_class.type: PersistentManager<BloomFilter>
focal_class.var_name: persistentManager
focal_class.declarator: server
focal_class.modifier: private final
focal_class.original_string: private final Server server;
focal_class.type: Server
focal_class.var_name: server
focal_class.file: filter-service-core/src/main/java/cn/leancloud/filter/service/Bootstrap.java
focal_class.identifier: Bootstrap
focal_class.class_method_signature: Bootstrap.main(String[] args)
focal_class.full_signature: public static void main(String[] args)
focal_class.identifier: main
focal_class.modifiers: public static
focal_class.parameters: (String[] args)
focal_class.return: void
focal_class.signature: void main(String[] args)
focal_class.class_method_signature: Bootstrap.parseCommandLineArgs(String[] args)
focal_class.full_signature: static ParseCommandLineArgsResult parseCommandLineArgs(String[] args)
focal_class.identifier: parseCommandLineArgs
focal_class.modifiers: static
focal_class.parameters: (String[] args)
focal_class.return: ParseCommandLineArgsResult
focal_class.signature: ParseCommandLineArgsResult parseCommandLineArgs(String[] args)
focal_class.class_method_signature: Bootstrap.Bootstrap(ServerOptions opts)
focal_class.full_signature: public  Bootstrap(ServerOptions opts)
focal_class.identifier: Bootstrap
focal_class.modifiers: public
focal_class.parameters: (ServerOptions opts)
focal_class.signature:  Bootstrap(ServerOptions opts)
focal_class.class_method_signature: Bootstrap.start(boolean forTesting)
focal_class.full_signature:  void start(boolean forTesting)
focal_class.identifier: start
focal_class.parameters: (boolean forTesting)
focal_class.return: void
focal_class.signature: void start(boolean forTesting)
focal_class.class_method_signature: Bootstrap.stop()
focal_class.full_signature:  void stop()
focal_class.identifier: stop
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void stop()
focal_class.class_method_signature: Bootstrap.start()
focal_class.full_signature: private void start()
focal_class.identifier: start
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void start()
focal_class.class_method_signature: Bootstrap.loadMetricsService()
focal_class.full_signature: private MetricsService loadMetricsService()
focal_class.identifier: loadMetricsService
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: MetricsService
focal_class.signature: MetricsService loadMetricsService()
focal_class.class_method_signature: Bootstrap.recoverPreviousBloomFilters()
focal_class.full_signature: private void recoverPreviousBloomFilters()
focal_class.identifier: recoverPreviousBloomFilters
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void recoverPreviousBloomFilters()
focal_class.class_method_signature: Bootstrap.newServer(MeterRegistry registry, ServerOptions opts, ScheduledExecutorService scheduledExecutorService)
focal_class.full_signature: private Server newServer(MeterRegistry registry, ServerOptions opts, ScheduledExecutorService scheduledExecutorService)
focal_class.identifier: newServer
focal_class.modifiers: private
focal_class.parameters: (MeterRegistry registry, ServerOptions opts, ScheduledExecutorService scheduledExecutorService)
focal_class.return: Server
focal_class.signature: Server newServer(MeterRegistry registry, ServerOptions opts, ScheduledExecutorService scheduledExecutorService)
focal_class.class_method_signature: Bootstrap.newBloomFilterManager()
focal_class.full_signature: private BloomFilterManagerImpl<BloomFilter, ExpirableBloomFilterConfig> newBloomFilterManager()
focal_class.identifier: newBloomFilterManager
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: BloomFilterManagerImpl<BloomFilter, ExpirableBloomFilterConfig>
focal_class.signature: BloomFilterManagerImpl<BloomFilter, ExpirableBloomFilterConfig> newBloomFilterManager()
focal_method.body: static ParseCommandLineArgsResult parseCommandLineArgs(String[] args) {
          final ServerOptions opts = new ServerOptions();
          final CommandLine cli = new CommandLine(opts);
          try {
              cli.parseArgs(args);
  
              if (cli.isUsageHelpRequested()) {
                  cli.usage(cli.getOut());
                  return new ParseCommandLineArgsResult(cli.getCommandSpec().exitCodeOnUsageHelp());
              } else if (cli.isVersionHelpRequested()) {
                  cli.printVersionHelp(cli.getOut());
                  return new ParseCommandLineArgsResult(cli.getCommandSpec().exitCodeOnVersionHelp());
              }
          } catch (ParameterException ex) {
              cli.getErr().println(ex.getMessage());
              if (!UnmatchedArgumentException.printSuggestions(ex, cli.getErr())) {
                  ex.getCommandLine().usage(cli.getErr());
              }
              return new ParseCommandLineArgsResult(cli.getCommandSpec().exitCodeOnInvalidInput());
          } catch (Exception ex) {
              ex.printStackTrace(cli.getErr());
              return new ParseCommandLineArgsResult(cli.getCommandSpec().exitCodeOnExecutionException());
          }
          return new ParseCommandLineArgsResult(opts);
      }
focal_method.class_method_signature: Bootstrap.parseCommandLineArgs(String[] args)
focal_method.full_signature: static ParseCommandLineArgsResult parseCommandLineArgs(String[] args)
focal_method.identifier: parseCommandLineArgs
focal_method.invocations: parseArgs isUsageHelpRequested usage getOut exitCodeOnUsageHelp getCommandSpec isVersionHelpRequested printVersionHelp getOut exitCodeOnVersionHelp getCommandSpec println getErr getMessage printSuggestions getErr usage getCommandLine getErr exitCodeOnInvalidInput getCommandSpec printStackTrace getErr exitCodeOnExecutionException getCommandSpec
focal_method.modifiers: static
focal_method.parameters: (String[] args)
focal_method.return: ParseCommandLineArgsResult
focal_method.signature: ParseCommandLineArgsResult parseCommandLineArgs(String[] args)