test_class.declarator: context = new OsgiContext()
test_class.modifier: @Rule
      public final
test_class.original_string: @Rule
      public final OsgiContext context = new OsgiContext();
test_class.type: OsgiContext
test_class.var_name: context
test_class.declarator: nodeStore = new FakeClusterableMemoryNodeStore()
test_class.modifier: private
test_class.original_string: private MemoryNodeStore nodeStore = new FakeClusterableMemoryNodeStore();
test_class.type: MemoryNodeStore
test_class.var_name: nodeStore
test_class.declarator: service = new AsyncIndexerService()
test_class.modifier: private
test_class.original_string: private AsyncIndexerService service = new AsyncIndexerService();
test_class.type: AsyncIndexerService
test_class.var_name: service
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexerServiceTest.java
test_class.identifier: AsyncIndexerServiceTest
test_case.body: @Test
      public void configParsing() throws Exception{
          List<AsyncConfig> configs = AsyncIndexerService.getAsyncConfig(new String[]{"async:15"});
          assertEquals(1, configs.size());
          assertEquals("async", configs.get(0).name);
          assertEquals(15, configs.get(0).timeIntervalInSecs);
  
          configs = AsyncIndexerService.getAsyncConfig(new String[]{"async:15", "foo-async:23"});
          assertEquals(2, configs.size());
          assertEquals("foo-async", configs.get(1).name);
          assertEquals(23, configs.get(1).timeIntervalInSecs);
      }
test_case.class_method_signature: AsyncIndexerServiceTest.configParsing()
test_case.full_signature: @Test public void configParsing()
test_case.identifier: configParsing
test_case.invocations: getAsyncConfig assertEquals size assertEquals get assertEquals get getAsyncConfig assertEquals size assertEquals get assertEquals get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void configParsing()
focal_class.declarator: CONFIG_SEP = ':'
focal_class.modifier: private static final
focal_class.original_string: private static final char CONFIG_SEP = ':';
focal_class.type: char
focal_class.var_name: CONFIG_SEP
focal_class.declarator: log = LoggerFactory.getLogger(getClass())
focal_class.modifier: private final
focal_class.original_string: private final Logger log = LoggerFactory.getLogger(getClass());
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: indexEditorProvider = new WhiteboardIndexEditorProvider()
focal_class.modifier: private final
focal_class.original_string: private final WhiteboardIndexEditorProvider indexEditorProvider = new WhiteboardIndexEditorProvider();
focal_class.type: WhiteboardIndexEditorProvider
focal_class.var_name: indexEditorProvider
focal_class.declarator: nodeStore
focal_class.modifier: @Reference
      private
focal_class.original_string: @Reference
      private NodeStore nodeStore;
focal_class.type: NodeStore
focal_class.var_name: nodeStore
focal_class.declarator: validatorProvider
focal_class.modifier: @Reference(target = "(type=" + ChangeCollectorProvider.TYPE + ")")
      private
focal_class.original_string: @Reference(target = "(type=" + ChangeCollectorProvider.TYPE + ")")
      private ValidatorProvider validatorProvider;
focal_class.type: ValidatorProvider
focal_class.var_name: validatorProvider
focal_class.declarator: statisticsProvider
focal_class.modifier: @Reference
      private
focal_class.original_string: @Reference
      private StatisticsProvider statisticsProvider;
focal_class.type: StatisticsProvider
focal_class.var_name: statisticsProvider
focal_class.declarator: indexRegistration
focal_class.modifier: private
focal_class.original_string: private IndexMBeanRegistration indexRegistration;
focal_class.type: IndexMBeanRegistration
focal_class.var_name: indexRegistration
focal_class.declarator: closer = Closer.create()
focal_class.modifier: private final
focal_class.original_string: private final Closer closer = Closer.create();
focal_class.type: Closer
focal_class.var_name: closer
focal_class.declarator: executor
focal_class.modifier: private
focal_class.original_string: private WhiteboardExecutor executor;
focal_class.type: WhiteboardExecutor
focal_class.var_name: executor
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexerService.java
focal_class.identifier: AsyncIndexerService
focal_class.class_method_signature: AsyncIndexerService.activate(BundleContext bundleContext, Configuration config)
focal_class.full_signature: @Activate public void activate(BundleContext bundleContext, Configuration config)
focal_class.identifier: activate
focal_class.modifiers: @Activate public
focal_class.parameters: (BundleContext bundleContext, Configuration config)
focal_class.return: void
focal_class.signature: void activate(BundleContext bundleContext, Configuration config)
focal_class.class_method_signature: AsyncIndexerService.registerAsyncReindexSupport(Whiteboard whiteboard)
focal_class.full_signature: private void registerAsyncReindexSupport(Whiteboard whiteboard)
focal_class.identifier: registerAsyncReindexSupport
focal_class.modifiers: private
focal_class.parameters: (Whiteboard whiteboard)
focal_class.return: void
focal_class.signature: void registerAsyncReindexSupport(Whiteboard whiteboard)
focal_class.class_method_signature: AsyncIndexerService.deactivate()
focal_class.full_signature: @Deactivate public void deactivate()
focal_class.identifier: deactivate
focal_class.modifiers: @Deactivate public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void deactivate()
focal_class.class_method_signature: AsyncIndexerService.createCorruptIndexHandler(Configuration config)
focal_class.full_signature: private TrackingCorruptIndexHandler createCorruptIndexHandler(Configuration config)
focal_class.identifier: createCorruptIndexHandler
focal_class.modifiers: private
focal_class.parameters: (Configuration config)
focal_class.return: TrackingCorruptIndexHandler
focal_class.signature: TrackingCorruptIndexHandler createCorruptIndexHandler(Configuration config)
focal_class.class_method_signature: AsyncIndexerService.getAsyncConfig(String[] configs)
focal_class.full_signature: static List<AsyncConfig> getAsyncConfig(String[] configs)
focal_class.identifier: getAsyncConfig
focal_class.modifiers: static
focal_class.parameters: (String[] configs)
focal_class.return: List<AsyncConfig>
focal_class.signature: List<AsyncConfig> getAsyncConfig(String[] configs)
focal_method.body: static List<AsyncConfig> getAsyncConfig(String[] configs) {
          List<AsyncConfig> result = Lists.newArrayList();
          for (String config : configs) {
              int idOfEq = config.indexOf(CONFIG_SEP);
              checkArgument(idOfEq > 0, "Invalid config provided [%s]", Arrays.toString(configs));
  
              String name = config.substring(0, idOfEq).trim();
              long interval = Long.parseLong(config.substring(idOfEq + 1));
              result.add(new AsyncConfig(name, interval));
          }
          return result;
      }
focal_method.class_method_signature: AsyncIndexerService.getAsyncConfig(String[] configs)
focal_method.full_signature: static List<AsyncConfig> getAsyncConfig(String[] configs)
focal_method.identifier: getAsyncConfig
focal_method.invocations: newArrayList indexOf checkArgument toString trim substring parseLong substring add
focal_method.modifiers: static
focal_method.parameters: (String[] configs)
focal_method.return: List<AsyncConfig>
focal_method.signature: List<AsyncConfig> getAsyncConfig(String[] configs)