test_class.declarator: NOOP_EXECUTOR = new Executor() {
          @Override
          public void execute(Runnable command) {
  
          }
      }
test_class.modifier: static final
test_class.original_string: static final Executor NOOP_EXECUTOR = new Executor() {
          @Override
          public void execute(Runnable command) {
  
          }
      };
test_class.type: Executor
test_class.var_name: NOOP_EXECUTOR
test_class.declarator: tracker = new IndexTracker()
test_class.modifier: private
test_class.original_string: private IndexTracker tracker = new IndexTracker();
test_class.type: IndexTracker
test_class.var_name: tracker
test_class.declarator: collectingQueue
test_class.modifier: private
test_class.original_string: private DocumentQueue collectingQueue;
test_class.type: DocumentQueue
test_class.var_name: collectingQueue
test_class.declarator: observer
test_class.modifier: private
test_class.original_string: private LocalIndexObserver observer;
test_class.type: LocalIndexObserver
test_class.var_name: observer
test_class.file: oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserverTest.java
test_class.identifier: LocalIndexObserverTest
test_case.body: @Test
      public void noCommitContext() throws Exception{
          observer.contentChanged(EMPTY_NODE, CommitInfo.EMPTY);
      }
test_case.class_method_signature: LocalIndexObserverTest.noCommitContext()
test_case.full_signature: @Test public void noCommitContext()
test_case.identifier: noCommitContext
test_case.invocations: contentChanged
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void noCommitContext()
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: docQueue
focal_class.modifier: private final
focal_class.original_string: private final DocumentQueue docQueue;
focal_class.type: DocumentQueue
focal_class.var_name: docQueue
focal_class.file: oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserver.java
focal_class.identifier: LocalIndexObserver
focal_class.interfaces: implements Observer
focal_class.class_method_signature: LocalIndexObserver.LocalIndexObserver(DocumentQueue docQueue, StatisticsProvider sp)
focal_class.full_signature: public  LocalIndexObserver(DocumentQueue docQueue, StatisticsProvider sp)
focal_class.identifier: LocalIndexObserver
focal_class.modifiers: public
focal_class.parameters: (DocumentQueue docQueue, StatisticsProvider sp)
focal_class.signature:  LocalIndexObserver(DocumentQueue docQueue, StatisticsProvider sp)
focal_class.class_method_signature: LocalIndexObserver.contentChanged(@NotNull NodeState root, @NotNull CommitInfo info)
focal_class.full_signature: @Override public void contentChanged(@NotNull NodeState root, @NotNull CommitInfo info)
focal_class.identifier: contentChanged
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull NodeState root, @NotNull CommitInfo info)
focal_class.return: void
focal_class.signature: void contentChanged(@NotNull NodeState root, @NotNull CommitInfo info)
focal_method.body: @Override
      public void contentChanged(@NotNull NodeState root, @NotNull CommitInfo info) {
          if (info.isExternal()){
             return;
          }
  
          CommitContext commitContext = (CommitContext) info.getInfo().get(CommitContext.NAME);
          //Commit done internally i.e. one not using Root/Tree API
          if (commitContext == null){
              return;
          }
  
          LuceneDocumentHolder holder = (LuceneDocumentHolder) commitContext.get(LuceneDocumentHolder.NAME);
          //Nothing to be indexed
          if (holder == null){
              return;
          }
  
          commitContext.remove(LuceneDocumentHolder.NAME);
  
          int droppedCount = 0;
          for (LuceneDoc doc : holder.getNRTIndexedDocs()){
              if (!docQueue.add(doc)) {
                  droppedCount++;
              }
          }
  
          //After nrt docs add all sync indexed docs
          //Doing it *after* ensures thar nrt index might catch
          //up by the time sync one are finished
          docQueue.addAllSynchronously(holder.getSyncIndexedDocs());
  
          if (droppedCount > 0){
              //TODO Ensure that log do not flood
              log.warn("Dropped [{}] docs from indexing as queue is full", droppedCount);
          }
      }
focal_method.class_method_signature: LocalIndexObserver.contentChanged(@NotNull NodeState root, @NotNull CommitInfo info)
focal_method.full_signature: @Override public void contentChanged(@NotNull NodeState root, @NotNull CommitInfo info)
focal_method.identifier: contentChanged
focal_method.invocations: isExternal get getInfo get remove getNRTIndexedDocs add addAllSynchronously getSyncIndexedDocs warn
focal_method.modifiers: @Override public
focal_method.parameters: (@NotNull NodeState root, @NotNull CommitInfo info)
focal_method.return: void
focal_method.signature: void contentChanged(@NotNull NodeState root, @NotNull CommitInfo info)